ed-frame-vue
Version:
easydata 基础组件
139 lines (127 loc) • 3.25 kB
JavaScript
import ds from "../../../../api/ds";
import {formatDate} from "../../../../utils/dateUtils";
export default {
methods: {
getTableColumns() {
return [
{
label: '数据源名称',
prop: 'dataSourceName',
width: 180
},
{
label: '分类',
prop: 'classify',
width: 100,
formatter: this.classifyFmt
},
{
label: '数据源备注',
prop: 'remark',
width: 200,
},
{
label: '新增时间',
prop: 'createTime',
width: 150,
formatter: this.formatDate
},
{
label: '更新时间',
prop: 'updateTime',
width: 150,
formatter: this.formatDate
}]
},
classifyFmt(row, column) {
let data = row[column.property]
return this.classifyList[data]
},
/**
* @name formatDate
* @param row
* @param column
* @return {*|string}
* @description 设置时间格式
*/
formatDate(row, column) {
let data = row[column.property]
return data ? formatDate(new Date(data), 'yyyy-MM-dd hh:mm:ss') : ''
},
// 查看页面
viewPages({row}) {
console.log(row)
const {dataSourceName} = row
this.$router.push({
path: '/easydata/dataSource/EasyDataList/' + dataSourceName
})
},
async delDs(id) {
this.loading = true
const resp = await ds.delDs({id: id})
if (resp.success) {
this.$message.success(resp.msg || "操作成功!")
this.loadData()
}
},
async copyDs(id) {
this.loading = true
const resp = await ds.copyDataSource({id: id})
if (resp.success) {
this.$message.success(resp.msg || "操作成功!")
this.loadData()
}
},
editDs(row) {
this.dsFormDesc.map(desc => {
desc.children.attrs.disabled = false
if (row.dataSourceName.indexOf('_copy') === -1) {
if (desc.prop === 'dataSourceName' || desc.prop === 'isGeneralColumn') {
//包含copy就走false不禁用
desc.children.attrs.disabled = !!row
}
}
})
this.dsForm = row
this.$nextTick(() => {
this.visibleDrawer = true
})
},
showAddView() {
this.dsForm = {}
this.dsFormDesc.map(desc => {
desc.children.attrs.disabled = false
})
this.$nextTick(() => {
this.visibleDrawer = true
})
},
// 表操作
openTableOper(record) {
this.$refs.tableOperationModal.showModal(record)
},
// 表属性
openTableModal(record) {
this.$refs.tablePropsModal.showModal(record)
},
// 视图属性
openViewModal(record) {
this.$refs.viewPropsModal.showModal(record)
},
/**
* @name handleTableChange
* @param pagination
*/
handleTableChange({pagination}) {
const param = {pageNo: pagination.current, pageSize: pagination.pageSize}
this.loadData(param)
},
/**
* 选中一行数据
* @param {*} row
*/
handleCurrentChange(row) {
this.$emit('handleCurrentChange', row)
}
}
}