index.php 7.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268
  1. <?php
  2. ?>
  3. <div id="app" v-cloak>
  4. <el-card shadow="never" style="border:0;min-width: 1200px;" body-style="background-color: #f3f3f3;padding: 10px 0 0;">
  5. <div slot="header">
  6. <div style="display: flex; justify-content:space-between">
  7. <span>基础设置</span>
  8. <div>
  9. <el-button size="small" type="primary" style="padding: 9px 15px !important;" @click="onSubmit">保存配置</el-button>
  10. </div>
  11. </div>
  12. </div>
  13. <div class="table-body">
  14. <el-tabs v-model="activeName" @tab-click="handleClick">
  15. <el-form size="small" ref="form" label-width="180px" style="width: 800px" :model="form" :rules="rules">
  16. <el-form-item label="是否启用插件" prop="is_enable">
  17. <el-switch
  18. v-model="form.is_enable"
  19. :active-value="1"
  20. :inactive-value="0">
  21. </el-switch>
  22. <p style="color: #F56C6C"><strong>此插件需要结合微信开放平台使用,如果未能结合当前插件则无法工作。</strong></p>
  23. </el-form-item>
  24. </el-form>
  25. </el-tabs>
  26. </div>
  27. <!-- 这个是复制用的容器,已隐藏 -->
  28. <textarea id="inputs" style="opacity: 0;width: 0;height: 0;">这是幕后黑手</textarea>
  29. </el-card>
  30. </div>
  31. <script>
  32. const validateNumber = (rule, value, callback) => {
  33. if (!(/^[+]{0,1}(\d+)$|^[+]{0,1}(\d+\.\d+)$/).test(value)) {
  34. callback(new Error('请输入数字值'))
  35. } else {
  36. callback()
  37. }
  38. };
  39. const app = new Vue({
  40. el: '#app',
  41. data: {
  42. activeName: '',
  43. form: {
  44. is_enable: 0,
  45. compute_type: 1,
  46. settlement_type: 1,
  47. is_open_level_limit: 0,
  48. reward_commission_type: 0,
  49. reward_commission: 0,
  50. reward_score_type: 0,
  51. reward_score: 0,
  52. is_show_at_center: 0,
  53. sharer_default_apply_shop_id: null,
  54. },
  55. rules: {
  56. },
  57. shops: <?= $shop ?>
  58. },
  59. mounted() {
  60. // 获取列表首页数据
  61. console.log(this.shops)
  62. this.getData()
  63. },
  64. methods: {
  65. //1.0 跳转详情
  66. handleClick(tab, event) {
  67. },
  68. handleSelectionChange(val) {
  69. let self = this;
  70. self.choose_list = [];
  71. val.forEach(function (item) {
  72. self.choose_list.push(item.id);
  73. })
  74. },
  75. getData() {
  76. this.loading = true
  77. request({
  78. method: 'get',
  79. params: {
  80. r: 'wechat-video-shop/setting/index',
  81. },
  82. }).then(e => {
  83. this.loading = false;
  84. if (e.data.code === 0) {
  85. this.form = Object.assign(this.form, e.data.data)
  86. if (this.form.sharer_default_apply_shop_id) this.form.sharer_default_apply_shop_id = this.form.sharer_default_apply_shop_id + ''
  87. } else {
  88. this.$message.error(e.data.msg);
  89. }
  90. }).catch(e => {
  91. this.loading = false;
  92. });
  93. },
  94. onSubmit() {
  95. this.$refs['form'].validate((valid) => {
  96. if (valid) {
  97. this.loading = true
  98. request({
  99. method: 'post',
  100. params: {
  101. r: 'wechat-video-shop/setting/index',
  102. },
  103. data: this.form
  104. }).then(e => {
  105. this.loading = false;
  106. if (e.data.code === 0) {
  107. this.$message.success(e.data.msg);
  108. } else {
  109. this.$message.error(e.data.msg);
  110. }
  111. }).catch(e => {
  112. this.loading = false;
  113. });
  114. } else {
  115. console.log(valid)
  116. }
  117. })
  118. }
  119. }
  120. });
  121. </script>
  122. <style>
  123. .el-tabs__header {
  124. font-size: 16px;
  125. }
  126. .table-body {
  127. padding: 20px;
  128. background-color: #fff;
  129. }
  130. .table-body .el-button {
  131. padding: 0 !important;
  132. border: 0;
  133. margin: 0 5px;
  134. }
  135. .input-item {
  136. width: 250px;
  137. margin: 0 0 20px;
  138. display: inline-block;
  139. }
  140. .input-item .el-input__inner {
  141. border-right: 0;
  142. }
  143. .input-item .el-input__inner:hover {
  144. border: 1px solid #dcdfe6;
  145. border-right: 0;
  146. outline: 0;
  147. }
  148. .input-item .el-input__inner:focus {
  149. border: 1px solid #dcdfe6;
  150. border-right: 0;
  151. outline: 0;
  152. }
  153. .input-item .el-input-group__append {
  154. background-color: #fff;
  155. border-left: 0;
  156. width: 10%;
  157. padding: 0;
  158. }
  159. .input-item .el-input-group__append .el-button {
  160. padding: 0;
  161. }
  162. .input-item .el-input-group__append .el-button {
  163. margin: 0;
  164. }
  165. .batch {
  166. margin: 0 0 20px;
  167. display: inline-block;
  168. }
  169. .batch .el-button {
  170. padding: 9px 15px !important;
  171. }
  172. .item-box{
  173. margin-right: 20px;
  174. }
  175. .item-box .label{
  176. margin-right: 8px;
  177. }
  178. .item-box .symbol{
  179. margin: 0 6px;
  180. }
  181. .form-nickname{
  182. width: 180px;
  183. white-space:nowrap;
  184. overflow:hidden;
  185. text-overflow:ellipsis;
  186. }
  187. .index-video-url{
  188. width: 300px;
  189. }
  190. .index-video-url video{
  191. width: 100%;
  192. }
  193. .index-related-info{
  194. width: 500px;
  195. }
  196. .video-top{
  197. width: 100%;
  198. display: flex;
  199. align-items: flex-start;
  200. box-sizing: border-box;
  201. padding: 20px;
  202. /* opacity: .5; */
  203. background-color: #FFFFFF;
  204. }
  205. .video-top .top-right{
  206. line-height: 26px;
  207. }
  208. .video-top .top-right .top-title{
  209. font-size: 18px;
  210. white-space:nowrap;
  211. overflow:hidden;
  212. text-overflow:ellipsis;
  213. width: 360px;
  214. }
  215. .video-top .top-right .wrapper{
  216. display: flex;
  217. /* align-items: flex-start; */
  218. }
  219. .video-top .top-right .wrapper .to-copy{
  220. /* color: #03C5FF; */
  221. margin-left: 20px;
  222. }
  223. .video-top .top-right .detail-price{
  224. color: #BC0100;
  225. font-size: 18px;
  226. font-family: Microsoft YaHei;
  227. font-weight: bold;
  228. }
  229. /* .atooltip {
  230. background: #FFFFFF !important;
  231. border: none !important;
  232. } */
  233. .el-table th>.cell{
  234. color: #333;
  235. font-weight: bold;
  236. font-size: 14px;
  237. }
  238. .el-table__footer-wrapper, .el-table__header-wrapper{
  239. border-bottom: 1.4px solid #D6D6D6;
  240. }
  241. .price_col{
  242. color: #FF5D05;
  243. }
  244. </style>