Vue

来自tomtalk
Tom讨论 | 贡献2019年12月4日 (三) 09:30的版本 Vue页面结构

跳转至: 导航搜索

Vue页面结构

<template>
    <div class="page">something</div>
</template>
 
<script>
import sc from "@/mixins/index";
import Country from "@/components/Country.vue";
import { mapState, mapMutations } from "vuex";
import code from "@/utils/code";
import { uploadSingleFile } from "@/api";
import { checkResidentNumberIsExistForProduct } from "@/api";
import utils from "@tplhk-ui/utils";
export default {
    name: "Application",
    mixins: [sc],
    components: { Country },
    data() {
        return {
            payment: this.$t("payment"),
            rules: {
                englishFamilyName: {
                    required: true,
                    validator: this.baseValidate.bind(this, /^[A-Za-z ]*$/),
                    trigger: "blur"
                }
            }
        };
    },
    computed: {
        ...mapState(["forms", "style", "premium"])
    },
    watch: {
        "forms.residentCode": function(newValue) {
            this.residentCodeFn(newValue);
        }
    },
    created() {
        if (this.$route.name === "confirm") {
            this.disabled = true;
        }
        this.residentCodeFn(this.forms.residentCode);
        Options.getPolicyPlanAlipay()
            .then(res => (this.policyPlanOpt = res))
            .catch(() => {});
    },
    methods: {
        ...mapMutations(["set_forms", "set_state"]),
        residentCodeFn(newValue) {
            let flag = newValue === "NPHK" ? true : false;
            this.rules.nationalityCode.required = flag;
        }
    }
};
</script>
 
<style lang="scss">
.tpl-form-item-required .tpl-form-item-label:before {
    content: "";
}
</style>