vuex管理系统数据字典

import {getRecord} from '@/api/data-base/dict'

const dictDatas = {
    state:{
        dt_stock_type:[],//库存类型
        dt_batch_rule_diff:[],//批次规则区分
        dt_account_field:[],//记账字段
        dt_rules_type:[],//规则类型
        dt_businesstype_identity:[],//业务类型标识
        dt_stock_status:[],//库存状态
        dt_referdata_resource:[],//参照数据来源
        dt_statistic_type:[],//统计分类
        dt_purchase_class:[],//采购分类
        dt_workcenter_group:[],//工作中心组
        dt_ckyw_tpye:[],//业务类别
        dt_dd_state:[],//订单状态
        dt_org_function:[],//组织业务职能
        dt_org_code:[],//组织编码
        dt_arrival_unit:[],//到货单位
        dt_syetemnode_type:[],//节点类型
        dt_timeunit:[],//时间单位
        dt_supplier_level:[],//供应商等级
        dt_customer_property:[],//客户属性
        dt_customer_type:[],//客户类型
        dt_role_type:[],//角色类型
        dt_dimension:[],//量纲
        dt_supplier_type:[],//供应商类型
        dt_administrative_type:[],//行政区域类型
        dt_batch_enabled:[],//批次启用
        dt_datarights_class:[],//数据权限分类
        dt_datarights_type:[],//数据权限类型
        dt_manufacture_diff:[],//制造区分
        dt_materialpull_type:[],//拉料分类
        dt_materialput_type:[],//投料分类
        dt_materiel_classify:[],//物料分类
        dt_materiel_group:[],//物料组
        dt_materiel_type:[],//物料类型
        dt_negativestock_en:[],//负库存启用
        dt_org_type:[],//组织类型
        dt_prod_state:[],//生产状态
        dt_soragecell_class:[],//储位类别
        dt_soragecell_type:[],//储位类型
        dt_supply_mode:[],//供货方式
        dt_warehouse_class:[],//仓库类别
        dt_warehouse_group:[],//仓库组
        dt_warehouse_type:[],//仓库类型
        dt_whpartition_type:[],//区位类型
        dt_workcenter_class:[],//工作中心类别
        dt_workcenter_model:[],//工作中心作业模式
        dt_workcenter_type:[],//工作中心类型
        dt_delivery_state:[],//交货单状态
        dt_domainScope_type:[],//所属域
        dt_pullmaterial_type:[],//拉料类型
        dt_pullmaterial_state:[],//拉料状态
        dt_station_type:[],//工位类型
        dt_ReceivingBusiness_type:[],//收货业务类型
        dt_pull_businessType:[],//拉料业务类型
        dt_inventory_type:[],//盘点方式
        dd_receivin_state:[],//收货登记状态
        dt_pushmaterial_state:[],//投料状态
        dt_band_type:[],//待判定类型

        dt_datarights_type:[],//权限类型
        dt_pushmaterial_type:[],//投料类型
        dt_sales_out_instruct_state:[],//销售出库指示状态

        dt_quality_inspection_type:[],//质检类型
        dt_quality_nspection_category:[],//质检类别
        dt_time_type:[],//时间类别
        dt_iqc_type:[],//质检方式

    },
    mutations:{
       getDicData(state,data){
            state[data.dicCodes] = data.res
        }
    },
    actions:{
       getDicData(context,dicCodes){
            for(let i=0;i<dicCodes.length;i++){
                if(state[dicCodes[i]].length == 0){
                    getRecord(dicCodes[i]).then(res => {
                        res = res.data.dictItemDTOs;
                        context.commit('getDicData',{dicCodes:dicCodes[i],res:res});
                    })
                }
            }
            
        }
    }
}

export default dictDatas

页面调用

<script>
import {mapState} from 'vuex'
export default {
	computed:{
        ...mapState({
            dd_receivin_state:state=>state.dict.dd_receivin_state,
            dt_ReceivingBusiness_type:state=>state.dict.dt_ReceivingBusiness_type,
            dt_purchase_class:state=>state.dict.dt_purchase_class,
            dt_materiel_transfer_type_screenGroupNum:state=>state.businessComponent.dt_materiel_transfer_type_screenGroupNum
        })
    },
        mounted(){
        //系统字典
        this.$store.dispatch('getDicData',['dd_receivin_state','dt_ReceivingBusiness_type','dt_purchase_class']);
        //业务字典
        this.$store.dispatch('getBusinessComponentData',['dt_materiel_transfer_type_screenGroupNum']);
    },
}
</script>

Vue.js 是一个流行的前端JavaScript框架,用于构建用户界面和单页应用程序。在Vue.js中,数据字典并不是一个内置的概念,但可以通过一些方法来模拟或实现数据字典的功能。 数据字典通常是指存储和管理数据元素、其属性、数据类型以及数据之间关系的一个系统,它有助于统一数据标准和提高数据的一致性。在Vue.js中,你可以通过以下方式使用数据字典: 1. **使用Vuex管理状态**:Vuex是Vue.js的状态管理模式和库,可以帮助你管理组件间的状态共享。你可以定义一个包含数据字典的store,例如: ```javascript import Vue from 'vue'; import Vuex from 'vuex'; Vue.use(Vuex); export default new Vuex.Store({ state: { dictionary: { status: { 0: '待处理', 1: '处理中', 2: '已完成' } // 其他数据字典项... } }, mutations: { // 这里定义更改状态的方法 }, actions: { // 这里定义异步操作的方法 }, getters: { // 这里定义获取数据的方法 } }); ``` 2. **使用计算属性访问数据字典**:在组件内部,你可以通过计算属性(computed)来访问和使用数据字典,使得数据字典可以被组件方法或模板使用。 ```javascript computed: { getStatusName() { return this.dictionary.status[this.status]; } } ``` 3. **数据字典的全局访问**:为了在应用的任何地方访问数据字典,可以通过创建一个辅助函数或全局混入(mixin)来实现。 ```javascript // 辅助函数 function getStatusName(status) { return this.dictionary.status[status]; } // 全局混入 Vue.mixin({ created() { this.$dict = this.dictionary; }, methods: { getStatusName(status) { return this.$dict.status[status]; } } }); ``` 在Vue组件中使用时,你可以像下面这样调用: ```html <template> <div> 状态名称: {{ getStatusName(status) }} </div> </template> ```
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值