提交 e46f23d8 编写于 作者: hisoka0728's avatar hisoka0728

update: 重新提交模板

上级 a6b1e4d9
此差异已折叠。
......@@ -22,7 +22,7 @@
:show-file-list="!rowPreview"
:on-exceed = "handleExceed"
>
<el-button v-if="!isdrag" size='small' icon='el-icon-upload' :disabled="disabled">{{this.$t('app.fileUpload.caption')}}</el-button>
<el-button v-if="!isdrag" size='small' icon='el-icon-upload' :disabled="disabled || !(multiple || files.length === 0)">{{this.$t('app.fileUpload.caption')}}</el-button>
<i v-if="isdrag" class="el-icon-upload"></i>
<div v-if="isdrag" class="el-upload__text" v-html="$t('components.appFileUpload.uploadText')"></div>
</el-upload>
......
......@@ -9,6 +9,7 @@
}
}
.app-form-item-label {
line-height: 21px;
padding: 6px 10px 6px 0px;
overflow: hidden;
text-overflow: ellipsis;
......@@ -43,7 +44,7 @@
}
.app-form-item.label-none {
.app-form-item-label {
>.app-form-item-label {
display: none !important;
}
}
\ No newline at end of file
......@@ -13,7 +13,7 @@
<template v-else>
<i v-if="isFirst" class='fa fa-cogs app-menu-icon'></i>
</template>
<span ref="circleText" :class="{'app-menu-circle' : appMenuCollapseFlag, 'text' : true}" :title="$t(`app.menus.${ctrlName}.${item.name.toLowerCase()}`)">{{$t(`app.menus.${ctrlName}.${item.name.toLowerCase()}`)}}</span>
<span ref="circleText" :class="{'app-menu-circle' : appMenuCollapseFlag, 'text' : true}" :title="$t(`app.menus.${ctrlName}.${item.name}`)">{{$t(`app.menus.${ctrlName}.${item.name}`)}}</span>
</template>
<app-menu-item :isCollapse="isCollapse" :menus="item.items" :ctrlName="ctrlName" :isFirst="false" :counterdata="counterdata" :popper-class="popperClass"></app-menu-item>
</el-submenu>
......@@ -23,18 +23,18 @@
<el-menu-item :class="[{'isFirst' : isFirst},item.textcls]" v-show="!item.hidden" :index="item.name" :key="item.id">
<template v-if="item.icon && item.icon != ''">
<img :src="item.icon" class='app-menu-icon' />
<span v-if="(isFirst && isCollapse) ? true : false" ref="circleText" :class="{'app-menu-circle' : appMenuCollapseFlag, 'text' : true}" :title="$t(`app.menus.${ctrlName}.${item.name.toLowerCase()}`)">{{$t(`app.menus.${ctrlName}.${item.name.toLowerCase()}`)}}</span>
<span v-if="(isFirst && isCollapse) ? true : false" ref="circleText" :class="{'app-menu-circle' : appMenuCollapseFlag, 'text' : true}" :title="$t(`app.menus.${ctrlName}.${item.name}`)">{{$t(`app.menus.${ctrlName}.${item.name}`)}}</span>
</template>
<template v-else-if="item.iconcls && item.iconcls != ''">
<i :class="[item.iconcls, 'app-menu-icon']"></i>
<span v-if="(isFirst && isCollapse) ? true : false" ref="circleText" :class="{'app-menu-circle' : appMenuCollapseFlag, 'text' : true}" :title="$t(`app.menus.${ctrlName}.${item.name.toLowerCase()}`)">{{$t(`app.menus.${ctrlName}.${item.name.toLowerCase()}`)}}</span>
<span v-if="(isFirst && isCollapse) ? true : false" ref="circleText" :class="{'app-menu-circle' : appMenuCollapseFlag, 'text' : true}" :title="$t(`app.menus.${ctrlName}.${item.name}`)">{{$t(`app.menus.${ctrlName}.${item.name}`)}}</span>
</template>
<template v-else>
<i v-if="isFirst" class='fa fa-cogs app-menu-icon'></i>
<span v-if="(isFirst && isCollapse) ? true : false" ref="circleText" :class="{'app-menu-circle' : appMenuCollapseFlag, 'text' : true}" :title="$t(`app.menus.${ctrlName}.${item.name.toLowerCase()}`)">{{$t(`app.menus.${ctrlName}.${item.name.toLowerCase()}`)}}</span>
<span v-if="(isFirst && isCollapse) ? true : false" ref="circleText" :class="{'app-menu-circle' : appMenuCollapseFlag, 'text' : true}" :title="$t(`app.menus.${ctrlName}.${item.name}`)">{{$t(`app.menus.${ctrlName}.${item.name}`)}}</span>
</template>
<template slot="title">
<span :class="{'app-menu-circle' : appMenuCollapseFlag, 'text' : true}" :title="$t(`app.menus.${ctrlName}.${item.name.toLowerCase()}`)">{{$t(`app.menus.${ctrlName}.${item.name.toLowerCase()}`)}}</span>
<span :class="{'app-menu-circle' : appMenuCollapseFlag, 'text' : true}" :title="$t(`app.menus.${ctrlName}.${item.name}`)">{{$t(`app.menus.${ctrlName}.${item.name}`)}}</span>
<template v-if="counterdata && counterdata[item.counterid] && counterdata[item.counterid] > 0">
<span class="pull-right">
<badge :count="counterdata[item.counterid]" :overflow-count="9999"></badge>
......
......@@ -219,7 +219,7 @@ export default class AppOrgSelect extends Vue {
*/
public loadTreeData(requestUrl:string){
if(this.filter){
const result:any = this.$store.getters.getOrgData(this.filter);
const result:any = this.$store.getters.getOrgData(requestUrl);
if(result){
this.NodesData = result;
return;
......@@ -232,7 +232,7 @@ export default class AppOrgSelect extends Vue {
}
this.NodesData = res.data;
if(this.filter){
this.$store.commit('addOrgData', { srfkey: this.filter, orgData: res.data });
this.$store.commit('addOrgData', { srfkey: requestUrl, orgData: res.data });
}
})
}
......
......@@ -8,7 +8,7 @@
<img :src="item.iconcls" v-else-if="!Object.is(item.iconcls, '')" />
<i class="fa fa-cogs" v-else></i>
</span>
<span>{{$t(`app.menus.${ctrlName}.${item.name.toLowerCase()}`)}}</span>
<span>{{$t(`app.menus.${ctrlName}.${item.name}`)}}</span>
<span class="line"></span>
</p>
<p style=" display: 'flex' ">
......@@ -37,7 +37,7 @@
<img :src="item.iconcls" v-else-if="!Object.is(item.iconcls, '')" />
<i class="fa fa-cogs" v-else></i>
</span>
<h4>{{$t(`app.menus.${ctrlName}.${item.name.toLowerCase()}`)}}</h4>
<h4>{{$t(`app.menus.${ctrlName}.${item.name}`)}}</h4>
</div>
</card>
</template>
......
<template>
<radio-group class="app-radio-group" v-model="value" >
<radio-group class="app-radio-group" v-model="currentVal">
<radio v-for="(_item,index) in items" :key = "index" :label="_item.value" :disabled="isDisabled || _item.disabled">
<span>{{Object.is(codelistType,'STATIC') ? $t('codelist.'+tag+'.'+_item.value) : _item.text}}</span>
</radio>
......@@ -28,22 +28,12 @@ export default class AppRadioGroup extends Vue {
@Model('change') item?: any;
/**
* 获取值
*
* @memberof AppRadioGroup
*/
get value() {
return this.item;
}
/**
* 设置值
* 实际值
*
* @type {*}
* @memberof AppRadioGroup
*/
set value(val: any) {
this.$emit('change', val);
}
public value: any = null;
/**
* 代码表标识
......@@ -69,29 +59,65 @@ export default class AppRadioGroup extends Vue {
*/
@Prop() public data?: any;
/**
* 属性类型
*
* @type {'string' | 'number'}
* @memberof AppRadioGroup
*/
@Prop({ default: 'string' })
public valueType!: 'string' | 'number';
/**
* 监控值变化,根据属性类型强制转换
*
* @memberof AppRadioGroup
*/
@Watch('item',{immediate:true,deep:true})
public itemWatch(){
this.readyValue();
}
/**
* 获取值
*
* @memberof AppRadioGroup
*/
get currentVal() {
return this.item;
}
/**
* 设置值
*
* @memberof AppRadioGroup
*/
set currentVal(val: any) {
this.$emit('change', val);
}
/**
* 监听表单数据变化
*
* @memberof AppRadioGroup
*/
@Watch('data',{immediate:true,deep:true})
onDataChange(newVal: any, oldVal: any) {
if(newVal){
if(this.tag && this.codelistType == 'DYNAMIC'){
// 公共参数处理
let data: any = {};
this.handlePublicParams(data);
// 参数处理
let _context = data.context;
let _param = data.param;
console.log("app-radio-group")
this.codeListService.getItems(this.tag,_context,_param).then((res:any) => {
this.items = res;
}).catch((error:any)=>{
console.log(`----${this.tag}----${(this.$t('app.commonWords.codeNotExist') as string)}`);
})
}
}
public onDataChange(newVal: any, oldVal: any) {
if(newVal){
if(this.tag && this.codelistType == 'DYNAMIC'){
// 公共参数处理
let data: any = {};
this.handlePublicParams(data);
// 参数处理
let _context = data.context;
let _param = data.param;
this.codeListService.getItems(this.tag,_context,_param).then((res:any) => {
this.formatCodeList(this.$util.deepCopy(res));
}).catch((error:any)=>{
console.log(`----${this.tag}----${(this.$t('app.commonWords.codeNotExist') as string)}`);
})
}
}
}
/**
......@@ -193,7 +219,8 @@ export default class AppRadioGroup extends Vue {
*/
public created() {
if(this.tag && this.codelistType == 'STATIC'){
this.items = this.$store.getters.getCodeListItems(this.tag);
const items = this.$store.getters.getCodeListItems(this.tag);
this.formatCodeList(this.$util.deepCopy(items));
}else if(this.tag && this.codelistType == 'DYNAMIC'){
// 公共参数处理
let data: any = {};
......@@ -202,12 +229,78 @@ export default class AppRadioGroup extends Vue {
let _context = data.context;
let _param = data.param;
this.codeListService.getItems(this.tag,_context,_param).then((res:any) => {
this.items = res;
this.formatCodeList(this.$util.deepCopy(res));
}).catch((error:any)=>{
console.log(`----${this.tag}----${(this.$t('app.commonWords.codeNotExist') as string)}`);
})
}
}
/**
* 格式化代码表值类型
*
* @param {any[]} items
* @returns
* @memberof AppRadioGroup
*/
protected formatCodeList(items: any[]): void {
// 判断类型是否和属性一致
let judge = false;
this.items = [];
try {
items.forEach((item: any) => {
const type = this.$util.typeOf(item.value);
if (type !== this.valueType) {
judge = true;
if (type === 'number') {
item.value = item.value.toString();
} else {
if(type == "null") {
this.valueType == "number" ? item.value = 0 : item.value = '';
}else if (item.value.indexOf('.') === -1) {
item.value = parseInt(item.value);
} else {
item.value = parseFloat(item.value);
}
}
}
this.items.push(item);
});
if (judge) {
console.warn(
`代码表「${this.tag}」值类型和属性类型不符,目前采用强制转换模式。请修正代码表值类型和属性类型匹配。`
);
}
} catch (error) {
console.warn(
'代码表值类型和属性类型不符,目前采用强制转换模式。转换过程异常,请修正代码表值类型和属性类型匹配。'
);
}
}
/**
* 准备值
*
* @memberof AppRadioGroup
*/
public readyValue() {
if (this.item == null) {
this.value = null;
return;
}
if (this.$util.typeOf(this.item) === this.valueType) {
this.value = this.item;
} else if (this.valueType === 'number') {
if (this.item.indexOf('.') === -1) {
this.value = parseInt(this.item);
} else {
this.value = parseFloat(this.item);
}
} else {
this.value = this.item.toString();
}
this.$emit('change',this.value);
}
}
</script>
<style lang="less">
......
.el-rate__item{
font-size: 14px;
line-height: 32px;
}
......@@ -290,6 +290,10 @@ export default class AppRichTextEditor extends Vue {
min_height: 400,
branding: false,
plugins: ['link', 'paste', 'table', 'image', 'codesample', 'code', 'fullscreen', 'preview'],
toolbar: 'undo redo | styleselect | bold italic | alignleft aligncenter alignright alignjustify | outdent indent | link image | fontselect fontsizeselect',
fontsize_formats: "8pt 10pt 12pt 14pt 18pt 24pt 36pt",
font_formats: "微软雅黑=Microsoft YaHei,'微软雅黑';宋体=SimSun,'宋体';黑体=SimHei,'黑体';仿宋=FangSong,'仿宋';楷体=KaiTi,'楷体';隶书=LiSu,'隶书';幼圆=YouYuan,'幼圆';Andale Mono=andale mono,times;Arial=arial,helvetica,sans-serif;Arial Black=arial black,avant garde;Book Antiqua=book antiqua,palatino;Comic Sans MS=comic sans ms,sans-serif;Courier New=courier new,courier;Georgia=georgia,palatino;Helvetica=helvetica;Impact=impact,chicago;Symbol=symbol;Tahoma=tahoma,arial,helvetica,sans-serif;Terminal=terminal,monaco;Times New Roman=times new roman,times;Trebuchet MS=trebuchet ms,geneva;Verdana=verdana,geneva;Webdings=webdings;Wingdings=wingdings",
content_style: ".mce-content-body {font-size:14pt;font-family:Microsoft YaHei,'微软雅黑',sans-serif;}",
codesample_languages: [
{ text: 'HTML/XML', value: 'markup' },
{ text: 'JavaScript', value: 'javascript' },
......
......@@ -8,6 +8,7 @@
drag
multiple
list-type="text"
:disabled="disabled"
:action="getAction()"
:headers="myHeaders"
:file-list="uploadFileList"
......@@ -28,6 +29,7 @@
ref="upload"
multiple
list-type="text"
:disabled="disabled"
:action="getAction()"
:headers="myHeaders"
:file-list="uploadFileList"
......@@ -158,6 +160,14 @@
*/
@Prop({default: false}) public persistence?: boolean;
/**
* 是否启用
*
* @type {boolean}
* @memberof DiskFileUpload
*/
@Prop({default: false}) public disabled?: boolean;
/**
* 是否显示拖拽区域
*
......@@ -407,7 +417,7 @@
// 拼接url
const uploadUrl = this.getAction();
// 发送post请求
Axios.post(uploadUrl, formData, {timeout: 2000}).then((response: any) => {
Axios.post(uploadUrl, formData).then((response: any) => {
if (!response || response.status != 200) {
Message.error(_this.$t('components.diskFileUpload.loadFailure') + '!');
}
......
......@@ -13,6 +13,7 @@
:placeholder="placeholder"
:size="size"
:type="type"
:rows="rows"
v-model="CurrentVal"
:disabled="disabled ? true : false"
:element-id="textareaId"
......@@ -37,6 +38,17 @@ export default class InputBox extends Vue {
*/
@Model("change") readonly itemValue?: any;
/**
* 生命周期 (多行文本十行高度问题)
* @type {any}
* @memberof InputBox
*/
public created() {
if(this.editorType && this.editorType == "TEXTAREA_10") {
this.rows = 10;
}
}
/**
* 生命周期 (多行文本十行高度问题)
* @type {any}
......@@ -80,6 +92,20 @@ export default class InputBox extends Vue {
*/
@Prop() public size?: string;
/**
* 编辑器样式
* @type {String}
* @memberof InputBoxUnit
*/
@Prop() public editorType?: string;
/**
* 文本行数
* @type {String}
* @memberof InputBoxUnit
*/
public rows: number = 2;
/**
* placeholder值
* @type {String}
......
......@@ -41,7 +41,7 @@ export default class TabExpViewEngine extends ViewEngine {
if (!Object.is(_item.type, 'TABEXPPANEL')) {
return;
}
if(this.view.context && !this.view.context[(this.keyPSDEField as string)]){
if(this.view.context && this.view.context[(this.keyPSDEField as string)]){
return;
}
this.setViewState2({ tag: _item.name, action: 'load', viewdata: this.view.context });
......
......@@ -187,17 +187,17 @@ export default class ViewEngine {
*/
public calcToolbarItemAuthState(data:any){
const _this: any = this;
if(!_this.view.appUIService.isEnableDEMainState)
if(!_this.view.appUIService)
return;
for (const key in _this.view.toolBarModels) {
if (!_this.view.toolBarModels.hasOwnProperty(key)) {
return;
}
const _item = _this.view.toolBarModels[key];
if(_item && _item['dataaccaction'] && _this.view.appUIService){
if(_item && _item['dataaccaction']){
let dataActionResult:any;
if (_item.uiaction && (Object.is(_item.uiaction.target, "NONE") || Object.is(_item.uiaction.target, ""))){
if(Object.is(_item.uiaction.target, "") && Object.is(_item.uiaction.tag, "Save")){
if(Object.is(_item.uiaction.target, "") && Object.is(_item.uiaction.tag, "Save") && _this.view.appUIService.isEnableDEMainState){
if(data && Object.keys(data).length >0){
dataActionResult= _this.view.appUIService.getAllOPPrivs(data)[_item['dataaccaction']];
}
......@@ -205,7 +205,7 @@ export default class ViewEngine {
dataActionResult = _this.view.appUIService.getResourceOPPrivs(_item['dataaccaction']);
}
}else{
if(data && Object.keys(data).length >0){
if(data && Object.keys(data).length >0 && _this.view.appUIService.isEnableDEMainState){
dataActionResult= _this.view.appUIService.getAllOPPrivs(data)[_item['dataaccaction']];
}
}
......
......@@ -274,7 +274,6 @@
}
}
// 工作流流程版本选择
.start-workflow-select-wraper {
z-index: 3000 !important;
}
......
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width,initial-scale=1.0">
<link rel="icon" href="<%= BASE_URL %>favicon.ico">
<title><%= htmlWebpackPlugin.options.title %></title>
</head>
<body>
<noscript>
<strong>We're sorry but app doesn't work properly without JavaScript enabled. Please enable it to continue.</strong>
</noscript>
<div id="app"></div>
<script src="./environments/environment.js"></script>
<script src="./assets/js/avue.min.js"></script>
</body>
</html>
......@@ -17,7 +17,7 @@ export declare interface Http {
* @returns {Promise<any>}
* @memberof Http
*/
post(url: string, params?: any, isloading?: boolean, serialnumber?: number): Promise<any>;
post(url: string, params: any, isloading?: boolean, serialnumber?: number): Promise<any>;
/**
* 获取
*
......@@ -27,7 +27,7 @@ export declare interface Http {
* @returns {Promise<any>}
* @memberof Http
*/
get(url: string, params?: any, isloading?: boolean, serialnumber?: number): Promise<any>;
get(url: string, isloading?: boolean, serialnumber?: number): Promise<any>;
/**
* 删除
*
......
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册