index.php 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275
  1. <div id="app" v-cloak>
  2. <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;">
  3. <div class="form_box">
  4. <template>
  5. <el-card>
  6. <el-row :gutter="0">
  7. <el-form ref="elForm" :model="formData" :rules="rules" size="medium" label-width="140px" label-position="left">
  8. <el-col :span="23">
  9. <el-row>
  10. <el-col :span="12">
  11. <el-form-item label="商户号" prop="agencyId">
  12. <el-input v-model="formData.agencyId" placeholder="请输入商户号" clearable :style="{width: '100%'}">
  13. </el-input>
  14. </el-form-item>
  15. </el-col>
  16. </el-row>
  17. </el-col>
  18. <el-col :span="23">
  19. <el-row>
  20. <el-col :span="12">
  21. <el-form-item label="子商户号" prop="child_merchant_no">
  22. <el-input v-model="formData.child_merchant_no" placeholder="请输入子商户号" clearable :style="{width: '100%'}">
  23. </el-input>
  24. </el-form-item>
  25. </el-col>
  26. </el-row>
  27. </el-col>
  28. <el-col :span="23">
  29. <el-row>
  30. <el-col :span="12">
  31. <el-form-item label="终端号" prop="terminal_no">
  32. <el-input v-model="formData.terminal_no" placeholder="请输入终端号" clearable :style="{width: '100%'}">
  33. </el-input>
  34. </el-form-item>
  35. </el-col>
  36. </el-row>
  37. </el-col>
  38. <el-col :span="23">
  39. <el-row>
  40. <el-col :span="12">
  41. <el-form-item label="商户RSA私钥" prop="merRsaPrivateKey">
  42. <el-input v-model="formData.merRsaPrivateKey" type="textarea" placeholder="请输入商户RSA私钥"
  43. :autosize="{minRows: 5, maxRows: 5}" :style="{width: '100%'}"></el-input>
  44. </el-form-item>
  45. </el-col>
  46. </el-row>
  47. </el-col>
  48. <!-- <el-col :span="23">-->
  49. <!-- <el-row>-->
  50. <!-- <el-col :span="12">-->
  51. <!-- <el-form-item label="商户AES私钥" prop="merAesKey">-->
  52. <!-- <el-input v-model="formData.merAesKey" type="textarea" placeholder="请输入商户AES私钥"-->
  53. <!-- :autosize="{minRows: 5, maxRows: 5}" :style="{width: '100%'}"></el-input>-->
  54. <!-- </el-form-item>-->
  55. <!-- </el-col>-->
  56. <!-- </el-row>-->
  57. <!-- </el-col>-->
  58. <el-col :span="23">
  59. <el-row>
  60. <el-col :span="12">
  61. <el-form-item label="平台RSA公钥" prop="rootRsaPublicKey">
  62. <el-input v-model="formData.rootRsaPublicKey" type="textarea" placeholder="请输入平台RSA公钥"
  63. :autosize="{minRows: 5, maxRows: 5}" :style="{width: '100%'}"></el-input>
  64. </el-form-item>
  65. </el-col>
  66. </el-row>
  67. </el-col>
  68. <el-col :span="23">
  69. <el-row>
  70. <el-col :span="24">
  71. <el-form-item label="支付渠道" prop="pay_way">
  72. <el-checkbox-group v-model="formData.pay_way" size="medium">
  73. <el-checkbox v-for="(item, index) in pay_wayOptions" :key="index" :label="item.value"
  74. :disabled="item.disabled">{{item.label}}</el-checkbox>
  75. </el-checkbox-group>
  76. </el-form-item>
  77. <el-form-item label="支付宝" prop="alipay">
  78. <el-checkbox-group v-model="formData.alipay" size="medium">
  79. <el-checkbox v-for="(item, index) in alipayOptions" :key="index" :label="item.value"
  80. :disabled="item.disabled">{{item.label}}</el-checkbox>
  81. </el-checkbox-group>
  82. </el-form-item>
  83. <el-form-item label="微信" prop="wechat">
  84. <el-checkbox-group v-model="formData.wechat" size="medium">
  85. <el-checkbox v-for="(item, index) in wechatOptions" :key="index" :label="item.value"
  86. :disabled="item.disabled">{{item.label}}</el-checkbox>
  87. </el-checkbox-group>
  88. </el-form-item>
  89. <el-form-item label="银联" prop="bank">
  90. <el-checkbox-group v-model="formData.bank" size="medium">
  91. <el-checkbox v-for="(item, index) in bankOptions" :key="index" :label="item.value"
  92. :disabled="item.disabled">{{item.label}}</el-checkbox>
  93. </el-checkbox-group>
  94. </el-form-item>
  95. </el-col>
  96. </el-row>
  97. </el-col>
  98. <el-col :span="24">
  99. <el-form-item size="large">
  100. <el-button type="primary" size="small" @click="submitForm">提交</el-button>
  101. <el-button size="small" @click="resetForm">重置</el-button>
  102. </el-form-item>
  103. </el-col>
  104. </el-form>
  105. </el-row>
  106. </el-card>
  107. </template>
  108. </div>
  109. </el-card>
  110. </div>
  111. <script>
  112. const app = new Vue({
  113. el: '#app',
  114. components: {},
  115. props: [],
  116. data() {
  117. return {
  118. loading:false,
  119. formData: {
  120. agencyId: undefined,
  121. terminal_no: undefined,
  122. child_merchant_no: undefined,
  123. merRsaPrivateKey: undefined,
  124. rootRsaPublicKey: undefined,
  125. rootAesKey: undefined,
  126. pay_way: [],
  127. alipay: [],
  128. wechat: [],
  129. bank: [],
  130. },
  131. rules: {
  132. agencyId: [{
  133. required: true,
  134. message: '请输入商户号',
  135. trigger: 'blur'
  136. }],
  137. terminal_no: [{
  138. required: true,
  139. message: '请输入终端号',
  140. trigger: 'blur'
  141. }],
  142. child_merchant_no: [{
  143. required: true,
  144. message: '请输入子商户号',
  145. trigger: 'blur'
  146. }],
  147. merRsaPrivateKey: [{
  148. required: true,
  149. message: '请输入商户RSA私钥',
  150. trigger: 'blur'
  151. }],
  152. rootRsaPublicKey: [{
  153. required: true,
  154. message: '请输入平台RSA公钥',
  155. trigger: 'blur'
  156. }],
  157. pay_way: [{
  158. required: true,
  159. type: 'array',
  160. message: '请至少选择一个支付渠道',
  161. trigger: 'change'
  162. }],
  163. alipay: [{
  164. required: false,
  165. type: 'array',
  166. message: '请至少选择一个支付宝',
  167. trigger: 'change'
  168. }],
  169. wechat: [{
  170. required: false,
  171. type: 'array',
  172. message: '请至少选择一个微信',
  173. trigger: 'change'
  174. }],
  175. bank: [{
  176. required: false,
  177. type: 'array',
  178. message: '请至少选择一个银联',
  179. trigger: 'change'
  180. }],
  181. },
  182. pay_wayOptions: [{
  183. "label": "商城订单",
  184. "value": 1
  185. }, {
  186. "label": "余额充值",
  187. "value": 2
  188. }],
  189. alipayOptions: [{
  190. "label": "APP",
  191. "value": 1
  192. }, {
  193. "label": "H5",
  194. "value": 2
  195. }],
  196. wechatOptions: [{
  197. "label": "APP",
  198. "value": 1
  199. }, {
  200. "label": "H5",
  201. "value": 2
  202. }, {
  203. "label": "小程序",
  204. "value": 3
  205. }, {
  206. "label": "公众号",
  207. "value": 4
  208. }],
  209. bankOptions: [{
  210. "label": "快捷支付h5",
  211. "value": 2
  212. },{
  213. "label": "云闪付",
  214. "value": 1
  215. }],
  216. }
  217. },
  218. computed: {},
  219. watch: {},
  220. created() {},
  221. mounted() {
  222. this.getConfig();
  223. },
  224. methods: {
  225. submitForm() {
  226. this.$refs['elForm'].validate(valid => {
  227. if (!valid) return
  228. // TODO 提交表单
  229. request({
  230. params: {
  231. r: 'sicpay/default/save',
  232. },
  233. data:this.formData,
  234. method: 'post',
  235. }).then(e => {
  236. if (e.data.code == 0 ) {
  237. this.$message.success("操作成功");
  238. }else{
  239. this.$message.error(e.data.msg);
  240. }
  241. }).catch(e => {
  242. this.$message.error(e);
  243. })
  244. })
  245. },
  246. resetForm() {
  247. this.$refs['elForm'].resetFields()
  248. },
  249. getConfig(){
  250. request({
  251. params: {
  252. r: 'sicpay/default/get-config',
  253. },
  254. method: 'get',
  255. }).then(e => {
  256. console.log(e.data.data)
  257. console.log(e.data.data.length)
  258. if (e.data.code == 0 && e.data.data) {
  259. this.formData = e.data.data
  260. }
  261. }).catch(e => {
  262. self.$message.error(e);
  263. })
  264. }
  265. }
  266. })
  267. </script>