| | |
| | | </div> |
| | | |
| | | <div class="inner"> |
| | | <cl-upload |
| | | drag |
| | | :limit-size="limitSize" |
| | | :accept="accept" |
| | | :disabled="disabled" |
| | | :auto-upload="false" |
| | | :before-upload="onUpload" |
| | | :size="[220, '100%']" |
| | | /> |
| | | <cl-upload drag :limit-size="limitSize" :accept="accept" :disabled="disabled" :auto-upload="false" |
| | | :before-upload="onUpload" :size="[220, '100%']" /> |
| | | </div> |
| | | </div> |
| | | </template> |
| | |
| | | <div v-if="list.length" class="data-table"> |
| | | <div class="head"> |
| | | <el-button type="success" @click="clear">{{ $t('重新上传') }}</el-button> |
| | | <el-button |
| | | type="danger" |
| | | :disabled="table.selection.length == 0" |
| | | @click="table.del()" |
| | | > |
| | | <el-button type="danger" :disabled="table.selection.length == 0" @click="table.del()"> |
| | | {{ $t('批量删除') }} |
| | | </el-button> |
| | | </div> |
| | | |
| | | <div class="cl-table"> |
| | | <el-table |
| | | border |
| | | :data="list" |
| | | max-height="600px" |
| | | @selection-change="table.onSelectionChange" |
| | | <el-table border :data="list" max-height="600px" @selection-change="table.onSelectionChange" |
| | | @row-click=" |
| | | row => { |
| | | row._edit = true; |
| | | } |
| | | " |
| | | > |
| | | <el-table-column |
| | | type="selection" |
| | | width="60px" |
| | | align="center" |
| | | fixed="left" |
| | | /> |
| | | "> |
| | | <el-table-column type="selection" width="60px" align="center" fixed="left" /> |
| | | |
| | | <el-table-column |
| | | :label="$t('序号')" |
| | | type="index" |
| | | width="80px" |
| | | align="center" |
| | | fixed="left" |
| | | :index="table.onIndex" |
| | | /> |
| | | <el-table-column :label="$t('序号')" type="index" width="80px" align="center" fixed="left" |
| | | :index="table.onIndex" /> |
| | | |
| | | <el-table-column |
| | | v-for="item in table.header" |
| | | :key="item" |
| | | :prop="item" |
| | | :label="item" |
| | | min-width="160px" |
| | | align="center" |
| | | > |
| | | <el-table-column v-for="item in table.header" :key="item" :prop="item" :label="item" |
| | | min-width="160px" align="center"> |
| | | <template #default="scope"> |
| | | <span v-if="!scope.row._edit">{{ scope.row[item] }}</span> |
| | | |
| | | <template v-else> |
| | | <el-input |
| | | v-model="scope.row[item]" |
| | | type="textarea" |
| | | clearable |
| | | :placeholder="item" |
| | | /> |
| | | <el-input v-model="scope.row[item]" type="textarea" clearable :placeholder="item" /> |
| | | </template> |
| | | </template> |
| | | </el-table-column> |
| | | |
| | | <el-table-column |
| | | :label="$t('操作')" |
| | | width="100px" |
| | | align="center" |
| | | fixed="right" |
| | | > |
| | | <el-table-column :label="$t('操作')" width="100px" align="center" fixed="right"> |
| | | <template #default="scope"> |
| | | <el-button |
| | | text |
| | | bg |
| | | type="danger" |
| | | @click.stop="table.del(scope.$index)" |
| | | > |
| | | <el-button text bg type="danger" @click.stop="table.del(scope.$index)"> |
| | | {{ $t('删除') }} |
| | | </el-button> |
| | | </template> |
| | |
| | | </div> |
| | | |
| | | <div class="pagination"> |
| | | <el-pagination |
| | | v-model:current-page="pagination.page" |
| | | background |
| | | layout="total, prev, pager, next" |
| | | :total="upload.list.length" |
| | | :page-size="pagination.size" |
| | | @current-change="pagination.onCurrentChange" |
| | | /> |
| | | <el-pagination v-model:current-page="pagination.page" background layout="total, prev, pager, next" |
| | | :total="upload.list.length" :page-size="pagination.size" |
| | | @current-change="pagination.onCurrentChange" /> |
| | | </div> |
| | | </div> |
| | | </template> |
| | |
| | | |
| | | if (props.onSubmit) { |
| | | props.onSubmit({ |
| | | ...upload, |
| | | ..._ |
| | | ..._, |
| | | ...upload |
| | | }, { done, close }); |
| | | } else { |
| | | ElMessage.error(t('[cl-import-btn] onSubmit is required')); |
| | |
| | | width: 100%; |
| | | |
| | | :deep(.cl-upload) { |
| | | |
| | | .cl-upload__footer, |
| | | .cl-upload__list, |
| | | .el-upload, |
| | |
| | | align-items: center; |
| | | margin-bottom: 20px; |
| | | |
| | | & > span { |
| | | &>span { |
| | | color: var(--el-color-warning); |
| | | } |
| | | } |