国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

基于Vue+element-ui 的Table二次封裝

you_De / 2521人閱讀

摘要:本人第一次寫這個(gè)寫的不好還望指出來(lái)作為一個(gè)由于公司產(chǎn)品的升級(jí)然促使我從一個(gè)后端人員自學(xué)變成前端的開發(fā)人員公司做的數(shù)據(jù)管理系統(tǒng)所以離不開表格了然后表格樣式統(tǒng)一啥的就想到封裝一個(gè)里面的了效果圖表格組件的引入與使用監(jiān)測(cè)數(shù)據(jù)表格

本人第一次寫這個(gè) 寫的不好還望指出來(lái)
作為一個(gè)由于公司產(chǎn)品的升級(jí)然促使我從一個(gè)后端人員自學(xué)變成前端的開發(fā)人員 !
公司做的數(shù)據(jù)管理系統(tǒng)所以離不開表格了 然后表格樣式統(tǒng)一啥的就想到封裝一個(gè)element-ui 里面的table+Pagination了
效果圖

表格組件的引入與使用
    
                
            

使用插槽slot 使用起來(lái)就和原來(lái)的table一樣了

import comTable from "@/components/common/com-table"
import { GetTempletExportList, GetTempletExportInfo } from "../../../api/transfer/index"
import ApiConfig from "@/api/ApiConfig"
export default {
    name: "templet",
    components: {
        comTable
    },
    data() {
        return {
            tableData4: [],
            exporttableData: [],
            multipleSelection: [],
            currentpoint: null,
            currentitem: null,
            itemdialogshow: false,
            pointdialogshow: false,
            path: new ApiConfig().GetConfig().SysPath,
            checkeditem: [],//選中數(shù)據(jù)
        }
    },
    computed: {
        moduletype() {
            return this.$store.state.moduletype;
        },
        userinfo() {
            return this.$store.state.user.userInfo;
        }
    },
    watch: {
        moduletype() {
            this.init();
        }
    },
    created() {
        this.init();
    },
    methods: {
        init() {
            GetTempletExportList(this.userinfo.cityid, this.moduletype).then(re => {
                this.exporttableData = re.data;
                this.tableData4 = [];
                re.data.map(item => {
                    this.tableData4.push({
                        name: item.fldTableDesc,
                        point: {
                            visible: false,
                            value: ""
                        },
                        item: {
                            visible: true,
                            value: item.ItemList
                        }
                    })
                })
            }, (error) => {
                this.$message({
                    customClass: "el-message_new",
                    message: error,
                    type: "error"
                });
            })
        },
        handleSelectionChange(val) {
            console.log(val)
            this.multipleSelection = val;
        },
        focuspoint(val) {
            this.currentpoint = val;
        },
        focusitem(val) {
            this.currentitem = val;
            this.itemdialogshow = true;
        },
        itemconfirm() {
            this.itemdialogshow = !this.itemdialogshow;
        },
        itemhandleClose(done) {
            this.itemdialogshow = false;
        },
        ItemGroupSelectchange(val) {
            this.checkeditem = val;
            console.log(this.checkeditem);
            let groupitemcontent = [];
            val.map(item => {
                groupitemcontent.push(item.fldItemName);
            })
            this.currentitem.value = groupitemcontent.join(",");
        },
        submit() {
            if (this.multipleSelection.length > 0) {
                let message = "";
                let data = [];
                let name = "";
                this.multipleSelection.map((item, index) => {
                    name = item.name;
                    let str = item.name;
                    let info = false;
                    if (item.item.visible && item.item.value == "") {
                        message += `表[${str}]請(qǐng)選擇因子`;
                        info = true;
                    }
                    if (item.point.visible && item.point.value == "") {
                        if (info) {
                            message += `、請(qǐng)選擇測(cè)點(diǎn)/斷面!`;
                        } else {
                            message += `表[${str}]請(qǐng)選擇測(cè)點(diǎn)/斷面!`;
                        }
                        info = true;
                    }
                    if (info) {
                        message += "
" } data.push({ "AutoID": "1", "STCode": "", "PCode": "", "RCode": "", "RScode": "", "GDCODE": "", "type": this.moduletype, "itemcodeList": item.item.value.split(",").join("^"), "path": `${this.path.TempletExportSetting}${this.moduletype}.json`, "IsNeedNullData": "Y" }) }) if (message == "") { GetTempletExportInfo(data).then(re => { if (re.status == "ok") { var exportdata = eval((re.data)); const { export_json_to_excel } = require("../../../libs/Export2Excel"); if (exportdata[0].merg.length != 0) { var exdata = []; var itemlistUnit = []; var itemlistfldCharCode = []; for (var z = 0; z < exportdata[0].head.length - this.checkeditem.length; z++) { itemlistUnit.push(exportdata[0].head[z]); itemlistfldCharCode.push(exportdata[0].head[z]) } this.checkeditem.map(item => { itemlistUnit.push(item.fldUnit); itemlistfldCharCode.push(item.fldCharCode); }) var exdata = this.formatJson(exportdata[0].head, exportdata[0].data); exdata.unshift(itemlistUnit); exdata.unshift(itemlistfldCharCode); exdata.unshift(exportdata[0].head); console.log(exdata) exportdata[0].merg.push([0, 0, exportdata[0].head.length - 1, 0]) export_json_to_excel([name], exdata, name, exportdata[0].merg); } else { var exdata = this.formatJson(exportdata[0].head, exportdata[0].data); exdata.unshift(exportdata[0].head); exportdata[0].merg.push([0, 0, exportdata[0].head.length - 1, 0]) export_json_to_excel([name], exdata, name, exportdata[0].merg); } } else { this.$message({ message: "導(dǎo)出失敗!", type: "error" }); } }) } else { this.$message({ dangerouslyUseHTMLString: true, customClass: "el-message_new", message: message, type: "warning" }); } } else { this.$message({ customClass: "el-message_new", message: "請(qǐng)先選擇要導(dǎo)出的列表!", type: "warning" }); } }, formatJson(filterVal, jsonData) { return jsonData.map(v => filterVal.map(j => { return v[j]; }) ); } } }
comTable組件
    

commonway.js
    class CommonWay {
    /**
     * description:對(duì)數(shù)組的分頁(yè)處理
     * author:bilimumu
     * date:2017-10-28 
     * @param {number} [pageNo=1] 頁(yè)碼
     * @param {number} [pageSize=10] 每頁(yè)顯示條數(shù) 
     * @param {any} [obj=[]] 待分頁(yè)的數(shù)組
     *  @param {Boolean} [iscreateNewdata=true] 是否創(chuàng)建新的數(shù)據(jù)
     * @returns 返回新的數(shù)組
     * @memberof CommonWay
     */
    pagination(pageNo = 1, pageSize = 10, obj = [], iscreateNewdata = true) {
        var array = [];
        if (iscreateNewdata) {
            array = JSON.parse(JSON.stringify(obj));
        } else {
            array = obj;
        }
        var offset = (pageNo - 1) * pageSize;
        return (offset + pageSize >= array.length) ? array.slice(offset, array.length) : array.slice(offset, offset + pageSize);
    }
}

export default CommonWay
com-table.scss
.com-table {
    height: 100%;
    width: 100%;
    &-title {
        color: #FFF;
        background: #42A2F5;
        padding: 0;
        font-size: 15px;
        height: 40px;
        line-height: 40px;
        text-indent: 8px;
    }
    &-content {
        width: 100%;
        height: calc(100% - 40px - 55px);
    }
    &-content-nottitle {
        width: 100%;
        height: calc(100% - 55px);
    }
    &-page {
        height: 55px;
        width: 100%;
        background: #EFF3F8;
        display: flex;
        align-items: center;
        justify-content: center;
    }
}

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/96123.html

相關(guān)文章

  • 基于element-ui表格二次封裝實(shí)現(xiàn)

      項(xiàng)目中element的表格,每次都cv很麻煩,可以用表格進(jìn)行了二次封裝,寫一個(gè)Table組件。  首先,下面是表格樣式  <el-table   :data="tableData"   :header-cell-style="headerStyle"   :height="height"   :border="bord...

    3403771864 評(píng)論0 收藏0
  • 手摸手,帶你用vue擼后臺(tái) 系列三(實(shí)戰(zhàn)篇)

    摘要:社區(qū)的認(rèn)可目前已經(jīng)是相關(guān)最多的開源項(xiàng)目了,體現(xiàn)出了社區(qū)對(duì)其的認(rèn)可。監(jiān)聽事件手動(dòng)維護(hù)列表這樣我們就簡(jiǎn)單的完成了拖拽排序。 完整項(xiàng)目地址:vue-element-admin 系類文章一:手摸手,帶你用vue擼后臺(tái) 系列一(基礎(chǔ)篇)系類文章二:手摸手,帶你用vue擼后臺(tái) 系列二(登錄權(quán)限篇)系類文章三:手摸手,帶你用vue擼后臺(tái) 系列三(實(shí)戰(zhàn)篇)系類文章四:手摸手,帶你用vue擼后臺(tái) 系列...

    Channe 評(píng)論0 收藏0
  • 手摸手,帶你用vue擼后臺(tái) 系列三(實(shí)戰(zhàn)篇)

    摘要:社區(qū)的認(rèn)可目前已經(jīng)是相關(guān)最多的開源項(xiàng)目了,體現(xiàn)出了社區(qū)對(duì)其的認(rèn)可。監(jiān)聽事件手動(dòng)維護(hù)列表這樣我們就簡(jiǎn)單的完成了拖拽排序。 完整項(xiàng)目地址:vue-element-admin 系類文章一:手摸手,帶你用vue擼后臺(tái) 系列一(基礎(chǔ)篇)系類文章二:手摸手,帶你用vue擼后臺(tái) 系列二(登錄權(quán)限篇)系類文章三:手摸手,帶你用vue擼后臺(tái) 系列三(實(shí)戰(zhàn)篇)系類文章四:手摸手,帶你用vue擼后臺(tái) 系列...

    zgbgx 評(píng)論0 收藏0
  • vue封裝element-uitable組件,靈活配置表頭實(shí)現(xiàn)表格內(nèi)編輯,按鈕,鏈接等功能。

    摘要:一封裝的組件定義表格高度全屏增加前臺(tái)分頁(yè)功能。表格內(nèi)編輯后,自動(dòng)選中該行。單元格內(nèi)數(shù)據(jù)樣式單元格內(nèi)按鈕,可多個(gè)。觸發(fā)組件綁定函數(shù),參數(shù)按鈕名稱,按鈕樣式,按鈕事件標(biāo)識(shí)。單元格是否可點(diǎn)擊的判斷函數(shù),可進(jìn)行復(fù)雜的函數(shù)判斷。 vue-bxz-table 一、封裝element-ui的table組件: 定義表格高度全屏 增加前臺(tái)分頁(yè)功能。 自定義表頭,循環(huán)輸出整體表結(jié)構(gòu)。 表格內(nèi)編輯(輸入框...

    henry14 評(píng)論0 收藏0
  • 手摸手,帶你用vue擼后臺(tái) 系列五(v4.0新版本)

    摘要:同時(shí)增加了單元測(cè)試,使用了,增加了可視化配置權(quán)限,增加了自定義布局等等,優(yōu)化了原先的權(quán)限方案,支持不刷新頁(yè)面更新路由等等功能。雖然它的初衷是為了單元測(cè)試的,但正好滿足了我們的需求。它會(huì)重寫瀏覽器的對(duì)象,從而才能攔截所有請(qǐng)求,代理到本地。 前言 vue-element-admin 從 2017.04.17提交第一個(gè) commit 以來(lái),維護(hù)至今已經(jīng)有兩年多的時(shí)間了了,發(fā)布了四十多個(gè)版本,...

    MonoLog 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<