main-grid.html 9.8 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
<div :class="{ 'grid': true, 'show-paging-bar': isEnablePagingBar, 'hidden-paging-bar': !isEnablePagingBar }">
    <i-form>
    <el-table v-if="isDisplay === true"
        :default-sort="{ prop: minorSortPSDEF, order: Object.is(minorSortDir, 'ASC') ? 'ascending' : Object.is(minorSortDir, 'DESC') ? 'descending' : '' }"  
        @sort-change="onSortChange($event)"  
        :border="isDragendCol"
        :highlight-current-row ="isSingleSelect"
        :row-class-name="getRowClassName.bind(_self)"
        :cell-class-name="getCellClassName.bind(_self)"
        size="mini"
        stripe
        @row-click="rowClick($event)"  
        @select-all="selectAll($event)"  
        @select="select($event)"  
        @row-class-name="onRowClassName($event)"  
        @row-dblclick="rowDBLClick($event)"  
        ref='multipleTable' :data="items" :show-header="!isHideHeader">
            <template slot="empty">
                无数据 
                <span class="quick-toolbar">
                </span>
            </template>
            <template v-if="!isSingleSelect">
                <el-table-column align="center" type='selection' :width="checkboxColWidth"></el-table-column>
            </template>
26
            <template v-if="getColumnState('websitename')">
27
                <el-table-column show-overflow-tooltip :prop="'websitename'" :label="$t('entities.websitecontent.main_grid.columns.websitename')" :width="250"  :align="'left'" :sortable="'custom'">
28 29 30 31 32 33 34 35 36 37 38
                    <template v-slot:header="{column}">
                      <span class="column-header ">
                        {{$t('entities.websitecontent.main_grid.columns.websitename')}}
                      </span>
                    </template>
                    <template v-slot="{row,column,$index}">
                        <span>{{row.websitename}}</span>
                    </template>
                </el-table-column>
            </template>
            <template v-if="getColumnState('websitechannelname')">
39
                <el-table-column show-overflow-tooltip :prop="'websitechannelname'" :label="$t('entities.websitecontent.main_grid.columns.websitechannelname')" :width="200"  :align="'left'" :sortable="'custom'">
40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69
                    <template v-slot:header="{column}">
                      <span class="column-header ">
                        {{$t('entities.websitecontent.main_grid.columns.websitechannelname')}}
                      </span>
                    </template>
                    <template v-slot="{row,column,$index}">
                        <span>{{row.websitechannelname}}</span>
                    </template>
                </el-table-column>
            </template>
            <template v-if="getColumnState('sn')">
                <el-table-column show-overflow-tooltip :prop="'sn'" :label="$t('entities.websitecontent.main_grid.columns.sn')" :width="100"  :align="'left'" :sortable="'custom'">
                    <template v-slot:header="{column}">
                      <span class="column-header ">
                        {{$t('entities.websitecontent.main_grid.columns.sn')}}
                      </span>
                    </template>
                    <template v-slot="{row,column,$index}">
                        <span>{{row.sn}}</span>
                    </template>
                </el-table-column>
            </template>
            <template v-if="getColumnState('contenttype')">
                <el-table-column show-overflow-tooltip :prop="'contenttype'" :label="$t('entities.websitecontent.main_grid.columns.contenttype')" :width="100"  :align="'left'" :sortable="'custom'">
                    <template v-slot:header="{column}">
                      <span class="column-header ">
                        {{$t('entities.websitecontent.main_grid.columns.contenttype')}}
                      </span>
                    </template>
                    <template v-slot="{row,column,$index}">
70 71 72
                        <template >
            <codelist :value="row.contenttype" tag='ContentType' codelistType='STATIC' ></codelist>
                        </template>
73 74 75
                    </template>
                </el-table-column>
            </template>
76 77
            <template v-if="getColumnState('title')">
                <el-table-column show-overflow-tooltip :prop="'title'" :label="$t('entities.websitecontent.main_grid.columns.title')" :width="300"  :align="'left'" :sortable="'custom'">
78 79
                    <template v-slot:header="{column}">
                      <span class="column-header ">
80
                        {{$t('entities.websitecontent.main_grid.columns.title')}}
81 82 83
                      </span>
                    </template>
                    <template v-slot="{row,column,$index}">
84
                        <span>{{row.title}}</span>
85 86 87
                    </template>
                </el-table-column>
            </template>
88 89
            <template v-if="getColumnState('contentcode')">
                <el-table-column show-overflow-tooltip :prop="'contentcode'" :label="$t('entities.websitecontent.main_grid.columns.contentcode')" :width="150"  :align="'left'" :sortable="'custom'">
90 91
                    <template v-slot:header="{column}">
                      <span class="column-header ">
92
                        {{$t('entities.websitecontent.main_grid.columns.contentcode')}}
93 94 95
                      </span>
                    </template>
                    <template v-slot="{row,column,$index}">
96
                        <span>{{row.contentcode}}</span>
97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137
                    </template>
                </el-table-column>
            </template>
            <template v-if="getColumnState('author')">
                <el-table-column show-overflow-tooltip :prop="'author'" :label="$t('entities.websitecontent.main_grid.columns.author')" :width="100"  :align="'left'" :sortable="'custom'">
                    <template v-slot:header="{column}">
                      <span class="column-header ">
                        {{$t('entities.websitecontent.main_grid.columns.author')}}
                      </span>
                    </template>
                    <template v-slot="{row,column,$index}">
                        <span>{{row.author}}</span>
                    </template>
                </el-table-column>
            </template>
            <template v-if="getColumnState('validflag')">
                <el-table-column show-overflow-tooltip :prop="'validflag'" :label="$t('entities.websitecontent.main_grid.columns.validflag')" :width="100"  :align="'left'" :sortable="'custom'">
                    <template v-slot:header="{column}">
                      <span class="column-header ">
                        {{$t('entities.websitecontent.main_grid.columns.validflag')}}
                      </span>
                    </template>
                    <template v-slot="{row,column,$index}">
                        <template >
            <codelist :value="row.validflag" tag='YesNo' codelistType='STATIC' ></codelist>
                        </template>
                    </template>
                </el-table-column>
            </template>
            <template v-if="getColumnState('memo')">
                <el-table-column show-overflow-tooltip :prop="'memo'" :label="$t('entities.websitecontent.main_grid.columns.memo')" :min-width="100"  :align="'left'" :sortable="'custom'">
                    <template v-slot:header="{column}">
                      <span class="column-header ">
                        {{$t('entities.websitecontent.main_grid.columns.memo')}}
                      </span>
                    </template>
                    <template v-slot="{row,column,$index}">
                        <span>{{row.memo}}</span>
                    </template>
                </el-table-column>
            </template>
138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178
            <template v-if="adaptiveState">
                <el-table-column></el-table-column>
            </template>
    </el-table>
    <row class='grid-pagination' v-show="items.length > 0">
        <page class='pull-right' @on-change="pageOnChange($event)" 
            @on-page-size-change="onPageSizeChange($event)"
            :transfer="true" :total="totalRecord"
            show-sizer :current="curPage" :page-size="limit"
            :page-size-opts="[10, 20, 30, 40, 50, 60, 70, 80, 90, 100]" show-elevator show-total>
            <span>
                <span class="page-column">
                    <poptip transfer placement="top-start">
                        <i-button icon="md-menu">{{$t('app.gridpage.choicecolumns')}}</i-button>
                        <div slot="content">
                            <template v-for="col in allColumns">
                                <div :key="col.name"><el-checkbox v-model="col.show" @change="onColChange()">{{$t(col.langtag)}}</el-checkbox></div>
                            </template>
                        </div>
                    </poptip>
                </span>
                <span v-if="selections.length > 0" class="batch-toolbar">
                </span>
                <span class="page-button"><i-button icon="md-refresh" :title="$t('app.gridpage.refresh')" @click="pageRefresh()"></i-button></span>&nbsp;
                <span>
                    {{$t('app.gridpage.show')}}&nbsp;
                    <span>
                        <template v-if="items.length === 1">
                        1
                        </template>
                        <template v-else>
                            <span>{{(curPage - 1) * limit + 1}}&nbsp;-&nbsp;{{totalRecord > curPage * limit ? curPage * limit : totalRecord}}</span>
                        </template>
                    </span>&nbsp;
                    {{$t('app.gridpage.records')}},{{$t('app.gridpage.totle')}}&nbsp;{{totalRecord}}&nbsp;{{$t('app.gridpage.records')}}
                </span>
            </span>
        </page>
    </row>
  </i-form>
</div>