提交 2db126c9 编写于 作者: ibizdev's avatar ibizdev

ibiz4j 发布系统代码

上级 e2b49ed8
{ {
"sdfileeditview": {
"title": "文件编辑视图",
"caption": "文件",
"viewtype": "DEEDITVIEW",
"viewmodule": "disk",
"viewname": "SDFileEditView",
"viewtag": "646581c57dbd5cf6c2570e4013f3adb8"
},
"sdfilegridview": { "sdfilegridview": {
"title": "文件表格视图", "title": "文件表格视图",
"caption": "文件", "caption": "文件",
"viewtype": "DEGRIDVIEW", "viewtype": "DEGRIDVIEW",
"viewmodule": "disk", "viewmodule": "disk",
"viewname": "SDFileGridView", "viewname": "SDFileGridView",
"viewtag": "254cf228e42d864c1cefd0f5526492ad" "viewtag": "795a12a2bfb63a98ce5bb80310509360"
}, },
"sdindexview": { "sdindexview": {
"title": "ibizlab-disk", "title": "ibizlab-disk",
...@@ -13,14 +21,6 @@ ...@@ -13,14 +21,6 @@
"viewtype": "APPINDEXVIEW", "viewtype": "APPINDEXVIEW",
"viewmodule": "disk", "viewmodule": "disk",
"viewname": "SDIndexView", "viewname": "SDIndexView",
"viewtag": "84B85718-5EB1-45E3-97F4-A1AC21B4DBE6" "viewtag": "c0a8e8c1058d9a5cdb5a6edbf9855886"
},
"sdfileeditview": {
"title": "文件编辑视图",
"caption": "文件",
"viewtype": "DEEDITVIEW",
"viewmodule": "disk",
"viewname": "SDFileEditView",
"viewtag": "d655c8b630fcdc664b330967c012950e"
} }
} }
window.Environment = {
// 应用基础路径
BaseUrl: '',
// 是否为开发模式
devMode: true,
// 是否为pc端应用
isAppMode:true,
// 是否开启权限认证
enablePermissionValid:false,
// 打开目标工具,可选参数:sln、mos
debugOpenMode:'mos',
// 配置平台地址
StudioUrl: "http://172.16.170.145/mos/",
// 中心标识
SlnId: "B4BF5C84-D020-4D9A-A986-8FA4FD72816C",
// 系统标识
SysId: "B428B5BE-EA90-4101-A493-BA7085D89F0A",
// 前端应用标识
AppId: "6e0b7357169ef4eba84e1347ed94bd84",
}
\ No newline at end of file
...@@ -12,6 +12,7 @@ ...@@ -12,6 +12,7 @@
<script lang="ts"> <script lang="ts">
import { Vue, Component, Prop, Model, Emit,Inject, Watch } from "vue-property-decorator"; import { Vue, Component, Prop, Model, Emit,Inject, Watch } from "vue-property-decorator";
import { Subject,Subscription } from "rxjs"; import { Subject,Subscription } from "rxjs";
import { Environment } from '@/environments/environment';
@Component({}) @Component({})
export default class AppActionBar extends Vue { export default class AppActionBar extends Vue {
...@@ -99,37 +100,39 @@ export default class AppActionBar extends Vue { ...@@ -99,37 +100,39 @@ export default class AppActionBar extends Vue {
* @memberof AppActionBar * @memberof AppActionBar
*/ */
public calcActionItemAuthState(data:any,ActionModel:any,UIService:any){ public calcActionItemAuthState(data:any,ActionModel:any,UIService:any){
for (const key in ActionModel) { if(Environment.enablePermissionValid){
if (!ActionModel.hasOwnProperty(key)) { for (const key in ActionModel) {
return; if (!ActionModel.hasOwnProperty(key)) {
} return;
const _item = ActionModel[key]; }
if(_item && _item['dataaccaction'] && UIService){ const _item = ActionModel[key];
let dataActionResult:any; if(_item && _item['dataaccaction'] && UIService){
if(Object.is(_item['actiontarget'],"NONE")){ let dataActionResult:any;
dataActionResult = UIService.getResourceOPPrivs(_item['dataaccaction']); if(Object.is(_item['actiontarget'],"NONE")){
}else{ dataActionResult = UIService.getResourceOPPrivs(_item['dataaccaction']);
if(data && Object.keys(data).length >0){ }else{
dataActionResult = UIService.getAllOPPrivs(data)[_item['dataaccaction']]; if(data && Object.keys(data).length >0){
} dataActionResult = UIService.getAllOPPrivs(data)[_item['dataaccaction']];
} }
// 无权限:0;有权限:1 }
if(dataActionResult === 0){ // 无权限:0;有权限:1
// 禁用:1;隐藏:2;隐藏且默认隐藏:6 if(dataActionResult === 0){
if(_item.noprivdisplaymode === 1){ // 禁用:1;隐藏:2;隐藏且默认隐藏:6
_item.disabled = true; if(_item.noprivdisplaymode === 1){
} _item.disabled = true;
if((_item.noprivdisplaymode === 2) || (_item.noprivdisplaymode === 6)){ }
_item.visabled = false; if((_item.noprivdisplaymode === 2) || (_item.noprivdisplaymode === 6)){
}else{ _item.visabled = false;
_item.visabled = true; }else{
} _item.visabled = true;
} }
if(dataActionResult === 1){ }
_item.visabled = true; if(dataActionResult === 1){
_item.disabled = false; _item.visabled = true;
} _item.disabled = false;
} }
}
}
} }
} }
......
...@@ -222,7 +222,12 @@ export default class AppEmbedPicker extends Vue { ...@@ -222,7 +222,12 @@ export default class AppEmbedPicker extends Vue {
if(Object.is(newFormData[this.refreshitems], oldDormData[this.refreshitems])) { if(Object.is(newFormData[this.refreshitems], oldDormData[this.refreshitems])) {
return; return;
} }
this.setValue([{srfmajortext: null, srfkey: null}]); if (this.valueItem) {
this.$emit('formitemvaluechange', { name: this.valueItem, value: null });
}
if (this.name) {
this.$emit('formitemvaluechange', { name: this.name, value: null });
}
} }
/** /**
...@@ -231,6 +236,7 @@ export default class AppEmbedPicker extends Vue { ...@@ -231,6 +236,7 @@ export default class AppEmbedPicker extends Vue {
* @memberof AppEmbedPicker * @memberof AppEmbedPicker
*/ */
public created() { public created() {
this.setViewParam();
if(this.formState) { if(this.formState) {
this.formStateEvent = this.formState.subscribe(({ tag, action, data }) => { this.formStateEvent = this.formState.subscribe(({ tag, action, data }) => {
if (Object.is('load', action)) { if (Object.is('load', action)) {
......
...@@ -108,6 +108,7 @@ ...@@ -108,6 +108,7 @@
<script lang="ts"> <script lang="ts">
import { Vue, Component, Prop, Watch } from 'vue-property-decorator'; import { Vue, Component, Prop, Watch } from 'vue-property-decorator';
import { Environment } from '@/environments/environment';
@Component({}) @Component({})
export default class AppFormGroup extends Vue { export default class AppFormGroup extends Vue {
...@@ -157,36 +158,38 @@ export default class AppFormGroup extends Vue { ...@@ -157,36 +158,38 @@ export default class AppFormGroup extends Vue {
* @memberof AppFormGroup * @memberof AppFormGroup
*/ */
public calcActionItemAuthState(data:any,ActionModel:any,UIService:any){ public calcActionItemAuthState(data:any,ActionModel:any,UIService:any){
for (const key in ActionModel) { if(Environment.enablePermissionValid){
if (!ActionModel.hasOwnProperty(key)) { for (const key in ActionModel) {
return; if (!ActionModel.hasOwnProperty(key)) {
} return;
const _item = ActionModel[key];
if(_item && _item['dataaccaction'] && UIService){
let dataActionResult:any;
if(Object.is(_item['actiontarget'],"NONE")){
dataActionResult = UIService.getResourceOPPrivs(_item['dataaccaction']);
}else{
if(data && Object.keys(data).length >0){
dataActionResult = UIService.getAllOPPrivs(data)[_item['dataaccaction']];
}
} }
// 无权限:0;有权限:1 const _item = ActionModel[key];
if(dataActionResult === 0){ if(_item && _item['dataaccaction'] && UIService){
// 禁用:1;隐藏:2;隐藏且默认隐藏:6 let dataActionResult:any;
if(_item.noprivdisplaymode === 1){ if(Object.is(_item['actiontarget'],"NONE")){
_item.disabled = true; dataActionResult = UIService.getResourceOPPrivs(_item['dataaccaction']);
}
if((_item.noprivdisplaymode === 2) || (_item.noprivdisplaymode === 6)){
_item.visabled = false;
}else{ }else{
if(data && Object.keys(data).length >0){
dataActionResult = UIService.getAllOPPrivs(data)[_item['dataaccaction']];
}
}
// 无权限:0;有权限:1
if(dataActionResult === 0){
// 禁用:1;隐藏:2;隐藏且默认隐藏:6
if(_item.noprivdisplaymode === 1){
_item.disabled = true;
}
if((_item.noprivdisplaymode === 2) || (_item.noprivdisplaymode === 6)){
_item.visabled = false;
}else{
_item.visabled = true;
}
}
if(dataActionResult === 1){
_item.visabled = true; _item.visabled = true;
_item.disabled = false;
} }
} }
if(dataActionResult === 1){
_item.visabled = true;
_item.disabled = false;
}
} }
} }
} }
......
...@@ -19,10 +19,12 @@ ...@@ -19,10 +19,12 @@
padding-top: 2px; padding-top: 2px;
padding-right: 2px; padding-right: 2px;
color: #aaa; color: #aaa;
cursor: pointer;
} }
.Row { .Row {
height: 70px; min-height: 70px;
height: auto;
border-bottom: 1px solid lightgray; border-bottom: 1px solid lightgray;
display: flex; display: flex;
align-items: center; align-items: center;
...@@ -34,20 +36,24 @@ ...@@ -34,20 +36,24 @@
.column2 { .column2 {
border: 0px red solid; border: 0px red solid;
.process-definition-name { .process-definition-name {
font-size: 14px; font-size: 14px;
padding-top: 5px;
}
.description {
margin-top: 6px;
margin-bottom: 6px;
max-width: 95%;
}
.createtime {
padding-bottom: 5px;
} }
.el-row { .el-row {
display: flex; display: flex;
.el-col { .el-col {
flex-grow: 1; flex-grow: 1;
div {
margin-bottom: 5px;
}
div:first-child { div:first-child {
font-weight: 500; font-weight: 500;
overflow: hidden; overflow: hidden;
......
...@@ -20,8 +20,8 @@ ...@@ -20,8 +20,8 @@
<el-row :draggable="false"> <el-row :draggable="false">
<el-col :span="16" :draggable="false"> <el-col :span="16" :draggable="false">
<div class="process-definition-name" :draggable="false"><strong>{{myTask.processDefinitionName}}</strong></div> <div class="process-definition-name" :draggable="false"><strong>{{myTask.processDefinitionName}}</strong></div>
<div :draggable="false">{{myTask.description}}</div> <div class="description" :draggable="false">{{myTask.description}}</div>
<div :draggable="false">{{ formatDate(myTask.createTime, 'MM-DD hh:mm') }}</div> <div class="createtime" :draggable="false">{{ formatDate(myTask.createTime, 'MM-DD hh:mm') }}</div>
</el-col> </el-col>
<el-col :span="5" :draggable="false" style='display: flex; align-items: center'> <el-col :span="5" :draggable="false" style='display: flex; align-items: center'>
<el-tag :type="myTask.name.indexOf('驳回')!=-1?'danger':(myTask.name.indexOf('成功')!=-1?'success':(myTask.name.indexOf('取消')!=-1?'info':'-'))" <el-tag :type="myTask.name.indexOf('驳回')!=-1?'danger':(myTask.name.indexOf('成功')!=-1?'success':(myTask.name.indexOf('取消')!=-1?'info':'-'))"
...@@ -54,8 +54,8 @@ ...@@ -54,8 +54,8 @@
<el-row :draggable="false"> <el-row :draggable="false">
<el-col :span="16" :draggable="false"> <el-col :span="16" :draggable="false">
<div class="process-definition-name" :draggable="false"><strong>{{myMsg.processDefinitionName}}</strong></div> <div class="process-definition-name" :draggable="false"><strong>{{myMsg.processDefinitionName}}</strong></div>
<div :draggable="false">{{myMsg.description}}</div> <div class="description" :draggable="false">{{myMsg.description}}</div>
<div :draggable="false">{{ formatDate(myMsg.createTime, 'MM-DD hh:mm') }}</div> <div class="createtime" :draggable="false">{{ formatDate(myMsg.createTime, 'MM-DD hh:mm') }}</div>
</el-col> </el-col>
<el-col :span="5" :draggable="false" style='display: flex; align-items: center'> <el-col :span="5" :draggable="false" style='display: flex; align-items: center'>
<el-tag :type="myMsg.name.indexOf('驳回')!=-1?'danger':(myMsg.name.indexOf('成功')!=-1?'success':(myMsg.name.indexOf('取消')!=-1?'info':'-'))" <el-tag :type="myMsg.name.indexOf('驳回')!=-1?'danger':(myMsg.name.indexOf('成功')!=-1?'success':(myMsg.name.indexOf('取消')!=-1?'info':'-'))"
......
...@@ -5,11 +5,21 @@ ...@@ -5,11 +5,21 @@
display: none; display: none;
} }
.el-transfer{ .el-transfer{
max-height: 200px;
min-width: 100% !important; min-width: 100% !important;
display: flex; display: flex;
justify-content: space-between; justify-content: space-between;
.el-transfer-panel{ .el-transfer-panel{
min-width: 25%; min-width: 25%;
.el-transfer-panel__body{
max-height: 160px;
.el-checkbox-group{
max-height: 160px;
.el-checkbox+.el-checkbox {
margin-left: 0px;
}
}
}
} }
.el-transfer__buttons{ .el-transfer__buttons{
align-self: center; align-self: center;
......
...@@ -5,30 +5,35 @@ ...@@ -5,30 +5,35 @@
<span>{{data.startUserName}}{{$t('components.appWFApproval.commit')}}</span> <span>{{data.startUserName}}{{$t('components.appWFApproval.commit')}}</span>
</div> </div>
<div class="app-wf-approval-content" v-if="data.usertasks && data.usertasks.length >0"> <div class="app-wf-approval-content" v-if="data.usertasks && data.usertasks.length >0">
<div class="approval-content-item" v-for="(usertask,index) in data.usertasks" :key="index"> <template v-for="(usertask,index) in data.usertasks" >
<div class="approval-content-item-left"> <template v-if="usertask.identitylinks.length >0">
{{usertask.userTaskName}} <div class="approval-content-item" :key="index">
</div> <div class="approval-content-item-left">
<div class="approval-content-item-right"> {{usertask.userTaskName}}
<div class="approval-content-item-wait" v-if="usertask.identitylinks.length >0"> </div>
{{$t('components.appWFApproval.wait')}}<span v-for="(identitylink,inx) in usertask.identitylinks" :key="inx">{{identitylink.displayname}}<span v-if="inx >0"></span></span>{{$t('components.appWFApproval.handle')}} <div class="approval-content-item-right">
</div> <div class="approval-content-item-wait" v-if="usertask.identitylinks.length >0">
<div class="approval-content-item-info" v-if="usertask.comments.length >0"> {{$t('components.appWFApproval.wait')}}<span v-for="(identitylink,inx) in usertask.identitylinks" :key="inx">{{identitylink.displayname}}<span v-if="inx >0"></span></span>{{$t('components.appWFApproval.handle')}}
<div v-for="(comment,commentInx) in usertask.comments" :key="commentInx">
<div class="approval-content-item-info-item approval-content-item-info-top">
{{`【${comment.type}】${comment.fullMessage}`}}
</div> </div>
<div class="approval-content-item-info-item approval-content-item-info-bottom"> <div class="approval-content-item-info" v-if="usertask.comments.length >0">
<span class="info-bottom-name">{{comment.authorName}}</span> <div v-for="(comment,commentInx) in usertask.comments" :key="commentInx">
<span>{{comment.time}}</span> <div class="approval-content-item-info-item approval-content-item-info-top">
{{`【${comment.type}】${comment.fullMessage}`}}
</div>
<div class="approval-content-item-info-item approval-content-item-info-bottom">
<span class="info-bottom-name">{{comment.authorName}}</span>
<span>{{comment.time}}</span>
</div>
</div>
</div>
<div class="approval-content-item-memo" v-if="usertask.userTaskId === viewparams.userTaskId">
<el-input type="textarea" v-model="initmemo" :rows="2" @blur="handleBlur" :placeholder="$t('components.appWFApproval.placeholder')"></el-input>
</div> </div>
</div> </div>
</div> </div>
<div class="approval-content-item-memo" v-if="usertask.userTaskId === viewparams.userTaskId"> </template>
<el-input type="textarea" v-model="initmemo" :rows="2" @blur="handleBlur" :placeholder="$t('components.appWFApproval.placeholder')"></el-input> </template>
</div>
</div>
</div>
</div> </div>
<div class="app-wf-approval-bottom"> <div class="app-wf-approval-bottom">
<span v-if="data.endTime">{{data.endTime}}{{$t('components.appWFApproval.end')}}</span> <span v-if="data.endTime">{{data.endTime}}{{$t('components.appWFApproval.end')}}</span>
......
...@@ -8,7 +8,7 @@ ...@@ -8,7 +8,7 @@
:filterable="filterable" :filterable="filterable"
@on-open-change="onClick" @on-open-change="onClick"
:placeholder="$t('components.dropDownListDynamic.placeholder')"> :placeholder="$t('components.dropDownListDynamic.placeholder')">
<i-option v-for="(item, index) in items" :key="index" :value="item.value">{{($t('userCustom.'+tag+'.'+item.value)!== ('userCustom.'+tag+'.'+item.value))?$t('userCustom.'+tag+'.'+item.value) : item.text}}</i-option> <i-option v-for="(item, index) in items" :key="index" :class="item.class" :value="item.value">{{($t('userCustom.'+tag+'.'+item.value)!== ('userCustom.'+tag+'.'+item.value))?$t('userCustom.'+tag+'.'+item.value) : item.text}}</i-option>
</i-select> </i-select>
</template> </template>
......
...@@ -12,7 +12,7 @@ ...@@ -12,7 +12,7 @@
:filterable="filterable" :filterable="filterable"
@on-open-change="onClick" @on-open-change="onClick"
:placeholder="$t('components.dropDownListMpicker.placeholder')"> :placeholder="$t('components.dropDownListMpicker.placeholder')">
<i-option v-for="(item, index) in items" :key="index" :value="item.value.toString()" :label="item.text"> <i-option v-for="(item, index) in items" :key="index" :class="item.class" :value="item.value.toString()" :label="item.text">
<Checkbox :value = "(currentVal.indexOf(item.value.toString()))==-1?false:true"> <Checkbox :value = "(currentVal.indexOf(item.value.toString()))==-1?false:true">
{{Object.is(codelistType,'STATIC') ? $t('codelist.'+tag+'.'+item.value) : item.text}} {{Object.is(codelistType,'STATIC') ? $t('codelist.'+tag+'.'+item.value) : item.text}}
</Checkbox> </Checkbox>
......
...@@ -9,7 +9,7 @@ ...@@ -9,7 +9,7 @@
:filterable="filterable" :filterable="filterable"
@on-open-change="onClick" @on-open-change="onClick"
:placeholder="$t('components.dropDownList.placeholder')"> :placeholder="$t('components.dropDownList.placeholder')">
<i-option v-for="(item, index) in items" :key="index" :value="item.value">{{($t('codelist.'+tag+'.'+item.value)!== ('codelist.'+tag+'.'+item.value))?$t('codelist.'+tag+'.'+item.value) : item.text}}</i-option> <i-option v-for="(item, index) in items" :key="index" :class="item.class" :value="item.value">{{($t('codelist.'+tag+'.'+item.value)!== ('codelist.'+tag+'.'+item.value))?$t('codelist.'+tag+'.'+item.value) : item.text}}</i-option>
</i-select> </i-select>
<ibiz-select-tree v-if="hasChildren" class="tree-dropdown-list" :disabled="disabled" :NodesData="items" v-model="currentVal" :multiple="false"></ibiz-select-tree> <ibiz-select-tree v-if="hasChildren" class="tree-dropdown-list" :disabled="disabled" :NodesData="items" v-model="currentVal" :multiple="false"></ibiz-select-tree>
</div> </div>
......
import { Environment } from '@/environments/environment';
/** /**
* *
* *
...@@ -184,37 +186,39 @@ export default class ViewEngine { ...@@ -184,37 +186,39 @@ export default class ViewEngine {
* @memberof ViewEngine * @memberof ViewEngine
*/ */
public calcToolbarItemAuthState(data:any){ public calcToolbarItemAuthState(data:any){
const _this: any = this; if(Environment.enablePermissionValid){
for (const key in _this.view.toolBarModels) { const _this: any = this;
if (!_this.view.toolBarModels.hasOwnProperty(key)) { for (const key in _this.view.toolBarModels) {
return; if (!_this.view.toolBarModels.hasOwnProperty(key)) {
} return;
const _item = _this.view.toolBarModels[key];
if(_item && _item['dataaccaction'] && _this.view.appUIService){
let dataActionResult:any;
if (_item.uiaction && (Object.is(_item.uiaction.target, 'NONE'))){
dataActionResult = _this.view.appUIService.getResourceOPPrivs(_item['dataaccaction']);
}else{
if(data && Object.keys(data).length >0){
dataActionResult= _this.view.appUIService.getAllOPPrivs(data)[_item['dataaccaction']];
}
} }
// 无权限:0;有权限:1 const _item = _this.view.toolBarModels[key];
if(dataActionResult === 0){ if(_item && _item['dataaccaction'] && _this.view.appUIService){
// 禁用:1;隐藏:2;隐藏且默认隐藏:6 let dataActionResult:any;
if(_item.noprivdisplaymode === 1){ if (_item.uiaction && (Object.is(_item.uiaction.target, 'NONE'))){
_this.view.toolBarModels[key].disabled = true; dataActionResult = _this.view.appUIService.getResourceOPPrivs(_item['dataaccaction']);
}
if((_item.noprivdisplaymode === 2) || (_item.noprivdisplaymode === 6)){
_this.view.toolBarModels[key].visabled = false;
}else{ }else{
if(data && Object.keys(data).length >0){
dataActionResult= _this.view.appUIService.getAllOPPrivs(data)[_item['dataaccaction']];
}
}
// 无权限:0;有权限:1
if(dataActionResult === 0){
// 禁用:1;隐藏:2;隐藏且默认隐藏:6
if(_item.noprivdisplaymode === 1){
_this.view.toolBarModels[key].disabled = true;
}
if((_item.noprivdisplaymode === 2) || (_item.noprivdisplaymode === 6)){
_this.view.toolBarModels[key].visabled = false;
}else{
_this.view.toolBarModels[key].visabled = true;
}
}
if(dataActionResult === 1){
_this.view.toolBarModels[key].visabled = true; _this.view.toolBarModels[key].visabled = true;
_this.view.toolBarModels[key].disabled = false;
} }
} }
if(dataActionResult === 1){
_this.view.toolBarModels[key].visabled = true;
_this.view.toolBarModels[key].disabled = false;
}
} }
} }
} }
......
...@@ -25,8 +25,10 @@ export const Environment = { ...@@ -25,8 +25,10 @@ export const Environment = {
enablePermissionValid:false, enablePermissionValid:false,
// 项目模板地址 // 项目模板地址
ProjectUrl: "http://demo.ibizlab.cn/ibizr7pfstdtempl/ibizvuer7", ProjectUrl: "http://demo.ibizlab.cn/ibizr7pfstdtempl/ibizvuer7",
// 打开目标工具,可选参数:sln、mos
debugOpenMode:'mos',
// 配置平台地址 // 配置平台地址
StudioUrl: "http://172.16.170.145/slnstudio/", StudioUrl: "http://172.16.170.145/mos/",
// 中心标识 // 中心标识
SlnId: "B4BF5C84-D020-4D9A-A986-8FA4FD72816C", SlnId: "B4BF5C84-D020-4D9A-A986-8FA4FD72816C",
// 系统标识 // 系统标识
...@@ -34,9 +36,13 @@ export const Environment = { ...@@ -34,9 +36,13 @@ export const Environment = {
// 前端应用标识 // 前端应用标识
AppId: "6e0b7357169ef4eba84e1347ed94bd84", AppId: "6e0b7357169ef4eba84e1347ed94bd84",
// 项目发布文件地址 // 项目发布文件地址
PublishProjectUrl: 'http://oauth2:ymrzrgzh97axsgq_TjR3@labcs.ibizee.cn/ibiz4jteam/ibzdisk.git', PublishProjectUrl: 'http://oauth2:cTux_e7Aoz1PrasP5dDq@demo.ibizlab.cn/ibiz4jteam/ibzdisk.git',
// ibiz开放平台地址 // ibiz开放平台地址
ibizlabtUrl: 'https://www.ibizlab.cn', ibizlabtUrl: 'https://www.ibizlab.cn',
// ibiz论坛地址 // ibiz论坛地址
ibizbbstUrl: 'https://bbs.ibizlab.cn', ibizbbstUrl: 'https://bbs.ibizlab.cn',
}; };
\ No newline at end of file // 挂载外部配置文件
if ((window as any).Environment) {
Object.assign(Environment, (window as any).Environment);
}
\ No newline at end of file
export default { export default {
views: { views: {
gridview: {
caption: "文件",
title: "文件表格视图",
},
editview: { editview: {
caption: "文件", caption: "文件",
title: "文件编辑视图", title: "文件编辑视图",
}, },
gridview: {
caption: "文件",
title: "文件表格视图",
},
}, },
main_form: { main_form: {
details: { details: {
...@@ -64,64 +64,6 @@ export default { ...@@ -64,64 +64,6 @@ export default {
uiactions: { uiactions: {
}, },
}, },
gridviewtoolbar_toolbar: {
tbitem3: {
caption: "New",
tip: "New",
},
tbitem4: {
caption: "Edit",
tip: "Edit {0}",
},
tbitem6: {
caption: "Copy",
tip: "Copy {0}",
},
tbitem7: {
caption: "-",
tip: "",
},
tbitem8: {
caption: "Remove",
tip: "Remove {0}",
},
tbitem9: {
caption: "-",
tip: "",
},
tbitem13: {
caption: "Export",
tip: "Export {0} Data To Excel",
},
tbitem10: {
caption: "-",
tip: "",
},
tbitem16: {
caption: "其它",
tip: "其它",
},
tbitem21: {
caption: "Export Data Model",
tip: "导出数据模型",
},
tbitem23: {
caption: "数据导入",
tip: "数据导入",
},
tbitem17: {
caption: "-",
tip: "",
},
tbitem19: {
caption: "Filter",
tip: "Filter",
},
tbitem18: {
caption: "Help",
tip: "Help",
},
},
editviewtoolbar_toolbar: { editviewtoolbar_toolbar: {
tbitem3: { tbitem3: {
caption: "Save", caption: "Save",
...@@ -188,4 +130,62 @@ export default { ...@@ -188,4 +130,62 @@ export default {
tip: "Help", tip: "Help",
}, },
}, },
gridviewtoolbar_toolbar: {
tbitem3: {
caption: "New",
tip: "New",
},
tbitem4: {
caption: "Edit",
tip: "Edit {0}",
},
tbitem6: {
caption: "Copy",
tip: "Copy {0}",
},
tbitem7: {
caption: "-",
tip: "",
},
tbitem8: {
caption: "Remove",
tip: "Remove {0}",
},
tbitem9: {
caption: "-",
tip: "",
},
tbitem13: {
caption: "Export",
tip: "Export {0} Data To Excel",
},
tbitem10: {
caption: "-",
tip: "",
},
tbitem16: {
caption: "其它",
tip: "其它",
},
tbitem21: {
caption: "Export Data Model",
tip: "导出数据模型",
},
tbitem23: {
caption: "数据导入",
tip: "数据导入",
},
tbitem17: {
caption: "-",
tip: "",
},
tbitem19: {
caption: "Filter",
tip: "Filter",
},
tbitem18: {
caption: "Help",
tip: "Help",
},
},
}; };
\ No newline at end of file
export default { export default {
views: { views: {
gridview: {
caption: "文件",
title: "文件表格视图",
},
editview: { editview: {
caption: "文件", caption: "文件",
title: "文件编辑视图", title: "文件编辑视图",
}, },
gridview: {
caption: "文件",
title: "文件表格视图",
},
}, },
main_form: { main_form: {
details: { details: {
...@@ -63,64 +63,6 @@ export default { ...@@ -63,64 +63,6 @@ export default {
uiactions: { uiactions: {
}, },
}, },
gridviewtoolbar_toolbar: {
tbitem3: {
caption: "新建",
tip: "新建",
},
tbitem4: {
caption: "编辑",
tip: "编辑",
},
tbitem6: {
caption: "拷贝",
tip: "拷贝",
},
tbitem7: {
caption: "-",
tip: "",
},
tbitem8: {
caption: "删除",
tip: "删除",
},
tbitem9: {
caption: "-",
tip: "",
},
tbitem13: {
caption: "导出",
tip: "导出",
},
tbitem10: {
caption: "-",
tip: "",
},
tbitem16: {
caption: "其它",
tip: "其它",
},
tbitem21: {
caption: "导出数据模型",
tip: "导出数据模型",
},
tbitem23: {
caption: "数据导入",
tip: "数据导入",
},
tbitem17: {
caption: "-",
tip: "",
},
tbitem19: {
caption: "过滤",
tip: "过滤",
},
tbitem18: {
caption: "帮助",
tip: "帮助",
},
},
editviewtoolbar_toolbar: { editviewtoolbar_toolbar: {
tbitem3: { tbitem3: {
caption: "保存", caption: "保存",
...@@ -187,4 +129,62 @@ export default { ...@@ -187,4 +129,62 @@ export default {
tip: "帮助", tip: "帮助",
}, },
}, },
gridviewtoolbar_toolbar: {
tbitem3: {
caption: "新建",
tip: "新建",
},
tbitem4: {
caption: "编辑",
tip: "编辑",
},
tbitem6: {
caption: "拷贝",
tip: "拷贝",
},
tbitem7: {
caption: "-",
tip: "",
},
tbitem8: {
caption: "删除",
tip: "删除",
},
tbitem9: {
caption: "-",
tip: "",
},
tbitem13: {
caption: "导出",
tip: "导出",
},
tbitem10: {
caption: "-",
tip: "",
},
tbitem16: {
caption: "其它",
tip: "其它",
},
tbitem21: {
caption: "导出数据模型",
tip: "导出数据模型",
},
tbitem23: {
caption: "数据导入",
tip: "数据导入",
},
tbitem17: {
caption: "-",
tip: "",
},
tbitem19: {
caption: "过滤",
tip: "过滤",
},
tbitem18: {
caption: "帮助",
tip: "帮助",
},
},
}; };
\ No newline at end of file
...@@ -11,7 +11,7 @@ mock.onGet('v7/sdindex-viewappmenu').reply((config: any) => { ...@@ -11,7 +11,7 @@ mock.onGet('v7/sdindex-viewappmenu').reply((config: any) => {
name: 'appmenu', name: 'appmenu',
items: [ items: [
{ {
id: 'A47FFDFF-3B2F-429E-9D21-02E0630F6164', id: '541951a398d53d906d35436fcb39a9f3',
name: 'menuitem1', name: 'menuitem1',
text: '文件', text: '文件',
type: 'MENUITEM', type: 'MENUITEM',
......
...@@ -7,13 +7,21 @@ import Mock from 'mockjs' ...@@ -7,13 +7,21 @@ import Mock from 'mockjs'
mock.onGet('./assets/json/view-config.json').reply((config: any) => { mock.onGet('./assets/json/view-config.json').reply((config: any) => {
let status = MockAdapter.mockStatus(config); let status = MockAdapter.mockStatus(config);
return [status,{ return [status,{
"sdfilegridview": { "sdfileeditview": {
"title": "文件编辑视图",
"caption": "文件",
"viewtype": "DEEDITVIEW",
"viewmodule": "disk",
"viewname": "SDFileEditView",
"viewtag": "646581c57dbd5cf6c2570e4013f3adb8"
},
"sdfilegridview": {
"title": "文件表格视图", "title": "文件表格视图",
"caption": "文件", "caption": "文件",
"viewtype": "DEGRIDVIEW", "viewtype": "DEGRIDVIEW",
"viewmodule": "disk", "viewmodule": "disk",
"viewname": "SDFileGridView", "viewname": "SDFileGridView",
"viewtag": "254cf228e42d864c1cefd0f5526492ad" "viewtag": "795a12a2bfb63a98ce5bb80310509360"
}, },
"sdindexview": { "sdindexview": {
"title": "ibizlab-disk", "title": "ibizlab-disk",
...@@ -21,15 +29,7 @@ mock.onGet('./assets/json/view-config.json').reply((config: any) => { ...@@ -21,15 +29,7 @@ mock.onGet('./assets/json/view-config.json').reply((config: any) => {
"viewtype": "APPINDEXVIEW", "viewtype": "APPINDEXVIEW",
"viewmodule": "disk", "viewmodule": "disk",
"viewname": "SDIndexView", "viewname": "SDIndexView",
"viewtag": "84B85718-5EB1-45E3-97F4-A1AC21B4DBE6" "viewtag": "c0a8e8c1058d9a5cdb5a6edbf9855886"
},
"sdfileeditview": {
"title": "文件编辑视图",
"caption": "文件",
"viewtype": "DEEDITVIEW",
"viewmodule": "disk",
"viewname": "SDFileEditView",
"viewtag": "d655c8b630fcdc664b330967c012950e"
} }
}]; }];
}); });
\ No newline at end of file
...@@ -11,7 +11,7 @@ export class FormButtonModel extends FormDetailModel { ...@@ -11,7 +11,7 @@ export class FormButtonModel extends FormDetailModel {
constructor(opts: any = {}) { constructor(opts: any = {}) {
super(opts); super(opts);
this.disabled = opts.disabled; this.$disabled = opts.disabled;
this.uiaction = opts.uiaction; this.uiaction = opts.uiaction;
} }
...@@ -21,7 +21,7 @@ export class FormButtonModel extends FormDetailModel { ...@@ -21,7 +21,7 @@ export class FormButtonModel extends FormDetailModel {
* @type {boolean} * @type {boolean}
* @memberof FormButtonModel * @memberof FormButtonModel
*/ */
public disabled:boolean = false; private $disabled:boolean = false;
/** /**
* 按钮对应的界面行为 * 按钮对应的界面行为
...@@ -31,4 +31,26 @@ export class FormButtonModel extends FormDetailModel { ...@@ -31,4 +31,26 @@ export class FormButtonModel extends FormDetailModel {
*/ */
public uiaction:any; public uiaction:any;
/**
* 是否启用
*
* @type {boolean}
* @memberof FormButtonModel
*/
public get disabled(): boolean {
return this.$disabled;
}
/**
* 设置是否启用
*
* @memberof FormButtonModel
*/
public set disabled(val: boolean) {
if(this.isPower) {
this.$disabled = val;
}
}
} }
\ No newline at end of file
...@@ -6,6 +6,14 @@ ...@@ -6,6 +6,14 @@
*/ */
export class FormDetailModel { export class FormDetailModel {
/**
* 是否有权限
*
* @type {boolean}
* @memberof FormDetailModel
*/
public isPower: boolean = true;
/** /**
* 成员标题 * 成员标题
* *
...@@ -44,7 +52,7 @@ export class FormDetailModel { ...@@ -44,7 +52,7 @@ export class FormDetailModel {
* @type {boolean} * @type {boolean}
* @memberof FormDetailModel * @memberof FormDetailModel
*/ */
public visible: boolean = true; public $visible: boolean = true;
/** /**
* 成员是否显示(旧) * 成员是否显示(旧)
...@@ -83,12 +91,33 @@ export class FormDetailModel { ...@@ -83,12 +91,33 @@ export class FormDetailModel {
this.detailType = !Object.is(opts.detailType, '') ? opts.detailType : ''; this.detailType = !Object.is(opts.detailType, '') ? opts.detailType : '';
this.form = opts.form ? opts.form : {}; this.form = opts.form ? opts.form : {};
this.name = !Object.is(opts.name, '') ? opts.name : ''; this.name = !Object.is(opts.name, '') ? opts.name : '';
this.visible = opts.visible ? true : false; this.$visible = opts.visible ? true : false;
this.oldVisible = opts.visible ? true : false; this.oldVisible = opts.visible ? true : false;
this.isShowCaption = opts.isShowCaption ? true : false; this.isShowCaption = opts.isShowCaption ? true : false;
this.isControlledContent = opts.isControlledContent ? true : false; this.isControlledContent = opts.isControlledContent ? true : false;
} }
/**
* 设置成员是否隐藏
*
* @memberof FormDetailModel
*/
public set visible(val: boolean) {
if(this.isPower) {
this.$visible = val;
}
}
/**
* 获取成员是否隐藏
*
* @memberof FormDetailModel
*/
public get visible() {
return this.$visible;
}
/** /**
* 设置显示与隐藏 * 设置显示与隐藏
* *
...@@ -96,7 +125,9 @@ export class FormDetailModel { ...@@ -96,7 +125,9 @@ export class FormDetailModel {
* @memberof FormDetailModel * @memberof FormDetailModel
*/ */
public setVisible(state: boolean): void { public setVisible(state: boolean): void {
this.visible = state; if(this.isPower) {
this.visible = state;
}
} }
/** /**
......
...@@ -8,19 +8,19 @@ ...@@ -8,19 +8,19 @@
.sdfile-edit-view{ .sdfile-edit-view{
position: relative; position: relative;
} }
.toolbar-container { .toolbar-container {
button { button {
margin: 6px 0px 4px 4px; margin: 6px 0px 4px 4px;
.caption { .caption {
margin-left: 4px; margin-left: 4px;
} }
} }
.seperator { .seperator {
color: #dcdee2; color: #dcdee2;
margin: 0 0px 0 4px; margin: 0 0px 0 4px;
} }
} }
// this is less // this is less
.sdfile-grid-view{ .sdfile-grid-view{
position: relative; position: relative;
} }
.toolbar-container { .toolbar-container {
button { button {
margin: 6px 0px 4px 4px; margin: 6px 0px 4px 4px;
.caption { .caption {
margin-left: 4px; margin-left: 4px;
} }
} }
.seperator { .seperator {
color: #dcdee2; color: #dcdee2;
margin: 0 0px 0 4px; margin: 0 0px 0 4px;
} }
} }
// this is less // this is less
export const PageComponents = { export const PageComponents = {
install(Vue: any, opt: any) { install(Vue: any, opt: any) {
Vue.component('sdfile-grid-view', () => import('@pages/disk/sdfile-grid-view/sdfile-grid-view.vue')); Vue.component('sdfile-edit-view', () => import('@pages/disk/sdfile-edit-view/sdfile-edit-view.vue'));
Vue.component('sdfile-edit-view', () => import('@pages/disk/sdfile-edit-view/sdfile-edit-view.vue')); Vue.component('sdfile-grid-view', () => import('@pages/disk/sdfile-grid-view/sdfile-grid-view.vue'));
} }
}; };
\ No newline at end of file
...@@ -36,61 +36,61 @@ const router = new Router({ ...@@ -36,61 +36,61 @@ const router = new Router({
component: () => import('@pages/disk/sdindex-view/sdindex-view.vue'), component: () => import('@pages/disk/sdindex-view/sdindex-view.vue'),
children: [ children: [
{ {
path: 'sdfiles/:sdfile?/gridview/:gridview?', path: 'sdfiles/:sdfile?/editview/:editview?',
meta: { meta: {
caption: 'entities.sdfile.views.gridview.caption', caption: 'entities.sdfile.views.editview.caption',
info:'', info:'',
parameters: [ parameters: [
{ pathName: 'sdindexview', parameterName: 'sdindexview' }, { pathName: 'sdindexview', parameterName: 'sdindexview' },
{ pathName: 'sdfiles', parameterName: 'sdfile' }, { pathName: 'sdfiles', parameterName: 'sdfile' },
{ pathName: 'gridview', parameterName: 'gridview' }, { pathName: 'editview', parameterName: 'editview' },
], ],
requireAuth: true, requireAuth: true,
}, },
component: () => import('@pages/disk/sdfile-grid-view/sdfile-grid-view.vue'), component: () => import('@pages/disk/sdfile-edit-view/sdfile-edit-view.vue'),
}, },
{ {
path: 'sdfiles/:sdfile?/editview/:editview?', path: 'sdfiles/:sdfile?/gridview/:gridview?',
meta: { meta: {
caption: 'entities.sdfile.views.editview.caption', caption: 'entities.sdfile.views.gridview.caption',
info:'', info:'',
parameters: [ parameters: [
{ pathName: 'sdindexview', parameterName: 'sdindexview' }, { pathName: 'sdindexview', parameterName: 'sdindexview' },
{ pathName: 'sdfiles', parameterName: 'sdfile' }, { pathName: 'sdfiles', parameterName: 'sdfile' },
{ pathName: 'editview', parameterName: 'editview' }, { pathName: 'gridview', parameterName: 'gridview' },
], ],
requireAuth: true, requireAuth: true,
}, },
component: () => import('@pages/disk/sdfile-edit-view/sdfile-edit-view.vue'), component: () => import('@pages/disk/sdfile-grid-view/sdfile-grid-view.vue'),
}, },
...indexRoutes, ...indexRoutes,
], ],
}, },
{ {
path: '/sdfiles/:sdfile?/gridview/:gridview?', path: '/sdfiles/:sdfile?/editview/:editview?',
meta: { meta: {
caption: 'entities.sdfile.views.gridview.caption', caption: 'entities.sdfile.views.editview.caption',
info:'', info:'',
parameters: [ parameters: [
{ pathName: 'sdfiles', parameterName: 'sdfile' }, { pathName: 'sdfiles', parameterName: 'sdfile' },
{ pathName: 'gridview', parameterName: 'gridview' }, { pathName: 'editview', parameterName: 'editview' },
], ],
requireAuth: true, requireAuth: true,
}, },
component: () => import('@pages/disk/sdfile-grid-view/sdfile-grid-view.vue'), component: () => import('@pages/disk/sdfile-edit-view/sdfile-edit-view.vue'),
}, },
{ {
path: '/sdfiles/:sdfile?/editview/:editview?', path: '/sdfiles/:sdfile?/gridview/:gridview?',
meta: { meta: {
caption: 'entities.sdfile.views.editview.caption', caption: 'entities.sdfile.views.gridview.caption',
info:'', info:'',
parameters: [ parameters: [
{ pathName: 'sdfiles', parameterName: 'sdfile' }, { pathName: 'sdfiles', parameterName: 'sdfile' },
{ pathName: 'editview', parameterName: 'editview' }, { pathName: 'gridview', parameterName: 'gridview' },
], ],
requireAuth: true, requireAuth: true,
}, },
component: () => import('@pages/disk/sdfile-edit-view/sdfile-edit-view.vue'), component: () => import('@pages/disk/sdfile-grid-view/sdfile-grid-view.vue'),
}, },
...globalRoutes, ...globalRoutes,
{ {
......
...@@ -130,7 +130,7 @@ export default class SDIndexViewBase extends Vue { ...@@ -130,7 +130,7 @@ export default class SDIndexViewBase extends Vue {
* @type {string} * @type {string}
* @memberof SDIndexViewBase * @memberof SDIndexViewBase
*/ */
public viewtag: string = '84B85718-5EB1-45E3-97F4-A1AC21B4DBE6'; public viewtag: string = 'c0a8e8c1058d9a5cdb5a6edbf9855886';
/** /**
* 自定义视图导航上下文集合 * 自定义视图导航上下文集合
......
...@@ -4,5 +4,5 @@ Tip: If the failing expression is known to be legally refer to something that's ...@@ -4,5 +4,5 @@ Tip: If the failing expression is known to be legally refer to something that's
---- ----
FTL stack trace ("~" means nesting-related): FTL stack trace ("~" means nesting-related):
- Failed at: ${item.getKeyPSAppDEField().getCodeNa... [in template "TEMPLCODE_zh_CN" at line 570, column 26] - Failed at: ${item.getKeyPSAppDEField().getCodeNa... [in template "TEMPLCODE_en_US" at line 570, column 26]
---- ----
\ No newline at end of file
...@@ -4,32 +4,32 @@ ...@@ -4,32 +4,32 @@
export const viewstate: any = { export const viewstate: any = {
appviews: [ appviews: [
{ {
viewtag: '254cf228e42d864c1cefd0f5526492ad', viewtag: '646581c57dbd5cf6c2570e4013f3adb8',
viewmodule: 'disk', viewmodule: 'disk',
viewname: 'SDFileGridView', viewname: 'SDFileEditView',
viewaction: '', viewaction: '',
viewdatachange: false, viewdatachange: false,
refviews: [ refviews: [
'd655c8b630fcdc664b330967c012950e',
], ],
}, },
{ {
viewtag: '84B85718-5EB1-45E3-97F4-A1AC21B4DBE6', viewtag: '795a12a2bfb63a98ce5bb80310509360',
viewmodule: 'disk', viewmodule: 'disk',
viewname: 'SDIndexView', viewname: 'SDFileGridView',
viewaction: '', viewaction: '',
viewdatachange: false, viewdatachange: false,
refviews: [ refviews: [
'254cf228e42d864c1cefd0f5526492ad', '646581c57dbd5cf6c2570e4013f3adb8',
], ],
}, },
{ {
viewtag: 'd655c8b630fcdc664b330967c012950e', viewtag: 'c0a8e8c1058d9a5cdb5a6edbf9855886',
viewmodule: 'disk', viewmodule: 'disk',
viewname: 'SDFileEditView', viewname: 'SDIndexView',
viewaction: '', viewaction: '',
viewdatachange: false, viewdatachange: false,
refviews: [ refviews: [
'795a12a2bfb63a98ce5bb80310509360',
], ],
}, },
], ],
......
...@@ -2,6 +2,7 @@ ...@@ -2,6 +2,7 @@
@import '../theme/blue.theme.less'; @import '../theme/blue.theme.less';
@import '../theme/dark-blue.theme.less'; @import '../theme/dark-blue.theme.less';
@import '../theme/default.theme.less'; @import '../theme/default.theme.less';
@import './app-code-list.less';
@import './var.css'; @import './var.css';
.ibiz-page-tag .tags-body .tags-container .ivu-tag.tag-is-active .ivu-tag-text { .ibiz-page-tag .tags-body .tags-container .ivu-tag.tag-is-active .ivu-tag-text {
......
...@@ -12,8 +12,6 @@ ...@@ -12,8 +12,6 @@
<strong>We're sorry but app doesn't work properly without JavaScript enabled. Please enable it to continue.</strong> <strong>We're sorry but app doesn't work properly without JavaScript enabled. Please enable it to continue.</strong>
</noscript> </noscript>
<div id="app"></div> <div id="app"></div>
<!-- <link rel="stylesheet" href="<%= BASE_URL %>assets/styles/loader.css"> <script src="./environments/environment.js"></script>
<div class="loader" id="app-loader"></div> -->
<!-- built files will be auto injected -->
</body> </body>
</html> </html>
...@@ -89,8 +89,8 @@ export default class SDFileUIServiceBase extends UIService { ...@@ -89,8 +89,8 @@ export default class SDFileUIServiceBase extends UIService {
* @memberof SDFileUIServiceBase * @memberof SDFileUIServiceBase
*/ */
public initViewMap(){ public initViewMap(){
this.allViewMap.set('MDATAVIEW:',{viewname:'gridview',srfappde:'sdfiles'});
this.allViewMap.set('EDITVIEW:',{viewname:'editview',srfappde:'sdfiles'}); this.allViewMap.set('EDITVIEW:',{viewname:'editview',srfappde:'sdfiles'});
this.allViewMap.set('MDATAVIEW:',{viewname:'gridview',srfappde:'sdfiles'});
} }
/** /**
......
...@@ -119,8 +119,12 @@ export class StudioActionUtil { ...@@ -119,8 +119,12 @@ export class StudioActionUtil {
}, '*'); }, '*');
Vue.prototype.$message.warning('请在已打开的配置平台查看!'); Vue.prototype.$message.warning('请在已打开的配置平台查看!');
} else { } else {
console.log(`${Environment.StudioUrl}?ov=${JSON.stringify(params)}#/common_slnindex/srfkeys=${Environment.SlnId}/sysdesign_psdevslnsysmodeltreeexpview/srfkey=${Environment.SysId}`); if(Environment.debugOpenMode === 'sln'){
this.studioWin = window.open(`${Environment.StudioUrl}?ov=${encodeURIComponent(JSON.stringify(params))}#/common_slnindex/srfkeys=${Environment.SlnId}/sysdesign_psdevslnsysmodeltreeexpview/srfkey=${Environment.SysId}`, '_blank'); console.log("打开sln未支持");
// this.studioWin = window.open(`${Environment.StudioUrl}?ov=${encodeURIComponent(JSON.stringify(params))}#/common_slnindex/srfkeys=${Environment.SlnId}/sysdesign_psdevslnsysmodeltreeexpview/srfkey=${Environment.SysId}`, '_blank');
}else{
this.studioWin = window.open(`${Environment.StudioUrl}?ov=${encodeURIComponent(JSON.stringify(params))}#/common_mosindex/srfkeys=${Environment.SysId}`, '_blank');
}
} }
} }
} }
......
...@@ -252,9 +252,10 @@ export class ViewTool { ...@@ -252,9 +252,10 @@ export class ViewTool {
* @memberof ViewTool * @memberof ViewTool
*/ */
public static calcActionItemAuthState(data:any,ActionModel:any,UIService:any){ public static calcActionItemAuthState(data:any,ActionModel:any,UIService:any){
let result: any[] = [];
for (const key in ActionModel) { for (const key in ActionModel) {
if (!ActionModel.hasOwnProperty(key)) { if (!ActionModel.hasOwnProperty(key)) {
return; return result;
} }
const _item = ActionModel[key]; const _item = ActionModel[key];
if(_item && _item['dataaccaction'] && UIService){ if(_item && _item['dataaccaction'] && UIService){
...@@ -282,7 +283,9 @@ export class ViewTool { ...@@ -282,7 +283,9 @@ export class ViewTool {
_item.visabled = true; _item.visabled = true;
_item.disabled = false; _item.disabled = false;
} }
result.push(dataActionResult);
} }
} }
return result;
} }
} }
\ No newline at end of file
...@@ -591,29 +591,29 @@ export default class SDIndexViewBase extends Vue implements ControlInterface { ...@@ -591,29 +591,29 @@ export default class SDIndexViewBase extends Vue implements ControlInterface {
} }
} }
/** /**
* 文件 * 文件
* *
* @param {*} [item={}] * @param {*} [item={}]
* @memberof SDIndexView * @memberof SDIndexView
*/ */
public clickAuto1(item: any = {}) { public clickAuto1(item: any = {}) {
const viewparam: any = {}; const viewparam: any = {};
Object.assign(viewparam, {}); Object.assign(viewparam, {});
const deResParameters: any[] = []; const deResParameters: any[] = [];
const parameters: any[] = [ const parameters: any[] = [
{ pathName: 'sdfiles', parameterName: 'sdfile' }, { pathName: 'sdfiles', parameterName: 'sdfile' },
{ pathName: 'gridview', parameterName: 'gridview' }, { pathName: 'gridview', parameterName: 'gridview' },
]; ];
const path: string = this.$viewTool.buildUpRoutePath(this.$route, {}, deResParameters, parameters, [], viewparam); const path: string = this.$viewTool.buildUpRoutePath(this.$route, {}, deResParameters, parameters, [], viewparam);
if(Object.is(this.$route.fullPath,path)){ if(Object.is(this.$route.fullPath,path)){
return; return;
} }
this.$nextTick(function(){ this.$nextTick(function(){
this.$router.push(path); this.$router.push(path);
}) })
} }
/** /**
* 数据加载 * 数据加载
......
...@@ -15,7 +15,7 @@ export default class SDIndexViewModel { ...@@ -15,7 +15,7 @@ export default class SDIndexViewModel {
*/ */
public items: any[] = [ public items: any[] = [
{ {
id: 'A47FFDFF-3B2F-429E-9D21-02E0630F6164', id: '541951a398d53d906d35436fcb39a9f3',
name: 'menuitem1', name: 'menuitem1',
text: '文件', text: '文件',
type: 'MENUITEM', type: 'MENUITEM',
......
...@@ -4,20 +4,20 @@ ...@@ -4,20 +4,20 @@
<row> <row>
<i-col span="20" class="form-content"> <i-col span="20" class="form-content">
<row> <row>
<i-col v-show="detailsModel.n_filename_like.visible" :style="{}" :lg="{ span: 24, offset: 0 }"> <i-col v-show="detailsModel.n_filename_like.visible" :style="{}" :lg="{ span: 24, offset: 0 }">
<app-form-item name='n_filename_like' :itemRules="this.rules.n_filename_like" class='' :caption="$t('entities.sdfile.default_searchform.details.n_filename_like')" uiStyle="DEFAULT" :labelWidth="130" :isShowCaption="true" :error="detailsModel.n_filename_like.error" :isEmptyCaption="false" labelPos="LEFT"> <app-form-item name='n_filename_like' :itemRules="this.rules.n_filename_like" class='' :caption="$t('entities.sdfile.default_searchform.details.n_filename_like')" uiStyle="DEFAULT" :labelWidth="130" :isShowCaption="true" :error="detailsModel.n_filename_like.error" :isEmptyCaption="false" labelPos="LEFT">
<input-box <input-box
v-model="data.n_filename_like" v-model="data.n_filename_like"
@enter="onEnter($event)" @enter="onEnter($event)"
:disabled="detailsModel.n_filename_like.disabled" :disabled="detailsModel.n_filename_like.disabled"
type='text' type='text'
style=""> style="">
</input-box> </input-box>
</app-form-item> </app-form-item>
</i-col> </i-col>
</row> </row>
</i-col> </i-col>
<i-col span="4" class="search-button"> <i-col span="4" class="search-button">
......
...@@ -193,6 +193,7 @@ import SDFileUIService from '@/uiservice/sdfile/sdfile-ui-service'; ...@@ -193,6 +193,7 @@ import SDFileUIService from '@/uiservice/sdfile/sdfile-ui-service';
import { FormButtonModel, FormPageModel, FormItemModel, FormDRUIPartModel, FormPartModel, FormGroupPanelModel, FormIFrameModel, FormRowItemModel, FormTabPageModel, FormTabPanelModel, FormUserControlModel } from '@/model/form-detail'; import { FormButtonModel, FormPageModel, FormItemModel, FormDRUIPartModel, FormPartModel, FormGroupPanelModel, FormIFrameModel, FormRowItemModel, FormTabPageModel, FormTabPanelModel, FormUserControlModel } from '@/model/form-detail';
import { debounceTime, distinctUntilChanged } from 'rxjs/operators'; import { debounceTime, distinctUntilChanged } from 'rxjs/operators';
import schema from 'async-validator'; import schema from 'async-validator';
import { Environment } from '@/environments/environment';
@Component({ @Component({
...@@ -1234,6 +1235,7 @@ export default class MainBase extends Vue implements ControlInterface { ...@@ -1234,6 +1235,7 @@ export default class MainBase extends Vue implements ControlInterface {
Object.assign(this.context,{sdfile:data.sdfile}) Object.assign(this.context,{sdfile:data.sdfile})
} }
this.setFormEnableCond(data); this.setFormEnableCond(data);
this.computeButtonState(data);
this.fillForm(data,action); this.fillForm(data,action);
this.oldData = {}; this.oldData = {};
Object.assign(this.oldData, JSON.parse(JSON.stringify(this.data))); Object.assign(this.oldData, JSON.parse(JSON.stringify(this.data)));
...@@ -1407,16 +1409,20 @@ export default class MainBase extends Vue implements ControlInterface { ...@@ -1407,16 +1409,20 @@ export default class MainBase extends Vue implements ControlInterface {
* @memberof MainBase * @memberof MainBase
*/ */
public computeButtonState(data:any){ public computeButtonState(data:any){
let targetData:any = this.transformData(data); if(Environment.enablePermissionValid){
if(this.detailsModel && Object.keys(this.detailsModel).length >0){ let targetData:any = this.transformData(data);
Object.keys(this.detailsModel).forEach((name:any) =>{ if(this.detailsModel && Object.keys(this.detailsModel).length >0){
if(this.detailsModel[name] && this.detailsModel[name].uiaction && this.detailsModel[name].uiaction.dataaccaction && Object.is(this.detailsModel[name].detailType,"BUTTON")){ Object.keys(this.detailsModel).forEach((name:any) =>{
let tempUIAction:any = JSON.parse(JSON.stringify(this.detailsModel[name].uiaction)); if(this.detailsModel[name] && this.detailsModel[name].uiaction && this.detailsModel[name].uiaction.dataaccaction && Object.is(this.detailsModel[name].detailType,"BUTTON")){
ViewTool.calcActionItemAuthState(targetData,[tempUIAction],this.appUIService); this.detailsModel[name].isPower = true;
this.detailsModel[name].visible = tempUIAction.visabled; let tempUIAction:any = JSON.parse(JSON.stringify(this.detailsModel[name].uiaction));
this.detailsModel[name].disabled = tempUIAction.disabled; let result: any[] = ViewTool.calcActionItemAuthState(targetData,[tempUIAction],this.appUIService);
} this.detailsModel[name].visible = tempUIAction.visabled;
}) this.detailsModel[name].disabled = tempUIAction.disabled;
this.detailsModel[name].isPower = result[0] === 1 ? true : false;
}
})
}
} }
} }
...@@ -1483,7 +1489,7 @@ export default class MainBase extends Vue implements ControlInterface { ...@@ -1483,7 +1489,7 @@ export default class MainBase extends Vue implements ControlInterface {
this.refresh(data); this.refresh(data);
} }
if (Object.is('panelaction', action)) { if (Object.is('panelaction', action)) {
this.panelAction(data.action,data.emitAction,data); this.panelAction(data.action,data.emitAction,data.data);
} }
}); });
} }
...@@ -1594,7 +1600,6 @@ export default class MainBase extends Vue implements ControlInterface { ...@@ -1594,7 +1600,6 @@ export default class MainBase extends Vue implements ControlInterface {
const data = response.data; const data = response.data;
this.onFormLoad(data,'load'); this.onFormLoad(data,'load');
this.$emit('load', data); this.$emit('load', data);
this.computeButtonState(data);
this.$nextTick(() => { this.$nextTick(() => {
this.formState.next({ type: 'load', data: data }); this.formState.next({ type: 'load', data: data });
}); });
...@@ -1638,7 +1643,6 @@ export default class MainBase extends Vue implements ControlInterface { ...@@ -1638,7 +1643,6 @@ export default class MainBase extends Vue implements ControlInterface {
this.onFormLoad(data,'loadDraft'); this.onFormLoad(data,'loadDraft');
data.sdfile = null; data.sdfile = null;
this.$emit('load', data); this.$emit('load', data);
this.computeButtonState(data);
this.$nextTick(() => { this.$nextTick(() => {
this.formState.next({ type: 'load', data: data }); this.formState.next({ type: 'load', data: data });
}); });
...@@ -1696,7 +1700,6 @@ export default class MainBase extends Vue implements ControlInterface { ...@@ -1696,7 +1700,6 @@ export default class MainBase extends Vue implements ControlInterface {
const data = response.data; const data = response.data;
this.onFormLoad(data,'autoSave'); this.onFormLoad(data,'autoSave');
this.$emit('save', data); this.$emit('save', data);
this.computeButtonState(data);
AppCenterService.notifyMessage({name:"SDFile",action:'appRefresh',data:data}); AppCenterService.notifyMessage({name:"SDFile",action:'appRefresh',data:data});
this.$nextTick(() => { this.$nextTick(() => {
this.formState.next({ type: 'save', data: data }); this.formState.next({ type: 'save', data: data });
...@@ -1775,7 +1778,6 @@ export default class MainBase extends Vue implements ControlInterface { ...@@ -1775,7 +1778,6 @@ export default class MainBase extends Vue implements ControlInterface {
const data = response.data; const data = response.data;
this.onFormLoad(data,'save'); this.onFormLoad(data,'save');
this.$emit('save', data); this.$emit('save', data);
this.computeButtonState(data);
AppCenterService.notifyMessage({name:"SDFile",action:'appRefresh',data:data}); AppCenterService.notifyMessage({name:"SDFile",action:'appRefresh',data:data});
this.$nextTick(() => { this.$nextTick(() => {
this.formState.next({ type: 'save', data: data }); this.formState.next({ type: 'save', data: data });
......
...@@ -4,5 +4,5 @@ Tip: If the failing expression is known to be legally refer to something that's ...@@ -4,5 +4,5 @@ Tip: If the failing expression is known to be legally refer to something that's
---- ----
FTL stack trace ("~" means nesting-related): FTL stack trace ("~" means nesting-related):
- Failed at: ${appde.getKeyPSAppDEField().getCodeN... [in template "TEMPLCODE_zh_CN" at line 359, column 14] - Failed at: ${appde.getKeyPSAppDEField().getCodeN... [in template "TEMPLCODE_en_US" at line 359, column 14]
---- ----
\ No newline at end of file
...@@ -40,10 +40,14 @@ ...@@ -40,10 +40,14 @@
} }
} }
} }
// 表单行间距
.app-form{ .app-form{
// 表单行间距
.app-form-item{ .app-form-item{
margin-bottom: 20px; margin-bottom: 20px;
} }
// 表单按钮margin
.app-form-button{
margin:0 6px;
}
} }
// this is less // this is less
...@@ -4,5 +4,5 @@ Tip: If the failing expression is known to be legally refer to something that's ...@@ -4,5 +4,5 @@ Tip: If the failing expression is known to be legally refer to something that's
---- ----
FTL stack trace ("~" means nesting-related): FTL stack trace ("~" means nesting-related):
- Failed at: ${ctrl.getPSAppDataEntity().getMajorP... [in template "TEMPLCODE_zh_CN" at line 1100, column 39] - Failed at: ${ctrl.getPSAppDataEntity().getMajorP... [in template "TEMPLCODE_en_US" at line 1103, column 39]
---- ----
\ No newline at end of file
...@@ -4,5 +4,5 @@ Tip: If the failing expression is known to be legally refer to something that's ...@@ -4,5 +4,5 @@ Tip: If the failing expression is known to be legally refer to something that's
---- ----
FTL stack trace ("~" means nesting-related): FTL stack trace ("~" means nesting-related):
- Failed at: ${appde.getKeyPSAppDEField().getCodeN... [in template "TEMPLCODE_zh_CN" at line 368, column 35] - Failed at: ${appde.getKeyPSAppDEField().getCodeN... [in template "TEMPLCODE_en_US" at line 368, column 35]
---- ----
\ No newline at end of file
...@@ -21,9 +21,6 @@ ...@@ -21,9 +21,6 @@
</dependency> </dependency>
</dependencies> </dependencies>
<properties>
<docker.image.prefix>registry.cn-shanghai.aliyuncs.com/ibizsys</docker.image.prefix>
</properties>
<profiles> <profiles>
...@@ -98,23 +95,6 @@ ...@@ -98,23 +95,6 @@
</executions> </executions>
</plugin> </plugin>
<plugin>
<groupId>com.spotify</groupId>
<artifactId>docker-maven-plugin</artifactId>
<version>0.4.13</version>
<configuration>
<serverId>ibiz-dev</serverId>
<imageName>${docker.image.prefix}/${project.artifactId}:latest</imageName>
<dockerDirectory>${project.basedir}/src/main/docker</dockerDirectory>
<resources>
<resource>
<targetPath>/</targetPath>
<directory>../../</directory>
<include>${project.artifactId}.jar</include>
</resource>
</resources>
</configuration>
</plugin>
</plugins> </plugins>
</build> </build>
</profile> </profile>
......
...@@ -4,5 +4,5 @@ Tip: If the failing expression is known to be legally refer to something that's ...@@ -4,5 +4,5 @@ Tip: If the failing expression is known to be legally refer to something that's
---- ----
FTL stack trace ("~" means nesting-related): FTL stack trace ("~" means nesting-related):
- Failed at: #assign sysApi = appDataEntity.getPSD... [in template "CODETEMPL_zh_CN" at line 37, column 9] - Failed at: #assign sysApi = appDataEntity.getPSD... [in template "CODETEMPL_en_US" at line 37, column 9]
---- ----
\ No newline at end of file
...@@ -28,6 +28,10 @@ zuul: ...@@ -28,6 +28,10 @@ zuul:
path: /dictionarys/**/Ibzou** path: /dictionarys/**/Ibzou**
serviceId: ${ibiz.ref.service.ou:ibzou-api} serviceId: ${ibiz.ref.service.ou:ibzou-api}
stripPrefix: false stripPrefix: false
ou:
path: /ibzdepartments/**
serviceId: ${ibiz.ref.service.ou:ibzou-api}
stripPrefix: false
uaadict: uaadict:
path: /dictionarys/**/SysOperator path: /dictionarys/**/SysOperator
serviceId: ${ibiz.ref.service.uaa:ibzuaa-api} serviceId: ${ibiz.ref.service.uaa:ibzuaa-api}
......
...@@ -11,6 +11,7 @@ import java.math.BigInteger; ...@@ -11,6 +11,7 @@ import java.math.BigInteger;
import org.springframework.data.domain.Page; import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable; import org.springframework.data.domain.Pageable;
import org.springframework.scheduling.annotation.Async;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import org.springframework.cache.annotation.CacheEvict; import org.springframework.cache.annotation.CacheEvict;
......
...@@ -21,6 +21,7 @@ import org.springframework.data.domain.Page; ...@@ -21,6 +21,7 @@ import org.springframework.data.domain.Page;
import org.springframework.data.domain.PageImpl; import org.springframework.data.domain.PageImpl;
import org.springframework.data.domain.Pageable; import org.springframework.data.domain.Pageable;
import org.springframework.util.ObjectUtils; import org.springframework.util.ObjectUtils;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import org.springframework.context.annotation.Lazy; import org.springframework.context.annotation.Lazy;
import cn.ibizlab.core.disk.domain.SDFile; import cn.ibizlab.core.disk.domain.SDFile;
......
...@@ -86,8 +86,6 @@ ...@@ -86,8 +86,6 @@
<!-- 阿里seata分布式事务 --> <!-- 阿里seata分布式事务 -->
<alibaba-seata.version>1.3.0</alibaba-seata.version> <alibaba-seata.version>1.3.0</alibaba-seata.version>
<oracle.version>11.2.0.3</oracle.version>
<postgresql.version>42.2.6</postgresql.version>
</properties> </properties>
...@@ -332,18 +330,6 @@ ...@@ -332,18 +330,6 @@
<version>${eureka-client.version}</version> <version>${eureka-client.version}</version>
</dependency> </dependency>
<!-- Oracle驱动包 -->
<dependency>
<groupId>com.oracle</groupId>
<artifactId>ojdbc6</artifactId>
<version>${oracle.version}</version>
</dependency>
<!-- PostgreSQL驱动包 -->
<dependency>
<groupId>org.postgresql</groupId>
<artifactId>postgresql</artifactId>
<version>${postgresql.version}</version>
</dependency>
<!-- MySQL驱动包 --> <!-- MySQL驱动包 -->
<dependency> <dependency>
<groupId>mysql</groupId> <groupId>mysql</groupId>
......
...@@ -21,9 +21,6 @@ ...@@ -21,9 +21,6 @@
</dependency> </dependency>
</dependencies> </dependencies>
<properties>
<docker.image.prefix>registry.cn-shanghai.aliyuncs.com/ibizsys</docker.image.prefix>
</properties>
<profiles> <profiles>
<profile> <profile>
...@@ -57,23 +54,6 @@ ...@@ -57,23 +54,6 @@
</executions> </executions>
</plugin> </plugin>
<plugin>
<groupId>com.spotify</groupId>
<artifactId>docker-maven-plugin</artifactId>
<version>0.4.13</version>
<configuration>
<serverId>ibiz-dev</serverId>
<imageName>${docker.image.prefix}/${project.artifactId}:latest</imageName>
<dockerDirectory>${project.basedir}/src/main/docker</dockerDirectory>
<resources>
<resource>
<targetPath>/</targetPath>
<directory>../../</directory>
<include>${project.artifactId}.jar</include>
</resource>
</resources>
</configuration>
</plugin>
</plugins> </plugins>
</build> </build>
</profile> </profile>
......
...@@ -11,7 +11,6 @@ import com.alibaba.fastjson.JSONObject; ...@@ -11,7 +11,6 @@ import com.alibaba.fastjson.JSONObject;
import javax.servlet.ServletRequest; import javax.servlet.ServletRequest;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.cglib.beans.BeanCopier; import org.springframework.cglib.beans.BeanCopier;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.http.ResponseEntity; import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import org.springframework.http.HttpStatus; import org.springframework.http.HttpStatus;
...@@ -50,7 +49,6 @@ public class SDFileResource { ...@@ -50,7 +49,6 @@ public class SDFileResource {
@PreAuthorize("hasPermission(this.sdfileMapping.toDomain(#sdfiledto),'ibzdisk-SDFile-Create')") @PreAuthorize("hasPermission(this.sdfileMapping.toDomain(#sdfiledto),'ibzdisk-SDFile-Create')")
@ApiOperation(value = "新建文件", tags = {"文件" }, notes = "新建文件") @ApiOperation(value = "新建文件", tags = {"文件" }, notes = "新建文件")
@RequestMapping(method = RequestMethod.POST, value = "/sdfiles") @RequestMapping(method = RequestMethod.POST, value = "/sdfiles")
@Transactional
public ResponseEntity<SDFileDTO> create(@RequestBody SDFileDTO sdfiledto) { public ResponseEntity<SDFileDTO> create(@RequestBody SDFileDTO sdfiledto) {
SDFile domain = sdfileMapping.toDomain(sdfiledto); SDFile domain = sdfileMapping.toDomain(sdfiledto);
sdfileService.create(domain); sdfileService.create(domain);
...@@ -70,7 +68,6 @@ public class SDFileResource { ...@@ -70,7 +68,6 @@ public class SDFileResource {
@PreAuthorize("hasPermission(this.sdfileService.get(#sdfile_id),'ibzdisk-SDFile-Update')") @PreAuthorize("hasPermission(this.sdfileService.get(#sdfile_id),'ibzdisk-SDFile-Update')")
@ApiOperation(value = "更新文件", tags = {"文件" }, notes = "更新文件") @ApiOperation(value = "更新文件", tags = {"文件" }, notes = "更新文件")
@RequestMapping(method = RequestMethod.PUT, value = "/sdfiles/{sdfile_id}") @RequestMapping(method = RequestMethod.PUT, value = "/sdfiles/{sdfile_id}")
@Transactional
public ResponseEntity<SDFileDTO> update(@PathVariable("sdfile_id") String sdfile_id, @RequestBody SDFileDTO sdfiledto) { public ResponseEntity<SDFileDTO> update(@PathVariable("sdfile_id") String sdfile_id, @RequestBody SDFileDTO sdfiledto) {
SDFile domain = sdfileMapping.toDomain(sdfiledto); SDFile domain = sdfileMapping.toDomain(sdfiledto);
domain .setId(sdfile_id); domain .setId(sdfile_id);
...@@ -90,7 +87,6 @@ public class SDFileResource { ...@@ -90,7 +87,6 @@ public class SDFileResource {
@PreAuthorize("hasPermission(this.sdfileService.get(#sdfile_id),'ibzdisk-SDFile-Remove')") @PreAuthorize("hasPermission(this.sdfileService.get(#sdfile_id),'ibzdisk-SDFile-Remove')")
@ApiOperation(value = "删除文件", tags = {"文件" }, notes = "删除文件") @ApiOperation(value = "删除文件", tags = {"文件" }, notes = "删除文件")
@RequestMapping(method = RequestMethod.DELETE, value = "/sdfiles/{sdfile_id}") @RequestMapping(method = RequestMethod.DELETE, value = "/sdfiles/{sdfile_id}")
@Transactional
public ResponseEntity<Boolean> remove(@PathVariable("sdfile_id") String sdfile_id) { public ResponseEntity<Boolean> remove(@PathVariable("sdfile_id") String sdfile_id) {
return ResponseEntity.status(HttpStatus.OK).body(sdfileService.remove(sdfile_id)); return ResponseEntity.status(HttpStatus.OK).body(sdfileService.remove(sdfile_id));
} }
......
server: server:
port: 40006 port: 8081
#Log配置 #Log配置
logging: logging:
level: level:
......
...@@ -60,7 +60,7 @@ public class AuthorizationTokenFilter extends OncePerRequestFilter { ...@@ -60,7 +60,7 @@ public class AuthorizationTokenFilter extends OncePerRequestFilter {
if (authTokenUtil.validateToken(authToken, userDetails)) { if (authTokenUtil.validateToken(authToken, userDetails)) {
UsernamePasswordAuthenticationToken authentication = new UsernamePasswordAuthenticationToken(userDetails, null, userDetails.getAuthorities()); UsernamePasswordAuthenticationToken authentication = new UsernamePasswordAuthenticationToken(userDetails, null, userDetails.getAuthorities());
authentication.setDetails(new WebAuthenticationDetailsSource().buildDetails(request)); authentication.setDetails(new WebAuthenticationDetailsSource().buildDetails(request));
log.info("authorizated user '{}', setting security context", username); // log.info("authorizated user '{}', setting security context", username);
SecurityContextHolder.getContext().setAuthentication(authentication); SecurityContextHolder.getContext().setAuthentication(authentication);
} }
} }
......
...@@ -3,7 +3,7 @@ spring: ...@@ -3,7 +3,7 @@ spring:
cloud: cloud:
nacos: nacos:
discovery: discovery:
server-addr: 172.16.102.211:8848 server-addr: 127.0.0.1:8848
enabled: true enabled: true
eureka: eureka:
......
...@@ -7,7 +7,7 @@ spring: ...@@ -7,7 +7,7 @@ spring:
caffeine: caffeine:
spec: initialCapacity=5,maximumSize=500,expireAfterWrite=3600s spec: initialCapacity=5,maximumSize=500,expireAfterWrite=3600s
redis: redis:
host: 172.16.100.243 host: 127.0.0.1
port: 6379 port: 6379
password: password:
database: 0 database: 0
...@@ -22,9 +22,9 @@ spring: ...@@ -22,9 +22,9 @@ spring:
max-file-size: 100MB max-file-size: 100MB
max-request-size: 100MB max-request-size: 100MB
datasource: datasource:
username: a_A_5d9d78509 username: root
password: '@6dEfb3@' password: 'root'
url: jdbc:mysql://172.16.180.232:3306/a_A_5d9d78509?autoReconnect=true&useUnicode=true&characterEncoding=UTF-8&useOldAliasMetadataBehavior=true&allowMultiQueries=true url: jdbc:mysql://127.0.0.1:3306/ibzdisk?autoReconnect=true&useUnicode=true&characterEncoding=UTF-8&useOldAliasMetadataBehavior=true&allowMultiQueries=true
driver-class-name: com.mysql.jdbc.Driver driver-class-name: com.mysql.jdbc.Driver
filters: stat,wall,log4j2 filters: stat,wall,log4j2
#配置初始化大小/最小/最大 #配置初始化大小/最小/最大
...@@ -45,7 +45,7 @@ spring: ...@@ -45,7 +45,7 @@ spring:
pool-prepared-statements: false pool-prepared-statements: false
max-pool-prepared-statement-per-connection-size: 20 max-pool-prepared-statement-per-connection-size: 20
isSyncDBSchema: false isSyncDBSchema: false
defaultSchema: a_A_5d9d78509 defaultSchema: root
conf: classpath:liquibase/master.xml conf: classpath:liquibase/master.xml
#Mybatis-plus配置 #Mybatis-plus配置
......
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册