|
|
@@ -11,7 +11,7 @@
|
|
|
@cancel="handleCancel"
|
|
|
cancelText="关闭">
|
|
|
<a-spin :spinning="confirmLoading">
|
|
|
- <a-form :form="form">
|
|
|
+ <a-form-model ref="form" :model="model" :rules="validatorRules">
|
|
|
<#assign form_date = false>
|
|
|
<#assign form_select = false>
|
|
|
<#assign form_select_multi = false>
|
|
|
@@ -35,83 +35,95 @@
|
|
|
<#elseif po.dictField?default("")?trim?length gt 1>
|
|
|
<#assign form_field_dictCode="${po.dictField}">
|
|
|
</#if>
|
|
|
- <a-form-item label="${po.filedComment}" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
|
|
+ <a-form-model-item label="${po.filedComment}" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="${autoStringSuffixForModel(po)}">
|
|
|
<#if po.classType =='date'>
|
|
|
- <#assign form_date=true>
|
|
|
- <j-date placeholder="请选择${po.filedComment}" v-decorator="['${po.fieldName}'${autoWriteRules(po)}]" :trigger-change="true" style="width: 100%"/>
|
|
|
- <#elseif po.classType =='datetime'>
|
|
|
- <#assign form_date=true>
|
|
|
- <j-date placeholder="请选择${po.filedComment}" v-decorator="['${po.fieldName}'${autoWriteRules(po)}]" :trigger-change="true" :show-time="true" date-format="YYYY-MM-DD HH:mm:ss" style="width: 100%"/>
|
|
|
- <#elseif po.classType =='popup'>
|
|
|
- <#assign form_popup=true>
|
|
|
- <j-popup
|
|
|
- v-decorator="['${po.fieldName}'${autoWriteRules(po)}]"
|
|
|
- :trigger-change="true"
|
|
|
- org-fields="${po.dictField}"
|
|
|
- dest-fields="${Format.underlineToHump(po.dictText)}"
|
|
|
- code="${po.dictTable}"
|
|
|
- @callback="popupCallback"/>
|
|
|
- <#elseif po.classType =='sel_depart'>
|
|
|
- <#assign form_sel_depart=true>
|
|
|
- <j-select-depart v-decorator="['${po.fieldName}'${autoWriteRules(po)}]" multi/>
|
|
|
- <#elseif po.classType =='pca'>
|
|
|
- <#assign form_pca=true>
|
|
|
- <j-area-linkage type="cascader" v-decorator="['${po.fieldName}'${autoWriteRules(po)}]" placeholder="请输入省市区"/>
|
|
|
- <#elseif po.classType =='password'>
|
|
|
- <a-input-password v-decorator="['${po.fieldName}'${autoWriteRules(po)}]" placeholder="请输入${po.filedComment}"/>
|
|
|
- <#elseif po.classType =='sel_user'>
|
|
|
- <#assign form_sel_user = true>
|
|
|
- <j-select-user-by-dep v-decorator="['${po.fieldName}'${autoWriteRules(po)}]"/>
|
|
|
- <#elseif po.classType =='textarea'>
|
|
|
- <a-textarea v-decorator="['${po.fieldName}'${autoWriteRules(po)}]" rows="4" placeholder="请输入${po.filedComment}"/>
|
|
|
- <#elseif po.classType=='list' || po.classType=='radio'>
|
|
|
- <#assign form_select = true>
|
|
|
- <j-dict-select-tag type="${po.classType}" v-decorator="['${po.fieldName}'${autoWriteRules(po)}]" :trigger-change="true" dictCode="${form_field_dictCode}" placeholder="请选择${po.filedComment}"/>
|
|
|
- <#elseif po.classType=='list_multi' || po.classType=='checkbox'>
|
|
|
- <#assign form_select_multi = true>
|
|
|
- <j-multi-select-tag type="${po.classType}" v-decorator="['${po.fieldName}'${autoWriteRules(po)}]" :trigger-change="true" dictCode="${form_field_dictCode}" placeholder="请选择${po.filedComment}"/>
|
|
|
- <#elseif po.classType=='sel_search'>
|
|
|
- <#assign form_select_search = true>
|
|
|
- <j-search-select-tag v-decorator="['${po.fieldName}'${autoWriteRules(po)}]" dict="${form_field_dictCode}" />
|
|
|
- <#elseif po.classType=='cat_tree'>
|
|
|
- <#assign form_cat_tree = true>
|
|
|
- <j-category-select v-decorator="['${po.fieldName}'${autoWriteRules(po)}]" pcode="${po.dictField?default("")}" placeholder="请选择${po.filedComment}" <#if po.dictText?default("")?trim?length gt 1>back="${po.dictText}" @change="handleCategoryChange"</#if>/>
|
|
|
- <#if po.dictText?default("")?trim?length gt 1>
|
|
|
- <#assign form_cat_back = "${po.dictText}">
|
|
|
- </#if>
|
|
|
- <#elseif po.fieldDbType=='int' || po.fieldDbType=='double' || po.fieldDbType=='BigDecimal'>
|
|
|
- <a-input-number v-decorator="['${po.fieldName}'${autoWriteRules(po)}]" placeholder="请输入${po.filedComment}" style="width: 100%"/>
|
|
|
- <#elseif po.classType=='file'>
|
|
|
- <#assign form_file = true>
|
|
|
- <j-upload v-decorator="['${po.fieldName}'${autoWriteRules(po)}]" :trigger-change="true"></j-upload>
|
|
|
- <#elseif po.classType=='image'>
|
|
|
- <#assign form_image = true>
|
|
|
- <j-image-upload isMultiple v-decorator="['${po.fieldName}'${autoWriteRules(po)}]"></j-image-upload>
|
|
|
- <#elseif po.classType=='umeditor'>
|
|
|
- <#assign form_editor = true>
|
|
|
- <j-editor v-decorator="['${po.fieldName}',{trigger:'input'}]"/>
|
|
|
- <#elseif po.fieldDbType=='Blob'>
|
|
|
- <a-input v-decorator="['${po.fieldName}String'${autoWriteRules(po)}]" placeholder="请输入${po.filedComment}"></a-input>
|
|
|
- <#else>
|
|
|
- <a-input v-decorator="['${po.fieldName}'${autoWriteRules(po)}]" placeholder="请输入${po.filedComment}"></a-input>
|
|
|
- </#if>
|
|
|
- </a-form-item>
|
|
|
+ <j-date placeholder="请选择${po.filedComment}" v-model="model.${po.fieldName}" style="width: 100%" />
|
|
|
+ <#elseif po.classType =='datetime'>
|
|
|
+ <j-date placeholder="请选择${po.filedComment}" v-model="model.${po.fieldName}" :show-time="true" date-format="YYYY-MM-DD HH:mm:ss" style="width: 100%" />
|
|
|
+ <#elseif po.classType =='time'>
|
|
|
+ <j-time placeholder="请选择${po.filedComment}" v-model="model.${po.fieldName}" style="width: 100%" />
|
|
|
+ <#elseif po.classType =='popup'>
|
|
|
+ <#assign form_popup=true>
|
|
|
+ <j-popup
|
|
|
+ v-model="model.${po.fieldName}"
|
|
|
+ field="${po.fieldName}"
|
|
|
+ org-fields="${po.dictField}"
|
|
|
+ dest-fields="${Format.underlineToHump(po.dictText)}"
|
|
|
+ code="${po.dictTable}"
|
|
|
+ :multi="${po.extendParams.popupMulti?c}"
|
|
|
+ @input="popupCallback"/>
|
|
|
+ <#elseif po.classType =='sel_depart'>
|
|
|
+ <j-select-depart v-model="model.${po.fieldName}" multi />
|
|
|
+ <#elseif po.classType =='switch'>
|
|
|
+ <j-switch v-model="model.${po.fieldName}" <#if po.dictField != 'is_open'>:options="${po.dictField}"</#if> ></j-switch>
|
|
|
+ <#elseif po.classType =='pca'>
|
|
|
+ <j-area-linkage type="cascader" v-model="model.${po.fieldName}" placeholder="请输入省市区" />
|
|
|
+ <#elseif po.classType =='markdown'>
|
|
|
+ <j-markdown-editor v-model="model.${autoStringSuffixForModel(po)}" id="${po.fieldName}"></j-markdown-editor>
|
|
|
+ <#elseif po.classType =='password'>
|
|
|
+ <a-input-password v-model="model.${po.fieldName}" placeholder="请输入${po.filedComment}" />
|
|
|
+ <#elseif po.classType =='sel_user'>
|
|
|
+ <j-select-user-by-dep v-model="model.${po.fieldName}" />
|
|
|
+ <#elseif po.classType =='textarea'>
|
|
|
+ <a-textarea v-model="model.${autoStringSuffixForModel(po)}" rows="4" placeholder="请输入${po.filedComment}" />
|
|
|
+ <#elseif po.classType=='list' || po.classType=='radio'>
|
|
|
+ <j-dict-select-tag type="${po.classType}" v-model="model.${po.fieldName}" dictCode="${form_field_dictCode}" placeholder="请选择${po.filedComment}" />
|
|
|
+ <#elseif po.classType=='list_multi' || po.classType=='checkbox'>
|
|
|
+ <j-multi-select-tag type="${po.classType}" v-model="model.${po.fieldName}" dictCode="${form_field_dictCode}" placeholder="请选择${po.filedComment}" />
|
|
|
+ <#elseif po.classType=='sel_search'>
|
|
|
+ <j-search-select-tag v-model="model.${po.fieldName}" dict="${form_field_dictCode}" />
|
|
|
+ <#elseif po.classType=='cat_tree'>
|
|
|
+ <#assign form_cat_tree = true>
|
|
|
+ <j-category-select v-model="model.${po.fieldName}" pcode="${po.dictField?default("")}" placeholder="请选择${po.filedComment}" <#if po.dictText?default("")?trim?length gt 1>back="${dashedToCamel(po.dictText)}" @change="handleCategoryChange"</#if> />
|
|
|
+ <#if po.dictText?default("")?trim?length gt 1>
|
|
|
+ <#assign form_cat_back = "${po.dictText}">
|
|
|
+ </#if>
|
|
|
+ <#elseif po.fieldDbType=='int' || po.fieldDbType=='double' || po.fieldDbType=='BigDecimal'>
|
|
|
+ <a-input-number v-model="model.${po.fieldName}" placeholder="请输入${po.filedComment}" style="width: 100%" />
|
|
|
+ <#elseif po.classType=='file'>
|
|
|
+ <j-upload v-model="model.${po.fieldName}" <#if po.uploadnum??>:number=${po.uploadnum}</#if>></j-upload>
|
|
|
+ <#elseif po.classType=='image'>
|
|
|
+ <j-image-upload isMultiple <#if po.uploadnum??>:number=${po.uploadnum}</#if> v-model="model.${po.fieldName}" ></j-image-upload>
|
|
|
+ <#elseif po.classType=='umeditor'>
|
|
|
+ <j-editor v-model="model.${autoStringSuffixForModel(po)}" />
|
|
|
+ <#elseif po.fieldDbType=='Blob'>
|
|
|
+ <a-input v-model="model.${autoStringSuffixForModel(po)}" placeholder="请输入${po.filedComment}" ></a-input>
|
|
|
+ <#elseif po.classType == 'sel_tree'>
|
|
|
+ <j-tree-select
|
|
|
+ ref="treeSelect"
|
|
|
+ placeholder="请选择${po.filedComment}"
|
|
|
+ v-model="model.${po.fieldName}"
|
|
|
+ <#if po.dictText??>
|
|
|
+ <#if po.dictText?split(',')[2]?? && po.dictText?split(',')[0]??>
|
|
|
+ dict="${po.dictTable},${po.dictText?split(',')[2]},${po.dictText?split(',')[0]}"
|
|
|
+ <#elseif po.dictText?split(',')[1]??>
|
|
|
+ pidField="${po.dictText?split(',')[1]}"
|
|
|
+ <#elseif po.dictText?split(',')[3]??>
|
|
|
+ hasChildField="${po.dictText?split(',')[3]}"
|
|
|
+ </#if>
|
|
|
+ </#if>
|
|
|
+ pidValue="${po.dictField}">
|
|
|
+ </j-tree-select>
|
|
|
+ <#else>
|
|
|
+ <a-input v-model="model.${po.fieldName}" placeholder="请输入${po.filedComment}" ></a-input>
|
|
|
+ </#if>
|
|
|
+ </a-form-model-item>
|
|
|
</#if>
|
|
|
</#list>
|
|
|
<#if form_cat_tree && form_cat_back?length gt 1>
|
|
|
- <a-form-item v-show="false">
|
|
|
+ <a-form-model-item v-show="false">
|
|
|
<a-input v-decorator="['${form_cat_back}']"></a-input>
|
|
|
- </a-form-item>
|
|
|
+ </a-form-model-item>
|
|
|
</#if>
|
|
|
|
|
|
- </a-form>
|
|
|
+ </a-form-model>
|
|
|
</a-spin>
|
|
|
</j-modal>
|
|
|
</template>
|
|
|
|
|
|
<script>
|
|
|
|
|
|
- import { httpAction } from '@/api/manage'
|
|
|
+ import { httpAction, getAction } from '@/api/manage'
|
|
|
import pick from 'lodash.pick'
|
|
|
import { validateDuplicateValue } from '@/utils/util'
|
|
|
<#if form_date>
|
|
|
@@ -188,11 +200,12 @@
|
|
|
},
|
|
|
data () {
|
|
|
return {
|
|
|
- form: this.$form.createForm(this),
|
|
|
title:"操作",
|
|
|
width:800,
|
|
|
visible: false,
|
|
|
- model: {},
|
|
|
+ model: {
|
|
|
+ <#include "/common/init/initValue.ftl">
|
|
|
+ },
|
|
|
labelCol: {
|
|
|
xs: { span: 24 },
|
|
|
sm: { span: 5 },
|
|
|
@@ -216,12 +229,8 @@
|
|
|
this.edit({});
|
|
|
},
|
|
|
edit (record) {
|
|
|
- this.form.resetFields();
|
|
|
this.model = Object.assign({}, record);
|
|
|
this.visible = true;
|
|
|
- this.$nextTick(() => {
|
|
|
- this.form.setFieldsValue(pick(this.model<#list columns as po><#if po.fieldName !='id'><#if po.fieldDbType=='Blob'>,'${po.fieldName}String'<#else>,'${po.fieldName}'</#if></#if></#list>))
|
|
|
- })
|
|
|
},
|
|
|
close () {
|
|
|
this.$emit('close');
|
|
|
@@ -230,8 +239,8 @@
|
|
|
handleOk () {
|
|
|
const that = this;
|
|
|
// 触发表单验证
|
|
|
- this.form.validateFields((err, values) => {
|
|
|
- if (!err) {
|
|
|
+ this.$refs.form.validate(valid => {
|
|
|
+ if (valid) {
|
|
|
that.confirmLoading = true;
|
|
|
let httpurl = '';
|
|
|
let method = '';
|
|
|
@@ -255,6 +264,8 @@
|
|
|
that.confirmLoading = false;
|
|
|
that.close();
|
|
|
})
|
|
|
+ } else {
|
|
|
+ return false;
|
|
|
}
|
|
|
|
|
|
})
|
|
|
@@ -263,11 +274,11 @@
|
|
|
this.close()
|
|
|
},
|
|
|
popupCallback(row){
|
|
|
- this.form.setFieldsValue(pick(row<#list columns as po><#if po.fieldName !='id'><#if po.fieldDbType=='Blob'>,'${po.fieldName}String'<#else>,'${po.fieldName}'</#if></#if></#list>))
|
|
|
+ this.model = Object.assign(this.model, row);
|
|
|
},
|
|
|
<#if form_cat_tree>
|
|
|
handleCategoryChange(value,backObj){
|
|
|
- this.form.setFieldsValue(backObj)
|
|
|
+ this.model = Object.assign(this.model, backObj);
|
|
|
}
|
|
|
</#if>
|
|
|
|