PayOrder.vue 8.3 KB
<template>
    <el-container>
        <el-main>
            <el-row type="flex" class="row-bg" justify="center">
                <el-col :span="20">
                    <el-form :model="OrderForm" :rules="rules" ref="OrderForm" label-width="180px"
                             :label-position="labelPosition">
                        <el-col :span="24">
                            <el-form-item label="充值类型" prop="payType">
                                <el-col :span="24">
                                    <el-select v-if="Edistatus=='create'" v-model="OrderForm.payType"
                                               @change="selectTrigger(OrderForm.payType)" placeholder="请选择充值类型"
                                               style="width:100%">
                                        <el-option v-for="item in payTypes" :key="item.value" :label="item.label"
                                                   :value="item.value"></el-option>
                                    </el-select>
                                    <el-select v-else v-model="OrderForm.payType" style="width:100%">
                                        <el-option disabled="" v-for="item in payTypes" :key="item.value"
                                                   :label="item.label"
                                                   :value="item.value"></el-option>
                                    </el-select>
                                </el-col>
                            </el-form-item>
                        </el-col>
                        <el-col :span="24">
                            <el-form-item label="仪表地址">
                                <el-input disabled="" v-model="OrderForm.payTypeAddress"></el-input>
                            </el-form-item>
                        </el-col>
                        <el-col :span="24">
                            <el-form-item label="用户名称">
                                <el-input disabled="" v-model="OrderForm.payUserName"></el-input>
                            </el-form-item>
                        </el-col>
                        <el-col :span="24">
                            <el-form-item label="房间号码">
                                <el-input disabled="" v-model="OrderForm.payLocationName"></el-input>
                            </el-form-item>
                        </el-col>
                        <el-col :span="24">
                            <el-form-item label="充值日期">
                                <el-date-picker type="date" placeholder="" v-model="OrderForm.payTime" disabled=""
                                                style="width: 100%;"
                                                value-format="yyyy-MM-dd HH:mm:ss"></el-date-picker>
                            </el-form-item>
                        </el-col>
                        <el-col :span="24">
                            <el-form-item v-if="Edistatus=='create'" label="充值金额" prop="payFees">
                                <el-input type="number" oninput="value=value.replace(/[^0-9.]/g,'')"
                                          v-model.number="OrderForm.payFees"></el-input>
                            </el-form-item>
                            <el-form-item v-else label="充值金额" prop="payFees">
                                <el-input disabled="" type="number" oninput="value=value.replace(/[^0-9]/g,'')"
                                          v-model.number="OrderForm.payFees"></el-input>
                            </el-form-item>
                        </el-col>
                        <el-col :span="24">
                            <el-form-item label="支付方式">
                                <el-radio-group v-model="OrderForm.payFessType">
                                    <el-radio v-for="item in payFessTypes" :key="item.value" :label="item.value" border>
                                        {{item.label}}
                                    </el-radio>
                                </el-radio-group>
                            </el-form-item>
                        </el-col>
                        <el-col :span="24">
                            <el-form-item>
                                <el-button type="primary" style="width:100%"
                                           @click="Edistatus==='create'?createData('OrderForm'):updateData('OrderForm')">
                                    确认支付
                                </el-button>
                            </el-form-item>
                        </el-col>
                    </el-form>
                </el-col>
            </el-row>
        </el-main>
    </el-container>
</template>
<style scoped>

</style>
<script>
    import loginUserInfo from '@/api/base'

    export default {
        data() {
            return {
                OrderForm: {
                    payUserId: '',
                    payUserName: '',
                    payTime: new Date(),
                    payLocationId: '',
                    payLocationName: '3#01-101',
                    payTypeAddress: '',
                    payFees: '',
                    payType: '',
                    payFessType: '1',
                    orderNumber: '',
                    payStatus: '',
                },
                rules: {
                    payType: [
                        {required: true, message: '请选择充值类型', trigger: 'change'}
                    ],
                    payFees: [
                        {required: true, message: '充值金额不能为空'},
                        {type: 'number', message: '金额必须为数字值'}
                    ]
                },
                payTypes: [
                    {
                        value: '0',
                        label: '水费'
                    }, {
                        value: '1',
                        label: '电费'
                    }],
                payFessTypes: [
                    {
                        value: '0',
                        label: '微  信'
                    }, {
                        value: '1',
                        label: '支付宝'
                    }],
                labelPosition: 'left',
                Edistatus: '',
                shuibiao: '',
                dianbiao: ''
            }
        },
        methods: {

            getdefaultData() {

                if (this.$route.params.Edistatus == 'create') {
                    this.OrderForm.payUserId = loginUserInfo.userId;
                    this.OrderForm.payUserName = loginUserInfo.username;
                    this.OrderForm.payLocationId = this.$route.params.row.id;
                    this.OrderForm.payLocationName = this.$route.params.row.adrname;
                    this.Edistatus = this.$route.params.Edistatus;
                    this.shuibiao = '1111111';
                    this.dianbiao = '222222';

                } else {
                    this.Edistatus = 'update';
                    this.OrderForm.payType = '0'
                    this.OrderForm.payTypeAddress = '333333';
                }
            },
            selectTrigger(val) {
                if (val == '0') {
                    this.OrderForm.payTypeAddress = this.shuibiao
                } else {
                    this.OrderForm.payTypeAddress = this.dianbiao;
                }
            },
            createData(formName) {
                this.$refs[formName].validate((valid) => {
                    if (valid) {
                        alert("新增充值" + this.OrderForm.payType + "支付方式为:" + this.OrderForm.payFessType + "充值金额:" + this.OrderForm.payFees);
                    } else {
                        console.log('error submit!!');
                        return false;
                    }
                });
            },
            updateData(formName) {
                this.$refs[formName].validate((valid) => {
                    if (valid) {
                        alert("完成充值" + this.OrderForm.payType + "支付方式为:" + this.OrderForm.payFessType + "充值金额:" + this.OrderForm.payFees);
                    } else {
                        console.log('error submit!!');
                        return false;
                    }
                });
            }
        },
        mounted() {
            this.getdefaultData();
        }
    }
</script>