# test **Repository Path**: bai1298/test ## Basic Information - **Project Name**: test - **Description**: 123 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2024-06-17 - **Last Updated**: 2024-06-17 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README #九大表格组件 ## Compound 多功能输入框(支持输入多组数据) > **组件名:Compound** > 代码块: `Compound` > 关联组件:`el-element` > **子组件:传参** > data:组件接收的参数默认为[] 其中isPopUp等于true的时候默认到该组件 > lable: "IMEI/SN/机器编号",----------------------------输入框名称(选填) > type: "el-select",------------------------输入框类型(必填) > enName: "cate_id",------------------------返回值与model双向绑定(必填) > size: "small",----------------------------输入框大小(选填) > show: true,-------------------------------是否展示(必填) > isPopUp: true,-----------------------是否分类,使用组件必填(必填) > default:组件默认值 > size:组件大小默认值small ## ErpEcharts 图表封装 > **组件名:ErpEcharts** > 代码块: `ErpEcharts` > 关联组件:`echarts` > **子组件:传参** > options:组件接收的参数直接去echarts图表中复制option传到组件即可 > width: "600px",----------------------------图表宽度(选填) > height: "400px",----------------------------图表高度(选填) > **注意事项** > 循环多个图表时this.uuid必须为唯一值 ## MoreClass 级联选择器弹出层 > **组件名:MoreClass** > 代码块: `MoreClass` > 关联组件:`el-element` > **子组件:传参** > data:组件接收的参数默认为[] 其中classifiable等于true的时候默认到该组件 > lable: "分类",----------------------------输入框名称(选填) > type: "el-select",------------------------输入框类型(el-inpit,el-selec组件没用到但最好必填) > enName: "cate_id",------------------------返回值与model双向绑定(必填) > placeholder: "请选择机器类型",-------------输入框占位文本(选填) > size: "small",----------------------------输入框大小(选填) > show: true,-------------------------------是否展示(必填) > filterable: true,-------------------------是否可搜索(选填) > clearable: true,--------------------------是否可清除(选填) > classifiable: true,-----------------------是否分类,使用组件必填(必填) > disabled: false,--------------------------是否禁用(选填) > loading: false,---------------------------加载效果(选填) > options: [],------------------------------输入框下拉的值,父组件调用接口传递 > formLabelAlign:组件返回的参数与v-model双向绑定{} > disabled:组件是否禁用默认false > size:组件大小默认值small > width:组件宽度默认450 > Title:组件最外层占位文本默认为请选择分类/品牌/型号 > **子组件:方法** > SearchClass:点击查询后直接父组件中打印formLabelAlign的值 > ClearInput:父组件绑定ref直接调用子组件ClearInput()方法,然后子组件会给父组件抛出一个resetfrom()方法,在父组件resetfrom()中清空formLabelAlign中的邦定值 > **父组件:方法** > getphonetype():父组件中获取第一条分类数据 > SelectChange():选择数据后调用 后面是处理方法其中如果不是同一个接口resetFields中的值需要改变,后续代码也要修改 SelectChange(item) { const resetFields = { cate_id: ["brand_id", "model_id", "color_id", "rom_id"], brand_id: ["model_id", "color_id", "rom_id"], model_id: ["color_id", "rom_id"], }; Object.entries(resetFields).forEach(([field, resetFields]) => { if (item.enName === field) { resetFields.forEach((field) => { this.formLabelAlign[field] = ""; this.input.find((res) => res.enName === field).options = []; }); } }); /** 获取型号 颜色 容量*/ if (item.enName == "cate_id" && this.formLabelAlign.cate_id != "") { this.getqualityinfo( { cate_id: this.formLabelAlign.cate_id }, 1, "brand_id" ); } else if ( item.enName == "brand_id" && this.formLabelAlign.brand_id != "" ) { this.getqualityinfo( { cate_id: this.formLabelAlign.cate_id, brand_id: this.formLabelAlign.brand_id, }, 2, "model_id" ); } else if ( item.enName == "model_id" && this.formLabelAlign.model_id != "" ) { this.getqualityinfo( { cate_id: this.formLabelAlign.cate_id, brand_id: this.formLabelAlign.brand_id, model_id: this.formLabelAlign.model_id, }, 3, "color_id" ); } }, // 获取品牌,颜色,模型数据 async getqualityinfo(data, val, itm) { this.input.forEach((item) => { if (item.enName == itm) { item.loading = true; } }); try { const res = await cate_brand_list_in_stock(data); this.input.forEach((item) => { if (item.enName == itm) { item.loading = false; } }); if (res.errcode !== 0) return; if (val == 1) { this.updateInputOptions("brand_id", res.datas); } else if (val == 2) { this.updateInputOptions("model_id", res.datas); } else { this.updateInputOptions("rom_id", res.datas.rom_list); this.updateInputOptions("color_id", res.datas.color_list); } } catch (error) { // 处理错误 console.error(error); } }, 处理数据 updateInputOptions(enName, list) { const mappedList = Array.isArray(list) ? list.map((item) => ({ label: item.label, value: item.value })) : []; this.input.forEach((r, i) => { if (r.enName === enName) { if ( r.enName !== "model_id" && r.enName !== "cate_id" && r.enName !== "brand_id" ) { this.input[i].show = Array.isArray(list) && list.length ? true : false; } this.input[i].options = mappedList; } }); }, ## selectbtn 多功能多选组件(仅筛选,多选,反选,模糊查询选择操作) > **组件名:SelectBtn** > 代码块: `selectbtn` > 关联组件:`el-element` > **子组件:传参** > SourceData:组件接收的参数默认为[{label:'',value:''}] 接口的数据 > dropdowntitle:组件占位文本 > value:返回值的字段名如:value:"name_id" 则search中parmas的接收参数为{name_id:['返回的参数']},参数为必填 > selectAll:默认false,是否全选 > **子组件:方法** > search(params):params接收选择的参数 ## TimingModule 时间选择器 > **组件名:TimingModule** > 代码块: `TimingModule` > 关联组件:`el-element` > **子组件:传参** > data:组件接收的参数默认为[] 其中type等于el-date-picker的时候默认到该组件 > lable: "分类名称",----------------------------输入框名称(必填) > type: "el-date-picker",------------------------输入框类型(el-date-picker必填) > TimeType:daterange(daterange为时间段date为当前时间) > enName: "time",------------------------返回值与model双向绑定(必填) > show: true,-------------------------------是否展示(必填) > size:组件大小默认值small > default:默认参数 > **子组件:方法** > getDateTime():子组件抛出一个getDateTime(a,b)接受两个参数a为下拉选择器的值,b为时间值 > **注意事项** > 循环多个图表时this.uuid必须为唯一值