| | |
| | | </div> |
| | | </template> |
| | | </el-table-column> |
| | | <!-- 操作列 --> |
| | | <el-table-column v-if="table.operator" :label="(table.operatorConfig && table.operatorConfig.label) || '操作'" |
| | | :width="table.operatorConfig && |
| | | (table.operatorConfig.width |
| | | ? table.operatorConfig.width |
| | | : calcOperationWidth()) |
| | | " :min-width="(table.operatorConfig && table.operatorConfig.width) || |
| | | table.operatorConfig.minWidth || |
| | | 100 |
| | | " align="center" :fixed="table.operatorConfig ? table.operatorConfig.fixed : 'right'" |
| | | :show-overflow-tooltip="true"> |
| | | <template slot-scope="scope"> |
| | | <template v-for="(o, index) in table.operator"> |
| | | <el-button :key="index" v-if="o.type != 'upload'" @click.stop="o.clickFun(scope.row)" |
| | | :type="o.type || 'text'" :icon="o.icon" :size="o.size || 'small'" |
| | | :disabled="o.disabled ? o.disabled(scope.row) : false" v-show="o.showFun ? o.showFun(scope.row) : true" |
| | | :class="[ |
| | | 'commonButton', |
| | | { |
| | | del: o.name === '删除' || o.name === '作废', |
| | | }, |
| | | ]">{{ o.name }} |
| | | </el-button> |
| | | <el-upload :action="javaApi + o.url" size="mini" ref="upload" :multiple="o.multiple ? o.multiple : false" |
| | | :disabled="o.disabled ? o.disabled(scope.row) : false" :accept="o.accept |
| | | ? o.accept |
| | | : '.jpg,.jpeg,.png,.gif,.doc,.docx,.xls,.xlsx,.ppt,.pptx,.pdf,.zip,.rar' |
| | | " v-if="o.type == 'upload' && o.url" style="display: inline-block; width: 50px" |
| | | v-show="o.showHide ? o.showHide(scope.row) : true" :data="o.data ? o.data(scope.row) : {}" :before-upload="o.beforeUpload ? o.beforeUpload(scope.row) : () => true |
| | | " :headers="uploadHeader" :on-error="onError" :on-exceed="onExceed" :on-success="handleSuccessUp" |
| | | :show-file-list="false" :key="index"> |
| | | <el-button :size="o.size ? o.size : 'small'" type="text" |
| | | :disabled="o.disabled ? o.disabled(scope.row) : false">{{ o.name }}</el-button> |
| | | </el-upload> |
| | | <el-upload action="#" :on-change="(file, fileList) => o.clickFun(scope.row, file, fileList) |
| | | " :multiple="o.multiple ? o.multiple : false" :limit="o.limit ? o.limit : 1" |
| | | :disabled="o.disabled ? o.disabled(scope.row) : false" :accept="o.accept |
| | | ? o.accept |
| | | : '.jpg,.jpeg,.png,.gif,.doc,.docx,.xls,.xlsx,.ppt,.pptx,.pdf,.zip,.rar' |
| | | " v-if="o.type == 'upload' && !o.url" style="display: inline-block; width: 50px" |
| | | v-show="o.showHide ? o.showHide(scope.row) : true" :auto-upload="false" :on-exceed="onExceed" |
| | | :show-file-list="false" :key="index"> |
| | | <el-button :size="o.size ? o.size : 'small'" type="text" |
| | | :disabled="o.disabled ? o.disabled(scope.row) : false">{{ o.name }}</el-button> |
| | | </el-upload> |
| | | </template> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | <pagination v-if="page" v-show="page.total > 0" :total="page.total" :layout="page.layout" :page.sync="page.current" |
| | | :limit.sync="page.size" @pagination="pagination" style="background-color: #fff" /> |
| | |
| | | return {}; |
| | | }, |
| | | }, |
| | | column: { |
| | | type: Array, |
| | | // column: { |
| | | // type: Array, |
| | | // default() { |
| | | // return []; |
| | | // }, |
| | | // }, |
| | | table: { |
| | | type: Object, |
| | | default() { |
| | | return []; |
| | | return {}; |
| | | }, |
| | | required: true, |
| | | }, |
| | | rowClassName: { |
| | | type: Function, |
| | |
| | | btnWidth: '120px' |
| | | }; |
| | | }, |
| | | watch: { |
| | | table(val) { |
| | | this.doLayout(); |
| | | }, |
| | | }, |
| | | mounted() { |
| | | this.calculateSpanInfo(); |
| | | this.column = this.table.column; |
| | | }, |
| | | methods: { |
| | | getWidth(row, row0) { |
| | | let count = 0; |
| | | console.log(2222, row) |
| | | row.forEach((a) => { |
| | | if (a.showHide !== undefined && a.showHide(row0)) { |
| | | count += a.name.length; |
| | |
| | | this.$message.success("上传成功"); |
| | | } |
| | | } |
| | | this.$refs.upload.clearFiles(); |
| | | }, |
| | | onError(err, file, fileList) { |
| | | this.$message.error("上传失败"); |