index.php 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337
  1. <div id="app" v-cloak>
  2. <el-card
  3. v-loading="loading"
  4. style="border:0; min-width: 800px;"
  5. shadow="never"
  6. body-style="background-color: #f3f3f3;padding: 10px 0 0;"
  7. >
  8. <div slot="header">
  9. <span>配置</span>
  10. </div>
  11. <el-form
  12. :model="formData"
  13. ref="elForm"
  14. label-width="220px"
  15. style="position: relative"
  16. size="small"
  17. :rules="rules"
  18. >
  19. <el-row>
  20. <el-col :span="24">
  21. <div class="form-body">
  22. <!-- 银典支付配置 -->
  23. <div class="title padding-top">
  24. <span class="title-line"></span>
  25. <span>银典支付配置</span>
  26. </div>
  27. <el-col :span="24">
  28. <!-- 银典支付 -->
  29. <el-form-item label="银典支付" prop="switch">
  30. <el-switch
  31. v-model="formData.switch"
  32. :active-value="1"
  33. :inactive-value="0"
  34. >
  35. </el-switch>
  36. </el-form-item>
  37. <!-- 机构号(orgCd) -->
  38. <el-form-item label="机构号(orgCd)" prop="org_cd">
  39. <el-input v-model="formData.org_cd" placeholder="请输入机构号(orgCd)"
  40. clearable :style="{width: '100%'}"></el-input>
  41. </el-form-item>
  42. <!-- 机构密钥(secret) -->
  43. <el-form-item label="机构密钥(secret)" prop="secret">
  44. <el-input v-model="formData.secret" placeholder="请输入机构密钥(secret)"
  45. :style="{width: '100%'}"></el-input>
  46. </el-form-item>
  47. <!-- 内管商户号(mchtCd) -->
  48. <el-form-item label="线上内管商户号(mchtCd)" prop="mcht_cd">
  49. <el-input v-model="formData.online_mcht_cd" placeholder="请输入内管商户号(mchtCd)"
  50. :style="{width: '100%'}"></el-input>
  51. </el-form-item>
  52. <!-- 内管商户号(mchtCd) -->
  53. <el-form-item label="线下内管商户号(mchtCd)" prop="mcht_cd">
  54. <el-input v-model="formData.mcht_cd" placeholder="请输入内管商户号(mchtCd)"
  55. :style="{width: '100%'}"></el-input>
  56. </el-form-item>
  57. </el-col>
  58. <!-- 银典支付方式 -->
  59. <div class="title padding-top">
  60. <span class="title-line"></span>
  61. <span>银典支付方式</span>
  62. </div>
  63. <el-col :span="24">
  64. <!-- 支付渠道 -->
  65. <el-form-item label="支付渠道" prop="trade_channel">
  66. <el-checkbox-group v-model="formData.trade_channel">
  67. <el-checkbox :label="1">商品订单</el-checkbox>
  68. <el-checkbox :label="2">余额充值</el-checkbox>
  69. <el-checkbox :label="5">收银台</el-checkbox>
  70. </el-checkbox-group>
  71. </el-form-item>
  72. <!-- 微信支付名称 -->
  73. <el-form-item label="微信支付名称" prop="wechat_trade_name">
  74. <el-input v-model="formData.wechat_trade_name" placeholder="微信-银典支付"></el-input>
  75. </el-form-item>
  76. <!-- 小程序支付 -->
  77. <el-form-item label="小程序支付" prop="mp_wx_open">
  78. <el-switch v-model="formData.mp_wx_open"
  79. :active-value="1"
  80. :inactive-value="0"
  81. >
  82. </el-switch>
  83. </el-form-item>
  84. <!-- 公众号支付 -->
  85. <el-form-item label="公众号支付" prop="wechat_open">
  86. <el-switch v-model="formData.wechat_open"
  87. :active-value="1"
  88. :inactive-value="0"
  89. >
  90. </el-switch>
  91. </el-form-item>
  92. <!-- 微信H5支付 -->
  93. <el-form-item label="微信H5支付" prop="wechat_h5_open">
  94. <el-switch v-model="formData.wechat_h5_open"
  95. :active-value="1"
  96. :inactive-value="0"
  97. >
  98. </el-switch>
  99. </el-form-item>
  100. <!-- 微信收银台支付 -->
  101. <el-form-item label="微信收银台支付" prop="wechat_scan_open">
  102. <el-switch v-model="formData.wechat_scan_open"
  103. :active-value="1"
  104. :inactive-value="0"
  105. >
  106. </el-switch>
  107. </el-form-item>
  108. <!-- 微信小程序收银台支付 -->
  109. <el-form-item label="微信小程序收银台支付" prop="wechat_scan_open">
  110. <el-switch v-model="formData.wechat_mp_scan_open"
  111. :active-value="1"
  112. :inactive-value="0"
  113. >
  114. </el-switch>
  115. </el-form-item>
  116. <!-- 支付宝支付名称 -->
  117. <el-form-item label="支付宝支付名称" prop="alipay_trade_name">
  118. <el-input v-model="formData.alipay_trade_name" size="small" placeholder="支付宝-银典支付"></el-input>
  119. </el-form-item>
  120. <!-- 支付宝APP支付 -->
  121. <el-form-item label="支付宝APP支付" prop="alipay_app_open">
  122. <el-switch v-model="formData.alipay_app_open"
  123. :active-value="1"
  124. :inactive-value="0"
  125. >
  126. </el-switch>
  127. </el-form-item>
  128. <!-- 支付宝收银台支付 -->
  129. <el-form-item label="支付宝收银台支付" prop="alipay_scan_open">
  130. <el-switch v-model="formData.alipay_scan_open"
  131. :active-value="1"
  132. :inactive-value="0"
  133. >
  134. </el-switch>
  135. </el-form-item>
  136. </el-col>
  137. <!-- 代付配置 -->
  138. <div class="title padding-top">
  139. <span class="title-line"></span>
  140. <span>代付配置</span>
  141. </div>
  142. <el-col :span="24">
  143. <!-- 代付开关 -->
  144. <el-form-item label="代付开关" prop="alternative_open">
  145. <el-switch v-model="formData.alternative_open"
  146. :active-value="1"
  147. :inactive-value="0"
  148. >
  149. </el-switch>
  150. </el-form-item>
  151. </el-col>
  152. <div></div>
  153. <el-col :span="24">
  154. <el-form-item size="large">
  155. <el-button type="primary" size="small" @click="submitForm">提交</el-button>
  156. <el-button size="small" @click="resetForm">重置</el-button>
  157. </el-form-item>
  158. </el-col>
  159. </div>
  160. </el-col>
  161. </el-row>
  162. </el-form>
  163. </el-card>
  164. </div>
  165. <script>
  166. const app = new Vue({
  167. el: '#app',
  168. data() {
  169. return {
  170. loading: false,
  171. submitLoading: false,
  172. formData: {
  173. switch : 0,
  174. org_cd : undefined,
  175. secret : undefined,
  176. mcht_cd : undefined,
  177. trade_channel : [],
  178. wechat_trade_name : '微信-银典支付',
  179. wechat_open : 0,
  180. mp_wx_open : 0,
  181. alipay_trade_name : '支付宝-银典支付',
  182. wechat_h5_open : 0,
  183. wechat_scan_open : 0,
  184. wechat_mp_scan_open : 0,
  185. alipay_scan_open : 0,
  186. alipay_app_open : 0,
  187. fastpay_trade_name : '快捷支付-银典支付',
  188. alternative_open : 0,
  189. },
  190. rules: {
  191. switch: [{
  192. required: true,
  193. }],
  194. wechat_open: [{
  195. required: true,
  196. }],
  197. mp_wx_open: [{
  198. required: true,
  199. }],
  200. wechat_h5_open: [{
  201. required: true,
  202. }],
  203. alipay_app_open: [{
  204. required: true,
  205. }],
  206. wechat_scan_open: [{
  207. required: true,
  208. }],
  209. wechat_mp_scan_open: [{
  210. required: true,
  211. }],
  212. alipay_scan_open: [{
  213. required: true,
  214. }],
  215. alternative_open: [{
  216. required: true,
  217. }],
  218. org_cd: [{
  219. required: true,
  220. message: '请输入机构号(orgCd)',
  221. trigger: 'blur'
  222. }],
  223. secret: [{
  224. required: true,
  225. message: '请输入机构密钥(secret)',
  226. trigger: 'blur'
  227. }],
  228. mcht_cd: [{
  229. required: true,
  230. message: '请输入内管商户号(mchtCd)',
  231. trigger: 'blur'
  232. }],
  233. wechat_trade_name: [{
  234. required: true,
  235. message: '请输入微信支付名称',
  236. trigger: 'blur'
  237. }],
  238. alipay_trade_name: [{
  239. required: true,
  240. message: '请输支付宝支付名称',
  241. trigger: 'blur'
  242. }],
  243. fastpay_trade_name: [{
  244. required: true,
  245. message: '请输入快捷支付名称',
  246. trigger: 'blur'
  247. }],
  248. },
  249. }
  250. },
  251. computed: {},
  252. watch: {},
  253. created() {
  254. this.readConfig()
  255. },
  256. mounted() {},
  257. methods: {
  258. submitForm() {
  259. this.$refs['elForm'].validate(valid => {
  260. if (valid) {
  261. this.submitLoading = true;
  262. request({
  263. params: {
  264. r: 'yunfast-pay/setting/save',
  265. },
  266. method: 'post',
  267. data: this.formData,
  268. }).then(e => {
  269. this.submitLoading = false
  270. if (e.data.code === 0) {
  271. this.$message.success(e.data.msg)
  272. } else {
  273. this.$message.error(e.data.msg)
  274. }
  275. }).catch(e => {
  276. })
  277. } else {
  278. this.$message.error('部分参数验证不通过')
  279. }
  280. })
  281. },
  282. resetForm() {
  283. this.$refs['elForm'].resetFields()
  284. },
  285. readConfig(){
  286. request({
  287. params: {
  288. r: 'yunfast-pay/setting/index',
  289. },
  290. method: 'get',
  291. }).then(e => {
  292. this.submitLoading = false
  293. if (e.data.code === 0 && e.data.data) {
  294. this.formData = e.data.data.setting
  295. }
  296. }).catch(e => {
  297. })
  298. },
  299. }
  300. })
  301. </script>
  302. <style>
  303. .form-body {
  304. padding-bottom: 5px;
  305. display: flex;
  306. flex-direction: column;
  307. }
  308. .title {
  309. display: flex;
  310. align-items: center;
  311. padding: 18px 20px;
  312. /* border-top: 1px solid #F3F3F3; */
  313. border-bottom: 1px solid #F3F3F3;
  314. background-color: #fff;
  315. }
  316. .title-line {
  317. width: 4px;
  318. height: 20px;
  319. background-color: #1479F0;
  320. margin-right: 10px;
  321. }
  322. .padding-top {
  323. margin-bottom: 10px;
  324. }
  325. </style>