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

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

上级 781a9c52
...@@ -239,11 +239,12 @@ import { debounceTime, distinctUntilChanged } from 'rxjs/operators'; ...@@ -239,11 +239,12 @@ import { debounceTime, distinctUntilChanged } from 'rxjs/operators';
* *
* @public * @public
* @param {*} [data={}] * @param {*} [data={}]
* @param {string} [action]
* @memberof ${srfclassname('${ctrl.codeName}')}Base * @memberof ${srfclassname('${ctrl.codeName}')}Base
*/ */
public onFormLoad(data: any = {}): void { public onFormLoad(data: any = {},action:string): void {
this.setFormEnableCond(data); this.setFormEnableCond(data);
this.fillForm(data); this.fillForm(data,action);
<#if ctrl.getControlType() == 'FORM'> <#if ctrl.getControlType() == 'FORM'>
this.oldData = {}; this.oldData = {};
Object.assign(this.oldData, JSON.parse(JSON.stringify(this.data))); Object.assign(this.oldData, JSON.parse(JSON.stringify(this.data)));
...@@ -256,15 +257,19 @@ import { debounceTime, distinctUntilChanged } from 'rxjs/operators'; ...@@ -256,15 +257,19 @@ import { debounceTime, distinctUntilChanged } from 'rxjs/operators';
* 值填充 * 值填充
* *
* @param {*} [_datas={}] * @param {*} [_datas={}]
* @param {string} [action]
* @memberof ${srfclassname('${ctrl.codeName}')}Base * @memberof ${srfclassname('${ctrl.codeName}')}Base
*/ */
public fillForm(_datas: any = {}): void { public fillForm(_datas: any = {},action:string): void {
this.ignorefieldvaluechange = true; this.ignorefieldvaluechange = true;
Object.keys(_datas).forEach((name: string) => { Object.keys(_datas).forEach((name: string) => {
if (this.data.hasOwnProperty(name)) { if (this.data.hasOwnProperty(name)) {
this.data[name] = _datas[name]; this.data[name] = _datas[name];
} }
}); });
if(Object.is(action,'loadDraft')){
this.createDefault();
}
this.$nextTick(function () { this.$nextTick(function () {
this.ignorefieldvaluechange = false; this.ignorefieldvaluechange = false;
}) })
...@@ -287,6 +292,44 @@ import { debounceTime, distinctUntilChanged } from 'rxjs/operators'; ...@@ -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'; ...@@ -618,7 +661,6 @@ import { debounceTime, distinctUntilChanged } from 'rxjs/operators';
get.then((response: any) => { get.then((response: any) => {
if (response && response.status === 200) { if (response && response.status === 200) {
const data = response.data; const data = response.data;
this.onFormLoad(data);
this.$emit('load', data); this.$emit('load', data);
this.$nextTick(() => { this.$nextTick(() => {
this.formState.next({ type: 'load', data: data }); this.formState.next({ type: 'load', data: data });
...@@ -662,7 +704,7 @@ import { debounceTime, distinctUntilChanged } from 'rxjs/operators'; ...@@ -662,7 +704,7 @@ import { debounceTime, distinctUntilChanged } from 'rxjs/operators';
const data = response.data; const data = response.data;
this.resetDraftFormStates(); this.resetDraftFormStates();
this.onFormLoad(data); this.onFormLoad(data,'loadDraft');
setTimeout(() => { setTimeout(() => {
const form: any = this.$refs.form; const form: any = this.$refs.form;
if (form) { if (form) {
......
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册