mirror of
https://github.com/jeecgboot/JeecgBoot.git
synced 2025-12-08 17:12:28 +08:00
Compare commits
11 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 3cb88452dc | |||
| b6a3085083 | |||
| 8a7fc033cd | |||
| e0cf946d18 | |||
| c5b33b6bd1 | |||
| aec00d9ba2 | |||
| 341830c5a0 | |||
| ff45fe4858 | |||
| c13ed675a7 | |||
| 6917e91398 | |||
| 18a5c247d8 |
@ -15,7 +15,7 @@
|
|||||||
@change="handleChange"
|
@change="handleChange"
|
||||||
@preview="handlePreview"
|
@preview="handlePreview"
|
||||||
:class="!isMultiple?'imgupload':''">
|
:class="!isMultiple?'imgupload':''">
|
||||||
<div style="width:104px;height:104px">
|
<div :style="{'width':(!isMultiple?'104px':'auto'),'height':(!isMultiple?'104px':'auto')}">
|
||||||
<img v-if="!isMultiple && picUrl" :src="getAvatarView()" style="width:100%;height:100%"/>
|
<img v-if="!isMultiple && picUrl" :src="getAvatarView()" style="width:100%;height:100%"/>
|
||||||
<div v-else class="iconp">
|
<div v-else class="iconp">
|
||||||
<a-icon :type="uploadLoading ? 'loading' : 'plus'" />
|
<a-icon :type="uploadLoading ? 'loading' : 'plus'" />
|
||||||
|
|||||||
@ -864,6 +864,8 @@ export default {
|
|||||||
trigger(name, event = {}) {
|
trigger(name, event = {}) {
|
||||||
event.$target = this
|
event.$target = this
|
||||||
event.$table = this.$refs.vxe
|
event.$table = this.$refs.vxe
|
||||||
|
//online增强参数兼容
|
||||||
|
event.target = this
|
||||||
this.$emit(name, event)
|
this.$emit(name, event)
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|||||||
@ -149,6 +149,8 @@ export default {
|
|||||||
packageEvent(name, event = {}) {
|
packageEvent(name, event = {}) {
|
||||||
event.row = this.row
|
event.row = this.row
|
||||||
event.column = this.column
|
event.column = this.column
|
||||||
|
//online增强参数兼容
|
||||||
|
event.column['key'] = this.column['property']
|
||||||
event.cellTarget = this
|
event.cellTarget = this
|
||||||
if (!event.type) {
|
if (!event.type) {
|
||||||
event.type = name
|
event.type = name
|
||||||
|
|||||||
@ -186,7 +186,12 @@
|
|||||||
},
|
},
|
||||||
tabCallBack() {
|
tabCallBack() {
|
||||||
this.$nextTick(() => {
|
this.$nextTick(() => {
|
||||||
|
//update-begin-author:taoyan date: 20201211 for:【新版】online报错 JT-100
|
||||||
|
setTimeout(()=>{
|
||||||
|
//省市区组件里面给window绑定了个resize事件 导致切换页面的时候触发了他的resize,但是切换页面,省市区组件还没被销毁前就触发了该事件,导致控制台报错,加个延迟
|
||||||
triggerWindowResizeEvent()
|
triggerWindowResizeEvent()
|
||||||
|
},20)
|
||||||
|
//update-end-author:taoyan date: 20201211 for:【新版】online报错 JT-100
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
editPage(key, action) {
|
editPage(key, action) {
|
||||||
|
|||||||
@ -87,7 +87,7 @@
|
|||||||
</div>
|
</div>
|
||||||
<div :style="{ marginTop: '24px' }">
|
<div :style="{ marginTop: '24px' }">
|
||||||
<a-list :split="false">
|
<a-list :split="false">
|
||||||
<a-list-item slot="renderItem" slot-scope="item, index">
|
<a-list-item>
|
||||||
<a-tooltip slot="actions">
|
<a-tooltip slot="actions">
|
||||||
<template slot="title">
|
<template slot="title">
|
||||||
该设定仅 [顶部栏导航] 时有效
|
该设定仅 [顶部栏导航] 时有效
|
||||||
@ -101,19 +101,19 @@
|
|||||||
<div slot="title">内容区域宽度</div>
|
<div slot="title">内容区域宽度</div>
|
||||||
</a-list-item-meta>
|
</a-list-item-meta>
|
||||||
</a-list-item>
|
</a-list-item>
|
||||||
<a-list-item slot="renderItem" slot-scope="item, index">
|
<a-list-item>
|
||||||
<a-switch slot="actions" size="small" :defaultChecked="fixedHeader" @change="handleFixedHeader" />
|
<a-switch slot="actions" size="small" :defaultChecked="fixedHeader" @change="handleFixedHeader" />
|
||||||
<a-list-item-meta>
|
<a-list-item-meta>
|
||||||
<div slot="title">固定 Header</div>
|
<div slot="title">固定 Header</div>
|
||||||
</a-list-item-meta>
|
</a-list-item-meta>
|
||||||
</a-list-item>
|
</a-list-item>
|
||||||
<a-list-item slot="renderItem" slot-scope="item, index">
|
<a-list-item>
|
||||||
<a-switch slot="actions" size="small" :disabled="!fixedHeader" :defaultChecked="autoHideHeader" @change="handleFixedHeaderHidden" />
|
<a-switch slot="actions" size="small" :disabled="!fixedHeader" :defaultChecked="autoHideHeader" @change="handleFixedHeaderHidden" />
|
||||||
<a-list-item-meta>
|
<a-list-item-meta>
|
||||||
<div slot="title" :style="{ textDecoration: !fixedHeader ? 'line-through' : 'unset' }">下滑时隐藏 Header</div>
|
<div slot="title" :style="{ textDecoration: !fixedHeader ? 'line-through' : 'unset' }">下滑时隐藏 Header</div>
|
||||||
</a-list-item-meta>
|
</a-list-item-meta>
|
||||||
</a-list-item>
|
</a-list-item>
|
||||||
<a-list-item slot="renderItem" slot-scope="item, index">
|
<a-list-item>
|
||||||
<a-switch slot="actions" size="small" :disabled="(layoutMode === 'topmenu')" :checked="dataFixSiderbar" @change="handleFixSiderbar" />
|
<a-switch slot="actions" size="small" :disabled="(layoutMode === 'topmenu')" :checked="dataFixSiderbar" @change="handleFixSiderbar" />
|
||||||
<a-list-item-meta>
|
<a-list-item-meta>
|
||||||
<div slot="title" :style="{ textDecoration: layoutMode === 'topmenu' ? 'line-through' : 'unset' }">固定侧边菜单</div>
|
<div slot="title" :style="{ textDecoration: layoutMode === 'topmenu' ? 'line-through' : 'unset' }">固定侧边菜单</div>
|
||||||
@ -128,13 +128,13 @@
|
|||||||
<h3 class="setting-drawer-index-title">其他设置</h3>
|
<h3 class="setting-drawer-index-title">其他设置</h3>
|
||||||
<div>
|
<div>
|
||||||
<a-list :split="false">
|
<a-list :split="false">
|
||||||
<a-list-item slot="renderItem" slot-scope="item, index">
|
<a-list-item>
|
||||||
<a-switch slot="actions" size="small" :defaultChecked="colorWeak" @change="onColorWeak" />
|
<a-switch slot="actions" size="small" :defaultChecked="colorWeak" @change="onColorWeak" />
|
||||||
<a-list-item-meta>
|
<a-list-item-meta>
|
||||||
<div slot="title">色弱模式</div>
|
<div slot="title">色弱模式</div>
|
||||||
</a-list-item-meta>
|
</a-list-item-meta>
|
||||||
</a-list-item>
|
</a-list-item>
|
||||||
<a-list-item slot="renderItem" slot-scope="item, index">
|
<a-list-item>
|
||||||
<a-switch slot="actions" size="small" :defaultChecked="multipage" @change="onMultipageWeak" />
|
<a-switch slot="actions" size="small" :defaultChecked="multipage" @change="onMultipageWeak" />
|
||||||
<a-list-item-meta>
|
<a-list-item-meta>
|
||||||
<div slot="title">多页签模式</div>
|
<div slot="title">多页签模式</div>
|
||||||
|
|||||||
@ -62,7 +62,7 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="table-operator">
|
<div class="table-operator">
|
||||||
<a-button type="primary" icon="plus" @click="() => $router.push({name: 'anime-add'})">新建</a-button>
|
<a-button type="primary" icon="plus" @click="() => this.handleModalVisible(true)">新建</a-button>
|
||||||
<a-dropdown v-if="selectedRowKeys.length > 0">
|
<a-dropdown v-if="selectedRowKeys.length > 0">
|
||||||
<a-menu slot="overlay">
|
<a-menu slot="overlay">
|
||||||
<a-menu-item key="1"><a-icon type="delete" />删除</a-menu-item>
|
<a-menu-item key="1"><a-icon type="delete" />删除</a-menu-item>
|
||||||
@ -111,7 +111,14 @@
|
|||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
</s-table>
|
</s-table>
|
||||||
|
<a-modal title="新建规则" destroyOnClose :visible="visibleCreateModal" @ok="handleCreateModalOk" @cancel="handleCreateModalCancel">
|
||||||
|
<!---->
|
||||||
|
<a-form style="margin-top: 8px" :autoFormCreate="(form)=>{this.createForm = form}">
|
||||||
|
<a-form-item :labelCol="{ span: 5 }" :wrapperCol="{ span: 15 }" label="描述" fieldDecoratorId="description" :fieldDecoratorOptions="{rules: [{ required: true, message: '请输入至少五个字符的规则描述!', min: 5 }]}">
|
||||||
|
<a-input placeholder="请输入" />
|
||||||
|
</a-form-item>
|
||||||
|
</a-form>
|
||||||
|
</a-modal>
|
||||||
</a-card>
|
</a-card>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
@ -181,7 +188,8 @@
|
|||||||
},
|
},
|
||||||
|
|
||||||
selectedRowKeys: [],
|
selectedRowKeys: [],
|
||||||
selectedRows: []
|
selectedRows: [],
|
||||||
|
visibleCreateModal:false
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
@ -230,6 +238,16 @@
|
|||||||
toggleAdvanced () {
|
toggleAdvanced () {
|
||||||
this.advanced = !this.advanced
|
this.advanced = !this.advanced
|
||||||
},
|
},
|
||||||
|
//添加逻辑
|
||||||
|
handleModalVisible(isVisible) {
|
||||||
|
this.visibleCreateModal = isVisible;
|
||||||
|
},
|
||||||
|
handleCreateModalCancel() {
|
||||||
|
this.visibleCreateModal = false;
|
||||||
|
},
|
||||||
|
handleCreateModalOk() {
|
||||||
|
this.visibleCreateModal = false;
|
||||||
|
},
|
||||||
},
|
},
|
||||||
watch: {
|
watch: {
|
||||||
/*
|
/*
|
||||||
|
|||||||
@ -1,10 +1,12 @@
|
|||||||
<template>
|
<template>
|
||||||
<a-card :bordered="false">
|
<a-card :bordered="false">
|
||||||
<a-row>
|
<a-row style="margin-top: 20px">
|
||||||
<a-col :md="2" :sm="4">
|
<a-col :md="2" :sm="4">
|
||||||
<a-select defaultValue="POST" style="width: 90px" @change="handleChange" size="large">
|
<a-select defaultValue="POST" style="width: 90px" @change="handleChange" size="large">
|
||||||
<a-select-option value="POST">POST</a-select-option>
|
<a-select-option value="POST">POST</a-select-option>
|
||||||
<!--<a-select-option value="GET">GET</a-select-option>-->
|
<a-select-option value="GET">GET</a-select-option>
|
||||||
|
<a-select-option value="PUT">PUT</a-select-option>
|
||||||
|
<a-select-option value="DELETE">DELETE</a-select-option>
|
||||||
</a-select>
|
</a-select>
|
||||||
</a-col>
|
</a-col>
|
||||||
<a-col :md="22" :sm="20">
|
<a-col :md="22" :sm="20">
|
||||||
@ -19,7 +21,7 @@
|
|||||||
|
|
||||||
<a-tabs defaultActiveKey="2">
|
<a-tabs defaultActiveKey="2">
|
||||||
<a-tab-pane tab="params" key="2">
|
<a-tab-pane tab="params" key="2">
|
||||||
<textarea style="width:100%;font-size: 16px;font-weight:500" :rows="13" @input="changeVal">
|
<textarea style="width:100%;font-size: 16px;font-weight:500" :rows="13" @blur="changeVal">
|
||||||
</textarea>
|
</textarea>
|
||||||
</a-tab-pane>
|
</a-tab-pane>
|
||||||
</a-tabs>
|
</a-tabs>
|
||||||
@ -33,7 +35,7 @@
|
|||||||
</a-card>
|
</a-card>
|
||||||
</template>
|
</template>
|
||||||
<script>
|
<script>
|
||||||
import { postAction,getAction } from '@/api/manage'
|
import { axios } from '@/utils/request'
|
||||||
import { ACCESS_TOKEN } from "@/store/mutation-types"
|
import { ACCESS_TOKEN } from "@/store/mutation-types"
|
||||||
import Vue from 'vue'
|
import Vue from 'vue'
|
||||||
export default {
|
export default {
|
||||||
@ -49,28 +51,25 @@
|
|||||||
methods: {
|
methods: {
|
||||||
onSearch (value) {
|
onSearch (value) {
|
||||||
let that = this
|
let that = this
|
||||||
|
if(!value){
|
||||||
|
that.$message.error("请填写路径")
|
||||||
|
return false
|
||||||
|
}
|
||||||
this.resultJson = {};
|
this.resultJson = {};
|
||||||
if("POST"===this.requestMethod.toUpperCase()){
|
axios({
|
||||||
postAction(value,this.paramJson).then((res)=>{
|
url: value,
|
||||||
|
method: this.requestMethod,
|
||||||
|
data: this.paramJson
|
||||||
|
}).then((res) => {
|
||||||
console.log(res)
|
console.log(res)
|
||||||
this.resultJson = res
|
this.resultJson = res
|
||||||
}).catch((err) => {
|
}).catch((err) => {
|
||||||
that.$message.error("请求异常:"+err)
|
that.$message.error("请求异常:"+err)
|
||||||
})
|
})
|
||||||
}else {
|
|
||||||
getAction(value,this.paramJson).then((res)=>{
|
|
||||||
console.log(res)
|
|
||||||
this.resultJson = res;
|
|
||||||
}).catch((err) => {
|
|
||||||
that.$message.error("请求异常:"+err)
|
|
||||||
})
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
changeVal(e){
|
changeVal(e){
|
||||||
try {
|
try {
|
||||||
let json = e.target.value;
|
let json = e.target.value;
|
||||||
json = json.replace(/\n/g,"");
|
|
||||||
json = json.replace(/\s*/g,"");
|
|
||||||
if(json.indexOf(",}")>0){
|
if(json.indexOf(",}")>0){
|
||||||
json = json.replace(",}","}");
|
json = json.replace(",}","}");
|
||||||
}
|
}
|
||||||
|
|||||||
@ -89,10 +89,10 @@
|
|||||||
<a-popover title="自定义列" trigger="click" placement="leftBottom">
|
<a-popover title="自定义列" trigger="click" placement="leftBottom">
|
||||||
<template slot="content">
|
<template slot="content">
|
||||||
<a-checkbox-group @change="onColSettingsChange" v-model="settingColumns" :defaultValue="settingColumns">
|
<a-checkbox-group @change="onColSettingsChange" v-model="settingColumns" :defaultValue="settingColumns">
|
||||||
<a-row>
|
<a-row style="width: 400px">
|
||||||
<template v-for="(item,index) in defColumns">
|
<template v-for="(item,index) in defColumns">
|
||||||
<template v-if="item.key!='rowIndex'&& item.dataIndex!='action'">
|
<template v-if="item.key!='rowIndex'&& item.dataIndex!='action'">
|
||||||
<a-col :span="12"><a-checkbox :value="item.dataIndex">{{ item.title }}</a-checkbox></a-col>
|
<a-col :span="12"><a-checkbox :value="item.dataIndex"><j-ellipsis :value="item.title" :length="10"></j-ellipsis></a-checkbox></a-col>
|
||||||
</template>
|
</template>
|
||||||
</template>
|
</template>
|
||||||
</a-row>
|
</a-row>
|
||||||
@ -118,10 +118,10 @@
|
|||||||
<div slot="filterDropdown">
|
<div slot="filterDropdown">
|
||||||
<a-card>
|
<a-card>
|
||||||
<a-checkbox-group @change="onColSettingsChange" v-model="settingColumns" :defaultValue="settingColumns">
|
<a-checkbox-group @change="onColSettingsChange" v-model="settingColumns" :defaultValue="settingColumns">
|
||||||
<a-row>
|
<a-row style="width: 400px">
|
||||||
<template v-for="(item,index) in defColumns">
|
<template v-for="(item,index) in defColumns">
|
||||||
<template v-if="item.key!='rowIndex'&& item.dataIndex!='action'">
|
<template v-if="item.key!='rowIndex'&& item.dataIndex!='action'">
|
||||||
<a-col :span="12"><a-checkbox :value="item.dataIndex">{{ item.title }}</a-checkbox></a-col>
|
<a-col :span="12"><a-checkbox :value="item.dataIndex"><j-ellipsis :value="item.title" :length="10"></j-ellipsis></a-checkbox></a-col>
|
||||||
</template>
|
</template>
|
||||||
</template>
|
</template>
|
||||||
</a-row>
|
</a-row>
|
||||||
|
|||||||
@ -110,14 +110,15 @@
|
|||||||
getAction('actuator/metrics/tomcat.sessions.active.current'),
|
getAction('actuator/metrics/tomcat.sessions.active.current'),
|
||||||
getAction('actuator/metrics/tomcat.sessions.active.max'),
|
getAction('actuator/metrics/tomcat.sessions.active.max'),
|
||||||
getAction('actuator/metrics/tomcat.sessions.rejected'),
|
getAction('actuator/metrics/tomcat.sessions.rejected'),
|
||||||
getAction('actuator/metrics/tomcat.global.sent'),
|
// 2.3.5.RELEASE 无此API
|
||||||
getAction('actuator/metrics/tomcat.global.request.max'),
|
// getAction('actuator/metrics/tomcat.global.sent'),
|
||||||
getAction('actuator/metrics/tomcat.global.request'),
|
// getAction('actuator/metrics/tomcat.global.request.max'),
|
||||||
|
// getAction('actuator/metrics/tomcat.global.request'),
|
||||||
|
// getAction('actuator/metrics/tomcat.threads.current'),
|
||||||
|
// getAction('actuator/metrics/tomcat.threads.config.max')
|
||||||
// 2.1.3.RELEASE 无此API
|
// 2.1.3.RELEASE 无此API
|
||||||
//getAction('actuator/metrics/tomcat.servlet.request'),
|
//getAction('actuator/metrics/tomcat.servlet.request'),
|
||||||
// getAction('actuator/metrics/tomcat.servlet.request.max'),
|
// getAction('actuator/metrics/tomcat.servlet.request.max'),
|
||||||
getAction('actuator/metrics/tomcat.threads.current'),
|
|
||||||
getAction('actuator/metrics/tomcat.threads.config.max')
|
|
||||||
]).then((res) => {
|
]).then((res) => {
|
||||||
let tomcatInfo = []
|
let tomcatInfo = []
|
||||||
res.forEach((value, id) => {
|
res.forEach((value, id) => {
|
||||||
|
|||||||
@ -58,6 +58,7 @@
|
|||||||
:pagination="ipagination"
|
:pagination="ipagination"
|
||||||
:loading="loading"
|
:loading="loading"
|
||||||
@change="handleTableChange"
|
@change="handleTableChange"
|
||||||
|
:rowClassName="getRowClassname"
|
||||||
>
|
>
|
||||||
|
|
||||||
<span slot="action" slot-scope="text, record">
|
<span slot="action" slot-scope="text, record">
|
||||||
@ -200,8 +201,22 @@
|
|||||||
this.screenWidth = 600;
|
this.screenWidth = 600;
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
//update--begin--autor:wangshuai-----date:20191204------for:系统管理 数据字典禁用和正常区别开,添加背景颜色 teambition JT-22------
|
||||||
|
//增加样式方法返回值
|
||||||
|
getRowClassname(record){
|
||||||
|
if(record.status==0){
|
||||||
|
return "data-rule-invalid"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//update--end--autor:wangshuai-----date:20191204------for:系统管理 数据字典禁用和正常区别开,添加背景颜色 teambition JT-22------
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
<style scoped>
|
<style lang="less" scoped>
|
||||||
|
//update--begin--autor:wangshuai-----date:20191204------for:系统管理 数据字典禁用和正常区别开,添加背景颜色 teambition JT-22------
|
||||||
|
/deep/ .data-rule-invalid{
|
||||||
|
background: #f4f4f4;
|
||||||
|
color: #bababa;
|
||||||
|
}
|
||||||
|
//update--begin--autor:wangshuai-----date:20191204------for:系统管理 数据字典禁用和正常区别开,添加背景颜色 teambition JT-22------
|
||||||
</style>
|
</style>
|
||||||
@ -53,7 +53,7 @@
|
|||||||
</a-menu-item>
|
</a-menu-item>
|
||||||
|
|
||||||
<a-menu-item>
|
<a-menu-item>
|
||||||
<a-popconfirm title="确定删除吗?" @confirm="() => handleDelete(record.id)">
|
<a-popconfirm title="确定删除吗?" @confirm="() => handleDelete(record.id)" placement="topLeft">
|
||||||
<a>删除</a>
|
<a>删除</a>
|
||||||
</a-popconfirm>
|
</a-popconfirm>
|
||||||
</a-menu-item>
|
</a-menu-item>
|
||||||
|
|||||||
@ -28,7 +28,7 @@
|
|||||||
|
|
||||||
<template v-if="!model.id">
|
<template v-if="!model.id">
|
||||||
<a-form-item label="登录密码" :labelCol="labelCol" :wrapperCol="wrapperCol" >
|
<a-form-item label="登录密码" :labelCol="labelCol" :wrapperCol="wrapperCol" >
|
||||||
<a-input type="password" placeholder="请输入登录密码" v-decorator="[ 'password']" />
|
<a-input type="password" placeholder="请输入登录密码" v-decorator="[ 'password',validatorRules.password]" />
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
|
|
||||||
<a-form-item label="确认密码" :labelCol="labelCol" :wrapperCol="wrapperCol" >
|
<a-form-item label="确认密码" :labelCol="labelCol" :wrapperCol="wrapperCol" >
|
||||||
|
|||||||
@ -183,8 +183,8 @@
|
|||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
this.departResolve().then(()=>{
|
this.departResolve().then(()=>{
|
||||||
if(this.isMultiTenant){
|
|
||||||
this.$store.dispatch('saveTenant', this.tenant_id);
|
this.$store.dispatch('saveTenant', this.tenant_id);
|
||||||
|
if(this.isMultiTenant){
|
||||||
this.$emit('success')
|
this.$emit('success')
|
||||||
}else{
|
}else{
|
||||||
this.$emit('success')
|
this.$emit('success')
|
||||||
|
|||||||
@ -5364,6 +5364,18 @@ DROP TABLE IF EXISTS QRTZ_TRIGGERS;
|
|||||||
DROP TABLE IF EXISTS QRTZ_JOB_DETAILS;
|
DROP TABLE IF EXISTS QRTZ_JOB_DETAILS;
|
||||||
DROP TABLE IF EXISTS QRTZ_CALENDARS;
|
DROP TABLE IF EXISTS QRTZ_CALENDARS;
|
||||||
|
|
||||||
|
drop table if exists qrtz_fired_triggers;
|
||||||
|
drop table if exists qrtz_paused_trigger_grps;
|
||||||
|
drop table if exists qrtz_scheduler_state;
|
||||||
|
drop table if exists qrtz_locks;
|
||||||
|
drop table if exists qrtz_simple_triggers;
|
||||||
|
drop table if exists qrtz_simprop_triggers;
|
||||||
|
drop table if exists qrtz_cron_triggers;
|
||||||
|
drop table if exists qrtz_blob_triggers;
|
||||||
|
drop table if exists qrtz_triggers;
|
||||||
|
drop table if exists qrtz_job_details;
|
||||||
|
drop table if exists qrtz_calendars;
|
||||||
|
|
||||||
|
|
||||||
CREATE TABLE QRTZ_JOB_DETAILS
|
CREATE TABLE QRTZ_JOB_DETAILS
|
||||||
(
|
(
|
||||||
|
|||||||
@ -23,7 +23,7 @@ CREATE TABLE `sys_third_account` (
|
|||||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
|
||||||
|
|
||||||
ALTER TABLE `sys_user`
|
ALTER TABLE `sys_user`
|
||||||
DROP COLUMN `third_id`
|
DROP COLUMN `third_id`,
|
||||||
DROP COLUMN `third_type`;
|
DROP COLUMN `third_type`;
|
||||||
|
|
||||||
update sys_permission set component = 'examples/list/UserList' where id = '05b3c82ddb2536a4a5ee1a4c46b5abef';
|
update sys_permission set component = 'examples/list/UserList' where id = '05b3c82ddb2536a4a5ee1a4c46b5abef';
|
||||||
|
|||||||
@ -76,6 +76,12 @@
|
|||||||
<version>${commons.version}</version>
|
<version>${commons.version}</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
|
||||||
|
<!-- 拼音库 -->
|
||||||
|
<dependency>
|
||||||
|
<groupId>com.belerweb</groupId>
|
||||||
|
<artifactId>pinyin4j</artifactId>
|
||||||
|
<version>${pinyin4j.version}</version>
|
||||||
|
</dependency>
|
||||||
<!-- freemarker -->
|
<!-- freemarker -->
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>org.springframework.boot</groupId>
|
<groupId>org.springframework.boot</groupId>
|
||||||
@ -216,13 +222,6 @@
|
|||||||
</exclusions>
|
</exclusions>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
|
||||||
<!-- hutool工具类-->
|
|
||||||
<dependency>
|
|
||||||
<groupId>cn.hutool</groupId>
|
|
||||||
<artifactId>hutool-all</artifactId>
|
|
||||||
<version>${hutool-all.version}</version>
|
|
||||||
</dependency>
|
|
||||||
|
|
||||||
<!-- mini文件存储服务 -->
|
<!-- mini文件存储服务 -->
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>io.minio</groupId>
|
<groupId>io.minio</groupId>
|
||||||
|
|||||||
@ -1,5 +1,7 @@
|
|||||||
package org.jeecg.common.util;
|
package org.jeecg.common.util;
|
||||||
|
|
||||||
|
import cn.hutool.core.util.StrUtil;
|
||||||
|
import cn.hutool.extra.pinyin.PinyinUtil;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.jeecg.common.constant.CommonConstant;
|
import org.jeecg.common.constant.CommonConstant;
|
||||||
import org.jeecg.common.constant.DataBaseConstant;
|
import org.jeecg.common.constant.DataBaseConstant;
|
||||||
@ -16,10 +18,15 @@ import java.io.InputStream;
|
|||||||
import java.sql.Connection;
|
import java.sql.Connection;
|
||||||
import java.sql.DatabaseMetaData;
|
import java.sql.DatabaseMetaData;
|
||||||
import java.sql.SQLException;
|
import java.sql.SQLException;
|
||||||
|
import java.util.regex.Matcher;
|
||||||
|
import java.util.regex.Pattern;
|
||||||
|
|
||||||
@Slf4j
|
@Slf4j
|
||||||
public class CommonUtils {
|
public class CommonUtils {
|
||||||
|
|
||||||
|
//中文正则
|
||||||
|
private static Pattern ZHONGWEN_PATTERN = Pattern.compile("[\u4e00-\u9fa5]");
|
||||||
|
|
||||||
public static String uploadOnlineImage(byte[] data,String basePath,String bizPath,String uploadType){
|
public static String uploadOnlineImage(byte[] data,String basePath,String bizPath,String uploadType){
|
||||||
String dbPath = null;
|
String dbPath = null;
|
||||||
String fileName = "image" + Math.round(Math.random() * 100000000000L);
|
String fileName = "image" + Math.round(Math.random() * 100000000000L);
|
||||||
@ -68,9 +75,28 @@ public class CommonUtils {
|
|||||||
}
|
}
|
||||||
//替换上传文件名字的特殊字符
|
//替换上传文件名字的特殊字符
|
||||||
fileName = fileName.replace("=","").replace(",","").replace("&","").replace("#", "");
|
fileName = fileName.replace("=","").replace(",","").replace("&","").replace("#", "");
|
||||||
|
//替换上传文件名字中的中文
|
||||||
|
if(ifContainChinese(fileName)){
|
||||||
|
fileName= PinyinUtil.getPinyin(fileName, StrUtil.EMPTY);
|
||||||
|
}
|
||||||
|
//替换上传文件名字中的空格
|
||||||
|
fileName=fileName.replaceAll("\\s","");
|
||||||
return fileName;
|
return fileName;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// java 判断字符串里是否包含中文字符
|
||||||
|
public static boolean ifContainChinese(String str) {
|
||||||
|
if(str.getBytes().length == str.length()){
|
||||||
|
return false;
|
||||||
|
}else{
|
||||||
|
Matcher m = ZHONGWEN_PATTERN.matcher(str);
|
||||||
|
if (m.find()) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 统一全局上传
|
* 统一全局上传
|
||||||
* @Return: java.lang.String
|
* @Return: java.lang.String
|
||||||
@ -129,7 +155,7 @@ public class CommonUtils {
|
|||||||
String dbType = md.getDatabaseProductName().toLowerCase();
|
String dbType = md.getDatabaseProductName().toLowerCase();
|
||||||
if(dbType.indexOf("mysql")>=0) {
|
if(dbType.indexOf("mysql")>=0) {
|
||||||
DB_TYPE = DataBaseConstant.DB_TYPE_MYSQL;
|
DB_TYPE = DataBaseConstant.DB_TYPE_MYSQL;
|
||||||
}else if(dbType.indexOf("oracle")>=0) {
|
}else if(dbType.indexOf("oracle")>=0 ||dbType.indexOf("dm")>=0) {
|
||||||
DB_TYPE = DataBaseConstant.DB_TYPE_ORACLE;
|
DB_TYPE = DataBaseConstant.DB_TYPE_ORACLE;
|
||||||
}else if(dbType.indexOf("sqlserver")>=0||dbType.indexOf("sql server")>=0) {
|
}else if(dbType.indexOf("sqlserver")>=0||dbType.indexOf("sql server")>=0) {
|
||||||
DB_TYPE = DataBaseConstant.DB_TYPE_SQLSERVER;
|
DB_TYPE = DataBaseConstant.DB_TYPE_SQLSERVER;
|
||||||
|
|||||||
@ -6,8 +6,6 @@ import freemarker.template.Configuration;
|
|||||||
import freemarker.template.Template;
|
import freemarker.template.Template;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.apache.commons.lang.StringUtils;
|
import org.apache.commons.lang.StringUtils;
|
||||||
import org.apache.commons.logging.Log;
|
|
||||||
import org.apache.commons.logging.LogFactory;
|
|
||||||
import org.jeecgframework.codegenerate.generate.util.SimpleFormat;
|
import org.jeecgframework.codegenerate.generate.util.SimpleFormat;
|
||||||
|
|
||||||
import java.io.StringWriter;
|
import java.io.StringWriter;
|
||||||
|
|||||||
@ -1,9 +1,15 @@
|
|||||||
package org.jeecg.config;
|
package org.jeecg.config;
|
||||||
|
|
||||||
|
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||||
|
import com.fasterxml.jackson.databind.module.SimpleModule;
|
||||||
|
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
|
||||||
import org.springframework.beans.factory.annotation.Value;
|
import org.springframework.beans.factory.annotation.Value;
|
||||||
|
import org.springframework.boot.actuate.trace.http.InMemoryHttpTraceRepository;
|
||||||
import org.springframework.context.annotation.Bean;
|
import org.springframework.context.annotation.Bean;
|
||||||
import org.springframework.context.annotation.Conditional;
|
import org.springframework.context.annotation.Conditional;
|
||||||
import org.springframework.context.annotation.Configuration;
|
import org.springframework.context.annotation.Configuration;
|
||||||
|
import org.springframework.http.converter.HttpMessageConverter;
|
||||||
|
import org.springframework.http.converter.json.MappingJackson2HttpMessageConverter;
|
||||||
import org.springframework.web.cors.CorsConfiguration;
|
import org.springframework.web.cors.CorsConfiguration;
|
||||||
import org.springframework.web.cors.UrlBasedCorsConfigurationSource;
|
import org.springframework.web.cors.UrlBasedCorsConfigurationSource;
|
||||||
import org.springframework.web.filter.CorsFilter;
|
import org.springframework.web.filter.CorsFilter;
|
||||||
@ -11,6 +17,8 @@ import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry
|
|||||||
import org.springframework.web.servlet.config.annotation.ViewControllerRegistry;
|
import org.springframework.web.servlet.config.annotation.ViewControllerRegistry;
|
||||||
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
|
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Spring Boot 2.0 解决跨域问题
|
* Spring Boot 2.0 解决跨域问题
|
||||||
*
|
*
|
||||||
@ -63,4 +71,29 @@ public class WebMvcConfiguration implements WebMvcConfigurer {
|
|||||||
return new CorsFilter(urlBasedCorsConfigurationSource);
|
return new CorsFilter(urlBasedCorsConfigurationSource);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 添加Long转json精度丢失是配置
|
||||||
|
* @Return: void
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public void configureMessageConverters(List<HttpMessageConverter<?>> converters) {
|
||||||
|
MappingJackson2HttpMessageConverter jackson2HttpMessageConverter = new MappingJackson2HttpMessageConverter();
|
||||||
|
ObjectMapper objectMapper = new ObjectMapper();
|
||||||
|
SimpleModule simpleModule = new SimpleModule();
|
||||||
|
simpleModule.addSerializer(Long.class, ToStringSerializer.instance);
|
||||||
|
simpleModule.addSerializer(Long.TYPE, ToStringSerializer.instance);
|
||||||
|
objectMapper.registerModule(simpleModule);
|
||||||
|
jackson2HttpMessageConverter.setObjectMapper(objectMapper);
|
||||||
|
converters.add(jackson2HttpMessageConverter);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* SpringBootAdmin的Httptrace不见了
|
||||||
|
* https://blog.csdn.net/u013810234/article/details/110097201
|
||||||
|
*/
|
||||||
|
@Bean
|
||||||
|
public InMemoryHttpTraceRepository getInMemoryHttpTrace(){
|
||||||
|
return new InMemoryHttpTraceRepository();
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -11,7 +11,7 @@ import org.jeecgframework.codegenerate.window.CodeWindow;
|
|||||||
*/
|
*/
|
||||||
public class JeecgOneGUI {
|
public class JeecgOneGUI {
|
||||||
|
|
||||||
/** 详细使用手册: http://doc.jeecg.com/1275846 */
|
/** 详细使用手册: http://doc.jeecg.com/2043919 */
|
||||||
public static void main(String[] args) {
|
public static void main(String[] args) {
|
||||||
new CodeWindow().pack();
|
new CodeWindow().pack();
|
||||||
}
|
}
|
||||||
|
|||||||
@ -5,7 +5,6 @@ import org.apache.catalina.Context;
|
|||||||
import org.apache.tomcat.util.scan.StandardJarScanner;
|
import org.apache.tomcat.util.scan.StandardJarScanner;
|
||||||
import org.jeecg.common.util.oConvertUtils;
|
import org.jeecg.common.util.oConvertUtils;
|
||||||
import org.springframework.boot.SpringApplication;
|
import org.springframework.boot.SpringApplication;
|
||||||
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
|
|
||||||
import org.springframework.boot.autoconfigure.SpringBootApplication;
|
import org.springframework.boot.autoconfigure.SpringBootApplication;
|
||||||
import org.springframework.boot.builder.SpringApplicationBuilder;
|
import org.springframework.boot.builder.SpringApplicationBuilder;
|
||||||
import org.springframework.boot.web.embedded.tomcat.TomcatServletWebServerFactory;
|
import org.springframework.boot.web.embedded.tomcat.TomcatServletWebServerFactory;
|
||||||
@ -17,6 +16,9 @@ import org.springframework.core.env.Environment;
|
|||||||
import java.net.InetAddress;
|
import java.net.InetAddress;
|
||||||
import java.net.UnknownHostException;
|
import java.net.UnknownHostException;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 单体启动类(采用此类启动项目为单体模式)
|
||||||
|
*/
|
||||||
@Slf4j
|
@Slf4j
|
||||||
@SpringBootApplication
|
@SpringBootApplication
|
||||||
public class JeecgSystemApplication extends SpringBootServletInitializer {
|
public class JeecgSystemApplication extends SpringBootServletInitializer {
|
||||||
|
|||||||
@ -889,8 +889,12 @@ public class SysUserController {
|
|||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if(null == code){
|
||||||
if (!smscode.equals(code)) {
|
result.setMessage("手机验证码失效,请重新获取");
|
||||||
|
result.setSuccess(false);
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
if (!smscode.equals(code.toString())) {
|
||||||
result.setMessage("手机验证码错误");
|
result.setMessage("手机验证码错误");
|
||||||
result.setSuccess(false);
|
result.setSuccess(false);
|
||||||
return result;
|
return result;
|
||||||
|
|||||||
@ -76,12 +76,22 @@
|
|||||||
|
|
||||||
<#-- ** 高级查询生成 * -->
|
<#-- ** 高级查询生成 * -->
|
||||||
<#function superQueryFieldList po>
|
<#function superQueryFieldList po>
|
||||||
|
<#assign superQuery_dictTable="">
|
||||||
|
<#assign superQuery_dictText="">
|
||||||
|
<#if po.dictTable?default("")?trim?length gt 1>
|
||||||
|
<#assign superQuery_dictTable="${po.dictTable}">
|
||||||
|
</#if>
|
||||||
|
<#if po.dictText?default("")?trim?length gt 1>
|
||||||
|
<#assign superQuery_dictText="${po.dictText}">
|
||||||
|
</#if>
|
||||||
<#if po.classType=="popup">
|
<#if po.classType=="popup">
|
||||||
<#return "{type:'${po.classType}',value:'${po.fieldName}',text:'${po.filedComment}', popup:{code:'${po.dictTable}',field:'${po.dictField?split(',')[0]}',orgFields:'${po.dictField?split(',')[0]}',destFields:'${po.dictText?split(',')[0]}'}}">
|
<#return "{type:'${po.classType}',value:'${po.fieldName}',text:'${po.filedComment}', popup:{code:'${po.dictTable}',field:'${po.dictField?split(',')[0]}',orgFields:'${po.dictField?split(',')[0]}',destFields:'${po.dictText?split(',')[0]}'}}">
|
||||||
<#elseif po.classType=="sel_user" || po.classType=="sel_depart" || po.classType=="datetime" || po.classType=="date" || po.classType=="pca" || po.classType=="switch">
|
<#elseif po.classType=="sel_user" || po.classType=="sel_depart" || po.classType=="datetime" || po.classType=="date" || po.classType=="pca" || po.classType=="switch">
|
||||||
<#return "{type:'${po.classType}',value:'${po.fieldName}',text:'${po.filedComment}'}">
|
<#return "{type:'${po.classType}',value:'${po.fieldName}',text:'${po.filedComment}'}">
|
||||||
<#else>
|
<#else>
|
||||||
<#if po.dictTable?? && po.dictTable!="" && po.classType!="sel_tree" && po.classType!="cat_tree" && po.classType!="link_down">
|
<#if po.classType=="sel_search" || po.classType=="list_multi">
|
||||||
|
<#return "{type:'${po.classType}',value:'${po.fieldName}',text:'${po.filedComment}',dictTable:'${superQuery_dictTable}', dictText:'${superQuery_dictText}', dictCode:'${po.dictField}'}">
|
||||||
|
<#elseif po.dictTable?? && po.dictTable!="" && po.classType!="sel_tree" && po.classType!="cat_tree" && po.classType!="link_down">
|
||||||
<#return "{type:'${po.fieldDbType}',value:'${po.fieldName}',text:'${po.filedComment}',dictCode:'${po.dictTable},${po.dictText},${po.dictField}'}">
|
<#return "{type:'${po.fieldDbType}',value:'${po.fieldName}',text:'${po.filedComment}',dictCode:'${po.dictTable},${po.dictText},${po.dictField}'}">
|
||||||
<#elseif po.dictField?? && po.classType!="sel_tree" && po.classType!="cat_tree" && po.classType!="link_down">
|
<#elseif po.dictField?? && po.classType!="sel_tree" && po.classType!="cat_tree" && po.classType!="link_down">
|
||||||
<#return "{type:'${po.fieldDbType}',value:'${po.fieldName}',text:'${po.filedComment}',dictCode:'${po.dictField}'}">
|
<#return "{type:'${po.fieldDbType}',value:'${po.fieldName}',text:'${po.filedComment}',dictCode:'${po.dictField}'}">
|
||||||
|
|||||||
@ -31,7 +31,7 @@
|
|||||||
<#list columns as po>
|
<#list columns as po>
|
||||||
<#if po.isShow =='Y' && po.fieldName != 'id'>
|
<#if po.isShow =='Y' && po.fieldName != 'id'>
|
||||||
<#assign form_field_dictCode="">
|
<#assign form_field_dictCode="">
|
||||||
<#if po.dictTable?default("")?trim?length gt 1>
|
<#if po.dictTable?default("")?trim?length gt 1 && po.dictText?default("")?trim?length gt 1 && po.dictField?default("")?trim?length gt 1>
|
||||||
<#assign form_field_dictCode="${po.dictTable},${po.dictText},${po.dictField}">
|
<#assign form_field_dictCode="${po.dictTable},${po.dictText},${po.dictField}">
|
||||||
<#elseif po.dictField?default("")?trim?length gt 1>
|
<#elseif po.dictField?default("")?trim?length gt 1>
|
||||||
<#assign form_field_dictCode="${po.dictField}">
|
<#assign form_field_dictCode="${po.dictField}">
|
||||||
@ -101,6 +101,24 @@
|
|||||||
<j-editor v-decorator="['${po.fieldName}',{trigger:'input'}]" <#if po.readonly=='Y'>disabled</#if>/>
|
<j-editor v-decorator="['${po.fieldName}',{trigger:'input'}]" <#if po.readonly=='Y'>disabled</#if>/>
|
||||||
<#elseif po.fieldDbType=='Blob'>
|
<#elseif po.fieldDbType=='Blob'>
|
||||||
<a-input v-decorator="['${po.fieldName}String'${autoWriteRules(po)}]" placeholder="请输入${po.filedComment}" <#if po.readonly=='Y'>disabled</#if>></a-input>
|
<a-input v-decorator="['${po.fieldName}String'${autoWriteRules(po)}]" placeholder="请输入${po.filedComment}" <#if po.readonly=='Y'>disabled</#if>></a-input>
|
||||||
|
<#elseif po.classType == 'sel_tree'>
|
||||||
|
<#assign form_tree_select = true>
|
||||||
|
<j-tree-select
|
||||||
|
ref="treeSelect"
|
||||||
|
placeholder="请选择${po.filedComment}"
|
||||||
|
v-decorator="['${po.fieldName}'${autoWriteRules(po)}]"
|
||||||
|
<#if po.dictText??>
|
||||||
|
<#if po.dictText?split(',')[2]?? && po.dictText?split(',')[0]??>
|
||||||
|
dict="${po.dictTable},${po.dictText?split(',')[2]},${po.dictText?split(',')[0]}"
|
||||||
|
<#elseif po.dictText?split(',')[1]??>
|
||||||
|
pidField="${po.dictText?split(',')[1]}"
|
||||||
|
<#elseif po.dictText?split(',')[3]??>
|
||||||
|
hasChildField="${po.dictText?split(',')[3]}"
|
||||||
|
</#if>
|
||||||
|
</#if>
|
||||||
|
pidValue="${po.dictField}"
|
||||||
|
<#if po.readonly=='Y'>disabled</#if>>
|
||||||
|
</j-tree-select>
|
||||||
<#else>
|
<#else>
|
||||||
<a-input v-decorator="['${po.fieldName}'${autoWriteRules(po)}]" placeholder="请输入${po.filedComment}" <#if po.readonly=='Y'>disabled</#if> ></a-input>
|
<a-input v-decorator="['${po.fieldName}'${autoWriteRules(po)}]" placeholder="请输入${po.filedComment}" <#if po.readonly=='Y'>disabled</#if> ></a-input>
|
||||||
</#if>
|
</#if>
|
||||||
|
|||||||
@ -31,7 +31,7 @@
|
|||||||
<#list columns as po>
|
<#list columns as po>
|
||||||
<#if po.isShow =='Y' && po.fieldName != 'id'>
|
<#if po.isShow =='Y' && po.fieldName != 'id'>
|
||||||
<#assign form_field_dictCode="">
|
<#assign form_field_dictCode="">
|
||||||
<#if po.dictTable?default("")?trim?length gt 1>
|
<#if po.dictTable?default("")?trim?length gt 1 && po.dictText?default("")?trim?length gt 1 && po.dictField?default("")?trim?length gt 1>
|
||||||
<#assign form_field_dictCode="${po.dictTable},${po.dictText},${po.dictField}">
|
<#assign form_field_dictCode="${po.dictTable},${po.dictText},${po.dictField}">
|
||||||
<#elseif po.dictField?default("")?trim?length gt 1>
|
<#elseif po.dictField?default("")?trim?length gt 1>
|
||||||
<#assign form_field_dictCode="${po.dictField}">
|
<#assign form_field_dictCode="${po.dictField}">
|
||||||
@ -106,6 +106,24 @@
|
|||||||
<j-editor v-decorator="['${po.fieldName}',{trigger:'input'}]" <#if po.readonly=='Y'>disabled</#if>/>
|
<j-editor v-decorator="['${po.fieldName}',{trigger:'input'}]" <#if po.readonly=='Y'>disabled</#if>/>
|
||||||
<#elseif po.fieldDbType=='Blob'>
|
<#elseif po.fieldDbType=='Blob'>
|
||||||
<a-input v-decorator="['${po.fieldName}String'${autoWriteRules(po)}]" placeholder="请输入${po.filedComment}" <#if po.readonly=='Y'>disabled</#if>></a-input>
|
<a-input v-decorator="['${po.fieldName}String'${autoWriteRules(po)}]" placeholder="请输入${po.filedComment}" <#if po.readonly=='Y'>disabled</#if>></a-input>
|
||||||
|
<#elseif po.classType == 'sel_tree'>
|
||||||
|
<#assign form_tree_select = true>
|
||||||
|
<j-tree-select
|
||||||
|
ref="treeSelect"
|
||||||
|
placeholder="请选择${po.filedComment}"
|
||||||
|
v-decorator="['${po.fieldName}'${autoWriteRules(po)}]"
|
||||||
|
<#if po.dictText??>
|
||||||
|
<#if po.dictText?split(',')[2]?? && po.dictText?split(',')[0]??>
|
||||||
|
dict="${po.dictTable},${po.dictText?split(',')[2]},${po.dictText?split(',')[0]}"
|
||||||
|
<#elseif po.dictText?split(',')[1]??>
|
||||||
|
pidField="${po.dictText?split(',')[1]}"
|
||||||
|
<#elseif po.dictText?split(',')[3]??>
|
||||||
|
hasChildField="${po.dictText?split(',')[3]}"
|
||||||
|
</#if>
|
||||||
|
</#if>
|
||||||
|
pidValue="${po.dictField}"
|
||||||
|
<#if po.readonly=='Y'>disabled</#if>>
|
||||||
|
</j-tree-select>
|
||||||
<#else>
|
<#else>
|
||||||
<a-input v-decorator="['${po.fieldName}'${autoWriteRules(po)}]" placeholder="请输入${po.filedComment}" <#if po.readonly=='Y'>disabled</#if>></a-input>
|
<a-input v-decorator="['${po.fieldName}'${autoWriteRules(po)}]" placeholder="请输入${po.filedComment}" <#if po.readonly=='Y'>disabled</#if>></a-input>
|
||||||
</#if>
|
</#if>
|
||||||
|
|||||||
@ -32,7 +32,7 @@
|
|||||||
<#list sub.colums as po>
|
<#list sub.colums as po>
|
||||||
<#if po.isShow =='Y' && po.fieldName != 'id'>
|
<#if po.isShow =='Y' && po.fieldName != 'id'>
|
||||||
<#assign form_field_dictCode="">
|
<#assign form_field_dictCode="">
|
||||||
<#if po.dictTable?default("")?trim?length gt 1>
|
<#if po.dictTable?default("")?trim?length gt 1 && po.dictText?default("")?trim?length gt 1 && po.dictField?default("")?trim?length gt 1>
|
||||||
<#assign form_field_dictCode="${po.dictTable},${po.dictText},${po.dictField}">
|
<#assign form_field_dictCode="${po.dictTable},${po.dictText},${po.dictField}">
|
||||||
<#elseif po.dictField?default("")?trim?length gt 1>
|
<#elseif po.dictField?default("")?trim?length gt 1>
|
||||||
<#assign form_field_dictCode="${po.dictField}">
|
<#assign form_field_dictCode="${po.dictField}">
|
||||||
|
|||||||
@ -182,6 +182,8 @@
|
|||||||
ref="table"
|
ref="table"
|
||||||
size="middle"
|
size="middle"
|
||||||
rowKey="id"
|
rowKey="id"
|
||||||
|
class="j-table-force-nowrap"
|
||||||
|
:scroll="{x:true}"
|
||||||
:columns="columns"
|
:columns="columns"
|
||||||
:dataSource="dataSource"
|
:dataSource="dataSource"
|
||||||
:pagination="ipagination"
|
:pagination="ipagination"
|
||||||
@ -219,7 +221,7 @@
|
|||||||
<a @click="handleAddChild(record)">添加下级</a>
|
<a @click="handleAddChild(record)">添加下级</a>
|
||||||
</a-menu-item>
|
</a-menu-item>
|
||||||
<a-menu-item>
|
<a-menu-item>
|
||||||
<a-popconfirm title="确定删除吗?" @confirm="() => handleDeleteNode(record.id)">
|
<a-popconfirm title="确定删除吗?" @confirm="() => handleDeleteNode(record.id)" placement="topLeft">
|
||||||
<a>删除</a>
|
<a>删除</a>
|
||||||
</a-popconfirm>
|
</a-popconfirm>
|
||||||
</a-menu-item>
|
</a-menu-item>
|
||||||
|
|||||||
@ -23,11 +23,17 @@
|
|||||||
<#assign form_tree_select = false>
|
<#assign form_tree_select = false>
|
||||||
<#assign form_switch=false>
|
<#assign form_switch=false>
|
||||||
<#assign pidFieldName = "">
|
<#assign pidFieldName = "">
|
||||||
|
<#assign form_select_search = false>
|
||||||
|
<#assign form_cat_tree = false>
|
||||||
|
<#assign form_cat_back = "">
|
||||||
|
<#assign form_pca = false>
|
||||||
|
<#assign form_editor = false>
|
||||||
|
<#assign form_md = false>
|
||||||
|
<#assign form_sel_tree = false>
|
||||||
<#list columns as po>
|
<#list columns as po>
|
||||||
<#if po.isShow =='Y'>
|
<#if po.isShow =='Y'>
|
||||||
<#assign form_field_dictCode="">
|
<#assign form_field_dictCode="">
|
||||||
<#if po.dictTable?default("")?trim?length gt 1>
|
<#if po.dictTable?default("")?trim?length gt 1 && po.dictText?default("")?trim?length gt 1 && po.dictField?default("")?trim?length gt 1>
|
||||||
<#assign form_field_dictCode="${po.dictTable},${po.dictText},${po.dictField}">
|
<#assign form_field_dictCode="${po.dictTable},${po.dictText},${po.dictField}">
|
||||||
<#elseif po.dictField?default("")?trim?length gt 1>
|
<#elseif po.dictField?default("")?trim?length gt 1>
|
||||||
<#assign form_field_dictCode="${po.dictField}">
|
<#assign form_field_dictCode="${po.dictField}">
|
||||||
@ -87,10 +93,51 @@
|
|||||||
<#elseif po.classType=='image'>
|
<#elseif po.classType=='image'>
|
||||||
<#assign form_image = true>
|
<#assign form_image = true>
|
||||||
<j-image-upload isMultiple <#if po.uploadnum??>:number=${po.uploadnum}</#if> v-decorator="['${po.fieldName}'${autoWriteRules(po)}]" <#if po.readonly=='Y'>disabled</#if>></j-image-upload>
|
<j-image-upload isMultiple <#if po.uploadnum??>:number=${po.uploadnum}</#if> v-decorator="['${po.fieldName}'${autoWriteRules(po)}]" <#if po.readonly=='Y'>disabled</#if>></j-image-upload>
|
||||||
|
<#elseif po.classType=='sel_search'>
|
||||||
|
<#assign form_select_search = true>
|
||||||
|
<j-search-select-tag v-decorator="['${po.fieldName}'${autoWriteRules(po)}]" dict="${form_field_dictCode}" <#if po.readonly=='Y'>disabled</#if> />
|
||||||
|
<#elseif po.classType=='cat_tree'>
|
||||||
|
<#assign form_cat_tree = true>
|
||||||
|
<j-category-select v-decorator="['${po.fieldName}'${autoWriteRules(po)}]" pcode="${po.dictField?default("")}" placeholder="请选择${po.filedComment}" <#if po.dictText?default("")?trim?length gt 1>back="${po.dictText}" @change="handleCategoryChange"</#if> <#if po.readonly=='Y'>disabled</#if>/>
|
||||||
|
<#if po.dictText?default("")?trim?length gt 1>
|
||||||
|
<#assign form_cat_back = "${po.dictText}">
|
||||||
|
</#if>
|
||||||
|
<#elseif po.classType =='pca'>
|
||||||
|
<#assign form_pca=true>
|
||||||
|
<j-area-linkage type="cascader" v-decorator="['${po.fieldName}'${autoWriteRules(po)}]" placeholder="请输入省市区" <#if po.readonly=='Y'>disabled</#if> />
|
||||||
|
<#elseif po.classType=='umeditor'>
|
||||||
|
<#assign form_editor = true>
|
||||||
|
<j-editor v-decorator="['${po.fieldName}',{trigger:'input'}]" <#if po.readonly=='Y'>disabled</#if>/>
|
||||||
|
<#elseif po.classType =='markdown'>
|
||||||
|
<#assign form_md=true>
|
||||||
|
<j-markdown-editor v-decorator="['${po.fieldName}']" id="${po.fieldName}"></j-markdown-editor>
|
||||||
|
<#elseif po.classType == 'sel_tree'>
|
||||||
|
<#assign form_tree_select = true>
|
||||||
|
<j-tree-select
|
||||||
|
ref="treeSelect"
|
||||||
|
placeholder="请选择${po.filedComment}"
|
||||||
|
v-decorator="['${po.fieldName}'${autoWriteRules(po)}]"
|
||||||
|
<#if po.dictText??>
|
||||||
|
<#if po.dictText?split(',')[2]?? && po.dictText?split(',')[0]??>
|
||||||
|
dict="${po.dictTable},${po.dictText?split(',')[2]},${po.dictText?split(',')[0]}"
|
||||||
|
<#elseif po.dictText?split(',')[1]??>
|
||||||
|
pidField="${po.dictText?split(',')[1]}"
|
||||||
|
<#elseif po.dictText?split(',')[3]??>
|
||||||
|
hasChildField="${po.dictText?split(',')[3]}"
|
||||||
|
</#if>
|
||||||
|
</#if>
|
||||||
|
pidValue="${po.dictField}"
|
||||||
|
<#if po.readonly=='Y'>disabled</#if>>
|
||||||
|
</j-tree-select>
|
||||||
<#else>
|
<#else>
|
||||||
<a-input v-decorator="['${po.fieldName}'${autoWriteRules(po)}]" placeholder="请输入${po.filedComment}" <#if po.readonly=='Y'>disabled</#if>></a-input>
|
<a-input v-decorator="['${po.fieldName}'${autoWriteRules(po)}]" placeholder="请输入${po.filedComment}" <#if po.readonly=='Y'>disabled</#if>></a-input>
|
||||||
</#if>
|
</#if>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
|
<#if form_cat_tree && form_cat_back?length gt 1>
|
||||||
|
<a-form-item v-show="false">
|
||||||
|
<a-input v-decorator="['${form_cat_back}']"></a-input>
|
||||||
|
</a-form-item>
|
||||||
|
</#if>
|
||||||
</#if>
|
</#if>
|
||||||
</#list>
|
</#list>
|
||||||
|
|
||||||
@ -131,7 +178,21 @@
|
|||||||
<#if form_switch==true >
|
<#if form_switch==true >
|
||||||
import JSwitch from '@/components/jeecg/JSwitch'
|
import JSwitch from '@/components/jeecg/JSwitch'
|
||||||
</#if>
|
</#if>
|
||||||
|
<#if form_select_search>
|
||||||
|
import JSearchSelectTag from '@/components/dict/JSearchSelectTag'
|
||||||
|
</#if>
|
||||||
|
<#if form_cat_tree>
|
||||||
|
import JCategorySelect from '@/components/jeecg/JCategorySelect'
|
||||||
|
</#if>
|
||||||
|
<#if form_pca>
|
||||||
|
import JAreaLinkage from '@comp/jeecg/JAreaLinkage'
|
||||||
|
</#if>
|
||||||
|
<#if form_editor>
|
||||||
|
import JEditor from '@/components/jeecg/JEditor'
|
||||||
|
</#if>
|
||||||
|
<#if form_md>
|
||||||
|
import JMarkdownEditor from '@/components/jeecg/JMarkdownEditor/index'
|
||||||
|
</#if>
|
||||||
export default {
|
export default {
|
||||||
name: "${entityName}Modal",
|
name: "${entityName}Modal",
|
||||||
components: {
|
components: {
|
||||||
@ -160,7 +221,22 @@
|
|||||||
JSwitch,
|
JSwitch,
|
||||||
</#if>
|
</#if>
|
||||||
<#if form_tree_select>
|
<#if form_tree_select>
|
||||||
JTreeSelect
|
JTreeSelect,
|
||||||
|
</#if>
|
||||||
|
<#if form_select_search>
|
||||||
|
JSearchSelectTag,
|
||||||
|
</#if>
|
||||||
|
<#if form_cat_tree>
|
||||||
|
JCategorySelect,
|
||||||
|
</#if>
|
||||||
|
<#if form_pca>
|
||||||
|
JAreaLinkage,
|
||||||
|
</#if>
|
||||||
|
<#if form_editor>
|
||||||
|
JEditor,
|
||||||
|
</#if>
|
||||||
|
<#if form_md>
|
||||||
|
JMarkdownEditor,
|
||||||
</#if>
|
</#if>
|
||||||
},
|
},
|
||||||
data () {
|
data () {
|
||||||
|
|||||||
@ -31,7 +31,7 @@
|
|||||||
<#list columns as po>
|
<#list columns as po>
|
||||||
<#if po.isShow =='Y' && po.fieldName != 'id'>
|
<#if po.isShow =='Y' && po.fieldName != 'id'>
|
||||||
<#assign form_field_dictCode="">
|
<#assign form_field_dictCode="">
|
||||||
<#if po.dictTable?default("")?trim?length gt 1>
|
<#if po.dictTable?default("")?trim?length gt 1 && po.dictText?default("")?trim?length gt 1 && po.dictField?default("")?trim?length gt 1>
|
||||||
<#assign form_field_dictCode="${po.dictTable},${po.dictText},${po.dictField}">
|
<#assign form_field_dictCode="${po.dictTable},${po.dictText},${po.dictField}">
|
||||||
<#elseif po.dictField?default("")?trim?length gt 1>
|
<#elseif po.dictField?default("")?trim?length gt 1>
|
||||||
<#assign form_field_dictCode="${po.dictField}">
|
<#assign form_field_dictCode="${po.dictField}">
|
||||||
@ -101,6 +101,24 @@
|
|||||||
<j-editor v-decorator="['${po.fieldName}',{trigger:'input'}]" <#if po.readonly=='Y'>disabled</#if>/>
|
<j-editor v-decorator="['${po.fieldName}',{trigger:'input'}]" <#if po.readonly=='Y'>disabled</#if>/>
|
||||||
<#elseif po.fieldDbType=='Blob'>
|
<#elseif po.fieldDbType=='Blob'>
|
||||||
<a-input v-decorator="['${po.fieldName}String'${autoWriteRules(po)}]" placeholder="请输入${po.filedComment}" <#if po.readonly=='Y'>disabled</#if>></a-input>
|
<a-input v-decorator="['${po.fieldName}String'${autoWriteRules(po)}]" placeholder="请输入${po.filedComment}" <#if po.readonly=='Y'>disabled</#if>></a-input>
|
||||||
|
<#elseif po.classType == 'sel_tree'>
|
||||||
|
<#assign form_tree_select = true>
|
||||||
|
<j-tree-select
|
||||||
|
ref="treeSelect"
|
||||||
|
placeholder="请选择${po.filedComment}"
|
||||||
|
v-decorator="['${po.fieldName}'${autoWriteRules(po)}]"
|
||||||
|
<#if po.dictText??>
|
||||||
|
<#if po.dictText?split(',')[2]?? && po.dictText?split(',')[0]??>
|
||||||
|
dict="${po.dictTable},${po.dictText?split(',')[2]},${po.dictText?split(',')[0]}"
|
||||||
|
<#elseif po.dictText?split(',')[1]??>
|
||||||
|
pidField="${po.dictText?split(',')[1]}"
|
||||||
|
<#elseif po.dictText?split(',')[3]??>
|
||||||
|
hasChildField="${po.dictText?split(',')[3]}"
|
||||||
|
</#if>
|
||||||
|
</#if>
|
||||||
|
pidValue="${po.dictField}"
|
||||||
|
<#if po.readonly=='Y'>disabled</#if>>
|
||||||
|
</j-tree-select>
|
||||||
<#else>
|
<#else>
|
||||||
<a-input v-decorator="['${po.fieldName}'${autoWriteRules(po)}]" placeholder="请输入${po.filedComment}" <#if po.readonly=='Y'>disabled</#if>></a-input>
|
<a-input v-decorator="['${po.fieldName}'${autoWriteRules(po)}]" placeholder="请输入${po.filedComment}" <#if po.readonly=='Y'>disabled</#if>></a-input>
|
||||||
</#if>
|
</#if>
|
||||||
|
|||||||
@ -33,7 +33,7 @@
|
|||||||
<#list sub.originalColumns as po>
|
<#list sub.originalColumns as po>
|
||||||
<#if po.isShow =='Y' && po.fieldName != 'id'>
|
<#if po.isShow =='Y' && po.fieldName != 'id'>
|
||||||
<#assign form_field_dictCode="">
|
<#assign form_field_dictCode="">
|
||||||
<#if po.dictTable?default("")?trim?length gt 1>
|
<#if po.dictTable?default("")?trim?length gt 1 && po.dictText?default("")?trim?length gt 1 && po.dictField?default("")?trim?length gt 1>
|
||||||
<#assign form_field_dictCode="${po.dictTable},${po.dictText},${po.dictField}">
|
<#assign form_field_dictCode="${po.dictTable},${po.dictText},${po.dictField}">
|
||||||
<#elseif po.dictField?default("")?trim?length gt 1>
|
<#elseif po.dictField?default("")?trim?length gt 1>
|
||||||
<#assign form_field_dictCode="${po.dictField}">
|
<#assign form_field_dictCode="${po.dictField}">
|
||||||
|
|||||||
@ -32,7 +32,7 @@
|
|||||||
<#list columns as po>
|
<#list columns as po>
|
||||||
<#if po.isShow =='Y' && po.fieldName != 'id'>
|
<#if po.isShow =='Y' && po.fieldName != 'id'>
|
||||||
<#assign form_field_dictCode="">
|
<#assign form_field_dictCode="">
|
||||||
<#if po.dictTable?default("")?trim?length gt 1>
|
<#if po.dictTable?default("")?trim?length gt 1 && po.dictText?default("")?trim?length gt 1 && po.dictField?default("")?trim?length gt 1>
|
||||||
<#assign form_field_dictCode="${po.dictTable},${po.dictText},${po.dictField}">
|
<#assign form_field_dictCode="${po.dictTable},${po.dictText},${po.dictField}">
|
||||||
<#elseif po.dictField?default("")?trim?length gt 1>
|
<#elseif po.dictField?default("")?trim?length gt 1>
|
||||||
<#assign form_field_dictCode="${po.dictField}">
|
<#assign form_field_dictCode="${po.dictField}">
|
||||||
@ -107,6 +107,24 @@
|
|||||||
<j-editor v-decorator="['${po.fieldName}',{trigger:'input'}]" <#if po.readonly=='Y'>disabled</#if>/>
|
<j-editor v-decorator="['${po.fieldName}',{trigger:'input'}]" <#if po.readonly=='Y'>disabled</#if>/>
|
||||||
<#elseif po.fieldDbType=='Blob'>
|
<#elseif po.fieldDbType=='Blob'>
|
||||||
<a-input v-decorator="['${po.fieldName}String'${autoWriteRules(po)}]" placeholder="请输入${po.filedComment}" <#if po.readonly=='Y'>disabled</#if>></a-input>
|
<a-input v-decorator="['${po.fieldName}String'${autoWriteRules(po)}]" placeholder="请输入${po.filedComment}" <#if po.readonly=='Y'>disabled</#if>></a-input>
|
||||||
|
<#elseif po.classType == 'sel_tree'>
|
||||||
|
<#assign form_tree_select = true>
|
||||||
|
<j-tree-select
|
||||||
|
ref="treeSelect"
|
||||||
|
placeholder="请选择${po.filedComment}"
|
||||||
|
v-decorator="['${po.fieldName}'${autoWriteRules(po)}]"
|
||||||
|
<#if po.dictText??>
|
||||||
|
<#if po.dictText?split(',')[2]?? && po.dictText?split(',')[0]??>
|
||||||
|
dict="${po.dictTable},${po.dictText?split(',')[2]},${po.dictText?split(',')[0]}"
|
||||||
|
<#elseif po.dictText?split(',')[1]??>
|
||||||
|
pidField="${po.dictText?split(',')[1]}"
|
||||||
|
<#elseif po.dictText?split(',')[3]??>
|
||||||
|
hasChildField="${po.dictText?split(',')[3]}"
|
||||||
|
</#if>
|
||||||
|
</#if>
|
||||||
|
pidValue="${po.dictField}"
|
||||||
|
<#if po.readonly=='Y'>disabled</#if>>
|
||||||
|
</j-tree-select>
|
||||||
<#else>
|
<#else>
|
||||||
<a-input v-decorator="['${po.fieldName}'${autoWriteRules(po)}]" placeholder="请输入${po.filedComment}" <#if po.readonly=='Y'>disabled</#if>></a-input>
|
<a-input v-decorator="['${po.fieldName}'${autoWriteRules(po)}]" placeholder="请输入${po.filedComment}" <#if po.readonly=='Y'>disabled</#if>></a-input>
|
||||||
</#if>
|
</#if>
|
||||||
|
|||||||
@ -19,7 +19,7 @@
|
|||||||
<#list sub.colums as po>
|
<#list sub.colums as po>
|
||||||
<#if po.isShow =='Y'>
|
<#if po.isShow =='Y'>
|
||||||
<#assign form_field_dictCode="">
|
<#assign form_field_dictCode="">
|
||||||
<#if po.dictTable?default("")?trim?length gt 1>
|
<#if po.dictTable?default("")?trim?length gt 1 && po.dictText?default("")?trim?length gt 1 && po.dictField?default("")?trim?length gt 1>
|
||||||
<#assign form_field_dictCode="${po.dictTable},${po.dictText},${po.dictField}">
|
<#assign form_field_dictCode="${po.dictTable},${po.dictText},${po.dictField}">
|
||||||
<#elseif po.dictField?default("")?trim?length gt 1>
|
<#elseif po.dictField?default("")?trim?length gt 1>
|
||||||
<#assign form_field_dictCode="${po.dictField}">
|
<#assign form_field_dictCode="${po.dictField}">
|
||||||
|
|||||||
@ -31,7 +31,7 @@
|
|||||||
<#list columns as po>
|
<#list columns as po>
|
||||||
<#if po.isShow =='Y' && po.fieldName != 'id'>
|
<#if po.isShow =='Y' && po.fieldName != 'id'>
|
||||||
<#assign form_field_dictCode="">
|
<#assign form_field_dictCode="">
|
||||||
<#if po.dictTable?default("")?trim?length gt 1>
|
<#if po.dictTable?default("")?trim?length gt 1 && po.dictText?default("")?trim?length gt 1 && po.dictField?default("")?trim?length gt 1>
|
||||||
<#assign form_field_dictCode="${po.dictTable},${po.dictText},${po.dictField}">
|
<#assign form_field_dictCode="${po.dictTable},${po.dictText},${po.dictField}">
|
||||||
<#elseif po.dictField?default("")?trim?length gt 1>
|
<#elseif po.dictField?default("")?trim?length gt 1>
|
||||||
<#assign form_field_dictCode="${po.dictField}">
|
<#assign form_field_dictCode="${po.dictField}">
|
||||||
@ -106,6 +106,24 @@
|
|||||||
<j-editor v-decorator="['${po.fieldName}',{trigger:'input'}]" <#if po.readonly=='Y'>disabled</#if>/>
|
<j-editor v-decorator="['${po.fieldName}',{trigger:'input'}]" <#if po.readonly=='Y'>disabled</#if>/>
|
||||||
<#elseif po.fieldDbType=='Blob'>
|
<#elseif po.fieldDbType=='Blob'>
|
||||||
<a-input v-decorator="['${po.fieldName}String'${autoWriteRules(po)}]" placeholder="请输入${po.filedComment}" <#if po.readonly=='Y'>disabled</#if>></a-input>
|
<a-input v-decorator="['${po.fieldName}String'${autoWriteRules(po)}]" placeholder="请输入${po.filedComment}" <#if po.readonly=='Y'>disabled</#if>></a-input>
|
||||||
|
<#elseif po.classType == 'sel_tree'>
|
||||||
|
<#assign form_tree_select = true>
|
||||||
|
<j-tree-select
|
||||||
|
ref="treeSelect"
|
||||||
|
placeholder="请选择${po.filedComment}"
|
||||||
|
v-decorator="['${po.fieldName}'${autoWriteRules(po)}]"
|
||||||
|
<#if po.dictText??>
|
||||||
|
<#if po.dictText?split(',')[2]?? && po.dictText?split(',')[0]??>
|
||||||
|
dict="${po.dictTable},${po.dictText?split(',')[2]},${po.dictText?split(',')[0]}"
|
||||||
|
<#elseif po.dictText?split(',')[1]??>
|
||||||
|
pidField="${po.dictText?split(',')[1]}"
|
||||||
|
<#elseif po.dictText?split(',')[3]??>
|
||||||
|
hasChildField="${po.dictText?split(',')[3]}"
|
||||||
|
</#if>
|
||||||
|
</#if>
|
||||||
|
pidValue="${po.dictField}"
|
||||||
|
<#if po.readonly=='Y'>disabled</#if>>
|
||||||
|
</j-tree-select>
|
||||||
<#else>
|
<#else>
|
||||||
<a-input v-decorator="['${po.fieldName}'${autoWriteRules(po)}]" placeholder="请输入${po.filedComment}" <#if po.readonly=='Y'>disabled</#if>></a-input>
|
<a-input v-decorator="['${po.fieldName}'${autoWriteRules(po)}]" placeholder="请输入${po.filedComment}" <#if po.readonly=='Y'>disabled</#if>></a-input>
|
||||||
</#if>
|
</#if>
|
||||||
|
|||||||
@ -32,7 +32,7 @@
|
|||||||
<#list sub.colums as po>
|
<#list sub.colums as po>
|
||||||
<#if po.isShow =='Y' && po.fieldName != 'id'>
|
<#if po.isShow =='Y' && po.fieldName != 'id'>
|
||||||
<#assign form_field_dictCode="">
|
<#assign form_field_dictCode="">
|
||||||
<#if po.dictTable?default("")?trim?length gt 1>
|
<#if po.dictTable?default("")?trim?length gt 1 && po.dictText?default("")?trim?length gt 1 && po.dictField?default("")?trim?length gt 1>
|
||||||
<#assign form_field_dictCode="${po.dictTable},${po.dictText},${po.dictField}">
|
<#assign form_field_dictCode="${po.dictTable},${po.dictText},${po.dictField}">
|
||||||
<#elseif po.dictField?default("")?trim?length gt 1>
|
<#elseif po.dictField?default("")?trim?length gt 1>
|
||||||
<#assign form_field_dictCode="${po.dictField}">
|
<#assign form_field_dictCode="${po.dictField}">
|
||||||
|
|||||||
@ -34,7 +34,7 @@
|
|||||||
<#list columns as po>
|
<#list columns as po>
|
||||||
<#if po.isShow =='Y' && po.fieldName != 'id'>
|
<#if po.isShow =='Y' && po.fieldName != 'id'>
|
||||||
<#assign form_field_dictCode="">
|
<#assign form_field_dictCode="">
|
||||||
<#if po.dictTable?default("")?trim?length gt 1>
|
<#if po.dictTable?default("")?trim?length gt 1 && po.dictText?default("")?trim?length gt 1 && po.dictField?default("")?trim?length gt 1>
|
||||||
<#assign form_field_dictCode="${po.dictTable},${po.dictText},${po.dictField}">
|
<#assign form_field_dictCode="${po.dictTable},${po.dictText},${po.dictField}">
|
||||||
<#elseif po.dictField?default("")?trim?length gt 1>
|
<#elseif po.dictField?default("")?trim?length gt 1>
|
||||||
<#assign form_field_dictCode="${po.dictField}">
|
<#assign form_field_dictCode="${po.dictField}">
|
||||||
@ -109,6 +109,24 @@
|
|||||||
<j-editor v-decorator="['${po.fieldName}',{trigger:'input'}]" <#if po.readonly=='Y'>disabled</#if>/>
|
<j-editor v-decorator="['${po.fieldName}',{trigger:'input'}]" <#if po.readonly=='Y'>disabled</#if>/>
|
||||||
<#elseif po.fieldDbType=='Blob'>
|
<#elseif po.fieldDbType=='Blob'>
|
||||||
<a-input v-decorator="['${po.fieldName}String'${autoWriteRules(po)}]" placeholder="请输入${po.filedComment}" <#if po.readonly=='Y'>disabled</#if>></a-input>
|
<a-input v-decorator="['${po.fieldName}String'${autoWriteRules(po)}]" placeholder="请输入${po.filedComment}" <#if po.readonly=='Y'>disabled</#if>></a-input>
|
||||||
|
<#elseif po.classType == 'sel_tree'>
|
||||||
|
<#assign form_tree_select = true>
|
||||||
|
<j-tree-select
|
||||||
|
ref="treeSelect"
|
||||||
|
placeholder="请选择${po.filedComment}"
|
||||||
|
v-decorator="['${po.fieldName}'${autoWriteRules(po)}]"
|
||||||
|
<#if po.dictText??>
|
||||||
|
<#if po.dictText?split(',')[2]?? && po.dictText?split(',')[0]??>
|
||||||
|
dict="${po.dictTable},${po.dictText?split(',')[2]},${po.dictText?split(',')[0]}"
|
||||||
|
<#elseif po.dictText?split(',')[1]??>
|
||||||
|
pidField="${po.dictText?split(',')[1]}"
|
||||||
|
<#elseif po.dictText?split(',')[3]??>
|
||||||
|
hasChildField="${po.dictText?split(',')[3]}"
|
||||||
|
</#if>
|
||||||
|
</#if>
|
||||||
|
pidValue="${po.dictField}"
|
||||||
|
<#if po.readonly=='Y'>disabled</#if>>
|
||||||
|
</j-tree-select>
|
||||||
<#else>
|
<#else>
|
||||||
<a-input v-decorator="['${po.fieldName}'${autoWriteRules(po)}]" placeholder="请输入${po.filedComment}" <#if po.readonly=='Y'>disabled</#if>></a-input>
|
<a-input v-decorator="['${po.fieldName}'${autoWriteRules(po)}]" placeholder="请输入${po.filedComment}" <#if po.readonly=='Y'>disabled</#if>></a-input>
|
||||||
</#if>
|
</#if>
|
||||||
|
|||||||
@ -17,18 +17,22 @@ import org.springframework.core.env.Environment;
|
|||||||
import java.net.InetAddress;
|
import java.net.InetAddress;
|
||||||
import java.net.UnknownHostException;
|
import java.net.UnknownHostException;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 微服务启动类(采用此类启动项目为微服务模式)
|
||||||
|
* 注意: 需要先在naocs里面创建配置文件,参考文档 http://doc.jeecg.com/2043906
|
||||||
|
*/
|
||||||
@Slf4j
|
@Slf4j
|
||||||
@SpringBootApplication
|
@SpringBootApplication
|
||||||
@EnableFeignClients(basePackages = {"org.jeecg"})
|
@EnableFeignClients(basePackages = {"org.jeecg"})
|
||||||
public class JeecgSystemApplication extends SpringBootServletInitializer {
|
public class JeecgSystemCloudApplication extends SpringBootServletInitializer {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
|
protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
|
||||||
return application.sources(JeecgSystemApplication.class);
|
return application.sources(JeecgSystemCloudApplication.class);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void main(String[] args) throws UnknownHostException {
|
public static void main(String[] args) throws UnknownHostException {
|
||||||
ConfigurableApplicationContext application = SpringApplication.run(JeecgSystemApplication.class, args);
|
ConfigurableApplicationContext application = SpringApplication.run(JeecgSystemCloudApplication.class, args);
|
||||||
Environment env = application.getEnvironment();
|
Environment env = application.getEnvironment();
|
||||||
String ip = InetAddress.getLocalHost().getHostAddress();
|
String ip = InetAddress.getLocalHost().getHostAddress();
|
||||||
String port = env.getProperty("server.port");
|
String port = env.getProperty("server.port");
|
||||||
@ -36,7 +36,7 @@
|
|||||||
<commons.version>2.6</commons.version>
|
<commons.version>2.6</commons.version>
|
||||||
<aliyun-java-sdk-dysmsapi.version>1.0.0</aliyun-java-sdk-dysmsapi.version>
|
<aliyun-java-sdk-dysmsapi.version>1.0.0</aliyun-java-sdk-dysmsapi.version>
|
||||||
<aliyun.oss.version>3.6.0</aliyun.oss.version>
|
<aliyun.oss.version>3.6.0</aliyun.oss.version>
|
||||||
<shiro.version>1.7.0</shiro.version>
|
<shiro.version>1.6.0</shiro.version>
|
||||||
<java-jwt.version>3.11.0</java-jwt.version>
|
<java-jwt.version>3.11.0</java-jwt.version>
|
||||||
<shiro-redis.version>3.1.0</shiro-redis.version>
|
<shiro-redis.version>3.1.0</shiro-redis.version>
|
||||||
<codegenerate.version>1.2.5</codegenerate.version>
|
<codegenerate.version>1.2.5</codegenerate.version>
|
||||||
@ -45,6 +45,7 @@
|
|||||||
<justauth-spring-boot-starter.version>1.3.2</justauth-spring-boot-starter.version>
|
<justauth-spring-boot-starter.version>1.3.2</justauth-spring-boot-starter.version>
|
||||||
<dom4j.version>1.6.1</dom4j.version>
|
<dom4j.version>1.6.1</dom4j.version>
|
||||||
<qiniu-java-sdk.version>7.2.23</qiniu-java-sdk.version>
|
<qiniu-java-sdk.version>7.2.23</qiniu-java-sdk.version>
|
||||||
|
<pinyin4j.version>2.5.1</pinyin4j.version>
|
||||||
</properties>
|
</properties>
|
||||||
|
|
||||||
<modules>
|
<modules>
|
||||||
|
|||||||
Reference in New Issue
Block a user