Browse Source

修改逻辑

lex-xin 4 năm trước cách đây
mục cha
commit
8280687a3d
2 tập tin đã thay đổi với 110 bổ sung100 xóa
  1. 60 33
      src/views/adapayAccount/form.vue
  2. 50 67
      src/views/adapayAccount/index.vue

+ 60 - 33
src/views/adapayAccount/form.vue

@@ -3,7 +3,7 @@
     <div class="m-container">
         <h2>
             <el-page-header @back="onCancel"
-                :content="(pageType == 'create' ? '创建账号' : '修改账号')"></el-page-header>
+                :content="(payType == 'create' ? '创建账号' : '修改账号')"></el-page-header>
         </h2>
         <div class="m-core" style="overflow: hidden">
             <el-col :span="10">
@@ -199,37 +199,66 @@ export default {
         };
     },
     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
-                }
-            })
-        }
+        this.__init()
+    },
+    activated() {
+        this.__init()
     },
-    activated() {},
     methods: {
+        __init() {
+            const query = this.$route.query
+            this.payType = query.type
+            this.row = query.row ? JSON.parse(query.row) : {}
+            if(this.payType == '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
+                    }
+                })
+            } else if(this.payType == 'create') {
+                // this.form = {
+                //     memberId: null,
+                //     name: null,
+                //     legalPerson: null,
+                //     legalMp: null,
+                //     legalCertId: null,
+                //     legalCertIdExpires: null,
+                //     cardNo: null,
+                //     bankCode: null,
+                //     provCode: null,
+                //     areaCode: null,
+                //     socialCreditCode: null,
+                //     socialCreditCodeExpires: null,
+                //     businessScope: null,
+                //     address: null,
+                //     multipartFile: null,
+                //     zipCode: null,
+                //     memo: null
+                // }
+                this.$refs["accountForm"].resetFields()
+            }
+        },
         async onSubmit (formName) {
             this.$refs[formName].validate(valid => {
                 if (valid) {
@@ -278,16 +307,14 @@ export default {
             });
         },
         handleChange(file) {
-            console.log(file)
             this.files = file
             this.form.multipartFile = file.raw
         },
         handleRemove(file, fileList) {
-            console.log(file, fileList);
             this.files = null
         },
         handlePreview(file) {
-            console.log(file);
+            // console.log(file);
         },
         onProvChange(value) {
             this.form.areaCode = null

+ 50 - 67
src/views/adapayAccount/index.vue

@@ -2,7 +2,7 @@
 <template>
     <div class="m-container">
         <h2>
-            <div class="squrt"></div>汇账号管理
+            <div class="squrt"></div>汇账号管理
         </h2>
         <div class="topWrap">
             <div class="newBand" @click="onOperationAccount('create')" >创建账号</div>
@@ -70,6 +70,7 @@
                                     fixed="right">
                         <template slot-scope="scope">
                             <el-button v-if="scope.row.status === 'failed'" @click="onOperationAccount('update', scope.row)" type="text">修改</el-button>
+                            <el-button v-if="scope.row.status === 'succeeded'" @click="onUpdateAccount(scope.row)" type="text">修改结算账户</el-button>
                         </template>
                     </el-table-column>
                 </el-table>
@@ -81,81 +82,26 @@
             </div>
         </div>
 
-        <el-dialog title="绑定结算账户" :visible.sync="zeroVisible">
+        <el-dialog title="绑定结算账户" :visible.sync="zeroVisible" width="400px" @close="onFormClose('maskForm')">
             <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 label="银行卡号" prop="cardNo">
+                    <el-input v-model="maskForm.cardNo" placeholder="请输入银行卡号"></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 label="所属银行" prop="bankCode">
+                    <el-select v-model="maskForm.bankCode" style="width: 100% !important" placeholder="请选择所属银行">
+                        <el-option v-for="(item, index) in backList" :key="index" :label="item.title"
+                                :value="item.value"></el-option>
+                    </el-select>
                 </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>
+                <el-button type="primary" @click="addZero('maskForm')">确 定</el-button>
             </span>
         </el-dialog>
     </div>
@@ -164,7 +110,7 @@
 <script>
 import pagination from "@/components/Pagination/index";
 import AccountForm from './form'
-import { queryPageList } from './api.js'
+import { queryPageList, createSettleAccount } from './api.js'
 import { cityJson } from './cityJson'
 import { bankJson } from './bankJson'
 import cleanDeep from 'clean-deep'
@@ -176,6 +122,7 @@ export default {
     data () {
         return {
             zeroVisible: false,
+            backList: bankJson,
             rules: {
                 // 分页规则
                 limit: 20, // 限制显示条数
@@ -184,7 +131,16 @@ export default {
                 page_size: [10, 20, 50, 100] // 选择限制显示条数
             },
             tableList: [],
-            searchForm: { }
+            searchForm: { },
+            maskRules: {
+                cardNo: [{required: true, message:'请输入银行卡号', trigger: 'blur'}],
+                bankCode: [{required: true, message:'请选择所属银行', trigger: 'change'}]
+            },
+            maskForm: {
+                memberId: null,
+                cardNo: null,
+                bankCode: null
+            }
         };
     },
     mounted () {
@@ -209,6 +165,9 @@ export default {
                 //
             }
         },
+        onFormClose(formName) {
+            this.$refs[formName].resetFields()
+        },
         onOperationAccount(type, row) {
             this.$router.push({
                 path: '/insideSetting/adapayOperation',
@@ -218,6 +177,30 @@ export default {
                 }
             })
         },
+        onUpdateAccount(row) {
+            this.zeroVisible = true
+            this.maskForm = {
+                memberId: row.memberId,
+                cardNo: row.cardNo,
+                bankCode: row.bankCode
+            }
+        },
+        addZero(formName) {
+             this.$refs[formName].validate(valid => {
+                if (valid) {
+                    createSettleAccount(cleanDeep(this.maskForm)).then(res => {
+                        if(res.code == 200) {
+                            this.$message.success('修改结算账户成功')
+                            this.zeroVisible = false
+                        } else {
+                            this.$message.error(res.msg)
+                        }
+                    })
+                } else {
+                    return false;
+                }
+            });
+        }
     },
     filters: {
         formatStatus(val) {