index.blade.php 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263
  1. @extends('layouts.base')
  2. @section('title', '基础设置')
  3. @section('content')
  4. <link rel="stylesheet" type="text/css" href="{{static_url('yunshop/goods/vue-goods1.css')}}"/>
  5. <style>
  6. .main-panel{
  7. margin-top:50px;
  8. }
  9. .panel{
  10. margin-bottom:10px!important;
  11. border-radius: 10px;
  12. padding-left: 20px;
  13. }
  14. .panel .active a {
  15. background-color: #29ba9c!important;
  16. border-radius: 18px!important;
  17. color:#fff;
  18. }
  19. .panel a{
  20. border:none!important;
  21. background-color:#fff!important;
  22. }
  23. .content{
  24. background: #eff3f6;
  25. padding:10px!important;
  26. }
  27. .con{
  28. padding-bottom:40px;
  29. position:relative;
  30. border-radius: 8px;
  31. }
  32. .con .setting .block{
  33. padding:10px;
  34. background-color:#fff;
  35. border-radius: 8px;
  36. }
  37. .con .setting .block .title{
  38. font-size:18px;
  39. margin-bottom:15px;
  40. display:flex;
  41. align-items:center;
  42. }
  43. .confirm-btn{
  44. width: calc(100% - 266px);
  45. position:fixed;
  46. bottom:0;
  47. right:0;
  48. margin-right:10px;
  49. line-height:63px;
  50. background-color: #ffffff;
  51. box-shadow: 0px 8px 23px 1px
  52. rgba(51, 51, 51, 0.3);
  53. background-color:#fff;
  54. text-align:center;
  55. }
  56. b{
  57. font-size:14px;
  58. }
  59. .el-checkbox__inner{
  60. border:solid 1px #56be69!important;
  61. }
  62. .upload-boxed .el-icon-close {
  63. position: absolute;
  64. top: -5px;
  65. right: -5px;
  66. color: #fff;
  67. background: #333;
  68. border-radius: 50%;
  69. cursor: pointer;
  70. }
  71. </style>
  72. <div id='re_content' >
  73. <div class="con">
  74. <div class="setting">
  75. <el-form ref="form" :model="form" label-width="15%">
  76. <div class="block">
  77. <div class="title"><span style="width: 4px;height: 18px;background-color: #29ba9c;margin-right:15px;display:inline-block;"></span><b>基础设置</b></div>
  78. <el-form-item label="实名认证" prop="status">
  79. <el-switch v-model="form.status" :active-value="1" :inactive-value="0"></el-switch>
  80. </el-form-item>
  81. <el-form-item label="APP ID">
  82. <el-input v-model="form.app_key" style="width:70%;"></el-input>
  83. </el-form-item>
  84. <el-form-item label="APP Secret">
  85. <el-input v-model="form.app_secret" style="width:70%;"></el-input>
  86. </el-form-item>
  87. <el-form-item label="接口链接">
  88. <el-input v-model="form.link" style="width:70%;"></el-input>
  89. </el-form-item>
  90. <el-form-item label="认证费用余额">
  91. <span v-if="surplus_amount > 0">[[ surplus_amount ]]元,费用充值,扣费明细等请访问第三方平台,详咨客服!</span>
  92. <span v-else>xxxx元,费用充值,扣费明细等请访问第三方平台,详咨客服!</span>
  93. </el-form-item>
  94. <el-form-item label="认证场景" prop="auth_scene">
  95. <el-checkbox-group v-model="form.auth_scene">
  96. <el-checkbox label="1" @change="changeSceneShow('all')">全局</el-checkbox>
  97. <el-checkbox label="2" @change="changeSceneShow()">收入提现申请</el-checkbox>
  98. <el-checkbox label="3" @change="changeSceneShow()">发布短视频</el-checkbox>
  99. <el-checkbox label="4" @change="changeSceneShow()">发布微帖</el-checkbox>
  100. <el-checkbox label="5" @change="changeSceneShow()">访问推广中心</el-checkbox>
  101. <el-checkbox label="6" @change="changeSceneShow()" v-if="supplier_show">供应商申请</el-checkbox>
  102. <el-checkbox label="7" @change="changeSceneShow()" v-if="store_cashier_show">门店申请</el-checkbox>
  103. <el-checkbox label="8" @change="changeSceneShow()" v-if="hotel_show">酒店申请</el-checkbox>
  104. <el-checkbox label="9" @change="changeSceneShow()" v-if="room_show">主播申请</el-checkbox>
  105. <el-checkbox label="10" @change="changeSceneShow()" v-if="task_center_show">广告任务中心</el-checkbox>
  106. <el-checkbox label="11" @change="changeSceneShow()" v-if="task_package">任务包</el-checkbox>
  107. </el-checkbox-group>
  108. <div class="tip">如果使用全局认证,必须先关闭全局绑定手机号!</div>
  109. </el-form-item>
  110. <el-form-item label="认证方式" prop="auth_type">
  111. <el-checkbox-group v-model="form.auth_type">
  112. <el-checkbox label="1">人脸识别校检</el-checkbox>
  113. <el-checkbox label="2">手机号实名校检</el-checkbox>
  114. <el-checkbox label="3">银行卡实名校检</el-checkbox>
  115. </el-checkbox-group>
  116. </el-form-item>
  117. <el-form-item label="邀请码">
  118. <el-switch v-model="form.is_invite_code" :active-value="1" :inactive-value="0"></el-switch>
  119. </el-form-item>
  120. <el-form-item label="邀请码是否必填">
  121. <el-switch v-model="form.must_invite_code" :active-value="1" :inactive-value="0"></el-switch>
  122. <div class="tip">如果用户有上级(含暂定)自动显示上线的邀请码,可以修改,开启必填后用户必须填写正确的邀请码。</div>
  123. </el-form-item>
  124. <el-form-item label="实名认证收费">
  125. <el-switch v-model="form.is_not_free" :active-value="1" :inactive-value="0"></el-switch>
  126. </el-form-item>
  127. <el-form-item label="实名认证收费金额">
  128. <el-input v-model="form.pay_amount" style="width:40%;">
  129. <template slot="append">元</template>
  130. </el-input>
  131. <div class="tip">用户使用实名认证需要支付费用,支付后才能进行实名认证</div>
  132. </el-form-item>
  133. <el-form-item label="支付方式" prop="">
  134. <el-checkbox-group v-model="form.pay_type">
  135. <el-checkbox label="1">支付宝</el-checkbox>
  136. <el-checkbox label="2">微信</el-checkbox>
  137. <el-checkbox label="3">微信H5</el-checkbox>
  138. </el-checkbox-group>
  139. </el-form-item>
  140. <el-form-item label="身份证是否唯一">
  141. <el-switch v-model="form.id_card_only" :active-value="1" :inactive-value="0"></el-switch>
  142. </el-form-item>
  143. </div>
  144. <div class="block">
  145. <div class="title"><span style="width: 4px;height: 18px;background-color: #29ba9c;margin-right:15px;display:inline-block;"></span><b>认证协议</b></div>
  146. <el-form-item label="协议内容" prop="content">
  147. <tinymceee v-model="form.content" style="width:70%"></tinymceee>
  148. </el-form-item>
  149. </div>
  150. <div class="confirm-btn">
  151. <el-button type="primary" @click="submit">提交</el-button>
  152. </div>
  153. </el-form>
  154. </div>
  155. </div>
  156. </div>
  157. <script src="{{resource_get('static/yunshop/tinymce4.7.5/tinymce.min.js')}}"></script>
  158. <!-- @include('public.admin.uploadImg') -->
  159. @include('public.admin.tinymceee')
  160. @include('public.admin.uploadMultimediaImg')
  161. @include('public.admin.vueDragResize')
  162. @include('public.admin.pop')
  163. <script>
  164. let supplier_show = {{app('plugins')->isEnabled('supplier')}}+''
  165. let store_cashier_show = {{app('plugins')->isEnabled('store-cashier')}}+''
  166. let hotel_show = {{app('plugins')->isEnabled('hotel')}}+''
  167. let room_show = {{app('plugins')->isEnabled('room')}}+''
  168. let task_center_show = {{app('plugins')->isEnabled('flyers-advertise')}}+''
  169. let task_package = {{app('plugins')->isEnabled('task-package')}}+''
  170. var vm = new Vue({
  171. el: "#re_content",
  172. delimiters: ['[[', ']]'],
  173. data() {
  174. let set = {!! $set ?: '{}' !!};
  175. let surplus_amount = {!! $surplus_amount ?: 0 !!};
  176. if (!set || !set.pay_type) {
  177. set.pay_type = [];
  178. }
  179. return {
  180. uploadShow:false,
  181. chooseImgName:'',
  182. uploadListShow:false,
  183. chooseImgListName:'',
  184. surplus_amount:surplus_amount,
  185. form:{
  186. status:1,
  187. app_key:'',
  188. app_secret:'',
  189. link:'',
  190. content:'',
  191. auth_scene:[],
  192. auth_type:[],
  193. is_invite_code:1,
  194. must_invite_code:1,
  195. is_not_free:1,
  196. pay_type:[],
  197. id_card_only:0,
  198. ...set,
  199. },
  200. supplier_show:supplier_show,
  201. store_cashier_show:store_cashier_show,
  202. hotel_show:hotel_show,
  203. room_show:room_show,
  204. task_center_show:task_center_show,
  205. task_package:task_package,
  206. }
  207. },
  208. mounted () {
  209. console.log(this.form)
  210. },
  211. methods: {
  212. changeSceneShow(type) {
  213. console.log(type)
  214. console.log(this.form.auth_scene.indexOf(0))
  215. if (type=="all"&&this.form.auth_scene.indexOf(0)>=-1) {
  216. // this.form.auth_scene = [];
  217. // this.form.auth_scene.push(1);
  218. console.log(this.form.auth_scene)
  219. } else {
  220. let arr = []
  221. for(let i=0;i<this.form.auth_scene.length;i++) {
  222. if(this.form.auth_scene[i]!=0) {
  223. arr.push(this.form.auth_scene[i])
  224. }
  225. }
  226. this.form.auth_scene = arr;
  227. }
  228. this.$forceUpdate();
  229. },
  230. openUpload(str,type,sel) {
  231. this.chooseImgName = str;
  232. this.uploadShow = true;
  233. this.type = type;
  234. this.selNum = sel
  235. },
  236. sureImg(name,uploadShow,fileList) {
  237. if(fileList.length <= 0) {
  238. return
  239. }
  240. this.form[name] =fileList[0].attachment;
  241. this.form[name+'_url'] = fileList[0].url;
  242. },
  243. submit() {
  244. let loading = this.$loading({target:document.querySelector(".content"),background: 'rgba(0, 0, 0, 0)'});
  245. this.$http.post('{!! yzWebFullUrl('plugin.real-name-auth.admin.controllers.set') !!}',{'form':this.form}).then(function (response){
  246. if (response.data.result) {
  247. this.$message({message: response.data.msg,type: 'success'});
  248. }else {
  249. this.$message({message: response.data.msg,type: 'error'});
  250. }
  251. loading.close();
  252. location.reload();
  253. },function (response) {
  254. this.$message({message: response.data.msg,type: 'error'});
  255. loading.close();
  256. })
  257. },
  258. },
  259. });
  260. </script>
  261. @endsection