提交 2b566c65 编写于 作者: tony001's avatar tony001

完善搜索表单新建默认值逻辑

上级 781a9c52
......@@ -239,11 +239,12 @@ import { debounceTime, distinctUntilChanged } from 'rxjs/operators';
*
* @public
* @param {*} [data={}]
* @param {string} [action]
* @memberof ${srfclassname('${ctrl.codeName}')}Base
*/
public onFormLoad(data: any = {}): void {
public onFormLoad(data: any = {},action:string): void {
this.setFormEnableCond(data);
this.fillForm(data);
this.fillForm(data,action);
<#if ctrl.getControlType() == 'FORM'>
this.oldData = {};
Object.assign(this.oldData, JSON.parse(JSON.stringify(this.data)));
......@@ -256,15 +257,19 @@ import { debounceTime, distinctUntilChanged } from 'rxjs/operators';
* 值填充
*
* @param {*} [_datas={}]
* @param {string} [action]
* @memberof ${srfclassname('${ctrl.codeName}')}Base
*/
public fillForm(_datas: any = {}): void {
public fillForm(_datas: any = {},action:string): void {
this.ignorefieldvaluechange = true;
Object.keys(_datas).forEach((name: string) => {
if (this.data.hasOwnProperty(name)) {
this.data[name] = _datas[name];
}
});
if(Object.is(action,'loadDraft')){
this.createDefault();
}
this.$nextTick(function () {
this.ignorefieldvaluechange = false;
})
......@@ -287,6 +292,44 @@ import { debounceTime, distinctUntilChanged } from 'rxjs/operators';
});
}
/**
* 新建默认值
* @memberof ${srfclassname('${ctrl.codeName}')}Base
*/
public createDefault(){
<#list ctrl.getAllPSDEFormDetails() as formdetail><#t>
<#if formdetail.getCreateDV?? && formdetail.getCreateDV()??><#t>
<#if !(formdetail.getCreateDV() == '') || formdetail.getCreateDVT() == 'CURTIME'><#t>
if (this.data.hasOwnProperty('${formdetail.getCodeName()?lower_case}')) {
<#-- 网页请求 -->
<#if formdetail.getCreateDVT() == 'CONTEXT'>
this.data['${formdetail.getCodeName()?lower_case}'] = this.viewparams['${formdetail.getCreateDV()}'];
<#-- 用户全局对象 -->
<#elseif formdetail.getCreateDVT() == 'SESSION'>
this.data['${formdetail.getCodeName()?lower_case}'] = this.context['${formdetail.getCreateDV()}'];
<#-- 当前应用数据 -->
<#elseif formdetail.getCreateDVT() == 'APPDATA'>
this.data['${formdetail.getCodeName()?lower_case}'] = this.context['${formdetail.getCreateDV()}'];
<#-- 当前操作用户(名称) -->
<#elseif formdetail.getCreateDVT() == 'OPERATORNAME'>
this.data['${formdetail.getCodeName()?lower_case}'] = this.context['srfusername'];
<#-- 当前操作用户(编号) -->
<#elseif formdetail.getCreateDVT() == 'OPERATOR'>
this.data['${formdetail.getCodeName()?lower_case}'] = this.context['srfuserid'];
<#-- 当前时间 -->
<#elseif formdetail.getCreateDVT() == 'CURTIME'>
this.data['${formdetail.getCodeName()?lower_case}'] = this.$util.dateFormat(new Date());
<#else>
<#-- 默认值 -->
<#assign datatype=srfjavatype(formdetail.getStdDataType())>
this.data['${formdetail.getCodeName()?lower_case}'] = <#if datatype=='BigInteger' || datatype=='Integer' || datatype=='Double' || datatype=='Decimal' || datatype=='Float' || datatype=='BigDecimal'>${formdetail.getCreateDV()}<#else>'${formdetail.getCreateDV()}'</#if>;
</#if>
}
</#if>
</#if>
</#list>
}
/**
* 重置草稿表单状态
*
......@@ -618,7 +661,6 @@ import { debounceTime, distinctUntilChanged } from 'rxjs/operators';
get.then((response: any) => {
if (response && response.status === 200) {
const data = response.data;
this.onFormLoad(data);
this.$emit('load', data);
this.$nextTick(() => {
this.formState.next({ type: 'load', data: data });
......@@ -662,7 +704,7 @@ import { debounceTime, distinctUntilChanged } from 'rxjs/operators';
const data = response.data;
this.resetDraftFormStates();
this.onFormLoad(data);
this.onFormLoad(data,'loadDraft');
setTimeout(() => {
const form: any = this.$refs.form;
if (form) {
......
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册