提交 340c47a2 编写于 作者: ibizdev's avatar ibizdev

tony001 发布系统代码 [后台服务,演示应用]

上级 8f1a09ab
......@@ -140,6 +140,7 @@ import AppFieldImageDynamic from './components/layout-element/media/app-field-im
import AppTodoList from './components/app-todo-list/app-todo-list.vue';
import AppGridPagination from './components/app-grid-pagination/app-grid-pagination.vue';
import AppSearchbar from './components/app-searchbar/app-searchbar.vue';
import AppEYUpload from './components/app-ey-upload/app-ey-upload.vue';
import ExtendActionTimeline from './components/extend-action-timeline/extend-action-timeline.vue';
// 布局组件
import AppIndexViewLayoutLeft from './layout/index-view-layout-left/index-view-layout-left.vue';
......@@ -310,6 +311,7 @@ export const AppComponents = {
v.component('app-todo-list',AppTodoList);
v.component('app-grid-pagination',AppGridPagination);
v.component('app-searchbar',AppSearchbar);
v.component('app-ey-upload',AppEYUpload);
v.component('extend-action-timeline',ExtendActionTimeline);
v.component('app-pickup-view-layout',AppPickUpViewLayout);
v.component('app-mpickup-view-layout',AppMPickUpViewLayout);
......
.app-ey-upload {
}
\ No newline at end of file
<template>
<div class="app-ey-upload">安永文件上传</div>
</template>
<script lang="ts">
import { Component, Vue, Prop, Watch } from "vue-property-decorator";
import { Button, Row, Col, Link, Icon, Upload, Message, MessageBox } from "element-ui";
import Axios from "axios";
import { Subject, Unsubscribable } from "rxjs";
@Component({})
export default class AppEYUpload extends Vue {
/**
* 当前表单对象
*
* @type {*}
* @memberof AppEYUpload
*/
@Prop() public data!: any;
/**
* 当前属性名
*
* @type {string}
* @memberof AppEYUpload
*/
@Prop() public formItemName!: string;
/**
* 当前属性值
*
* @type {string}
* @memberof AppEYUpload
*/
@Prop() public value!: string;
/**
* 当前表单状态
*
* @type {*}
* @memberof AppEYUpload
*/
@Prop() public formState!: any;
/**
* 默认为当前实体名称,有指定则按表单参数
*
* @type {string}
* @memberof AppEYUpload
*/
@Prop() public folder!: string;
/**
* 默认为当前实体主键id,有指定则按表单参数
*
* @type {string}
* @memberof AppEYUpload
*/
@Prop() public ownerid!: string;
/**
* 默认为当前属性名,有指定则按表单参数
*
* @type {string}
* @memberof AppEYUpload
*/
@Prop() public ownertype!: string;
/**
* 持久化
*
* @type {boolean}
* @memberof AppEYUpload
*/
@Prop({ default: false }) public persistence?: boolean;
/**
* 是否启用
*
* @type {boolean}
* @memberof AppEYUpload
*/
@Prop({ default: false }) public disabled?: boolean;
/**
* 是否显示拖拽区域
*
* @type {boolean}
* @memberof AppEYUpload
*/
@Prop({ default: false }) public showDrag?: boolean;
/**
* 是否显示预览按钮
*
* @type {boolean}
* @memberof AppEYUpload
*/
@Prop({ default: false }) public showPreview?: boolean;
/**
* 是否显示在线编辑按钮
*
* @type {boolean}
* @memberof AppEYUpload
*/
@Prop({ default: false }) public showEdit?: boolean;
/**
* 是否显示OCR按钮
*
* @type {boolean}
* @memberof AppEYUpload
*/
@Prop({ default: false }) public showOcrview?: boolean;
/**
* 表单是否处于编辑状态(有真实主键,srfuf='1';srfuf='0'时处于新建未保存)
*
* @type {string}
* @memberof AppEYUpload
*/
public srfuf: string = "0";
/**
* 文件列表
*
* @type {Array<any>}
* @memberof AppEYUpload
*/
public uploadFileList: Array<any> = [];
/**
* 当前登陆人的token
*
* @type {string}
* @memberof AppEYUpload
*/
public token: string = "Bearer " + localStorage.getItem("token");
/**
* 上传文件请求头
*
* @type {*}
* @memberof AppEYUpload
*/
public myHeaders: any = { Authorization: this.token };
/**
* 表单状态事件
*
* @type {*}
* @memberof AppEYUpload
*/
public formStateEvent: any | Unsubscribable | undefined;
/**
* 批量更新标识,false为不更新,true才可以更新
*
* @type {boolean}
* @memberof AppEYUpload
*/
public isUpdateBatch: boolean = true;
/**
* 新建状态标识,true为新建,false为编辑
*
* @type {boolean}
* @memberof AppEYUpload
*/
public isCreate: boolean = true;
/**
* 自定义弹框标题
*
* @type {*}
* @memberof AppEYUpload
*/
public dialogTitle: any = "";
/**
* 是否显示自定义弹框
*
* @type {boolean}
* @memberof AppEYUpload
*/
public showDialog: boolean = false;
/**
* 嵌入自定义弹框中iframe的url
*
* @type {*}
* @memberof AppEYUpload
*/
public iframeUrl: any = "";
/**
* 关闭自定义弹框
*
* @memberof AppEYUpload
*/
public dialogClose() {
this.dialogTitle = "";
this.showDialog = false;
this.iframeUrl = "";
let iframe: any = document.getElementById("fileIframe");
iframe.parentNode.removeChild("fileIframe");
}
/**
* 拼接上传路径
*
* @memberof AppEYUpload
*/
public getAction() {
return "/net-disk/upload/" + this.getFolder() + "?ownertype=" + this.getOwnertype() + "&ownerid=" + this.getOwnerid();
}
/**
* return folder
*
* @memberof AppEYUpload
*/
public getFolder() {
return typeof this.folder == "string" ? this.folder : JSON.stringify(this.folder);
}
/**
* return ownertype
*
* @memberof AppEYUpload
*/
public getOwnertype() {
return typeof this.ownertype == "string" ? this.ownertype : JSON.stringify(this.ownertype);
}
/**
* return ownerid
*
* @memberof AppEYUpload
*/
public getOwnerid() {
return typeof this.ownerid == "string" ? this.ownerid : JSON.stringify(this.ownerid);
}
/**
* vue创建
*
* @memberof AppEYUpload
*/
public created() {
this.formStateEvent = this.formState.subscribe(($event: any) => {
// 表单加载完成
if (Object.is($event.type, "load")) {
const data = JSON.parse(JSON.stringify($event.data));
// 编辑表单,保存时不进行批量更新
if (data.srfuf == "1") {
this.isCreate = false;
this.isUpdateBatch = false;
}
// 当persistence = true时
if (this.persistence == true) {
// 直接从表单的data数据里获取当前属性的值
if (data[this.formItemName] && this.uploadFileList.length == 0) {
const files = JSON.parse(data[this.formItemName]);
for (let i = 0; i < files.length; i++) {
this.uploadFileList.push(files[i]);
}
}
} else {
// 发送get请求获取文件列表
this.getFiles();
}
}
// 表单保存完成
if (Object.is($event.type, "save")) {
// 批量更新文件表中的ownerid
if (this.isUpdateBatch == true && this.uploadFileList.length > 0) {
this.updateFileBatch(this.uploadFileList);
}
}
});
}
/**
* 获取文件列表
*
* @memberof AppEYUpload
*/
public getFiles() {
// 拼接url
let _this: any = this;
const getUrl = "/net-disk/files/" + this.getFolder();
// 发送get请求
Axios.get(getUrl, {
params: {
ownertype: this.getOwnertype(),
ownerid: this.getOwnerid(),
},
})
.then((response: any) => {
if (!response || response.status != 200) {
Message.error(_this.$t("components.diskFileUpload.getFileFailure") + "!");
return;
}
// 返回的是一个jsonArray
if (response.data) {
const files = JSON.parse(JSON.stringify(response.data));
if (this.uploadFileList.length == 0) {
this.uploadFileList.push.apply(this.uploadFileList, files);
}
}
})
.catch((error: any) => {
Message.error(_this.$t("components.diskFileUpload.getFileFailure") + ":" + error);
});
}
/**
* 自定义上传文件
*
* @param 上传文件
* @memberof AppEYUpload
*/
public customUploadFile(param: any) {
// 上传的文件
let _this: any = this;
let file = param.file;
// formData传参
let formData = new FormData();
formData.append("file", file);
// 拼接url
const uploadUrl = this.getAction();
// 发送post请求
Axios.post(uploadUrl, formData)
.then((response: any) => {
if (!response || response.status != 200) {
Message.error(_this.$t("components.diskFileUpload.loadFailure") + "!");
}
// 返回的是一个jsonobject
if (response.data) {
// 新建表单上传,后续需要批量更新操作
if (this.isCreate == true) {
this.isUpdateBatch = true;
}
// 保存到文件列表进行显示
this.uploadFileList.push(response.data);
// persistence=true时需要持久化表单属性
if (this.persistence == true && this.uploadFileList.length > 0) {
const value = JSON.stringify(this.uploadFileList);
this.$emit("formitemvaluechange", { name: this.formItemName, value: value });
}
}
})
.catch((error: any) => {
Message.error(_this.$t("components.diskFileUpload.loadFailure") + ":" + error);
});
}
/**
* 下载文件
*
* @param item 下载文件
* @memberof AppEYUpload
*/
public onDownload(item: any) {
// 拼接url
let _this: any = this;
const id = typeof item.id == "string" ? item.id : JSON.stringify(item.id);
const name = typeof item.name == "string" ? item.name : JSON.stringify(item.filename);
const downloadUrl = "/net-disk/download/" + this.getFolder() + "/" + id + "/" + name;
// 发送get请求
Axios.get(downloadUrl, {
headers: {
authcode: item.authcode,
},
responseType: "arraybuffer",
})
.then((response: any) => {
if (!response || response.status != 200) {
Message.error(_this.$t("components.diskFileUpload.downloadFile") + "!");
return;
}
// 请求成功,后台返回的是一个文件流
if (response.data) {
// 获取文件名
const disposition = response.headers["content-disposition"];
const filename = disposition.split("filename=")[1];
// 用blob对象获取文件流
let blob = new Blob([response.data], { type: response.headers["content-type"] });
// 通过文件流创建下载链接
var href = URL.createObjectURL(blob);
// 创建一个a元素并设置相关属性
let a = document.createElement("a");
a.href = href;
if (name) {
a.download = name;
} else {
a.download = filename;
}
// 添加a元素到当前网页
document.body.appendChild(a);
// 触发a元素的点击事件,实现下载
a.click();
// 从当前网页移除a元素
document.body.removeChild(a);
// 释放blob对象
URL.revokeObjectURL(href);
} else {
Message.error(_this.$t("components.diskFileUpload.downloadFile1"));
}
})
.catch((error: any) => {
Message.error(_this.$t("components.diskFileUpload.downloadFile") + ":" + error);
});
}
/**
* 预览文件
*
* @param item 预览文件
* @memberof AppEYUpload
*/
public onPreview(item: any) {
// 拼接url
const id = typeof item.id == "string" ? item.id : JSON.stringify(item.id);
const name = typeof item.name == "string" ? item.name : JSON.stringify(item.name);
let previewUrl = "/net-disk/preview/" + this.getFolder() + "/" + id + "/" + name + "?authcode=" + item.authcode;
Axios.get(previewUrl)
.then((response: any) => {
if (!response || response.status != 200) {
return;
}
// 返回一个url,通过自定义弹框打开
if (response.data) {
this.dialogTitle = name;
this.showDialog = true;
this.iframeUrl = response.data;
}
})
.catch((error: any) => {
Message.error(error);
});
}
/**
* 编辑文件
*
* @param item
* @memberof AppEYUpload
*/
public onEdit(item: any) {
// 拼接url
const id = typeof item.id == "string" ? item.id : JSON.stringify(item.id);
const name = typeof item.name == "string" ? item.name : JSON.stringify(item.name);
const editUrl = "/net-disk/editview/" + this.getFolder() + "/" + id + "/" + name + "?authcode=" + item.authcode;
// TODO:暂时用window.open
window.open(editUrl);
}
/**
* ocr识别
* @param item
* @memberof AppEYUpload
*/
public onOcr(item: any) {
// 拼接url
const folder = typeof this.folder == "string" ? this.folder : JSON.stringify(this.folder);
const id = typeof item.id == "string" ? item.id : JSON.stringify(item.id);
const name = typeof item.name == "string" ? item.name : JSON.stringify(item.name);
const ocrUrl = "/net-disk/ocrview/" + this.getFolder() + "/" + id + "/" + name + "?authcode=" + item.authcode;
Axios.get(ocrUrl)
.then((response: any) => {
if (!response || response.status != 200) {
return;
}
// 返回一个url,通过自定义弹框打开
if (response.data) {
this.dialogTitle = name;
this.showDialog = true;
this.iframeUrl = response.data;
}
})
.catch((error: any) => {
Message.error(error);
});
}
/**
* 删除文件
*
* @param item
* @param index
* @memberof AppEYUpload
*/
public onRemove(item: any, index: number) {
let _this: any = this;
if (item) {
MessageBox.confirm(_this.$t("components.diskFileUpload.deleteFile"), _this.$t("components.diskFileUpload.deleteFilePrompt"), {
confirmButtonText: _this.$t("components.diskFileUpload.true"),
cancelButtonText: _this.$t("components.diskFileUpload.false"),
type: "warning",
}).then(() => {
// 拼接url
const deleteUrl = "/net-disk/files/" + item.id;
// 发送delete请求
Axios.delete(deleteUrl)
.then((response: any) => {
if (!response || response.status != 200) {
Message.error(_this.$t("components.diskFileUpload.deleteFileFailure") + "!");
}
// 从文件列表中删除
this.uploadFileList.splice(index, 1);
// persistence=true时需要持久化表单属性
if (this.persistence == true) {
const value = JSON.stringify(this.uploadFileList);
this.$emit("formitemvaluechange", { name: this.formItemName, value: value });
}
})
.catch((error: any) => {
// 提示删除失败
Message.error(_this.$t("components.diskFileUpload.deleteFileFailure") + ":" + error);
});
});
}
}
/**
* 批量更新文件表的ownerid
*
* @memberof AppEYUpload
*/
public updateFileBatch(files: any) {
let _this: any = this;
// 拼接url
const updateUrl = "/net-disk/files/" + this.getFolder() + "?ownertype=" + this.getOwnertype() + "&ownerid=" + this.getOwnerid();
// requestBody参数
let requestBody = [];
if (files) {
requestBody = files;
}
// 发送post请求
Axios.post(updateUrl, requestBody, {
headers: {
"Content-Type": "application/json;charset=UTF-8",
},
timeout: 2000,
})
.then((response: any) => {
if (!response || response.status != 200) {
Message.error(_this.$t("components.diskFileUpload.updateFailure") + "!");
return;
}
})
.catch((error: any) => {
Message.error(_this.$t("components.diskFileUpload.updateFailure") + ":" + error);
});
}
}
</script>
<style lang="scss">
@import "./app-ey-upload.scss";
</style>
......@@ -712,7 +712,7 @@ export default class DefaultBase extends Vue implements ControlInterface {
*/
public load(opt: any = {}): void {
if(!this.loadAction){
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZBOOKUsr9GridView' + (this.$t('app.searchForm.notConfig.loadAction') as string) });
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZBOOKUsr5GridView' + (this.$t('app.searchForm.notConfig.loadAction') as string) });
return;
}
const arg: any = { ...opt };
......@@ -748,7 +748,7 @@ export default class DefaultBase extends Vue implements ControlInterface {
*/
public async loadDraft(opt: any = {},mode?:string): Promise<any> {
if(!this.loaddraftAction){
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZBOOKUsr9GridView' + (this.$t('app.searchForm.notConfig.loaddraftAction') as string) });
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZBOOKUsr5GridView' + (this.$t('app.searchForm.notConfig.loaddraftAction') as string) });
return;
}
const arg: any = { ...opt } ;
......
......@@ -26,11 +26,11 @@
<span class="quick-toolbar">
<div class='toolbar-container'>
<tooltip :transfer="true" :max-width="600">
<i-button v-show="usrlistview_pluginlist_quicktoolbarModels.deuiaction1.visabled" :disabled="usrlistview_pluginlist_quicktoolbarModels.deuiaction1.disabled" class=' srfactionlevel100' v-button-loading:i-button @click="list_quicktoolbar_click({ tag: 'deuiaction1' }, $event)">
<i-button v-show="usr4listview_layoutlist_quicktoolbarModels.deuiaction1.visabled" :disabled="usr4listview_layoutlist_quicktoolbarModels.deuiaction1.disabled" class=' srfactionlevel100' v-button-loading:i-button @click="list_quicktoolbar_click({ tag: 'deuiaction1' }, $event)">
<i class='fa fa-file-text-o'></i>
<span class='caption'>{{$t('entities.ibizbook.usrlistview_pluginlist_quicktoolbar_toolbar.deuiaction1.caption')}}</span>
<span class='caption'>{{$t('entities.ibizbook.usr4listview_layoutlist_quicktoolbar_toolbar.deuiaction1.caption')}}</span>
</i-button>
<div slot='content'>{{$t('entities.ibizbook.usrlistview_pluginlist_quicktoolbar_toolbar.deuiaction1.tip')}}</div>
<div slot='content'>{{$t('entities.ibizbook.usr4listview_layoutlist_quicktoolbar_toolbar.deuiaction1.tip')}}</div>
</tooltip>
</div>
</span>
......@@ -41,18 +41,18 @@
<span class="batch-toolbar">
<div class='toolbar-container'>
<tooltip :transfer="true" :max-width="600">
<i-button v-show="usrlistview_pluginlist_batchtoolbarModels.deuiaction1.visabled" :disabled="usrlistview_pluginlist_batchtoolbarModels.deuiaction1.disabled" class=' srfactionlevel100' v-button-loading:i-button @click="list_batchtoolbar_click({ tag: 'deuiaction1' }, $event)">
<i-button v-show="usr4listview_layoutlist_batchtoolbarModels.deuiaction1.visabled" :disabled="usr4listview_layoutlist_batchtoolbarModels.deuiaction1.disabled" class=' srfactionlevel100' v-button-loading:i-button @click="list_batchtoolbar_click({ tag: 'deuiaction1' }, $event)">
<i class='fa fa-edit'></i>
<span class='caption'>{{$t('entities.ibizbook.usrlistview_pluginlist_batchtoolbar_toolbar.deuiaction1.caption')}}</span>
<span class='caption'>{{$t('entities.ibizbook.usr4listview_layoutlist_batchtoolbar_toolbar.deuiaction1.caption')}}</span>
</i-button>
<div slot='content'>{{$t('entities.ibizbook.usrlistview_pluginlist_batchtoolbar_toolbar.deuiaction1.tip')}}</div>
<div slot='content'>{{$t('entities.ibizbook.usr4listview_layoutlist_batchtoolbar_toolbar.deuiaction1.tip')}}</div>
</tooltip>
<tooltip :transfer="true" :max-width="600">
<i-button v-show="usrlistview_pluginlist_batchtoolbarModels.deuiaction2.visabled" :disabled="usrlistview_pluginlist_batchtoolbarModels.deuiaction2.disabled" class=' srfactionlevel100' v-button-loading:i-button @click="list_batchtoolbar_click({ tag: 'deuiaction2' }, $event)">
<i-button v-show="usr4listview_layoutlist_batchtoolbarModels.deuiaction2.visabled" :disabled="usr4listview_layoutlist_batchtoolbarModels.deuiaction2.disabled" class=' srfactionlevel100' v-button-loading:i-button @click="list_batchtoolbar_click({ tag: 'deuiaction2' }, $event)">
<i class='fa fa-remove'></i>
<span class='caption'>{{$t('entities.ibizbook.usrlistview_pluginlist_batchtoolbar_toolbar.deuiaction2.caption')}}</span>
<span class='caption'>{{$t('entities.ibizbook.usr4listview_layoutlist_batchtoolbar_toolbar.deuiaction2.caption')}}</span>
</i-button>
<div slot='content'>{{$t('entities.ibizbook.usrlistview_pluginlist_batchtoolbar_toolbar.deuiaction2.tip')}}</div>
<div slot='content'>{{$t('entities.ibizbook.usr4listview_layoutlist_batchtoolbar_toolbar.deuiaction2.tip')}}</div>
</tooltip>
</div>
</span>
......@@ -362,7 +362,7 @@ export default class LnternalFuncListBase extends Vue implements ControlInterfac
* @param {*} [$event] 事件源
* @param {*} [xData] 执行行为所需当前部件
* @param {*} [actionContext] 执行行为上下文
* @memberof IBIZBOOKUsrListView_pluginBase
* @memberof IBIZBOOKUsr4ListView_layoutBase
*/
public New(args: any[],contextJO?:any, params?: any, $event?: any, xData?: any,actionContext?:any,srfParentDeName?:string) {
const _this: any = this;
......@@ -382,7 +382,7 @@ export default class LnternalFuncListBase extends Vue implements ControlInterfac
* @param {*} [$event] 事件源
* @param {*} [xData] 执行行为所需当前部件
* @param {*} [actionContext] 执行行为上下文
* @memberof IBIZBOOKUsrListView_pluginBase
* @memberof IBIZBOOKUsr4ListView_layoutBase
*/
public Edit(args: any[],contextJO?:any, params?: any, $event?: any, xData?: any,actionContext?:any,srfParentDeName?:string) {
if (args.length === 0) {
......@@ -408,7 +408,7 @@ export default class LnternalFuncListBase extends Vue implements ControlInterfac
* @param {*} [$event] 事件源
* @param {*} [xData] 执行行为所需当前部件
* @param {*} [actionContext] 执行行为上下文
* @memberof IBIZBOOKUsrListView_pluginBase
* @memberof IBIZBOOKUsr4ListView_layoutBase
*/
public Remove(args: any[],contextJO?:any, params?: any, $event?: any, xData?: any,actionContext?:any,srfParentDeName?:string) {
const _this: any = this;
......@@ -604,9 +604,9 @@ export default class LnternalFuncListBase extends Vue implements ControlInterfac
* 工具栏模型
*
* @type {*}
* @memberof IBIZBOOKUsrListView_plugin
* @memberof IBIZBOOKUsr4ListView_layout
*/
public usrlistview_pluginlist_quicktoolbarModels: any = {
public usr4listview_layoutlist_quicktoolbarModels: any = {
deuiaction1: { name: 'deuiaction1', actiontarget: 'NONE', caption: '新建', disabled: false, type: 'DEUIACTION', visabled: true,noprivdisplaymode:2,dataaccaction: '', uiaction: { tag: 'New', target: '' } },
};
......@@ -616,9 +616,9 @@ export default class LnternalFuncListBase extends Vue implements ControlInterfac
* 工具栏模型
*
* @type {*}
* @memberof IBIZBOOKUsrListView_plugin
* @memberof IBIZBOOKUsr4ListView_layout
*/
public usrlistview_pluginlist_batchtoolbarModels: any = {
public usr4listview_layoutlist_batchtoolbarModels: any = {
deuiaction1: { name: 'deuiaction1', actiontarget: 'NONE', caption: '编辑', disabled: false, type: 'DEUIACTION', visabled: true,noprivdisplaymode:2,dataaccaction: '', uiaction: { tag: 'Edit', target: 'SINGLEKEY' } },
deuiaction2: { name: 'deuiaction2', actiontarget: 'NONE', caption: '删除', disabled: false, type: 'DEUIACTION', visabled: true,noprivdisplaymode:2,dataaccaction: '', uiaction: { tag: 'Remove', target: 'MULTIKEY' } },
......@@ -841,7 +841,7 @@ export default class LnternalFuncListBase extends Vue implements ControlInterfac
*/
public async load(opt: any = {}): Promise<any> {
if(!this.fetchAction){
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZBOOKUsrListView_plugin' + (this.$t('app.list.notConfig.fetchAction') as string) });
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZBOOKUsr4ListView_layout' + (this.$t('app.list.notConfig.fetchAction') as string) });
return;
}
const arg: any = {...opt};
......@@ -971,7 +971,7 @@ export default class LnternalFuncListBase extends Vue implements ControlInterfac
*/
public async remove(datas: any[]): Promise<any> {
if(!this.removeAction){
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZBOOKUsrListView_plugin' + (this.$t('app.list.notConfig.removeAction') as string) });
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZBOOKUsr4ListView_layout' + (this.$t('app.list.notConfig.removeAction') as string) });
return;
}
if (datas.length === 0) {
......@@ -1076,7 +1076,7 @@ export default class LnternalFuncListBase extends Vue implements ControlInterfac
try {
if(Object.is(item.rowDataState, 'create')){
if(!this.createAction){
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZBOOKUsrListView_plugin' + (this.$t('app.list.notConfig.createAction') as string) });
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZBOOKUsr4ListView_layout' + (this.$t('app.list.notConfig.createAction') as string) });
}else{
Object.assign(item,{viewparams:this.viewparams});
let response = await this.service.add(this.createAction, JSON.parse(JSON.stringify(this.context)),item, this.showBusyIndicator);
......@@ -1084,7 +1084,7 @@ export default class LnternalFuncListBase extends Vue implements ControlInterfac
}
}else if(Object.is(item.rowDataState, 'update')){
if(!this.updateAction){
this.$Notice.error({ title: (this.$t('app.commonWords.warning') as string), desc: 'IBIZBOOKUsrListView_plugin' + (this.$t('app.list.notConfig.updateAction') as string) });
this.$Notice.error({ title: (this.$t('app.commonWords.warning') as string), desc: 'IBIZBOOKUsr4ListView_layout' + (this.$t('app.list.notConfig.updateAction') as string) });
}else{
Object.assign(item,{viewparams:this.viewparams});
if(item.ibizbook){
......
......@@ -72,6 +72,11 @@ export default class LnternalFuncListModel {
prop: 'n_ibizbookname_like',
dataType: 'QUERYPARAM'
},
{
name: 'n_price_gtandeq',
prop: 'n_price_gtandeq',
dataType: 'QUERYPARAM'
},
{
name:'size',
......
<template>
<i-form :model="this.data" class='app-search-form' ref='searchform' style="">
<i-form :model="this.data" class='app-search-form' ref='quicksearchform' style="">
<input style="display:none;"/>
<row>
<i-col span="20" class="form-content">
......@@ -516,7 +516,7 @@ export default class QUICKSEARCHFORMBase extends Vue implements ControlInterface
* @memberof QUICKSEARCHFORMBase
*/
public formValidateStatus(): boolean {
const form: any = this.$refs.searchform;
const form: any = this.$refs.quicksearchform;
let validatestate: boolean = true;
form.validate((valid: boolean) => {
validatestate = valid ? true : false;
......@@ -670,7 +670,7 @@ export default class QUICKSEARCHFORMBase extends Vue implements ControlInterface
*/
public load(opt: any = {}): void {
if(!this.loadAction){
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZBOOKUsrListView_plugin' + (this.$t('app.searchForm.notConfig.loadAction') as string) });
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZBOOKListView' + (this.$t('app.searchForm.notConfig.loadAction') as string) });
return;
}
const arg: any = { ...opt };
......@@ -706,7 +706,7 @@ export default class QUICKSEARCHFORMBase extends Vue implements ControlInterface
*/
public async loadDraft(opt: any = {},mode?:string): Promise<any> {
if(!this.loaddraftAction){
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZBOOKUsrListView_plugin' + (this.$t('app.searchForm.notConfig.loaddraftAction') as string) });
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZBOOKListView' + (this.$t('app.searchForm.notConfig.loaddraftAction') as string) });
return;
}
const arg: any = { ...opt } ;
......
......@@ -11,7 +11,7 @@ export default class Usr2Model {
* 获取数据项集合
*
* @returns {any[]}
* @memberof Usr2DataViewMode
* @memberof Usr2Dataviewexpbar_dataviewMode
*/
public getDataItems(): any[] {
return [
......@@ -40,17 +40,6 @@ export default class Usr2Model {
dataType: 'FONTKEY',
},
{
name: 'n_ibizbookname_like',
prop: 'n_ibizbookname_like',
dataType: 'QUERYPARAM'
},
{
name: 'n_price_gtandeq',
prop: 'n_price_gtandeq',
dataType: 'QUERYPARAM'
},
{
name:'size',
......
......@@ -933,7 +933,7 @@ export default class MainBase extends Vue implements ControlInterface {
if (!this.fetchAction) {
this.$Notice.error({
title: this.$t("app.commonWords.wrong") as string,
desc: "IBIZOrderDetailSGridView" + (this.$t("app.gridpage.notConfig.fetchAction") as string),
desc: "IBIZOrderDetailSGridView9" + (this.$t("app.gridpage.notConfig.fetchAction") as string),
});
return;
}
......@@ -1073,7 +1073,7 @@ export default class MainBase extends Vue implements ControlInterface {
if (!this.removeAction) {
this.$Notice.error({
title: (this.$t('app.commonWords.wrong') as string),
desc: 'IBIZOrderDetailSGridView' + (this.$t('app.gridpage.notConfig.removeAction') as string)
desc: 'IBIZOrderDetailSGridView9' + (this.$t('app.gridpage.notConfig.removeAction') as string)
});
return;
}
......@@ -1187,7 +1187,7 @@ export default class MainBase extends Vue implements ControlInterface {
*/
public addBatch(arg: any = {}): void {
if(!this.fetchAction){
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZOrderDetailSGridView'+(this.$t('app.gridpage.notConfig.fetchAction') as string) });
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZOrderDetailSGridView9'+(this.$t('app.gridpage.notConfig.fetchAction') as string) });
return;
}
if(!arg){
......@@ -2082,7 +2082,7 @@ export default class MainBase extends Vue implements ControlInterface {
try {
if (Object.is(item.rowDataState, 'create')) {
if (!this.createAction) {
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZOrderDetailSGridView'+(this.$t('app.gridpage.notConfig.createAction') as string) });
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZOrderDetailSGridView9'+(this.$t('app.gridpage.notConfig.createAction') as string) });
} else {
Object.assign(item, { viewparams: this.viewparams });
const tempContext = Util.deepCopy(this.context);
......@@ -2091,7 +2091,7 @@ export default class MainBase extends Vue implements ControlInterface {
}
}else if (Object.is(item.rowDataState, 'update')){
if (!this.updateAction) {
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZOrderDetailSGridView'+(this.$t('app.gridpage.notConfig.updateAction') as string) });
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZOrderDetailSGridView9'+(this.$t('app.gridpage.notConfig.updateAction') as string) });
} else {
Object.assign(item, { viewparams: this.viewparams });
const tempContext = Util.deepCopy(this.context);
......@@ -2167,7 +2167,7 @@ export default class MainBase extends Vue implements ControlInterface {
if(!this.loaddraftAction){
this.$Notice.error({
title: (this.$t('app.commonWords.wrong') as string),
desc: 'IBIZOrderDetailSGridView' + (this.$t('app.gridpage.notConfig.loaddraftAction') as string)
desc: 'IBIZOrderDetailSGridView9' + (this.$t('app.gridpage.notConfig.loaddraftAction') as string)
});
return;
}
......
......@@ -736,7 +736,7 @@ export default class CardNavigationBase extends Vue implements ControlInterface
*/
public async load(opt: any = {}, isReset: boolean = false): Promise<any> {
if(!this.fetchAction){
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZOrderDataViewExpView' + (this.$t('app.list.notConfig.fetchAction') as string) });
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZOrderDataViewExpView_layout' + (this.$t('app.list.notConfig.fetchAction') as string) });
return;
}
const arg: any = {...opt};
......@@ -830,7 +830,7 @@ export default class CardNavigationBase extends Vue implements ControlInterface
*/
public async remove(datas: any[]): Promise<any> {
if(!this.removeAction){
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZOrderDataViewExpView' + (this.$t('app.gridpage.notConfig.removeAction') as string) });
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZOrderDataViewExpView_layout' + (this.$t('app.gridpage.notConfig.removeAction') as string) });
return;
}
let _datas:any[] = [];
......@@ -946,7 +946,7 @@ export default class CardNavigationBase extends Vue implements ControlInterface
try {
if(Object.is(item.rowDataState, 'create')){
if(!this.createAction){
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZOrderDataViewExpView' + (this.$t('app.list.notConfig.createAction') as string) });
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZOrderDataViewExpView_layout' + (this.$t('app.list.notConfig.createAction') as string) });
}else{
Object.assign(item,{viewparams:this.viewparams});
let response = await this.service.add(this.createAction, JSON.parse(JSON.stringify(this.context)),item, this.showBusyIndicator);
......@@ -954,7 +954,7 @@ export default class CardNavigationBase extends Vue implements ControlInterface
}
}else if(Object.is(item.rowDataState, 'update')){
if(!this.updateAction){
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZOrderDataViewExpView' + (this.$t('app.list.notConfig.updateAction') as string) });
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZOrderDataViewExpView_layout' + (this.$t('app.list.notConfig.updateAction') as string) });
}else{
Object.assign(item,{viewparams:this.viewparams});
if(item.ibizorder){
......
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册