mirror of
https://github.com/jeecgboot/JeecgBoot.git
synced 2026-02-03 09:05:28 +08:00
Jeecg-Boot 2.1.4 版本发布 | 重构较大,较多新功能
This commit is contained in:
@ -6,13 +6,13 @@
|
||||
<a-form layout="inline">
|
||||
<a-row :gutter="24">
|
||||
|
||||
<a-col :md="6" :sm="24">
|
||||
<a-col :xl="6" :lg="7" :md="8" :sm="24">
|
||||
<a-form-item label="表名">
|
||||
<a-input placeholder="请输入表名" v-model="queryParam.tableName"></a-input>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
|
||||
<a-col :md="6" :sm="24">
|
||||
<a-col :xl="6" :lg="7" :md="8" :sm="24">
|
||||
<span style="float: left;overflow: hidden;" class="table-page-search-submitButtons">
|
||||
<a-button type="primary" @click="searchQuery" icon="search">查询</a-button>
|
||||
<a-button type="primary" @click="searchReset" icon="reload" style="margin-left: 8px">重置</a-button>
|
||||
@ -25,10 +25,10 @@
|
||||
|
||||
<!-- 操作按钮区域 -->
|
||||
<div class="table-operator">
|
||||
<a-button @click="doCgformButton" type="primary" icon="highlight" style="margin-left:8px">自定义按钮</a-button>
|
||||
<a-button @click="doEnhanceJs" type="primary" icon="strikethrough" style="margin-left:8px">JS增强</a-button>
|
||||
<a-button @click="doEnhanceSql" type="primary" icon="filter" style="margin-left:8px">SQL增强</a-button>
|
||||
<a-button @click="doEnhanceJava" type="primary" icon="tool" style="margin-left:8px">Java增强</a-button>
|
||||
<a-button @click="doCgformButton" type="primary" icon="highlight">自定义按钮</a-button>
|
||||
<a-button @click="doEnhanceJs" type="primary" icon="strikethrough">JS增强</a-button>
|
||||
<a-button @click="doEnhanceSql" type="primary" icon="filter">SQL增强</a-button>
|
||||
<a-button @click="doEnhanceJava" type="primary" icon="tool">Java增强</a-button>
|
||||
|
||||
<a-dropdown v-if="selectedRowKeys.length > 0">
|
||||
<a-menu slot="overlay">
|
||||
@ -37,7 +37,7 @@
|
||||
删除
|
||||
</a-menu-item>
|
||||
</a-menu>
|
||||
<a-button style="margin-left: 8px"> 批量操作
|
||||
<a-button> 批量操作
|
||||
<a-icon type="down"/>
|
||||
</a-button>
|
||||
</a-dropdown>
|
||||
@ -348,6 +348,9 @@
|
||||
}
|
||||
}
|
||||
</script>
|
||||
<style scoped>
|
||||
@import '~@assets/less/common.less';
|
||||
</style>
|
||||
<style lang="less">
|
||||
.ant-card-body .table-operator {
|
||||
margin-bottom: 18px;
|
||||
|
||||
@ -6,18 +6,22 @@
|
||||
<a-form layout="inline">
|
||||
<a-row :gutter="24">
|
||||
|
||||
<a-col :md="6" :sm="24">
|
||||
<a-col :xl="6" :lg="7" :md="8" :sm="24">
|
||||
<a-form-item label="表名">
|
||||
<a-input placeholder="请输入表名" v-model="queryParam.tableName"></a-input>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
<a-col :md="6" :sm="24">
|
||||
<a-col :xl="6" :lg="7" :md="8" :sm="24">
|
||||
<a-form-item label="表类型">
|
||||
<j-dict-select-tag dictCode="cgform_table_type" v-model="queryParam.tableType"/>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
|
||||
<a-col :md="6" :sm="24">
|
||||
<a-col :xl="6" :lg="7" :md="8" :sm="24">
|
||||
<a-form-item label="表描述">
|
||||
<a-input placeholder="请输入表描述" v-model="queryParam.tableTxt"></a-input>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
<a-col :xl="6" :lg="7" :md="8" :sm="24">
|
||||
<span style="float: left;overflow: hidden;" class="table-page-search-submitButtons">
|
||||
<a-button type="primary" @click="searchQuery" icon="search">查询</a-button>
|
||||
<a-button type="primary" @click="searchReset" icon="reload" style="margin-left: 8px">重置</a-button>
|
||||
@ -31,12 +35,12 @@
|
||||
<!-- 操作按钮区域 -->
|
||||
<div class="table-operator">
|
||||
<a-button @click="handleAdd" type="primary" icon="plus">新增</a-button>
|
||||
<a-button @click="doCgformButton" type="primary" icon="highlight" style="margin-left:8px">自定义按钮</a-button>
|
||||
<a-button @click="doEnhanceJs" type="primary" icon="strikethrough" style="margin-left:8px">JS增强</a-button>
|
||||
<a-button @click="doEnhanceSql" type="primary" icon="filter" v-has="'online:sql'" style="margin-left:8px">SQL增强</a-button>
|
||||
<a-button @click="doEnhanceJava" type="primary" icon="tool" style="margin-left:8px">Java增强</a-button>
|
||||
<a-button @click="importOnlineForm" type="primary" icon="database" style="margin-left:8px">从数据库导入表单</a-button>
|
||||
<a-button @click="goGenerateCode" v-has="'online:goGenerateCode'" type="primary" icon="database" style="margin-left:8px">代码生成</a-button>
|
||||
<a-button @click="doCgformButton" type="primary" icon="highlight">自定义按钮</a-button>
|
||||
<a-button @click="doEnhanceJs" type="primary" icon="strikethrough">JS增强</a-button>
|
||||
<a-button @click="doEnhanceSql" type="primary" icon="filter">SQL增强</a-button>
|
||||
<a-button @click="doEnhanceJava" type="primary" icon="tool">Java增强</a-button>
|
||||
<a-button @click="importOnlineForm" type="primary" icon="database">从数据库导入表单</a-button>
|
||||
<a-button @click="goGenerateCode" type="primary" icon="database">代码生成</a-button>
|
||||
|
||||
<a-dropdown v-if="selectedRowKeys.length > 0">
|
||||
<a-menu slot="overlay">
|
||||
@ -45,7 +49,7 @@
|
||||
删除
|
||||
</a-menu-item>
|
||||
</a-menu>
|
||||
<a-button style="margin-left: 8px"> 批量操作
|
||||
<a-button> 批量操作
|
||||
<a-icon type="down"/>
|
||||
</a-button>
|
||||
</a-dropdown>
|
||||
@ -204,8 +208,12 @@
|
||||
title: '表类型',
|
||||
align: 'center',
|
||||
dataIndex: 'tableType',
|
||||
customRender: (text) => {
|
||||
return filterDictText(this.tableTypeDictOptions, `${text}`)
|
||||
customRender: (text, record) => {
|
||||
let tbTypeText = filterDictText(this.tableTypeDictOptions, `${text}`)
|
||||
if(record.isTree === 'Y'){
|
||||
tbTypeText+='(树)'
|
||||
}
|
||||
return tbTypeText;
|
||||
}
|
||||
},
|
||||
{
|
||||
@ -316,10 +324,14 @@
|
||||
this.syncFormId = id
|
||||
},
|
||||
goPageOnline(rd) {
|
||||
if(rd.isTree=='Y'){
|
||||
this.$router.push({ path: '/online/cgformTreeList/' + rd.id })
|
||||
if(rd.themeTemplate === 'erp'){
|
||||
this.$router.push({ path: '/online/cgformErpList/' + rd.id })
|
||||
}else{
|
||||
this.$router.push({ path: '/online/cgformList/' + rd.id })
|
||||
if(rd.isTree=='Y'){
|
||||
this.$router.push({ path: '/online/cgformTreeList/' + rd.id })
|
||||
}else{
|
||||
this.$router.push({ path: '/online/cgformList/' + rd.id })
|
||||
}
|
||||
}
|
||||
},
|
||||
handleOnlineUrlClose() {
|
||||
@ -438,6 +450,9 @@
|
||||
}
|
||||
}
|
||||
</script>
|
||||
<style scoped>
|
||||
@import '~@assets/less/common.less';
|
||||
</style>
|
||||
<style lang="less">
|
||||
.ant-card-body .table-operator {
|
||||
margin-bottom: 18px;
|
||||
|
||||
@ -40,16 +40,15 @@
|
||||
<!-- 操作按钮区域 -->
|
||||
<div class="table-operator">
|
||||
<a-button v-if="buttonSwitch.add" @click="handleAdd" type="primary" icon="plus">新增</a-button>
|
||||
<a-button v-if="buttonSwitch.import" @click="handleImportXls" type="primary" icon="upload" style="margin-left:8px">导入</a-button>
|
||||
<a-button v-if="buttonSwitch.export" @click="handleExportXls" type="primary" icon="download" style="margin-left:8px">导出</a-button>
|
||||
<a-button v-if="buttonSwitch.import" @click="handleImportXls" type="primary" icon="upload">导入</a-button>
|
||||
<a-button v-if="buttonSwitch.export" @click="handleExportXls" type="primary" icon="download">导出</a-button>
|
||||
<template v-if="cgButtonList && cgButtonList.length>0" v-for="(item,index) in cgButtonList">
|
||||
<a-button
|
||||
v-if=" item.optType=='js' "
|
||||
:key=" 'cgbtn'+index "
|
||||
@click="cgButtonJsHandler(item.buttonCode)"
|
||||
type="primary"
|
||||
:icon="item.buttonIcon"
|
||||
style="margin-left:8px">
|
||||
:icon="item.buttonIcon">
|
||||
{{ item.buttonName }}
|
||||
</a-button>
|
||||
<a-button
|
||||
@ -57,8 +56,7 @@
|
||||
:key=" 'cgbtn'+index "
|
||||
@click="cgButtonActionHandler(item.buttonCode)"
|
||||
type="primary"
|
||||
:icon="item.buttonIcon"
|
||||
style="margin-left:8px">
|
||||
:icon="item.buttonIcon">
|
||||
{{ item.buttonName }}
|
||||
</a-button>
|
||||
</template>
|
||||
@ -69,13 +67,11 @@
|
||||
:fieldList="superQuery.fieldList"
|
||||
:saveCode="$route.fullPath"
|
||||
:loading="table.loading"
|
||||
style="margin-left: 8px;"
|
||||
@handleSuperQuery="handleSuperQuery"/>
|
||||
|
||||
<a-button
|
||||
v-if="buttonSwitch.batch_delete"
|
||||
@click="handleDelBatch"
|
||||
style="margin-left:8px"
|
||||
v-show="table.selectedRowKeys.length > 0"
|
||||
ghost
|
||||
type="primary"
|
||||
@ -103,6 +99,16 @@
|
||||
:scroll="table.scroll"
|
||||
style="min-height: 300px">
|
||||
|
||||
<!-- 支持链接href跳转 -->
|
||||
<template
|
||||
v-for="field of fieldHrefSlots"
|
||||
:slot="field.slotName"
|
||||
slot-scope="text, record"
|
||||
>
|
||||
<a @click="handleClickFieldHref(field,record)">{{ text }}</a>
|
||||
</template>
|
||||
|
||||
|
||||
<template slot="dateSlot" slot-scope="text">
|
||||
<span>{{ getFormatDate(text) }}</span>
|
||||
</template>
|
||||
@ -149,23 +155,17 @@
|
||||
更多 <a-icon type="down" />
|
||||
</a>
|
||||
<a-menu slot="overlay">
|
||||
<a-menu-item >
|
||||
<a-menu-item v-if="buttonSwitch.detail">
|
||||
<a href="javascript:;" @click="handleDetail(record)">详情</a>
|
||||
</a-menu-item>
|
||||
<template v-if="hasBpmStatus">
|
||||
<template v-if="record.bpm_status == '1'||record.bpm_status == ''|| record.bpm_status == null">
|
||||
<a-menu-item>
|
||||
<a href="javascript:;" @click="startProcess(record)">提交流程</a>
|
||||
</a-menu-item>
|
||||
<a-menu-item v-if="buttonSwitch.delete">
|
||||
<a-popconfirm title="确定删除吗?" @confirm="() => handleDeleteOne(record)">
|
||||
<a>删除</a>
|
||||
</a-popconfirm>
|
||||
</a-menu-item>
|
||||
</template>
|
||||
<template v-else>
|
||||
<a-menu-item @click="handlePreviewPic(record)">审批进度</a-menu-item>
|
||||
</template>
|
||||
</template>
|
||||
<template v-else>
|
||||
<a-menu-item v-if="buttonSwitch.delete">
|
||||
@ -175,7 +175,7 @@
|
||||
</a-menu-item>
|
||||
</template>
|
||||
<template v-if="cgButtonLinkList && cgButtonLinkList.length>0" v-for="(btnItem,btnIndex) in cgButtonLinkList">
|
||||
<a-menu-item :key=" 'cgbtnLink'+btnIndex ">
|
||||
<a-menu-item :key=" 'cgbtnLink'+btnIndex " v-if="showLinkButton(btnItem,record)">
|
||||
<a href="javascript:void(0);" @click="cgButtonLinkHandler(record,btnItem.buttonCode,btnItem.optType)">
|
||||
<a-icon v-if="btnItem.buttonIcon" :type="btnItem.buttonIcon" />
|
||||
{{ btnItem.buttonName }}
|
||||
@ -192,20 +192,27 @@
|
||||
|
||||
<j-import-modal ref="importModal" :url="getImportUrl()" @ok="importOk"></j-import-modal>
|
||||
|
||||
<!-- 跳转Href的动态组件方式 -->
|
||||
<a-modal v-bind="hrefComponent.model" v-on="hrefComponent.on">
|
||||
<component :is="hrefComponent.is" v-bind="hrefComponent.params"/>
|
||||
</a-modal>
|
||||
|
||||
</div>
|
||||
</a-card>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
|
||||
import { HrefJump } from '@/mixins/OnlAutoListMixin'
|
||||
import { postAction,getAction,deleteAction,downFile } from '@/api/manage'
|
||||
import { filterMultiDictText } from '@/components/dict/JDictSelectUtil'
|
||||
import { filterObj } from '@/utils/util';
|
||||
import { cloneObject, filterObj } from '@/utils/util'
|
||||
import JImportModal from '@/components/jeecg/JImportModal'
|
||||
import JSuperQuery from '@comp/jeecg/JSuperQuery'
|
||||
|
||||
export default {
|
||||
name: 'OnlCgFormAutoList',
|
||||
mixins: [HrefJump],
|
||||
components: {
|
||||
JSuperQuery,
|
||||
JImportModal,
|
||||
@ -222,7 +229,6 @@
|
||||
optPre:"/online/cgform/api/form/",
|
||||
exportXls:'/online/cgform/api/exportXls/',
|
||||
buttonAction:'/online/cgform/api/doButton',
|
||||
startProcess: "/process/extActProcess/startMutilProcess",
|
||||
},
|
||||
flowCodePre:"onl_",
|
||||
isorter:{
|
||||
@ -282,7 +288,8 @@
|
||||
delete:true,
|
||||
batch_delete:true,
|
||||
import:true,
|
||||
export:true
|
||||
export:true,
|
||||
detail:true
|
||||
},
|
||||
hasBpmStatus:false,
|
||||
checkboxFlag:false,
|
||||
@ -304,8 +311,7 @@
|
||||
this.cgButtonJsHandler('mounted')
|
||||
},
|
||||
watch: {
|
||||
'$route.path'(newVal,oldVal) {
|
||||
console.log('$route.path: ',oldVal)
|
||||
'$route'() {
|
||||
// 刷新参数放到这里去触发,就可以刷新相同界面了
|
||||
this.initAutoList()
|
||||
}
|
||||
@ -343,30 +349,6 @@
|
||||
this.hasBpmStatus = false;
|
||||
}
|
||||
},
|
||||
startProcess: function(record){
|
||||
var that = this;
|
||||
this.$confirm({
|
||||
title:"提示",
|
||||
content:"确认提交流程吗?",
|
||||
onOk: function(){
|
||||
var param = {
|
||||
flowCode:that.flowCodePre+that.currentTableName,
|
||||
id:record.id,
|
||||
formUrl:"modules/bpm/task/form/OnlineFormDetail",
|
||||
formUrlMobile:"modules/bpm/task/form/OnlineFormDetail"
|
||||
}
|
||||
postAction(that.url.startProcess,param).then((res)=>{
|
||||
if(res.success){
|
||||
that.$message.success(res.message);
|
||||
that.loadData();
|
||||
that.onClearSelected();
|
||||
}else{
|
||||
that.$message.warning(res.message);
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
},
|
||||
initQueryInfo(){
|
||||
getAction(`${this.url.getQueryInfo}${this.code}`).then((res)=>{
|
||||
console.log("--onlineList-获取查询条件配置",res);
|
||||
@ -407,6 +389,7 @@
|
||||
this.table.pagination = false
|
||||
}
|
||||
|
||||
this.fieldHrefSlots = res.result.fieldHrefSlots
|
||||
this.dictOptions = res.result.dictOptions
|
||||
this.formTemplate = res.result.formTemplate
|
||||
this.description = res.result.description
|
||||
@ -441,6 +424,8 @@
|
||||
this.hasBpmStatusFilter();
|
||||
this.loadData();
|
||||
this.initQueryInfo();
|
||||
//加载新路由,清空checkbox选中
|
||||
this.table.selectedRowKeys = [];
|
||||
}else{
|
||||
this.$message.warning(res.message)
|
||||
}
|
||||
@ -569,6 +554,10 @@
|
||||
this.cgButtonLinkHandler(record,"beforeEdit","js")
|
||||
this.$refs.modal.edit(this.formTemplate,record.id);
|
||||
},
|
||||
showLinkButton(item,record){
|
||||
let btn = new ButtonExpHandler(item.exp,record);
|
||||
return btn.show;
|
||||
},
|
||||
handleDetail(record){
|
||||
this.$refs.modal.detail(this.formTemplate,record.id);
|
||||
},
|
||||
@ -604,7 +593,8 @@
|
||||
dictCode: field.dictCode,
|
||||
dictTable: field.dictTable,
|
||||
dictText: field.dictText,
|
||||
options: field.enum || field.options
|
||||
options: field.enum || field.options,
|
||||
order: field.order,
|
||||
})
|
||||
}
|
||||
let fieldList = []
|
||||
@ -630,6 +620,17 @@
|
||||
setField(fieldList, field)
|
||||
}
|
||||
}
|
||||
// 冒泡排序
|
||||
for (let i = 0; i < fieldList.length; i++) {
|
||||
for (let j = i + 1; j < fieldList.length; j++) {
|
||||
let temp1 = fieldList[i]
|
||||
let temp2 = fieldList[j]
|
||||
if (temp1.order > temp2.order) {
|
||||
fieldList[i] = temp2
|
||||
fieldList[j] = temp1
|
||||
}
|
||||
}
|
||||
}
|
||||
this.superQuery.fieldList = fieldList
|
||||
}
|
||||
},
|
||||
@ -641,7 +642,7 @@
|
||||
if(text && text.indexOf(",")>0){
|
||||
text = text.substring(0,text.indexOf(","))
|
||||
}
|
||||
return window._CONFIG['imgDomainURL']+"/"+text
|
||||
return window._CONFIG['staticDomainURL']+"/"+text
|
||||
},
|
||||
downloadRowFile(text){
|
||||
if(!text){
|
||||
@ -651,7 +652,7 @@
|
||||
if(text.indexOf(",")>0){
|
||||
text = text.substring(0,text.indexOf(","))
|
||||
}
|
||||
window.open(window._CONFIG['downloadUrl']+"/"+text);//TODO 下载的方法
|
||||
window.open(window._CONFIG['staticDomainURL']+"/"+text);//TODO 下载的方法
|
||||
},
|
||||
handleDelBatch(){
|
||||
if(this.table.selectedRowKeys.length<=0){
|
||||
@ -777,13 +778,15 @@
|
||||
}
|
||||
},
|
||||
initButtonSwitch(hideColumns){
|
||||
Object.keys(this.buttonSwitch).forEach(key=>{
|
||||
this.buttonSwitch[key]=true
|
||||
})
|
||||
if(hideColumns && hideColumns.length>0){
|
||||
Object.keys(this.buttonSwitch).forEach(key=>{
|
||||
if(hideColumns.indexOf(key)>=0){
|
||||
this.buttonSwitch[key]=false
|
||||
}
|
||||
})
|
||||
|
||||
}
|
||||
},
|
||||
|
||||
@ -801,6 +804,9 @@
|
||||
}
|
||||
}
|
||||
</script>
|
||||
<style scoped>
|
||||
@import '~@assets/less/common.less';
|
||||
</style>
|
||||
<style>
|
||||
.ant-card-body .table-operator{
|
||||
margin-bottom: 18px;
|
||||
|
||||
@ -98,15 +98,6 @@
|
||||
<a-menu-item >
|
||||
<a @click="handleDetail(record)">详情</a>
|
||||
</a-menu-item>
|
||||
|
||||
<a-menu-item v-if="showSubmitFlowButton(record)">
|
||||
<a @click="startProcess(record)">提交流程</a>
|
||||
</a-menu-item>
|
||||
|
||||
<template v-if="showViewFlowButton(record)">
|
||||
<a-menu-item @click="handlePreviewPic(record)">审批进度</a-menu-item>
|
||||
</template>
|
||||
|
||||
<a-menu-item v-if="showOptButton('delete',record)">
|
||||
<a-popconfirm title="确定删除吗?" @confirm="() => handleDeleteOne(record)">
|
||||
<a>删除</a>
|
||||
@ -146,7 +137,7 @@
|
||||
export default {
|
||||
name: 'OnlCgformTreeList',
|
||||
components: {
|
||||
JImportModal
|
||||
JImportModal,
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
@ -183,7 +174,6 @@
|
||||
optPre:"/online/cgform/api/form/",
|
||||
exportXls:'/online/cgform/api/exportXls/',
|
||||
buttonAction:'/online/cgform/api/doButton',
|
||||
startProcess: "/process/extActProcess/startMutilProcess"
|
||||
},
|
||||
isorter:{
|
||||
column: 'create_time',
|
||||
@ -482,7 +472,7 @@
|
||||
if(text && text.indexOf(",")>0){
|
||||
text = text.substring(0,text.indexOf(","))
|
||||
}
|
||||
return window._CONFIG['imgDomainURL']+"/"+text
|
||||
return window._CONFIG['staticDomainURL']+"/"+text
|
||||
},
|
||||
downloadRowFile(text){
|
||||
if(!text){
|
||||
@ -492,7 +482,7 @@
|
||||
if(text.indexOf(",")>0){
|
||||
text = text.substring(0,text.indexOf(","))
|
||||
}
|
||||
window.open(window._CONFIG['downloadUrl']+"/"+text);
|
||||
window.open(window._CONFIG['staticDomainURL']+"/"+text);
|
||||
},
|
||||
/*-------数据格式化-end----------*/
|
||||
|
||||
@ -651,14 +641,6 @@
|
||||
}
|
||||
return true
|
||||
},
|
||||
showSubmitFlowButton(record){
|
||||
if(this.hasBpmStatus){
|
||||
if(record.bpm_status ==null || record.bpm_status =='' || record.bpm_status == '1'){
|
||||
return true
|
||||
}
|
||||
}
|
||||
return false
|
||||
},
|
||||
showViewFlowButton(record){
|
||||
if(this.hasBpmStatus){
|
||||
if(record.bpm_status !=null && record.bpm_status !='' && record.bpm_status != '1'){
|
||||
@ -691,6 +673,7 @@
|
||||
}
|
||||
});
|
||||
},
|
||||
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
@ -0,0 +1,111 @@
|
||||
<template>
|
||||
<a-card :bordered="false" style="height: 100%">
|
||||
<online-common-list
|
||||
:ref="'onl_'+mainModel.currentTableName"
|
||||
:code="code"
|
||||
:model="mainModel"
|
||||
@seleted="onSelected">
|
||||
</online-common-list>
|
||||
|
||||
<a-tabs defaultActiveKey="0">
|
||||
<a-tab-pane v-for="(item,index) in subList" :tab="item.description" :key="index+''" :forceRender="true" >
|
||||
<online-common-list
|
||||
:ref="item.currentTableName"
|
||||
:code="item.code"
|
||||
:model="item"
|
||||
:main="selectedRow">
|
||||
</online-common-list>
|
||||
</a-tab-pane>
|
||||
</a-tabs>
|
||||
</a-card>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { getAction } from '@/api/manage'
|
||||
|
||||
export default {
|
||||
name: 'OnlCgformErpList',
|
||||
components:{
|
||||
},
|
||||
data(){
|
||||
return {
|
||||
code:'',
|
||||
url: {
|
||||
getColumns: '/online/cgform/api/getErpColumns/',
|
||||
},
|
||||
mainModel:{},
|
||||
subList:[],
|
||||
mainId:'',
|
||||
selectedRow:{}
|
||||
|
||||
}
|
||||
},
|
||||
watch: {
|
||||
'$route'() {
|
||||
// 刷新参数放到这里去触发,就可以刷新相同界面了
|
||||
this.initColumnConfig()
|
||||
}
|
||||
},
|
||||
|
||||
created() {
|
||||
this.initColumnConfig();
|
||||
},
|
||||
methods:{
|
||||
getSubIndex(index){
|
||||
return index+1 + ''
|
||||
},
|
||||
getSubRef(item){
|
||||
let ref = item.currentTableName
|
||||
console.log("ref string",ref)
|
||||
return ref;
|
||||
},
|
||||
initColumnConfig(){
|
||||
if(!this.$route.params.code){
|
||||
return false
|
||||
}
|
||||
this.code = this.$route.params.code
|
||||
getAction(`${this.url.getColumns}${this.code}`).then((res)=>{
|
||||
console.log("erp表单配置",res)
|
||||
if(res.success){
|
||||
this.mainModel = res.result.main
|
||||
this.subList = res.result.subList
|
||||
|
||||
this.$nextTick(()=>{
|
||||
this.$refs['onl_'+this.mainModel.currentTableName].initListByModel();
|
||||
if(this.subList && this.subList.length>0){
|
||||
for(let item of this.subList){
|
||||
this.$refs[item.currentTableName][0].initListByModel();
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
}
|
||||
})
|
||||
},
|
||||
onSelected(row){
|
||||
console.log("onSelected",row)
|
||||
this.selectedRow = row;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style>
|
||||
.ant-card-body .table-operator{
|
||||
margin-bottom: 18px;
|
||||
}
|
||||
.ant-table-tbody .ant-table-row td{
|
||||
padding-top:15px;
|
||||
padding-bottom:15px;
|
||||
}
|
||||
.anty-row-operator button{margin: 0 5px}
|
||||
.ant-btn-danger{background-color: #ffffff}
|
||||
|
||||
.anty-img-wrap{height:25px;position: relative;}
|
||||
.anty-img-wrap > img{max-height:100%;}
|
||||
.ant-modal-cust-warp{height: 100%}
|
||||
.ant-modal-cust-warp .ant-modal-body{height:calc(100% - 110px) !important;overflow-y: auto}
|
||||
.ant-modal-cust-warp .ant-modal-content{height:90% !important;overflow-y: hidden}
|
||||
</style>
|
||||
@ -109,6 +109,7 @@ export function getMasterTableInitialData() {
|
||||
// table2
|
||||
isShowForm: '0',
|
||||
isShowList: '0',
|
||||
isReadOnly: '1',
|
||||
fieldShowType: 'text',
|
||||
fieldLength: '120',
|
||||
queryMode: 'single',
|
||||
|
||||
@ -31,7 +31,21 @@
|
||||
@change="handleChange">
|
||||
<a-button>
|
||||
<a-icon type="upload"/>
|
||||
文件上传
|
||||
OSS文件上传
|
||||
</a-button>
|
||||
</a-upload>
|
||||
|
||||
<a-upload
|
||||
name="file"
|
||||
:multiple="false"
|
||||
:action="minioUploadAction"
|
||||
:headers="tokenHeader"
|
||||
:showUploadList="false"
|
||||
:beforeUpload="beforeUpload"
|
||||
@change="handleChange">
|
||||
<a-button>
|
||||
<a-icon type="upload"/>
|
||||
MINIO文件上传
|
||||
</a-button>
|
||||
</a-upload>
|
||||
</div>
|
||||
@ -58,7 +72,9 @@
|
||||
@change="handleTableChange">
|
||||
|
||||
<span slot="action" slot-scope="text, record">
|
||||
<a @click="ossDelete(record.id)">删除</a>
|
||||
<a @click="handlePreview(record)">预览</a>
|
||||
<a-divider type="vertical"/>
|
||||
<a @click="ossDelete(record.id)">删除</a>
|
||||
</span>
|
||||
|
||||
</a-table>
|
||||
@ -108,14 +124,18 @@
|
||||
url: {
|
||||
upload: "/oss/file/upload",
|
||||
list: "/oss/file/list",
|
||||
delete: "/oss/file/delete"
|
||||
delete: "/oss/file/delete",
|
||||
minioUpload: "/sys/upload/uploadMinio"
|
||||
}
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
uploadAction() {
|
||||
return window._CONFIG['domianURL'] + this.url.upload;
|
||||
}
|
||||
},
|
||||
minioUploadAction() {
|
||||
return window._CONFIG['domianURL'] + this.url.minioUpload;
|
||||
},
|
||||
},
|
||||
methods: {
|
||||
beforeUpload(file) {
|
||||
@ -139,10 +159,10 @@
|
||||
this.loadData()
|
||||
this.$message.success(`${info.file.name} 上传成功!`);
|
||||
} else {
|
||||
this.$message.error(`${info.file.name} 上传失败.`);
|
||||
this.$message.error(`${info.file.response.message}`);
|
||||
}
|
||||
} else if (info.file.status === 'error') {
|
||||
this.$message.error(`${info.file.name} 上传失败.`);
|
||||
this.$message.error(`${info.file.response.message}`);
|
||||
}
|
||||
},
|
||||
ossDelete(id) {
|
||||
@ -154,11 +174,17 @@
|
||||
that.handleDelete(id)
|
||||
}
|
||||
});
|
||||
},
|
||||
handlePreview(record) {
|
||||
if (record && record.url) {
|
||||
let url = window._CONFIG['onlinePreviewDomainURL'] + '?url=' + encodeURIComponent(record.url)
|
||||
window.open(url, '_blank')
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
@import '~@assets/less/common.less'
|
||||
@import '~@assets/less/common.less';
|
||||
</style>
|
||||
|
||||
Reference in New Issue
Block a user