提交 5d81b442 编写于 作者: ibizdev's avatar ibizdev

labxiekai 部署微服务应用

上级 89585a19
...@@ -66,7 +66,7 @@ export default class AppAddressSelection extends Vue { ...@@ -66,7 +66,7 @@ export default class AppAddressSelection extends Vue {
axios.get("../../assets/json/city_code.json").then((response: any) => { axios.get("../../assets/json/city_code.json").then((response: any) => {
this.format(response.data); this.format(response.data);
}).catch((response: any) => { }).catch((response: any) => {
console.log("城市数据加载失败"); console.log((this.$t('components.appAddressSelection.loadDataFail') as string));
}); });
......
...@@ -276,7 +276,7 @@ export default class AppCheckBox extends Vue { ...@@ -276,7 +276,7 @@ export default class AppCheckBox extends Vue {
this.codeListService.getItems(this.tag,_context,_param).then((res:any) => { this.codeListService.getItems(this.tag,_context,_param).then((res:any) => {
this.items = res; this.items = res;
}).catch((error:any)=>{ }).catch((error:any)=>{
console.log(`----${this.tag}----代码表不存在!`); console.log(`----${this.tag}----${(this.$t('components.appCheckBoxList.notExist') as string)}`);
}) })
} }
} }
......
...@@ -191,7 +191,7 @@ export default class AppColumnLink extends Vue { ...@@ -191,7 +191,7 @@ export default class AppColumnLink extends Vue {
private openRedirectView($event: any, view: any, data: any): void { private openRedirectView($event: any, view: any, data: any): void {
this.$http.get(view.url, data).then((response: any) => { this.$http.get(view.url, data).then((response: any) => {
if (!response || response.status !== 200) { if (!response || response.status !== 200) {
this.$Notice.error({ title: '错误', desc: '请求异常' }); this.$Notice.error({ title: (this.$t('components.appColumnLink.error') as string), desc: (this.$t('components.appColumnLink.requestError') as string) });
} }
if (response.status === 401) { if (response.status === 401) {
return; return;
...@@ -243,7 +243,7 @@ export default class AppColumnLink extends Vue { ...@@ -243,7 +243,7 @@ export default class AppColumnLink extends Vue {
} }
}).catch((response: any) => { }).catch((response: any) => {
if (!response || !response.status || !response.data) { if (!response || !response.status || !response.data) {
this.$Notice.error({ title: '错误', desc: '系统异常!' }); this.$Notice.error({ title: (this.$t('components.appColumnLink.error') as string), desc: (this.$t('components.appColumnLink.systemError') as string) });
return; return;
} }
if (response.status === 401) { if (response.status === 401) {
......
...@@ -443,13 +443,13 @@ export default class AppDataUploadView extends Vue { ...@@ -443,13 +443,13 @@ export default class AppDataUploadView extends Vue {
if (codelist) { if (codelist) {
resolve([...JSON.parse(JSON.stringify(codelist.items))]); resolve([...JSON.parse(JSON.stringify(codelist.items))]);
} else { } else {
console.log(`----${codeListObject.tag}----代码表不存在`); console.log(`----${codeListObject.tag}----${(this.$t('components.appDataUpload.notExist') as string)}`);
} }
}else if(codeListObject.tag && Object.is(codeListObject.type,"DYNAMIC")){ }else if(codeListObject.tag && Object.is(codeListObject.type,"DYNAMIC")){
this.codeListService.getItems(codeListObject.tag).then((res:any) => { this.codeListService.getItems(codeListObject.tag).then((res:any) => {
resolve(res); resolve(res);
}).catch((error:any) => { }).catch((error:any) => {
console.log(`----${codeListObject.tag}----代码表不存在`); console.log(`----${codeListObject.tag}----${(this.$t('components.appDataUpload.notExist') as string)}`);
}); });
} }
}) })
......
...@@ -131,7 +131,7 @@ export default class AppDepartmentSelect extends Vue { ...@@ -131,7 +131,7 @@ export default class AppDepartmentSelect extends Vue {
this.$store.commit('addDepData', { srfkey: this.filter, orgData: response.data }); this.$store.commit('addDepData', { srfkey: this.filter, orgData: response.data });
}).catch((response: any) => { }).catch((response: any) => {
if (!response || !response.status || !response.data) { if (!response || !response.status || !response.data) {
this.$Notice.error({ title: '错误', desc: '系统异常!' }); this.$Notice.error({ title: (this.$t('components.appDepartmentSelect.error') as string), desc: (this.$t('components.appDepartmentSelect.systemError') as string) });
return; return;
} }
}); });
......
...@@ -107,18 +107,18 @@ export default class AppExportExcel extends Vue { ...@@ -107,18 +107,18 @@ export default class AppExportExcel extends Vue {
this.visible = false; this.visible = false;
} else if (Object.is(type, 'custom')) { } else if (Object.is(type, 'custom')) {
if (!this.startPage || !this.endPage) { if (!this.startPage || !this.endPage) {
this.$Notice.warning({ title: '警告', desc: '请输入起始页' }); this.$Notice.warning({ title: (this.$t('components.appExportExcel.warning') as string), desc: (this.$t('components.appExportExcel.desc') as string) });
return; return;
} }
const startPage: any = Number.parseInt(this.startPage, 10); const startPage: any = Number.parseInt(this.startPage, 10);
const endPage: any = Number.parseInt(this.endPage, 10); const endPage: any = Number.parseInt(this.endPage, 10);
if (Number.isNaN(startPage) || Number.isNaN(endPage)) { if (Number.isNaN(startPage) || Number.isNaN(endPage)) {
this.$Notice.warning({ title: '警告', desc: '请输入有效的起始页' }); this.$Notice.warning({ title: (this.$t('components.appExportExcel.warning') as string), desc: (this.$t('components.appExportExcel.desc1') as string) });
return; return;
} }
if (startPage < 1 || endPage < 1 || startPage > endPage) { if (startPage < 1 || endPage < 1 || startPage > endPage) {
this.$Notice.warning({ title: '警告', desc: '请输入有效的起始页' }); this.$Notice.warning({ title: (this.$t('components.appExportExcel.warning') as string), desc: (this.$t('components.appExportExcel.desc1') as string) });
return; return;
} }
this.startPage = null; this.startPage = null;
......
...@@ -386,7 +386,7 @@ export default class AppFormDRUIPart extends Vue { ...@@ -386,7 +386,7 @@ export default class AppFormDRUIPart extends Vue {
* @memberof AppFormDRUIPart * @memberof AppFormDRUIPart
*/ */
public mditemsload(){ public mditemsload(){
console.log('多数据视图加载完成,触发后续表单项更新'); console.log((this.$t('components.appFormDRUIPart.viewLoadComp') as string));
} }
/** /**
...@@ -397,7 +397,7 @@ export default class AppFormDRUIPart extends Vue { ...@@ -397,7 +397,7 @@ export default class AppFormDRUIPart extends Vue {
*/ */
public drdatasaved($event:any){ public drdatasaved($event:any){
this.$emit('drdatasaved',$event); this.$emit('drdatasaved',$event);
console.log(this.viewname+'关系数据保存完成'); console.log(this.viewname+(this.$t('components.appFormDRUIPart.save') as string));
} }
/** /**
...@@ -407,7 +407,7 @@ export default class AppFormDRUIPart extends Vue { ...@@ -407,7 +407,7 @@ export default class AppFormDRUIPart extends Vue {
* @memberof AppFormDRUIPart * @memberof AppFormDRUIPart
*/ */
public drdatachange(){ public drdatachange(){
console.log('DEMEDITVIEW9 关系数据值变化'); console.log('DEMEDITVIEW9 '+(this.$t('components.appFormDRUIPart.change') as string));
} }
/** /**
...@@ -417,7 +417,7 @@ export default class AppFormDRUIPart extends Vue { ...@@ -417,7 +417,7 @@ export default class AppFormDRUIPart extends Vue {
* @memberof AppFormDRUIPart * @memberof AppFormDRUIPart
*/ */
public viewdataschange(){ public viewdataschange(){
console.log('视图数据变化'); console.log((this.$t('components.appFormDRUIPart.change1') as string));
} }
/** /**
...@@ -427,7 +427,7 @@ export default class AppFormDRUIPart extends Vue { ...@@ -427,7 +427,7 @@ export default class AppFormDRUIPart extends Vue {
* @memberof AppFormDRUIPart * @memberof AppFormDRUIPart
*/ */
public viewload(){ public viewload(){
console.log('视图加载完成'); console.log((this.$t('components.appFormDRUIPart.loadComp') as string));
} }
} }
</script> </script>
......
...@@ -9,8 +9,8 @@ ...@@ -9,8 +9,8 @@
</div> </div>
</div> </div>
<div class="ibiz-group-footer"> <div class="ibiz-group-footer">
<el-button size="small" type="primary" @click="onOK">确认</el-button> <el-button size="small" type="primary" @click="onOK">{{$t('components.appGroupPicker.ok')}}</el-button>
<el-button size="small" @click="onCancel">取消</el-button> <el-button size="small" @click="onCancel">{{$t('components.appGroupPicker.cancel')}}</el-button>
</div> </div>
</div> </div>
</template> </template>
......
...@@ -171,7 +171,7 @@ export default class AppGroupSelect extends Vue { ...@@ -171,7 +171,7 @@ export default class AppGroupSelect extends Vue {
public openView() { public openView() {
const view: any = { const view: any = {
viewname: 'app-group-picker', viewname: 'app-group-picker',
title: '分组选择' title: (this.$t('components.appGroupSelect.groupSelect') as string)
}; };
const context: any = JSON.parse(JSON.stringify(this.context)); const context: any = JSON.parse(JSON.stringify(this.context));
let filtervalue:string = ""; let filtervalue:string = "";
......
...@@ -407,7 +407,7 @@ export default class AppImageUpload extends Vue { ...@@ -407,7 +407,7 @@ export default class AppImageUpload extends Vue {
* @memberof AppImageUpload * @memberof AppImageUpload
*/ */
public onError(error: any, file: any, fileList: any) { public onError(error: any, file: any, fileList: any) {
this.$Notice.error({ title: '上传失败' }); this.$Notice.error({ title: (this.$t('components.appImageUpload.uploadFail') as string) });
} }
/** /**
......
...@@ -183,7 +183,7 @@ export default class AppOrgSelect extends Vue { ...@@ -183,7 +183,7 @@ export default class AppOrgSelect extends Vue {
} }
Http.getInstance().get(requestUrl).then((res:any) =>{ Http.getInstance().get(requestUrl).then((res:any) =>{
if(!res.status && res.status !== 200){ if(!res.status && res.status !== 200){
console.error("加载数据失败"); console.error((this.$t('components.appOrgSelect.loadFail') as string));
return; return;
} }
this.NodesData = res.data; this.NodesData = res.data;
......
...@@ -242,7 +242,7 @@ export default class AppPicker extends Vue { ...@@ -242,7 +242,7 @@ export default class AppPicker extends Vue {
* @param {*} oldVal * @param {*} oldVal
* @memberof AppPicker * @memberof AppPicker
*/ */
@Watch('value',{immediate: true}) @Watch('value')
public onValueChange(newVal: any, oldVal: any) { public onValueChange(newVal: any, oldVal: any) {
this.curvalue = newVal; this.curvalue = newVal;
if (Object.is(this.editortype, 'dropdown') && this.valueitem) { if (Object.is(this.editortype, 'dropdown') && this.valueitem) {
......
...@@ -88,7 +88,7 @@ export default class AppRadioGroup extends Vue { ...@@ -88,7 +88,7 @@ export default class AppRadioGroup extends Vue {
this.codeListService.getItems(this.tag,_context,_param).then((res:any) => { this.codeListService.getItems(this.tag,_context,_param).then((res:any) => {
this.items = res; this.items = res;
}).catch((error:any)=>{ }).catch((error:any)=>{
console.log(`----${this.tag}----代码表不存在!`); console.log(`----${this.tag}----${(this.$t('components.appRadioGroup.notExist') as string)}`);
}) })
} }
} }
...@@ -204,7 +204,7 @@ export default class AppRadioGroup extends Vue { ...@@ -204,7 +204,7 @@ export default class AppRadioGroup extends Vue {
this.codeListService.getItems(this.tag,_context,_param).then((res:any) => { this.codeListService.getItems(this.tag,_context,_param).then((res:any) => {
this.items = res; this.items = res;
}).catch((error:any)=>{ }).catch((error:any)=>{
console.log(`----${this.tag}----代码表不存在!`); console.log(`----${this.tag}----${(this.$t('components.appRadioGroup.notExist') as string)}`);
}) })
} }
} }
......
...@@ -15,7 +15,7 @@ ...@@ -15,7 +15,7 @@
v-model="dataRight" v-model="dataRight"
:data="dataLeft" :data="dataLeft"
@change="dataChange" @change="dataChange"
:titles="['未选择', '已选择']"/> :titles="titles"/>
</Select> </Select>
</template> </template>
...@@ -123,6 +123,13 @@ export default class AppTransfer extends Vue { ...@@ -123,6 +123,13 @@ export default class AppTransfer extends Vue {
*/ */
@Model("change") public itemValue!: any; @Model("change") public itemValue!: any;
/**
* 左右侧标题
* @type{Array<string>}
* @memberof AppTransfer
*/
public titles:Array<string>=[(this.$t('components.appTransfer.title1') as string), (this.$t('components.appTransfer.title2') as string)]
/** /**
* 左侧框数据 * 左侧框数据
* *
...@@ -167,7 +174,7 @@ export default class AppTransfer extends Vue { ...@@ -167,7 +174,7 @@ export default class AppTransfer extends Vue {
this.dataLeft = [...JSON.parse(JSON.stringify(codelist.items))]; this.dataLeft = [...JSON.parse(JSON.stringify(codelist.items))];
this.initData() this.initData()
} else { } else {
console.log(`----${this.tag}----代码表不存在`); console.log(`----${this.tag}----${(this.$t('components.appTransfer.notExist') as string)}`);
} }
} else if (this.tag && Object.is(this.codelistType, "DYNAMIC")) { } else if (this.tag && Object.is(this.codelistType, "DYNAMIC")) {
// 处理公共参数 // 处理公共参数
...@@ -183,7 +190,7 @@ export default class AppTransfer extends Vue { ...@@ -183,7 +190,7 @@ export default class AppTransfer extends Vue {
this.initData() this.initData()
}) })
.catch((error: any) => { .catch((error: any) => {
console.log(`----${this.tag}----代码表不存在`); console.log(`----${this.tag}----${(this.$t('components.appTransfer.notExist') as string)}`);
}); });
} }
} }
......
...@@ -2,24 +2,24 @@ ...@@ -2,24 +2,24 @@
<div class="update-password"> <div class="update-password">
<div class="password-item"> <div class="password-item">
<label for> <label for>
原密码: {{$t('components.appUpdatePassword.oldPwd')}}
<Input type="password" v-model="oldPwd" @on-blur="oldPwdVaild"/> <Input type="password" v-model="oldPwd" @on-blur="oldPwdVaild"/>
</label> </label>
</div> </div>
<div class="password-item"> <div class="password-item">
<label for> <label for>
新密码: {{$t('components.appUpdatePassword.newPwd')}}
<Input type="password" v-model="newPwd" @on-blur="newPwdVaild"/> <Input type="password" v-model="newPwd" @on-blur="newPwdVaild"/>
</label> </label>
</div> </div>
<div class="password-item"> <div class="password-item">
<label for> <label for>
确认密码: {{$t('components.appUpdatePassword.confirmPwd')}}
<Input type="password" v-model="confirmPwd" :disabled="!this.newPwd" @on-blur="confirmVaild" /> <Input type="password" v-model="confirmPwd" :disabled="!this.newPwd" @on-blur="confirmVaild" />
</label> </label>
</div> </div>
<div class="password-item password-btn"> <div class="password-item password-btn">
<Button type="primary" long :disabled="!oldPwd || !newPwd || !confirmPwd || disUpdate" @click="updatePwd">确认修改</Button> <Button type="primary" long :disabled="!oldPwd || !newPwd || !confirmPwd || disUpdate" @click="updatePwd">{{$t('components.appUpdatePassword.sure')}}</Button>
</div> </div>
</div> </div>
</template> </template>
...@@ -73,7 +73,7 @@ export default class AppUpdatePassword extends Vue { ...@@ -73,7 +73,7 @@ export default class AppUpdatePassword extends Vue {
public oldPwdVaild(){ public oldPwdVaild(){
if(!this.oldPwd){ if(!this.oldPwd){
this.$Notice.error({ this.$Notice.error({
title:'原密码不能为空!', title: (this.$t('components.appUpdatePassword.oldPwdErr') as string),
duration: 3 duration: 3
}); });
} }
...@@ -88,7 +88,7 @@ export default class AppUpdatePassword extends Vue { ...@@ -88,7 +88,7 @@ export default class AppUpdatePassword extends Vue {
public newPwdVaild(){ public newPwdVaild(){
if(!this.newPwd){ if(!this.newPwd){
this.$Notice.error({ this.$Notice.error({
title:'新密码不能为空!', title: (this.$t('components.appUpdatePassword.newPwdErr') as string),
duration: 3 duration: 3
}); });
} }
...@@ -104,7 +104,7 @@ export default class AppUpdatePassword extends Vue { ...@@ -104,7 +104,7 @@ export default class AppUpdatePassword extends Vue {
if (this.newPwd && this.confirmPwd) { if (this.newPwd && this.confirmPwd) {
if (this.confirmPwd !== this.newPwd) { if (this.confirmPwd !== this.newPwd) {
this.$Notice.error({ this.$Notice.error({
title:'两次输入密码不一致!', title: (this.$t('components.appUpdatePassword.confirmPwdErr') as string),
duration: 3 duration: 3
}); });
}else{ }else{
...@@ -136,7 +136,7 @@ export default class AppUpdatePassword extends Vue { ...@@ -136,7 +136,7 @@ export default class AppUpdatePassword extends Vue {
} }
}).catch((error: any) =>{ }).catch((error: any) =>{
this.$Notice.error({ this.$Notice.error({
title:'系统异常', title: (this.$t('components.appUpdatePassword.error') as string),
duration: 3 duration: 3
}); });
console.error(error); console.error(error);
......
...@@ -51,7 +51,7 @@ export default class AppUser extends Vue { ...@@ -51,7 +51,7 @@ export default class AppUser extends Vue {
} }
}); });
}else if (Object.is(data, 'updatepwd')) { }else if (Object.is(data, 'updatepwd')) {
let container: Subject<any> = this.$appmodal.openModal({ viewname: 'app-update-password', title: "修改密码", width: 500, height: 400, }, {}, {}); let container: Subject<any> = this.$appmodal.openModal({ viewname: 'app-update-password', title: (this.$t('components.appUser.changepwd') as string), width: 500, height: 400, }, {}, {});
container.subscribe((result: any) => { container.subscribe((result: any) => {
if (!result || !Object.is(result.ret, 'OK')) { if (!result || !Object.is(result.ret, 'OK')) {
return; return;
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
<div class='app-wf-approval'> <div class='app-wf-approval'>
<div class="app-wf-approval-header"> <div class="app-wf-approval-header">
<span class="approval-header-left">{{data.startTime}}</span> <span class="approval-header-left">{{data.startTime}}</span>
<span>{{data.startUserName}}提交</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"> <div class="approval-content-item" v-for="(usertask,index) in data.usertasks" :key="index">
...@@ -11,7 +11,7 @@ ...@@ -11,7 +11,7 @@
</div> </div>
<div class="approval-content-item-right"> <div class="approval-content-item-right">
<div class="approval-content-item-wait" v-if="usertask.identitylinks.length >0"> <div class="approval-content-item-wait" v-if="usertask.identitylinks.length >0">
等待<span v-for="(identitylink,inx) in usertask.identitylinks" :key="inx">{{identitylink.displayname}}<span v-if="inx >0"></span></span>处理 {{$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> </div>
<div class="approval-content-item-info" v-if="usertask.comments.length >0"> <div class="approval-content-item-info" v-if="usertask.comments.length >0">
<div v-for="(comment,commentInx) in usertask.comments" :key="commentInx"> <div v-for="(comment,commentInx) in usertask.comments" :key="commentInx">
...@@ -25,13 +25,13 @@ ...@@ -25,13 +25,13 @@
</div> </div>
</div> </div>
<div class="approval-content-item-memo" v-if="usertask.userTaskId === viewparams.userTaskId"> <div class="approval-content-item-memo" v-if="usertask.userTaskId === viewparams.userTaskId">
<el-input type="textarea" v-model="initmemo" :rows="2" @blur="handleBlur" placeholder="请输入内容"></el-input> <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> </div>
<div class="app-wf-approval-bottom"> <div class="app-wf-approval-bottom">
<span v-if="data.endTime">{{data.endTime}}结束</span> <span v-if="data.endTime">{{data.endTime}}{{$t('components.appWFApproval.end')}}</span>
</div> </div>
</div> </div>
</template> </template>
......
...@@ -192,7 +192,7 @@ export default class CodeList extends Vue { ...@@ -192,7 +192,7 @@ export default class CodeList extends Vue {
let items = res; let items = res;
_this.setItems(items, _this); _this.setItems(items, _this);
}).catch((error: any) => { }).catch((error: any) => {
console.log(`----${_this.tag}----代码表不存在`); console.log(`----${_this.tag}----${(this.$t('components.codeList.notExist') as string)}`);
}); });
// 静态处理 // 静态处理
} else if(Object.is(this.codelistType, "STATIC")){ } else if(Object.is(this.codelistType, "STATIC")){
......
...@@ -7,7 +7,7 @@ ...@@ -7,7 +7,7 @@
<Icon type="md-apps" /> <Icon type="md-apps" />
</div> </div>
<div class="content"> <div class="content">
<span>全部应用</span> <span>{{$t('components.contextMenuDrag.allApp')}}</span>
</div> </div>
<div class="forward"> <div class="forward">
<Icon type="ios-arrow-forward" /> <Icon type="ios-arrow-forward" />
...@@ -221,7 +221,7 @@ export default class ContextMenuDrag extends Vue { ...@@ -221,7 +221,7 @@ export default class ContextMenuDrag extends Vue {
const put: Promise<any> = this.entityService.updateChooseApp(null,params); const put: Promise<any> = this.entityService.updateChooseApp(null,params);
window.location.href = item.addr; window.location.href = item.addr;
}else{ }else{
this.$message.info("未找到该应用"); this.$message.info((this.$t('components.contextMenuDrag.noFind') as string));
} }
} }
......
...@@ -201,7 +201,7 @@ export default class DropDownListDynamic extends Vue { ...@@ -201,7 +201,7 @@ export default class DropDownListDynamic extends Vue {
if (codelist) { if (codelist) {
this.items = [...JSON.parse(JSON.stringify(codelist.items))]; this.items = [...JSON.parse(JSON.stringify(codelist.items))];
} else { } else {
console.log(`----${this.tag}----代码表不存在`); console.log(`----${this.tag}----${(this.$t('components.dropDownListDynamic.notExist') as string)}`);
} }
}else if(this.tag && Object.is(this.codelistType,"DYNAMIC")){ }else if(this.tag && Object.is(this.codelistType,"DYNAMIC")){
// 公共参数处理 // 公共参数处理
...@@ -213,7 +213,7 @@ export default class DropDownListDynamic extends Vue { ...@@ -213,7 +213,7 @@ export default class DropDownListDynamic extends Vue {
this.codeListService.getItems(this.tag,_context,_param).then((res:any) => { this.codeListService.getItems(this.tag,_context,_param).then((res:any) => {
this.items = res; this.items = res;
}).catch((error:any) => { }).catch((error:any) => {
console.log(`----${this.tag}----代码表不存在`); console.log(`----${this.tag}----${(this.$t('components.dropDownListDynamic.notExist') as string)}`);
}); });
} }
} }
...@@ -236,7 +236,7 @@ export default class DropDownListDynamic extends Vue { ...@@ -236,7 +236,7 @@ export default class DropDownListDynamic extends Vue {
this.codeListService.getItems(this.tag,_context,_param).then((res:any) => { this.codeListService.getItems(this.tag,_context,_param).then((res:any) => {
this.items = res; this.items = res;
}).catch((error:any) => { }).catch((error:any) => {
console.log(`----${this.tag}----代码表不存在`); console.log(`----${this.tag}----${(this.$t('components.dropDownListDynamic.notExist') as string)}`);
}); });
} }
} }
......
...@@ -187,7 +187,7 @@ export default class DropDownListMpicker extends Vue { ...@@ -187,7 +187,7 @@ export default class DropDownListMpicker extends Vue {
if (codelist) { if (codelist) {
this.items = [...JSON.parse(JSON.stringify(codelist.items))]; this.items = [...JSON.parse(JSON.stringify(codelist.items))];
} else { } else {
console.log(`----${this.tag}----代码表不存在`); console.log(`----${this.tag}----${(this.$t('components.dropDownListMpicker.notExist') as string)}`);
} }
}else if(this.tag && Object.is(this.codelistType,"DYNAMIC")){ }else if(this.tag && Object.is(this.codelistType,"DYNAMIC")){
// 公共参数处理 // 公共参数处理
...@@ -199,7 +199,7 @@ export default class DropDownListMpicker extends Vue { ...@@ -199,7 +199,7 @@ export default class DropDownListMpicker extends Vue {
this.codeListService.getItems(this.tag,_context,_param).then((res:any) => { this.codeListService.getItems(this.tag,_context,_param).then((res:any) => {
this.items = res; this.items = res;
}).catch((error:any) => { }).catch((error:any) => {
console.log(`----${this.tag}----代码表不存在`); console.log(`----${this.tag}----${(this.$t('components.dropDownListMpicker.notExist') as string)}`);
}); });
} }
} }
...@@ -221,7 +221,7 @@ export default class DropDownListMpicker extends Vue { ...@@ -221,7 +221,7 @@ export default class DropDownListMpicker extends Vue {
this.codeListService.getItems(this.tag,_context,_param).then((res:any) => { this.codeListService.getItems(this.tag,_context,_param).then((res:any) => {
this.items = res; this.items = res;
}).catch((error:any) => { }).catch((error:any) => {
console.log(`----${this.tag}----代码表不存在`); console.log(`----${this.tag}----${(this.$t('components.dropDownListMpicker.notExist') as string)}`);
}); });
} }
} }
......
...@@ -201,7 +201,7 @@ export default class DropDownList extends Vue { ...@@ -201,7 +201,7 @@ export default class DropDownList extends Vue {
if (codelist) { if (codelist) {
this.items = [...JSON.parse(JSON.stringify(codelist.items))]; this.items = [...JSON.parse(JSON.stringify(codelist.items))];
} else { } else {
console.log(`----${this.tag}----代码表不存在`); console.log(`----${this.tag}----${(this.$t('components.dropDownList.notExist') as string)}`);
} }
}else if(this.tag && Object.is(this.codelistType,"DYNAMIC")){ }else if(this.tag && Object.is(this.codelistType,"DYNAMIC")){
// 公共参数处理 // 公共参数处理
...@@ -213,7 +213,7 @@ export default class DropDownList extends Vue { ...@@ -213,7 +213,7 @@ export default class DropDownList extends Vue {
this.codeListService.getItems(this.tag,_context,_param).then((res:any) => { this.codeListService.getItems(this.tag,_context,_param).then((res:any) => {
this.items = res; this.items = res;
}).catch((error:any) => { }).catch((error:any) => {
console.log(`----${this.tag}----代码表不存在`); console.log(`----${this.tag}----${(this.$t('components.dropDownList.notExist') as string)}`);
}); });
} }
} }
...@@ -236,7 +236,7 @@ export default class DropDownList extends Vue { ...@@ -236,7 +236,7 @@ export default class DropDownList extends Vue {
this.codeListService.getItems(this.tag,_context,_param).then((res:any) => { this.codeListService.getItems(this.tag,_context,_param).then((res:any) => {
this.items = res; this.items = res;
}).catch((error:any) => { }).catch((error:any) => {
console.log(`----${this.tag}----代码表不存在`); console.log(`----${this.tag}----${(this.$t('components.dropDownList.notExist') as string)}`);
}); });
} }
} }
......
<template> <template>
<el-select size="small" class="filter-mode" placeholder="条件逻辑" v-model="curVal" @change="onChange"> <el-select size="small" class="filter-mode" :placeholder="$t('components.filterMode.placeholder')" v-model="curVal" @change="onChange">
<el-option <el-option
v-for="mode in filterMode" v-for="mode in filterMode"
:key="mode.value" :key="mode.value"
......
...@@ -7,15 +7,15 @@ ...@@ -7,15 +7,15 @@
<el-option v-for="mode in relationModes" :key="mode.value" :label="getLabel(mode)" :value="mode.value"></el-option> <el-option v-for="mode in relationModes" :key="mode.value" :label="getLabel(mode)" :value="mode.value"></el-option>
</el-select> </el-select>
<div class="filter-tree-action"> <div class="filter-tree-action">
<i-button title="添加条件" @click="onAddItem(data)"><i class="fa fa-plus" aria-hidden="true"></i> 添加条件</i-button> <i-button :title="$t('components.filterTree.title1')" @click="onAddItem(data)"><i class="fa fa-plus" aria-hidden="true"></i> {{$t('components.filterTree.title1')}}</i-button>
<i-button title="添加组" @click="onAddGroup(data)"><i class="fa fa-plus" aria-hidden="true"></i> 添加组</i-button> <i-button :title="$t('components.filterTree.title2')" @click="onAddGroup(data)"><i class="fa fa-plus" aria-hidden="true"></i> {{$t('components.filterTree.title2')}}</i-button>
<icon v-if="!data.isroot" type="md-close" @click="onRemoveItem(node, data)"/> <icon v-if="!data.isroot" type="md-close" @click="onRemoveItem(node, data)"/>
</div> </div>
</div> </div>
</template> </template>
<template v-else> <template v-else>
<div class="filter-tree-item"> <div class="filter-tree-item">
<el-select size="small" class="filter-item-field" v-model="data.field" clearable placeholder="属性" @change="onFieldChange(data)"> <el-select size="small" class="filter-item-field" v-model="data.field" clearable :placeholder="$t('components.filterTree.placeholder')" @change="onFieldChange(data)">
<el-option <el-option
v-for="item in fields" v-for="item in fields"
:key="item.prop" :key="item.prop"
......
<template> <template>
<div class="input-unit"> <div class="input-unit">
<InputNumber v-if="type === 'number'" <InputNumber v-if="type === 'number'"
:id="numberId"
:placeholder="placeholder" :placeholder="placeholder"
:size="size" :size="size"
:precision="precision" :precision="precision"
v-model="CurrentVal" v-model="CurrentVal"
:disabled="disabled ? true : false" :disabled="disabled ? true : false"
:formatter="formatter"
:parser="parser"
></InputNumber> ></InputNumber>
<i-input v-else <i-input v-else
:placeholder="placeholder" :placeholder="placeholder"
...@@ -27,6 +30,7 @@ import { debounceTime, distinctUntilChanged } from "rxjs/operators"; ...@@ -27,6 +30,7 @@ import { debounceTime, distinctUntilChanged } from "rxjs/operators";
@Component({}) @Component({})
export default class InputBox extends Vue { export default class InputBox extends Vue {
/** /**
* 双向绑定值 * 双向绑定值
* @type {any} * @type {any}
...@@ -40,6 +44,7 @@ export default class InputBox extends Vue { ...@@ -40,6 +44,7 @@ export default class InputBox extends Vue {
* @memberof InputBox * @memberof InputBox
*/ */
public mounted(){ public mounted(){
this.addEvent();
if(this.textareaId){ if(this.textareaId){
let textarea :any= document.getElementById(this.textareaId); let textarea :any= document.getElementById(this.textareaId);
if(textarea){ if(textarea){
...@@ -114,6 +119,11 @@ export default class InputBox extends Vue { ...@@ -114,6 +119,11 @@ export default class InputBox extends Vue {
*/ */
@Prop() public autoSize?: any; @Prop() public autoSize?: any;
/**
* 数值框numberId
*/
public numberId :string= this.$util.createUUID();
/** /**
* 当前值 * 当前值
* *
...@@ -158,6 +168,51 @@ export default class InputBox extends Vue { ...@@ -158,6 +168,51 @@ export default class InputBox extends Vue {
} }
return $event; return $event;
} }
/**
* 给数值框中的箭头按钮添加事件
*
* @memberof InputBox
*/
public addEvent(){
if(Object.is(this.type, "number")){
let inputNumber :any = document.getElementById(this.numberId);
let handlerWrap :any = inputNumber.firstElementChild;
handlerWrap.onmouseover=()=>{
inputNumber.style.paddingRight="15px";
inputNumber.style.transition="all 0.2s linear";
}
handlerWrap.onmouseout=()=>{
inputNumber.style.paddingRight="0px";
}
}
}
/**
* 指定输入框展示值的格式
*/
public formatter(value:any){
console.log(this.precision);
if(this.precision===0) return this.CurrentVal;
if(value.indexOf('.')!==-1){
let arr:Array<any> = value.split('.');
if(arr[1]==='00'){
return arr[0];
}
if(parseInt(arr[1])%10===0){
return arr[0]+'.'+parseInt(arr[1])/10;
}
}
return value;
}
/**
* 指定从 formatter 里转换回数字的方式
*/
public parser(value:any){
if(this.precision===0) return this.CurrentVal;
return value;
}
} }
</script> </script>
......
...@@ -719,6 +719,7 @@ export default class MainBase extends Vue implements ControlInterface { ...@@ -719,6 +719,7 @@ export default class MainBase extends Vue implements ControlInterface {
public handleMenusResource(inputMenus:Array<any>){ public handleMenusResource(inputMenus:Array<any>){
if(Environment.enablePermissionValid){ if(Environment.enablePermissionValid){
this.computedEffectiveMenus(inputMenus); this.computedEffectiveMenus(inputMenus);
this.computeParentMenus(inputMenus);
} }
this.dataProcess(inputMenus); this.dataProcess(inputMenus);
this.menus = inputMenus; this.menus = inputMenus;
...@@ -728,7 +729,7 @@ export default class MainBase extends Vue implements ControlInterface { ...@@ -728,7 +729,7 @@ export default class MainBase extends Vue implements ControlInterface {
/** /**
* 计算有效菜单项 * 计算有效菜单项
* *
* @param {*} data * @param {*} inputMenus
* @memberof MainBase * @memberof MainBase
*/ */
public computedEffectiveMenus(inputMenus:Array<any>){ public computedEffectiveMenus(inputMenus:Array<any>){
...@@ -742,6 +743,29 @@ export default class MainBase extends Vue implements ControlInterface { ...@@ -742,6 +743,29 @@ export default class MainBase extends Vue implements ControlInterface {
}) })
} }
/**
* 计算父项菜单项是否隐藏
*
* @param {*} inputMenus
* @memberof MainBase
*/
public computeParentMenus(inputMenus:Array<any>){
if(inputMenus && inputMenus.length >0){
inputMenus.forEach((item:any) =>{
if(item.hidden && item.items && item.items.length >0){
item.items.map((singleItem:any) =>{
if(!singleItem.hidden){
item.hidden = false;
}
if(singleItem.items && singleItem.items.length >0){
this.computeParentMenus(singleItem.items);
}
})
}
})
}
}
/** /**
* 数据处理 * 数据处理
* *
......
...@@ -37,6 +37,11 @@ ...@@ -37,6 +37,11 @@
git clone -b master $para2 ibzuaa/ git clone -b master $para2 ibzuaa/
export NODE_OPTIONS=--max-old-space-size=4096 export NODE_OPTIONS=--max-old-space-size=4096
cd ibzuaa/ cd ibzuaa/
mvn clean package -Pweb
cd ibzuaa-app/ibzuaa-app-web
mvn -Pweb docker:build
mvn -Pweb docker:push
docker -H $para1 stack deploy --compose-file=src/main/docker/ibzuaa-app-web.yaml ibzlab-rt --with-registry-auth
</command> </command>
</hudson.tasks.Shell> </hudson.tasks.Shell>
</builders> </builders>
......
...@@ -9,6 +9,6 @@ CMD echo "The application will start in ${IBIZ_SLEEP}s..." && \ ...@@ -9,6 +9,6 @@ CMD echo "The application will start in ${IBIZ_SLEEP}s..." && \
sleep ${IBIZ_SLEEP} && \ sleep ${IBIZ_SLEEP} && \
java ${JAVA_OPTS} -Djava.security.egd=file:/dev/./urandom -jar /ibzuaa-app-web.jar java ${JAVA_OPTS} -Djava.security.egd=file:/dev/./urandom -jar /ibzuaa-app-web.jar
EXPOSE 8080 EXPOSE 30002
ADD ibzuaa-app-web.jar /ibzuaa-app-web.jar ADD ibzuaa-app-web.jar /ibzuaa-app-web.jar
...@@ -3,9 +3,24 @@ services: ...@@ -3,9 +3,24 @@ services:
ibzuaa-app-web: ibzuaa-app-web:
image: registry.cn-shanghai.aliyuncs.com/ibizsys/ibzuaa-app-web:latest image: registry.cn-shanghai.aliyuncs.com/ibizsys/ibzuaa-app-web:latest
ports: ports:
- "8080:8080" - "30002:30002"
networks: networks:
- agent_network - agent_network
environment:
- SPRING_CLOUD_NACOS_DISCOVERY_IP=172.16.180.237
- SERVER_PORT=30002
- SPRING_CLOUD_NACOS_DISCOVERY_SERVER-ADDR=172.16.102.211:8848
- SPRING_REDIS_HOST=172.16.100.243
- SPRING_REDIS_PORT=6379
- SPRING_REDIS_DATABASE=0
- SPRING_DATASOURCE_USERNAME=a_A_5d9d78509
- SPRING_DATASOURCE_PASSWORD=@6dEfb3@
- SPRING_DATASOURCE_URL=jdbc:mysql://172.16.180.232:3306/a_A_5d9d78509?autoReconnect=true&useUnicode=true&characterEncoding=UTF-8&useOldAliasMetadataBehavior=true
- SPRING_DATASOURCE_DRIVER-CLASS-NAME=com.mysql.jdbc.Driver
- SPRING_DATASOURCE_DEFAULTSCHEMA=a_A_5d9d78509
- ABC=1
- DEC=2
- NACOS=172.16.102.211:8848
deploy: deploy:
resources: resources:
limits: limits:
......
!!!!模版产生代码错误:---- <?xml version="1.1" encoding="UTF-8" standalone="no"?>
Tip: If the failing expression is known to be legally refer to something that's sometimes null or missing, either specify a default value like myOptionalVar!myDefault, or use <#if myOptionalVar??>when-present<#else>when-missing</#if>. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)?? <databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog" xmlns:ext="http://www.liquibase.org/xml/ns/dbchangelog-ext" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog-ext http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-ext.xsd http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.6.xsd">
----
----
FTL stack trace ("~" means nesting-related):
- Failed at: ${dbinst.getUserName()} [in template "CODETEMPL_zh_CN" at line 28, column 24]
---- <!--输出实体[SYS_AUTHLOG]数据结构 -->
\ No newline at end of file <changeSet author="a_A_5d9d78509" id="tab-sys_authlog-39-1">
<createTable tableName="IBZAUTHLOG">
<column name="LOGID" remarks="" type="VARCHAR(100)">
<constraints primaryKey="true" primaryKeyName="PK_SYS_AUTHLOG_LOGID"/>
</column>
<column name="USERNAME" remarks="" type="VARCHAR(100)">
</column>
<column name="PERSONNAME" remarks="" type="VARCHAR(100)">
</column>
<column name="DOMAIN" remarks="" type="VARCHAR(100)">
</column>
<column name="AUTHTIME" remarks="" type="DATETIME">
</column>
<column name="IPADDR" remarks="" type="VARCHAR(100)">
</column>
<column name="MACADDR" remarks="" type="VARCHAR(100)">
</column>
<column name="USERAGENT" remarks="" type="VARCHAR(100)">
</column>
<column name="AUTHCODE" remarks="" type="VARCHAR(15)">
</column>
</createTable>
</changeSet>
<!--输出实体[SYS_PSSYSTEM]数据结构 -->
<changeSet author="a_A_5d9d78509" id="tab-sys_pssystem-39-2">
<createTable tableName="IBZPSSYSTEM">
<column name="PSSYSTEMID" remarks="" type="VARCHAR(100)">
<constraints primaryKey="true" primaryKeyName="PK_SYS_PSSYSTEM_PSSYSTEMID"/>
</column>
<column name="PSSYSTEMNAME" remarks="" type="VARCHAR(100)">
</column>
<column name="SYSSTRUCTURE" remarks="" type="TEXT(1048576)">
</column>
<column name="APPS" remarks="" type="TEXT(1048576)">
</column>
<column name="MD5CHECK" remarks="" type="VARCHAR(100)">
</column>
<column name="SHOWORDER" remarks="" type="INT">
</column>
</createTable>
</changeSet>
<!--输出实体[SYS_PERMISSION]数据结构 -->
<changeSet author="a_A_5d9d78509" id="tab-sys_permission-219-3">
<createTable tableName="IBZPERMISSION">
<column name="SYS_PERMISSIONID" remarks="" type="VARCHAR(200)">
<constraints primaryKey="true" primaryKeyName="PK_SYS_PERMISSION_SYS_PERMISSI"/>
</column>
<column name="SYS_PERMISSIONNAME" remarks="" type="VARCHAR(200)">
</column>
<column name="PERMISSIONTYPE" remarks="" type="VARCHAR(60)">
</column>
<column name="PSSYSTEMID" remarks="" type="VARCHAR(100)">
</column>
<column name="ENABLE" remarks="" type="INT">
</column>
<column name="CREATEDATE" remarks="" type="DATETIME">
</column>
<column name="UPDATEDATE" remarks="" type="DATETIME">
</column>
</createTable>
</changeSet>
<!--输出实体[SYS_ROLE]数据结构 -->
<changeSet author="a_A_5d9d78509" id="tab-sys_role-90-4">
<createTable tableName="IBZROLE">
<column name="SYS_ROLEID" remarks="" type="VARCHAR(100)">
<constraints primaryKey="true" primaryKeyName="PK_SYS_ROLE_SYS_ROLEID"/>
</column>
<column name="SYS_ROLENAME" remarks="" type="VARCHAR(200)">
</column>
<column name="MEMO" remarks="" type="VARCHAR(100)">
</column>
<column name="CREATEDATE" remarks="" type="DATETIME">
</column>
<column name="UPDATEDATE" remarks="" type="DATETIME">
</column>
</createTable>
</changeSet>
<!--输出实体[SYS_ROLE_PERMISSION]数据结构 -->
<changeSet author="a_A_5d9d78509" id="tab-sys_role_permission-93-5">
<createTable tableName="IBZROLE_PERMISSION">
<column name="SYS_ROLE_PERMISSIONID" remarks="" type="VARCHAR(100)">
<constraints primaryKey="true" primaryKeyName="PK_SYS_ROLE_PERMISSION_SYS_ROL"/>
</column>
<column name="SYS_ROLEID" remarks="" type="VARCHAR(100)">
</column>
<column name="SYS_PERMISSIONID" remarks="" type="VARCHAR(200)">
</column>
<column name="CREATEDATE" remarks="" type="DATETIME">
</column>
<column name="UPDATEDATE" remarks="" type="DATETIME">
</column>
</createTable>
</changeSet>
<!--输出实体[SYS_USER_ROLE]数据结构 -->
<changeSet author="a_A_5d9d78509" id="tab-sys_user_role-70-6">
<createTable tableName="IBZUSER_ROLE">
<column name="SYS_USER_ROLEID" remarks="" type="VARCHAR(100)">
<constraints primaryKey="true" primaryKeyName="PK_SYS_USER_ROLE_SYS_USER_ROLE"/>
</column>
<column name="SYS_ROLEID" remarks="" type="VARCHAR(100)">
</column>
<column name="SYS_USERID" remarks="" type="VARCHAR(100)">
</column>
<column name="CREATEDATE" remarks="" type="DATETIME">
</column>
<column name="UPDATEDATE" remarks="" type="DATETIME">
</column>
</createTable>
</changeSet>
<!--输出实体[SYS_AUTHLOG]外键关系 -->
<!--输出实体[SYS_PSSYSTEM]外键关系 -->
<!--输出实体[SYS_PERMISSION]外键关系 -->
<!--输出实体[SYS_ROLE]外键关系 -->
<!--输出实体[SYS_ROLE_PERMISSION]外键关系 -->
<changeSet author="a_A_5d9d78509" id="fk-sys_role_permission-93-7">
<addForeignKeyConstraint baseColumnNames="SYS_PERMISSIONID" baseTableName="IBZROLE_PERMISSION" constraintName="DER1N_SYS_ROLE_PERMISSION_SYS_" deferrable="false" initiallyDeferred="false" onDelete="RESTRICT" onUpdate="RESTRICT" referencedColumnNames="SYS_PERMISSIONID" referencedTableName="IBZPERMISSION" validate="true"/>
</changeSet>
<!--输出实体[SYS_USER_ROLE]外键关系 -->
<changeSet author="a_A_5d9d78509" id="fk-sys_user_role-70-9">
<addForeignKeyConstraint baseColumnNames="SYS_ROLEID" baseTableName="IBZUSER_ROLE" constraintName="DER1N_SYS_USER_ROLE_SYS_ROLE_S" deferrable="false" initiallyDeferred="false" onDelete="RESTRICT" onUpdate="RESTRICT" referencedColumnNames="SYS_ROLEID" referencedTableName="IBZROLE" validate="true"/>
</changeSet>
</databaseChangeLog>
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册