lex-xin 4 سال پیش
والد
کامیت
8d9119ff2a
3فایلهای تغییر یافته به همراه197 افزوده شده و 18 حذف شده
  1. 18 0
      src/views/adapayAccount/api.js
  2. 56 8
      src/views/adapayAccount/form.vue
  3. 123 10
      src/views/adapayAccount/index.vue

+ 18 - 0
src/views/adapayAccount/api.js

@@ -19,3 +19,21 @@ export function createMember(data) {
       data: data
     })
 }
+
+// 修改企业用户(状态是failed才能修改)
+export function updateMember(data) {
+  return request({
+    url: api + '/adapay/updateMember',
+    method: 'post',
+    data: data
+  })
+}
+
+// 绑定结算账户(succeeded 状态才能使用)
+export function createSettleAccount(data) {
+  return request({
+    url: api + '/adapay/createSettleAccount',
+    method: 'post',
+    data: data
+  })
+}

+ 56 - 8
src/views/adapayAccount/form.vue

@@ -118,7 +118,7 @@
                         <el-input type="textarea" :rows="3" v-model="form.memo" placeholder="请输入备注"></el-input>
                     </el-form-item>
                     <el-form-item>
-                        <el-button >取 消</el-button>
+                        <el-button @click="onCancel">取 消</el-button>
                         <el-button type="primary" @click="onSubmit('accountForm')">确 定</el-button>
                     </el-form-item>
                 </el-form>
@@ -132,7 +132,7 @@ import { cityJson } from "./cityJson";
 import { bankJson } from "./bankJson";
 import { getToken } from "@/utils/auth";
 import load from '@/utils/loading'
-import { createMember } from './api.js'
+import { createMember, updateMember } from './api.js'
 import { isvalidPhone } from '@/utils/validate'
 let validPhone = (rule, value, callback) => {
     if (!value) {
@@ -146,8 +146,10 @@ let validPhone = (rule, value, callback) => {
 export default {
     name: 'ADaPayAccount',
     data() {
+        const query = this.$route.query
         return {
-            pageType: this.$route.query.type,
+            pageType: query.type,
+            row: query.row ? JSON.parse(query.row) : {},
             backList: bankJson,
             cityList: cityJson,
             selectListCity: [],
@@ -156,6 +158,7 @@ export default {
             },
             fileList: [],
             files: null, // 上传对象
+            id: null, // 编号
             form: {
                 memberId: null,
                 name: null,
@@ -195,11 +198,39 @@ export default {
             }
         };
     },
-    mounted() {},
+    mounted() {
+        if(this.pageType == 'update') {
+            const row = this.row
+            this.id = row.id
+            this.form = {
+                memberId: row.memberId,
+                name: row.name,
+                legalPerson: row.legalPerson,
+                legalMp: row.legalMp,
+                legalCertId: row.legalCertId,
+                legalCertIdExpires: row.legalCertIdExpires,
+                cardNo: row.cardNo,
+                bankCode: row.bankCode,
+                provCode: row.provCode,
+                areaCode: row.areaCode,
+                socialCreditCode: row.socialCreditCode,
+                socialCreditCodeExpires: row.socialCreditCodeExpires,
+                businessScope: row.businessScope,
+                address: row.address,
+                multipartFile: row.multipartFile,
+                zipCode: row.zipCode,
+                memo: row.memo
+            }
+            this.cityList.forEach(item => {
+                if(item.value == row.provCode) {
+                    this.selectListCity = item.cities
+                }
+            })
+        }
+    },
     activated() {},
     methods: {
         async onSubmit (formName) {
-            console.log(this.form)
             this.$refs[formName].validate(valid => {
                 if (valid) {
                     const form = this.form
@@ -221,9 +252,26 @@ export default {
                         formData.append("multipartFile", form.multipartFile)
                         formData.append("zipCode", form.zipCode)
                         formData.append("memo", form.memo)
-                    createMember(formData).then(res => {
-                        console.log(res)
-                    })
+                    if(this.pageType == 'create') {
+                        createMember(formData).then(res => {
+                            if(res.code == 200) {
+                                this.$message.success('保存成功')
+                                this.onCancel()
+                            } else {
+                                this.$message.error(res.msg)
+                            }
+                        })
+                    } else if(this.pageType == 'update') {
+                        formData.append('id', this.id)
+                        updateMember(formData).then(res => {
+                            if(res.code == 200) {
+                                this.$message.success('保存成功')
+                                this.onCancel()
+                            } else {
+                                this.$message.error(res.msg)
+                            }
+                        })
+                    }
                 } else {
                     return false;
                 }

+ 123 - 10
src/views/adapayAccount/index.vue

@@ -5,9 +5,34 @@
             <div class="squrt"></div>汇会账号管理
         </h2>
         <div class="topWrap">
-            <div class="newBand" @click="onCreateAccount" >创建账号</div>
+            <div class="newBand" @click="onOperationAccount('create')" >创建账号</div>
         </div>
         <div class="m-core">
+            <el-form :inline="true"
+               class="searchForm"
+               v-model.trim="searchForm">
+                <el-form-item>
+                <el-input v-model.trim="searchForm.memberId"
+                            placeholder="请输入商户号"></el-input>
+                </el-form-item>
+                <el-form-item>
+                <el-input v-model.trim="searchForm.name"
+                            placeholder="请输入公司名称"></el-input>
+                </el-form-item>
+                <el-form-item>
+                    <el-select v-model.trim="searchForm.status"
+                                filterable
+                                clearable
+                                placeholder="请选择审核状态">
+                        <el-option label="处理中" value="pending"></el-option>
+                        <el-option label="成功" value="succeeded"></el-option>
+                        <el-option label="失败" value="failed"></el-option>
+                    </el-select>
+                </el-form-item>
+                <el-form-item>
+                    <el-button @click="getList" type="danger">搜索</el-button>
+                </el-form-item>
+            </el-form>
             <div class="tableWrap">
                 <el-table :data="tableList"
                             :header-cell-style="{background:'#EDEEF0',color:'#444'}">
@@ -32,7 +57,7 @@
                     <el-table-column label="银行卡号"
                                     align="center"
                                     prop="cardNo"></el-table-column>
-                    <el-table-column label="状态"
+                    <el-table-column label="审核状态"
                                     align="center"
                                     prop="status">
                         <template slot-scope="scope">
@@ -43,6 +68,9 @@
                                     width="250px"
                                     align="center"
                                     fixed="right">
+                        <template slot-scope="scope">
+                            <el-button v-if="scope.row.status === 'failed'" @click="onOperationAccount('update', scope.row)" type="text">修改</el-button>
+                        </template>
                     </el-table-column>
                 </el-table>
                 <pagination :total="rules.total"
@@ -52,6 +80,84 @@
                             @pagination="getList" />
             </div>
         </div>
+
+        <el-dialog title="绑定结算账户" :visible.sync="zeroVisible">
+            <el-form :model='maskForm'
+               :rules="maskRules"
+               label-width="100px"
+               label-position="right"
+               :inline="true"
+               ref="maskForm">
+                <el-form-item label="标题"
+                            prop="title">
+                <el-input v-model.trim="maskForm.title"
+                            :disabled='!isNew'></el-input>
+                </el-form-item>
+                <el-form-item label="收费类型"
+                            prop="type">
+                <el-select v-model.trim="maskForm.type"
+                            :disabled='!isNew'
+                            clearable
+                            filterable>
+                    <el-option label="考级"
+                            :value="1"></el-option>
+                </el-select>
+                </el-form-item>
+                <el-form-item label="金额"
+                            prop='money'>
+                <el-input v-model.trim="maskForm.money"
+                            type="number"
+                            @mousewheel.native.prevent
+                            :disabled='!isNew'></el-input>
+                </el-form-item>
+                <el-form-item label="减免金额"
+                            v-if="maskForm.type == 6"
+                            prop='money'>
+                <el-input v-model.trim="maskForm.subMoney"
+                            type="number"
+                            @mousewheel.native.prevent
+                            :disabled='!isNew'></el-input>
+                </el-form-item>
+                <el-form-item label="分部"
+                            prop="organId">
+                <el-select v-model.trim="maskForm.organId"
+                            :disabled='!isNew'
+                            clearable
+                            filterable>
+                    <el-option v-for='(item,index) in organList'
+                            :key="index"
+                            :value="item.id"
+                            :label="item.name"></el-option>
+                </el-select>
+                </el-form-item>
+                <el-form-item label="查看链接"
+                            v-if="!isNew">
+                <el-input style='width:400px'
+                            :disabled='!isNew'
+                            v-model.trim="maskForm.code"></el-input>
+                <el-button type='danger'
+                            @click="onCreateQRCode">二维码</el-button>
+                </el-form-item>
+                <el-form-item label="收费详情"
+                            prop="desc">
+                <el-input type='textarea'
+                            :disabled='!isNew'
+                            v-model.trim="maskForm.desc"
+                            style="width:490px"
+                            :autosize="{minRows: 5}"></el-input>
+                </el-form-item>
+            </el-form>
+            <span slot="footer"
+                    class="dialog-footer">
+                <el-button @click="zeroVisible = false">取 消</el-button>
+                <el-button type="primary"
+                        v-if="isNew"
+                        @click="addZero">确 定</el-button>
+                <el-button v-if="!isNew"
+                        type="primary"
+                        @click="zeroVisible = false">确定</el-button>
+            </span>
+        </el-dialog>
     </div>
 </template>
 
@@ -61,6 +167,7 @@ import AccountForm from './form'
 import { queryPageList } from './api.js'
 import { cityJson } from './cityJson'
 import { bankJson } from './bankJson'
+import cleanDeep from 'clean-deep'
 export default {
     components: {
         pagination,
@@ -68,6 +175,7 @@ export default {
     },
     data () {
         return {
+            zeroVisible: false,
             rules: {
                 // 分页规则
                 limit: 20, // 限制显示条数
@@ -76,6 +184,7 @@ export default {
                 page_size: [10, 20, 50, 100] // 选择限制显示条数
             },
             tableList: [],
+            searchForm: { }
         };
     },
     mounted () {
@@ -87,12 +196,10 @@ export default {
     methods: {
         getList() {
             try {
-                let obj = {
-                    page: this.rules.page,
-                    rows: this.rules.limit,
-                };
-                queryPageList(obj).then(res => {
-                    console.log(res.code)
+                let obj = this.searchForm
+                obj.page= this.rules.page
+                obj.rows= this.rules.limit
+                queryPageList(cleanDeep(obj)).then(res => {
                     if(res.code == 200) {
                         this.tableList = res.data.rows
                         this.rules.total = res.data.total
@@ -102,8 +209,14 @@ export default {
                 //
             }
         },
-        onCreateAccount() {
-            this.$router.push('/insideSetting/adapayOperation')
+        onOperationAccount(type, row) {
+            this.$router.push({
+                path: '/insideSetting/adapayOperation',
+                query: {
+                    type: type,
+                    row: JSON.stringify(row)
+                }
+            })
         },
     },
     filters: {