提交 1845772d 编写于 作者: tony001's avatar tony001

Merge branch 'dev'

...@@ -97,6 +97,7 @@ import AppFormPart from './components/app-form-part/app-form-part.vue' ...@@ -97,6 +97,7 @@ import AppFormPart from './components/app-form-part/app-form-part.vue'
import AppAlert from './components/app-alert/app-alert.vue' import AppAlert from './components/app-alert/app-alert.vue'
import AppAlertGroup from './components/app-alert-group/app-alert-group.vue' import AppAlertGroup from './components/app-alert-group/app-alert-group.vue'
import AppRawItem from './components/app-rawitem/app-rawitem.vue' import AppRawItem from './components/app-rawitem/app-rawitem.vue'
import AppImageRomate from './components/app-image-romate/app-image-romate.vue'
// 全局挂载UI实体服务注册中心 // 全局挂载UI实体服务注册中心
window['uiServiceRegister'] = uiServiceRegister; window['uiServiceRegister'] = uiServiceRegister;
...@@ -209,5 +210,6 @@ export const AppComponents = { ...@@ -209,5 +210,6 @@ export const AppComponents = {
v.component('app-alert', AppAlert); v.component('app-alert', AppAlert);
v.component('app-alert-group', AppAlertGroup); v.component('app-alert-group', AppAlertGroup);
v.component('app-rawitem',AppRawItem); v.component('app-rawitem',AppRawItem);
v.component('app-image-romate', AppImageRomate)
}, },
}; };
\ No newline at end of file
...@@ -100,6 +100,8 @@ export default class AppActionBar extends Vue { ...@@ -100,6 +100,8 @@ 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){
if(!UIService.isEnableDEMainState)
return;
for (const key in ActionModel) { for (const key in ActionModel) {
if (!ActionModel.hasOwnProperty(key)) { if (!ActionModel.hasOwnProperty(key)) {
return; return;
......
...@@ -279,7 +279,7 @@ export default class AppColumnLink extends Vue { ...@@ -279,7 +279,7 @@ export default class AppColumnLink extends Vue {
if (result.datas && Array.isArray(result.datas)) { if (result.datas && Array.isArray(result.datas)) {
Object.assign(item, result.datas[0]); Object.assign(item, result.datas[0]);
} }
console.log(item); this.$emit('refresh',item);
} }
/** /**
......
...@@ -158,6 +158,8 @@ export default class AppFormGroup extends Vue { ...@@ -158,6 +158,8 @@ 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){
if(!UIService.isEnableDEMainState)
return;
for (const key in ActionModel) { for (const key in ActionModel) {
if (!ActionModel.hasOwnProperty(key)) { if (!ActionModel.hasOwnProperty(key)) {
return; return;
......
...@@ -47,7 +47,7 @@ export default class AppFormatData extends Vue { ...@@ -47,7 +47,7 @@ export default class AppFormatData extends Vue {
* @memberof AppFormatData * @memberof AppFormatData
*/ */
getcurValue(){ getcurValue(){
if(this.data){ if(this.data || this.data == 0){
if(Object.is(this.dataType,"DECIMAL") || Object.is(this.dataType,"FLOAT") || Object.is(this.dataType,"CURRENCY")){ if(Object.is(this.dataType,"DECIMAL") || Object.is(this.dataType,"FLOAT") || Object.is(this.dataType,"CURRENCY")){
let number = Number(this.data); let number = Number(this.data);
let precision = Number(this.precision); let precision = Number(this.precision);
......
<template>
<div class='app-image-preview'>
<el-image :src="data[name]" :previewSrcList="previewList" :disabled="disabled">
</el-image>
</div>
</template>
<script lang = 'ts'>
import { Vue, Component, Prop, Watch, Provide } from 'vue-property-decorator';
import { Subject, Unsubscribable } from 'rxjs';
@Component({})
export default class AppImageRomate extends Vue {
/**
* 表单状态
*
* @type {any}
* @memberof AppImageRomate
*/
@Prop() public formState: any;
/**
* 图片数据
*
* @type {any}
* @memberof AppImageRomate
*/
@Prop() public data!: any;
/**
* 字段名
*
* @type {any}
* @memberof AppImageRomate
*/
@Prop() public name: any;
/**
* 禁用状态
*
* @type {boolean}
* @memberof AppImageRomate
*/
@Prop() public disabled: boolean = false;
/**
* 预览图片数组
*
* @type {boolean}
* @memberof AppImageRomate
*/
public previewList:Array<any> = [];
/**
* 表单状态事件
*
* @private
* @type {(Unsubscribable | undefined)}
* @memberof AppImageUpload
*/
private formStateEvent: Unsubscribable | undefined;
/**
* Vue生命周期
*
* @type {boolean}
* @memberof AppImageRomate
*/
public created() {
if (this.formState) {
this.formStateEvent = this.formState.subscribe(($event: any) => {
// 表单加载完成
if(this.data && this.name) {
this.handleData();
}
});
}
}
/**
* 数据处理
*
* @type {boolean}
* @memberof AppImageRomate
*/
public handleData() {
this.previewList.push(this.data[this.name]);
}
/**
* 组件销毁
*
* @memberof AppImageRomate
*/
public destroyed(): void {
if (this.formStateEvent) {
this.formStateEvent.unsubscribe();
}
}
}
</script>
\ No newline at end of file
...@@ -22,6 +22,7 @@ ...@@ -22,6 +22,7 @@
</div> </div>
</template> </template>
<script lang = 'ts'> <script lang = 'ts'>
import { Http } from '@/utils/http/http';
import { Vue, Component, Inject } from "vue-property-decorator"; import { Vue, Component, Inject } from "vue-property-decorator";
@Component({}) @Component({})
...@@ -110,17 +111,33 @@ export default class AppOrgSector extends Vue { ...@@ -110,17 +111,33 @@ export default class AppOrgSector extends Vue {
let item: any = this.selectedOrgArray.find((_item: any) => { let item: any = this.selectedOrgArray.find((_item: any) => {
return _item.srforgsectorid === data; return _item.srforgsectorid === data;
}); });
this.switchDepartment(data).then((response:any) =>{
if (response.status == 200) {
if (item.srforgsectorid && item.srforgsectorname) { if (item.srforgsectorid && item.srforgsectorname) {
this.selectedOrgId = item.srforgsectorid; this.selectedOrgId = item.srforgsectorid;
this.selectedOrgName = item.srforgsectorname; this.selectedOrgName = item.srforgsectorname;
this.reload();
} }
this.updateStoreOrgData(item); this.updateStoreOrgData(item);
this.reload();
}else{
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: response.data?response.data.message:(this.$t('components.appOrgSector.errorSwitch') as string) });
}
}).catch((error:any) =>{
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: (this.$t('components.appOrgSector.errorSwitch') as string) });
})
}
/**
* 调用远端切换部门接口
*
* @memberof AppOrgSector
*/
public async switchDepartment(data:any){
return await Http.getInstance().post(`/oumaps/switch`,data,false);
} }
/** /**
* 更新仓库Org信息 * 更新仓库部门信息
* *
* @memberof AppOrgSector * @memberof AppOrgSector
*/ */
......
...@@ -37,7 +37,7 @@ ...@@ -37,7 +37,7 @@
</div> </div>
<div v-else-if="Object.is(editortype, 'dropdown')" class='app-picker'> <div v-else-if="Object.is(editortype, 'dropdown')" class='app-picker'>
<el-select ref="appPicker" remote :remote-method="(query) => this.onSearch(query, null, true)" :value="refvalue" size='small' filterable <el-select ref="appPicker" remote :remote-method="(query) => this.onSearch(query, null, true)" :value="refvalue" size='small' filterable
@change="onSelect" :disabled="disabled" style='width:100%;' clearable @change="onSelect" :disabled="disabled" style='width:100%;' clearable popper-class="app-picker-dropdown"
@clear="onClear" @visible-change="onSelectOpen"> @clear="onClear" @visible-change="onSelectOpen">
<template v-if="items"> <template v-if="items">
<template v-for="_item in items"> <template v-for="_item in items">
...@@ -260,6 +260,14 @@ export default class AppPicker extends Vue { ...@@ -260,6 +260,14 @@ export default class AppPicker extends Vue {
*/ */
public selectValue = this.value; public selectValue = this.value;
/**
* 下拉列表节点元素
*
* @type {*}
* @memberof AppPicker
*/
public dropdownDom:any = {};
/** /**
* 获取关联数据项值 * 获取关联数据项值
* *
...@@ -314,6 +322,8 @@ export default class AppPicker extends Vue { ...@@ -314,6 +322,8 @@ export default class AppPicker extends Vue {
* @memberof AppPicker * @memberof AppPicker
*/ */
public mounted() { public mounted() {
const dropdownDom:any = this.$el.getElementsByClassName('app-picker-dropdown')[0];
this.dropdownDom = dropdownDom;
} }
/** /**
...@@ -331,10 +341,22 @@ export default class AppPicker extends Vue { ...@@ -331,10 +341,22 @@ export default class AppPicker extends Vue {
public onSelectOpen(flag: boolean): void { public onSelectOpen(flag: boolean): void {
this.open = flag; this.open = flag;
if (this.open) { if (this.open) {
//设置下拉列表的最大宽度
this.setDropdownWidth();
this.onSearch(this.curvalue, null, true); this.onSearch(this.curvalue, null, true);
} }
} }
/**
* 设置下拉列表最大宽度使下拉列表宽度和编辑器宽度一致
*
* @memberof AppPicker
*/
public setDropdownWidth(){
const elInput:any = this.$el.getElementsByClassName('el-input__inner')[0];
this.dropdownDom.style.maxWidth = elInput.offsetWidth+'px';
}
/** /**
* 执行搜索数据 * 执行搜索数据
* @param query * @param query
...@@ -434,10 +456,10 @@ export default class AppPicker extends Vue { ...@@ -434,10 +456,10 @@ export default class AppPicker extends Vue {
*/ */
public onClear($event: any): void { public onClear($event: any): void {
if (this.valueitem) { if (this.valueitem) {
this.$emit('formitemvaluechange', { name: this.valueitem, value: '' }); this.$emit('formitemvaluechange', { name: this.valueitem, value: null });
} }
if (this.name) { if (this.name) {
this.$emit('formitemvaluechange', { name: this.name, value: '' }); this.$emit('formitemvaluechange', { name: this.name, value: null });
} }
this.fillPickUpData(); this.fillPickUpData();
this.$forceUpdate(); this.$forceUpdate();
......
<template> <template>
<div> <div :style="sizeStyle">
<span v-if="caption">{{caption}}</span> <span>{{caption}}</span>
<div :class="contentStyle" :style="sizeStyle"> <div v-if="Object.is(contentType,'RAW')" :class="contentStyle">
<template v-if="Object.is(contentType,'RAW')"> <slot></slot>
{{rawContent ? rawContent : ''}} </div>
</template> <div v-else-if="Object.is(contentType,'HTML')" :class="contentStyle" v-html="htmlContent" />
<template v-else-if="Object.is(contentType,'HTML')"> <div v-else-if="Object.is(contentType,'IMAGE')" :class="contentStyle">
{{htmlContent ? htmlContent : ''}}
</template>
<template v-else-if="Object.is(contentType,'IMAGE')">
<i :class="imageClass ? imageClass : ''"></i> <i :class="imageClass ? imageClass : ''"></i>
</template>
</div> </div>
</div> </div>
</template> </template>
...@@ -22,20 +18,28 @@ import { Component, Vue, Prop, Model, Watch } from "vue-property-decorator"; ...@@ -22,20 +18,28 @@ import { Component, Vue, Prop, Model, Watch } from "vue-property-decorator";
export default class AppRawItem extends Vue { export default class AppRawItem extends Vue {
/** /**
* 内容类型 * 应用上下文
* *
* @type {string} * @type {string}
* @memberof AppRawItem * @memberof AppRawItem
*/ */
@Prop() public contentType!: string; @Prop() public context!: any;
/** /**
* 直接内容 * 视图参数
* *
* @type {strin} * @type {string}
* @memberof AppRawItem
*/
@Prop() public viewparams!: any;
/**
* 内容类型
*
* @type {string}
* @memberof AppRawItem * @memberof AppRawItem
*/ */
@Prop() public rawContent?: string; @Prop() public contentType!: string;
/** /**
* html内容 * html内容
...@@ -46,7 +50,7 @@ export default class AppRawItem extends Vue { ...@@ -46,7 +50,7 @@ export default class AppRawItem extends Vue {
@Prop() public htmlContent?: string; @Prop() public htmlContent?: string;
/** /**
* html内容 * 图片
* *
* @type {strin} * @type {strin}
* @memberof AppRawItem * @memberof AppRawItem
......
...@@ -183,6 +183,9 @@ export default class Login extends Vue { ...@@ -183,6 +183,9 @@ export default class Login extends Vue {
localStorage.setItem('token', data.token); localStorage.setItem('token', data.token);
this.setCookie('ibzuaa-token',data.token,0); this.setCookie('ibzuaa-token',data.token,0);
} }
if(data && data.user){
localStorage.setItem('user', JSON.stringify(data.user));
}
// 设置cookie,保存账号密码7天 // 设置cookie,保存账号密码7天
this.setCookie("loginname",loginname, 7); this.setCookie("loginname",loginname, 7);
// 跳转首页 // 跳转首页
......
...@@ -44,4 +44,14 @@ export default class TabExpViewEngine extends ViewEngine { ...@@ -44,4 +44,14 @@ export default class TabExpViewEngine extends ViewEngine {
this.setViewState2({ tag: _item.name, action: 'load', viewdata: this.view.context }); this.setViewState2({ tag: _item.name, action: 'load', viewdata: this.view.context });
}); });
} }
/**
* 计算按钮状态
*
* @memberof TabExpViewEngine
*/
public computeToolbarState(state:boolean,data:any){
this.calcToolbarItemState(state);
this.calcToolbarItemAuthState(data);
}
} }
\ No newline at end of file
...@@ -187,6 +187,8 @@ export default class ViewEngine { ...@@ -187,6 +187,8 @@ export default class ViewEngine {
*/ */
public calcToolbarItemAuthState(data:any){ public calcToolbarItemAuthState(data:any){
const _this: any = this; const _this: any = this;
if(!_this.view.appUIService.isEnableDEMainState)
return;
for (const key in _this.view.toolBarModels) { for (const key in _this.view.toolBarModels) {
if (!_this.view.toolBarModels.hasOwnProperty(key)) { if (!_this.view.toolBarModels.hasOwnProperty(key)) {
return; return;
......
...@@ -11,6 +11,10 @@ export default { ...@@ -11,6 +11,10 @@ export default {
indexPage: 'home page', indexPage: 'home page',
continue: 'to continue browsing', continue: 'to continue browsing',
}, },
appOrgSector:{
successSwitch:'The switch was successful',
errorSwitch:'The switchover failed',
},
appAutocomplete: { appAutocomplete: {
error: 'Error', error: 'Error',
miss: 'Missing parameter ', miss: 'Missing parameter ',
......
...@@ -11,6 +11,10 @@ export default { ...@@ -11,6 +11,10 @@ export default {
indexPage: '首页', indexPage: '首页',
continue: '继续浏览', continue: '继续浏览',
}, },
appOrgSector:{
successSwitch:'切换成功',
errorSwitch:'切换失败',
},
appAutocomplete: { appAutocomplete: {
error: '错误', error: '错误',
miss: '缺少参数', miss: '缺少参数',
......
...@@ -258,7 +258,7 @@ export class ViewTool { ...@@ -258,7 +258,7 @@ export class ViewTool {
return result; return result;
} }
const _item = ActionModel[key]; const _item = ActionModel[key];
if(_item && _item['dataaccaction'] && UIService){ if(_item && _item['dataaccaction'] && UIService && UIService.isEnableDEMainState){
let dataActionResult:any; let dataActionResult:any;
if(Object.is(_item['actiontarget'],"NONE") || Object.is(_item['actiontarget'],"")){ if(Object.is(_item['actiontarget'],"NONE") || Object.is(_item['actiontarget'],"")){
dataActionResult = UIService.getResourceOPPrivs(_item['dataaccaction']); dataActionResult = UIService.getResourceOPPrivs(_item['dataaccaction']);
......
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册