1511 lines
65 KiB
Plaintext
1511 lines
65 KiB
Plaintext
<template>
|
|
<view class="jnpf-wrap jnpf-wrap-form">
|
|
<u-form :model="@(@Model.FormModel)" :rules="@(@Model.FormRules)" ref="@(@Model.FormModel)" :errorType="['toast']" label-position="@(@Model.LabelPosition)" label-width="@(@Model.LabelWidth)" label-align="left" class="jnpf-form">
|
|
@{GenCodeAppFormControls();}
|
|
</u-form>
|
|
<view class="buttom-actions" v-if="jurisdictionType != 'btn_detail'">
|
|
<u-button class="buttom-btn" @@click="jnpf.goBack()">@(@Model.CancelButtonText)</u-button>
|
|
<u-button class="buttom-btn" type="primary" @@click="submitForm" :loading="btnLoading">@(@Model.ConfirmButtonText)</u-button>
|
|
</view>
|
|
</view>
|
|
</template>
|
|
<script>
|
|
import { getDictionaryDataSelector,getDataInterfaceRes } from '@@/api/common'
|
|
import request from '@@/utils/request'
|
|
export default {
|
|
data() {
|
|
return {
|
|
btnLoading: false,
|
|
@foreach(var item in @Model.OptionsList)
|
|
{
|
|
@if(item.jnpfKey == "tab")
|
|
{
|
|
@:@(@item.LowerName)Current:@(@item.Content),
|
|
}
|
|
}
|
|
@if(Model.IsChildDataTransfer)
|
|
{
|
|
@:addTableConf:{
|
|
@foreach(var item in Model.FormList)
|
|
{
|
|
@switch(item.jnpfKey)
|
|
{
|
|
case "table":
|
|
@if(item.IsDataTransfer)
|
|
{
|
|
@:@(@item.OriginalName):@(@item.AddTableConf),
|
|
}
|
|
break;
|
|
}
|
|
}
|
|
@:},
|
|
}
|
|
@(@Model.FormModel): {
|
|
@(@Model.PrimaryKey):'',
|
|
@foreach(var children in Model.FormList)
|
|
{
|
|
@switch(children.jnpfKey)
|
|
{
|
|
case "checkbox":
|
|
case "cascader":
|
|
case "uploadImg":
|
|
case "uploadFz":
|
|
case "address":
|
|
case "comSelect":
|
|
@if(children.DefaultValue == null || children.DefaultValue.ToString() == "")
|
|
{
|
|
@:@(@children.LowerName):[],
|
|
}else{
|
|
@:@(@children.LowerName):@(@children.DefaultValue),
|
|
}
|
|
break;
|
|
case "select":
|
|
case "userSelect":
|
|
case "usersSelect":
|
|
case "treeSelect":
|
|
case "depSelect":
|
|
case "posSelect":
|
|
case "popupTableSelect":
|
|
case "roleSelect":
|
|
case "groupSelect":
|
|
@if(children.Multiple)
|
|
{
|
|
if(@children.DefaultValue == null || @children.DefaultValue.ToString() == "")
|
|
{
|
|
@:@(@children.LowerName):[],
|
|
}else{
|
|
@:@(@children.LowerName):@(@children.DefaultValue),
|
|
}
|
|
}else{
|
|
if(@children.DefaultValue == null || @children.DefaultValue.ToString() == "")
|
|
{
|
|
@:@(@children.LowerName):undefined,
|
|
}else{
|
|
@:@(@children.LowerName):"@(@children.DefaultValue)",
|
|
}
|
|
}
|
|
break;
|
|
case "numInput":
|
|
if(@children.DefaultValue == null || @children.DefaultValue.ToString() == "")
|
|
{
|
|
@:@(@children.LowerName):0,
|
|
}else{
|
|
@:@(@children.LowerName):@(@children.DefaultValue),
|
|
}
|
|
break;
|
|
case "date":
|
|
case "rate":
|
|
case "slider":
|
|
if(@children.DefaultValue == null || @children.DefaultValue.ToString() == "")
|
|
{
|
|
@:@(@children.LowerName):undefined,
|
|
}else{
|
|
@:@(@children.LowerName):@(@children.DefaultValue),
|
|
}
|
|
break;
|
|
case "switch":
|
|
@:@(@children.LowerName):@(@children.DefaultValue ? "1" : "0"),
|
|
break;
|
|
case "table":
|
|
@:@(@children.OriginalName):[],
|
|
break;
|
|
default:
|
|
if(@children.DefaultValue == null || @children.DefaultValue.ToString() == "")
|
|
{
|
|
@:@(@children.LowerName):undefined,
|
|
}else{
|
|
@:@(@children.LowerName):"@(@children.DefaultValue)",
|
|
}
|
|
break;
|
|
}
|
|
}
|
|
},
|
|
rules: {
|
|
@foreach(var item in Model.FormList)
|
|
{
|
|
@switch(item.jnpfKey)
|
|
{
|
|
case "table":
|
|
break;
|
|
default:
|
|
@if(item.Required || (item.RegList!=null && item.RegList.Count > 0))
|
|
{
|
|
@:@(@item.LowerName):[
|
|
@if(item.Required)
|
|
{
|
|
@:{
|
|
@:required:true,
|
|
@:message:'请输入@(@item.Placeholder)',
|
|
@if(item.Trigger.Contains("["))
|
|
{
|
|
@:trigger:@(@item.Trigger),
|
|
}
|
|
else
|
|
{
|
|
@:trigger:'@(@item.Trigger)',
|
|
}
|
|
switch(item.jnpfKey)
|
|
{
|
|
case "checkbox":
|
|
case "cascader":
|
|
case "comSelect":
|
|
case "address":
|
|
case "uploadImg":
|
|
case "uploadFz":
|
|
@:type:'array'
|
|
break;
|
|
case "select":
|
|
case "userSelect":
|
|
case "usersSelect":
|
|
case "treeSelect":
|
|
case "depSelect":
|
|
case "posSelect":
|
|
case "popupTableSelect":
|
|
case "roleSelect":
|
|
case "groupSelect":
|
|
@*是否为多选*@
|
|
@if(item.Multiple)
|
|
{
|
|
@:type:'array'
|
|
}
|
|
break;
|
|
case "numInput":
|
|
case "switch":
|
|
case "date":
|
|
case "rate":
|
|
case "slider":
|
|
@:type:'number'
|
|
break;
|
|
}
|
|
|
|
@:},
|
|
}
|
|
@if(item.RegList!=null && item.RegList.Count > 0)
|
|
{
|
|
@foreach(var items in item.RegList)
|
|
{
|
|
@:{
|
|
@:pattern:@(@items.pattern),
|
|
@:message:'@(@items.message)',
|
|
if(item.Trigger.Contains("["))
|
|
{
|
|
@:trigger:@(@item.Trigger)
|
|
}
|
|
else
|
|
{
|
|
@:trigger:'@(@item.Trigger)'
|
|
}
|
|
@:},
|
|
}
|
|
}
|
|
@:],
|
|
}
|
|
break;
|
|
}
|
|
}
|
|
},
|
|
@if(Model.UseFormPermission)
|
|
{
|
|
@:menuIds:'',
|
|
}
|
|
jurisdictionType:'',
|
|
@if(Model.IsChildDataTransfer)
|
|
{
|
|
@:addType: 1,
|
|
}else{
|
|
@:addType: 0,
|
|
}
|
|
@foreach(var item in Model.OptionsList)
|
|
{
|
|
@switch(item.jnpfKey)
|
|
{
|
|
case "collapse":
|
|
@:@(@item.Name):@(@item.Content),
|
|
break;
|
|
case "tab":
|
|
@:@(@item.Name)Title:@(@item.Title),
|
|
@:@(@item.Name):"@(@item.Content)",
|
|
break;
|
|
case "popupTableSelect":
|
|
case "popupSelect":
|
|
@:@(item.Name)TemplateJson : @(item.TemplateJson == "" ? "[]" : item.TemplateJson),
|
|
@:@(item.Content)
|
|
break;
|
|
default:
|
|
@if(item.IsProps)
|
|
{
|
|
@:@(@item.LowerName)Props:@(item.Props),
|
|
}
|
|
@if(!item.IsLinkage)
|
|
{
|
|
@:@(item.Content)
|
|
}
|
|
break;
|
|
}
|
|
}
|
|
};
|
|
},
|
|
watch: {
|
|
@if(Model.IsSummary)
|
|
{
|
|
@:dataForm: {
|
|
@:handler(val, oldVal) {
|
|
@foreach(var item in Model.FormList)
|
|
{
|
|
@switch(item.jnpfKey)
|
|
{
|
|
case "table":
|
|
@if(item.ShowSummary)
|
|
{
|
|
@:this.@(@item.LowerName)();
|
|
}
|
|
break;
|
|
}
|
|
}
|
|
@:},
|
|
@:deep: true
|
|
@:}
|
|
}
|
|
},
|
|
onLoad(option) {
|
|
@if(Model.UseFormPermission)
|
|
{
|
|
@:this.menuIds = option.menuIds
|
|
}
|
|
this.jurisdictionType = option.jurisdictionType
|
|
let _title = ''
|
|
@if(Model.IsAdd)
|
|
{
|
|
@:if(option.jurisdictionType =='btn_add'){
|
|
@:_title = "@(@Model.AddTitleName)"
|
|
@:}
|
|
}
|
|
@if(Model.IsEdit)
|
|
{
|
|
@:if(option.jurisdictionType =='btn_edit'){
|
|
@:_title = "@(@Model.EditTitleName)"
|
|
@:}
|
|
}
|
|
@if(Model.IsEdit)
|
|
{
|
|
@:if(option.jurisdictionType =='btn_detail'){
|
|
@:_title = "@(@Model.DetailTitleName)"
|
|
@:}
|
|
}
|
|
@if(Model.WebType != 1)
|
|
{
|
|
@:this.@(@Model.FormModel).@(@Model.PrimaryKey) = option.id || ''
|
|
@:uni.setNavigationBarTitle({
|
|
@:title: _title
|
|
@:})
|
|
@:this.initData()
|
|
}
|
|
@foreach(var item in @Model.OptionsList)
|
|
{
|
|
@if(!item.IsStatic && !item.IsLinkage && (item.IsChildren || item.IsIndex))
|
|
{
|
|
@:this.get@(@item.LowerName)Options();
|
|
}
|
|
}
|
|
@foreach(var item in Model.FormAllContols)
|
|
{
|
|
@switch(item.jnpfKey)
|
|
{
|
|
case "table":
|
|
@if(item.AddType == 1)
|
|
{
|
|
@:uni.$on('linkPageConfirm', (subVal, Vmodel) => {
|
|
@:if ('@(@item.Name)' === Vmodel) subVal.forEach(t => this.@(@Model.FormModel).@(@item.Name).push(t));
|
|
@:});
|
|
}
|
|
break;
|
|
}
|
|
}
|
|
@if(!Model.IsChildDataTransfer)
|
|
{
|
|
@:this.selfInit();
|
|
}
|
|
},
|
|
onReady() {
|
|
this.$refs.@(@Model.FormModel).setRules(this.rules);
|
|
},
|
|
methods: {
|
|
@foreach(var item in @Model.OptionsList)
|
|
{
|
|
@if(item.jnpfKey == "tab")
|
|
{
|
|
@:@(@item.LowerName)Change(index)
|
|
@:{
|
|
@:this.@(@item.LowerName)Current = index;
|
|
@:},
|
|
}
|
|
@if(!item.IsStatic && item.DictionaryType != null)
|
|
{
|
|
@:get@(@item.LowerName)Options(@(item.IsChildren ? "i" :"")){
|
|
switch(@item.DataType)
|
|
{
|
|
case "dictionary":
|
|
@:getDictionaryDataSelector('@(@item.DictionaryType)').then(res => {
|
|
@:this.@(@item.LowerName)Options = res.data.list
|
|
break;
|
|
case "dynamic":
|
|
@:let templateJson = @(item.TemplateJson == "" ? "[]" : item.TemplateJson)
|
|
@:let query = {
|
|
@:paramList: this.getParamList(templateJson, this.dataForm@(item.IsChildren ? " , i" :""))
|
|
@:}
|
|
@if(item.IsChildren){
|
|
@if(item.IsLinkage){
|
|
@:this.@(@item.OptionsName)Options = []
|
|
}else{
|
|
@:this.@(@item.LowerName)Options = []
|
|
}
|
|
}else{
|
|
@:this.@(@item.LowerName)Options = []
|
|
}
|
|
@:getDataInterfaceRes('@(@item.DictionaryType)', query).then(res => {
|
|
@:let data = res.data
|
|
@if(item.IsChildren){
|
|
@if(item.IsLinkage){
|
|
@:this.@(@item.OptionsName)Options = Array.isArray(data) ? data : []
|
|
}else{
|
|
@:this.@(@item.LowerName)Options = Array.isArray(data) ? data : []
|
|
}
|
|
}else{
|
|
@:this.@(@item.LowerName)Options = Array.isArray(data) ? data : []
|
|
}
|
|
break;
|
|
}
|
|
@:});
|
|
@:},
|
|
}
|
|
}
|
|
selfInit(){
|
|
@foreach(var item in Model.FormList)
|
|
{
|
|
@if(item.jnpfKey == "table")
|
|
{
|
|
@:this.add@(@item.Name)();
|
|
}
|
|
}
|
|
},
|
|
resetForm() {
|
|
@foreach(var item in Model.FormList)
|
|
{
|
|
@if(item.jnpfKey == "table")
|
|
{
|
|
@:this.@(@Model.FormModel).@(@item.LowerName)List = [];
|
|
}
|
|
}
|
|
this.$refs.@(@Model.FormModel).resetFields();
|
|
this.selfInit()
|
|
},
|
|
@if(Model.WebType != 1)
|
|
{
|
|
@:initData() {
|
|
@:this.$store.commit('base/UPDATE_RELATION_DATA', {})
|
|
@:if (this.@(@Model.FormModel).@(@Model.PrimaryKey)) {
|
|
@:request({
|
|
@:url: '/api/@(@Model.NameSpace)/@(@Model.ClassName)/' + this.@(@Model.FormModel).@(@Model.PrimaryKey),
|
|
@:method: 'get',
|
|
@:}).then(res => {
|
|
@:this.@(@Model.FormModel) = res.data;
|
|
@foreach(var item in Model.FormList)
|
|
{
|
|
@switch(item.jnpfKey)
|
|
{
|
|
case "cascader":
|
|
case "checkbox":
|
|
case "uploadImg":
|
|
case "uploadFz":
|
|
case "address":
|
|
case "comSelect":
|
|
@:if(!this.@(@Model.FormModel).@(@item.LowerName))this.@(@Model.FormModel).@(@item.LowerName)=[];
|
|
break;
|
|
}
|
|
}
|
|
@:})
|
|
@:}
|
|
@:},
|
|
@:submitForm() {
|
|
@:this.$refs.@(@Model.FormModel).validate(valid => {
|
|
@:if (!valid) return
|
|
@:this.btnLoading = true
|
|
@:if (this.@(@Model.FormModel).@(@Model.PrimaryKey)) {
|
|
@:request({
|
|
@:url: '/api/@(@Model.NameSpace)/@(@Model.ClassName)/' + this.@(@Model.FormModel).@(@Model.PrimaryKey),
|
|
@:method: 'put',
|
|
@:data: this.@(@Model.FormModel),
|
|
@:}).then(res => {
|
|
@:uni.showToast({
|
|
@:title: res.msg,
|
|
@:complete: () => {
|
|
@:setTimeout(() => {
|
|
@:this.btnLoading = false
|
|
@:uni.$emit('refresh')
|
|
@:uni.navigateBack()
|
|
@:}, 1500)
|
|
@:}
|
|
@:})
|
|
@:}).catch(()=>{
|
|
@:this.btnLoading = false
|
|
@:})
|
|
@:} else {
|
|
@:request({
|
|
@:url: '/api/@(@Model.NameSpace)/@(@Model.ClassName)',
|
|
@:method: 'post',
|
|
@:data: this.@(@Model.FormModel),
|
|
@:}).then(res => {
|
|
@:uni.showToast({
|
|
@:title: res.msg,
|
|
@:complete: () => {
|
|
@:setTimeout(() => {
|
|
@:this.btnLoading = false
|
|
@:uni.$emit('refresh')
|
|
@:uni.navigateBack()
|
|
@:}, 1500)
|
|
@:}
|
|
@:})
|
|
@:})
|
|
@:}
|
|
@:});
|
|
@:},
|
|
}else{
|
|
@:submitForm() {
|
|
@:this.$refs.@(@Model.FormModel).validate(valid => {
|
|
@:if (!valid) return
|
|
@:this.btnLoading = true
|
|
@:request({
|
|
@:url: '/api/@(@Model.NameSpace)/@(@Model.ClassName)',
|
|
@:method: 'post',
|
|
@:data: this.@(@Model.FormModel),
|
|
@:}).then(res => {
|
|
@:uni.showToast({
|
|
@:title: res.msg,
|
|
@:complete: () => {
|
|
@:setTimeout(() => {
|
|
@:this.btnLoading = false
|
|
@:uni.navigateBack()
|
|
@:}, 1500)
|
|
@:}
|
|
@:})
|
|
@:})
|
|
@:});
|
|
@:},
|
|
}
|
|
/**
|
|
* 获取参数列表
|
|
*/
|
|
getParamList(templateJson, formData, index) {
|
|
for (let i = 0; i < templateJson.length; i++) {
|
|
if (templateJson[i].relationField) {
|
|
//区分是否子表
|
|
if (templateJson[i].relationField.includes('-')) {
|
|
let tableVModel = templateJson[i].relationField.split('-')[0]
|
|
let childVModel = templateJson[i].relationField.split('-')[1]
|
|
templateJson[i].defaultValue = formData[tableVModel] && formData[tableVModel][index] && formData[tableVModel][index][childVModel] || ''
|
|
} else {
|
|
templateJson[i].defaultValue = formData[templateJson[i].relationField] || ''
|
|
}
|
|
}
|
|
}
|
|
return templateJson
|
|
},
|
|
@foreach(var item in Model.FormList)
|
|
{
|
|
@if(item.IsLinked && item.jnpfKey != "table")
|
|
{
|
|
@:@(item.LowerName)Change(){
|
|
@foreach(var linkage in item.LinkageRelationship)
|
|
{
|
|
@switch(linkage.jnpfKey)
|
|
{
|
|
case "popupSelect":
|
|
case "popupTableSelect":
|
|
break;
|
|
default:
|
|
@*主表联动子表控件*@
|
|
@if(linkage.isChildren)
|
|
{
|
|
@:if(this.dataForm.@(linkage.fieldName).length){
|
|
@:this.dataForm.@(linkage.fieldName).forEach((ele, index) => {
|
|
@:this.get@(linkage.fieldName)_@(linkage.field)Options(index)
|
|
@:})
|
|
@:}
|
|
}else{
|
|
@:this.dataForm.@(linkage.field) = @(linkage.IsMultiple ? "[]" : "undefined")
|
|
@:this.get@(@linkage.fieldName)Options()
|
|
}
|
|
break;
|
|
}
|
|
}
|
|
@:},
|
|
}
|
|
@if(item.jnpfKey == "table")
|
|
{
|
|
@*子表内有控件联动*@
|
|
@if(item.IsLinked)
|
|
{
|
|
@foreach(var children in item.ChildrenList)
|
|
{
|
|
@*子表内具体某个控件*@
|
|
@if(children.IsLinked)
|
|
{
|
|
@:@(children.LowerName)TableChange(i){
|
|
@foreach(var linkage in children.LinkageRelationship)
|
|
{
|
|
@:this.dataForm.@(item.OriginalName)[i].@(linkage.field) = @(linkage.IsMultiple ? "[]" : "undefined");
|
|
@switch(linkage.jnpfKey)
|
|
{
|
|
case "popupSelect":
|
|
case "popupTableSelect":
|
|
break;
|
|
default:
|
|
@:this.get@(item.OriginalName)_@(linkage.field)Options(i);
|
|
break;
|
|
}
|
|
}
|
|
@:},
|
|
}
|
|
}
|
|
}
|
|
@if(item.AddType == 0){
|
|
@:add@(@item.Name)() {
|
|
@:let item = {
|
|
@foreach(var children in item.ChildrenList)
|
|
{
|
|
@switch(children.jnpfKey)
|
|
{
|
|
case "checkbox":
|
|
case "cascader":
|
|
case "uploadImg":
|
|
case "uploadFz":
|
|
case "address":
|
|
case "comSelect":
|
|
@if(children.DefaultValue == null || children.DefaultValue.ToString() == "")
|
|
{
|
|
@:@(@children.LowerName):[],
|
|
}else{
|
|
@:@(@children.LowerName):@(@children.DefaultValue),
|
|
}
|
|
break;
|
|
case "select":
|
|
case "userSelect":
|
|
case "usersSelect":
|
|
case "treeSelect":
|
|
case "depSelect":
|
|
case "posSelect":
|
|
case "popupTableSelect":
|
|
case "roleSelect":
|
|
case "groupSelect":
|
|
@if(children.Multiple)
|
|
{
|
|
if(@children.DefaultValue == null || @children.DefaultValue.ToString() == "")
|
|
{
|
|
@:@(@children.LowerName):[],
|
|
}else{
|
|
@:@(@children.LowerName):@(@children.DefaultValue),
|
|
}
|
|
}else{
|
|
if(@children.DefaultValue == null || @children.DefaultValue.ToString() == "")
|
|
{
|
|
@:@(@children.LowerName):undefined,
|
|
}else{
|
|
@:@(@children.LowerName):"@(@children.DefaultValue)",
|
|
}
|
|
}
|
|
break;
|
|
case "numInput":
|
|
if(@children.DefaultValue == null || @children.DefaultValue.ToString() == "")
|
|
{
|
|
@:@(@children.LowerName):0,
|
|
}else{
|
|
@:@(@children.LowerName):@(@children.DefaultValue),
|
|
}
|
|
break;
|
|
case "date":
|
|
case "rate":
|
|
case "slider":
|
|
if(@children.DefaultValue == null || @children.DefaultValue.ToString() == "")
|
|
{
|
|
@:@(@children.LowerName):undefined,
|
|
}else{
|
|
@:@(@children.LowerName):@(@children.DefaultValue),
|
|
}
|
|
break;
|
|
case "switch":
|
|
@:@(@children.LowerName):@(@children.DefaultValue ? "1" : "0"),
|
|
break;
|
|
default:
|
|
if(@children.DefaultValue == null || @children.DefaultValue.ToString() == "")
|
|
{
|
|
@:@(@children.LowerName):undefined,
|
|
}else{
|
|
@:@(@children.LowerName):"@(@children.DefaultValue)",
|
|
}
|
|
break;
|
|
}
|
|
}
|
|
@foreach(var children in item.ChildrenList)
|
|
{
|
|
@if(children.IsLinkage)
|
|
{
|
|
@switch(children.jnpfKey)
|
|
{
|
|
case "radio":
|
|
case "checkbox":
|
|
case "select":
|
|
case "cascader":
|
|
case "treeSelect":
|
|
case "popupTableSelect":
|
|
case "popupSelect":
|
|
@:@(@children.LowerName)Options:[],
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
@:}
|
|
@:this.@(@Model.FormModel).@(@item.OriginalName).push(item)
|
|
@*循环出主表联动子表控件的事件*@
|
|
@foreach(var primaryTableLinkage in Model.FormList)
|
|
{
|
|
@if(primaryTableLinkage.IsLinked && primaryTableLinkage.jnpfKey != "table")
|
|
{
|
|
@foreach(var linkage in primaryTableLinkage.LinkageRelationship)
|
|
{
|
|
if(linkage.fieldName == item.OriginalName)
|
|
{
|
|
@switch(linkage.isChildren)
|
|
{
|
|
case true:
|
|
@switch(linkage.jnpfKey)
|
|
{
|
|
case "popupSelect":
|
|
case "popupTableSelect":
|
|
break;
|
|
default:
|
|
@:this.get@(linkage.fieldName)_@(linkage.field)Options(this.dataForm.@(linkage.fieldName).length - 1)
|
|
break;
|
|
}
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}else{
|
|
@:add@(@item.Name)(subVal) {
|
|
@:let data = {
|
|
@:addTableConf: this.addTableConf.@(@item.OriginalName),
|
|
@:formData: this.@(@Model.FormModel),
|
|
@:tableVmodel: '@(@item.OriginalName)'
|
|
@:}
|
|
@:uni.navigateTo({
|
|
@:url: '/pages/apply/tableLinkage/index?data=' + encodeURIComponent(JSON.stringify(data))
|
|
@:})
|
|
}
|
|
@:},
|
|
@:del@(@item.Name)(i) {
|
|
@:this.@(@Model.FormModel).@(@item.OriginalName).splice(i, 1);
|
|
@:},
|
|
@if(item.ShowSummary)
|
|
{
|
|
@:@(@item.LowerName)(){
|
|
@:let table = this.@(@Model.FormModel).@(@item.OriginalName)
|
|
@:let summaryField = @(@item.SummaryField)
|
|
@:let summaryFieldName = {
|
|
@foreach(var items in item.ChildrenList)
|
|
{
|
|
@if(items.IsSummary)
|
|
{
|
|
@:"@(@items.Name)":"@(@items.Placeholder)",
|
|
}
|
|
}
|
|
@:}
|
|
@:let data = {}
|
|
@:for (let i in summaryField) {
|
|
@:let map = {}
|
|
@:let val = 0
|
|
@:for (let j = 0; j < table.length; j++) {
|
|
@:let summary = table[j][summaryField[i]];
|
|
@:if (summary) {
|
|
@:let data = isNaN(summary) ? 0 : Number(summary)
|
|
@:val += data
|
|
@:}
|
|
@:}
|
|
@:map.id = summaryField[i];
|
|
@:map.name = summaryFieldName[summaryField[i]];
|
|
@:map.val = val;
|
|
@:data[summaryField[i]] = map;
|
|
@:}
|
|
@:return data;
|
|
@:},
|
|
}
|
|
}
|
|
}
|
|
}
|
|
};
|
|
</script>
|
|
<style>
|
|
page{
|
|
background-color: #f0f2f6;
|
|
}
|
|
</style>
|
|
@{
|
|
void GenCodeAppFormControls()
|
|
{
|
|
@foreach(var item in Model.FormAllContols)
|
|
{
|
|
@switch(item.jnpfKey)
|
|
{
|
|
@*现将表单内有特殊样式的控件循环出来*@
|
|
case "groupTitle":
|
|
@:<jnpf-group content="@(@item.Content)" content-position="@(@item.Contentposition)"></jnpf-group>
|
|
break;
|
|
case "divider":
|
|
@:<u-divider half-width="200" height="80">@(@item.Default)</u-divider>
|
|
break;
|
|
case "card":
|
|
case "row":
|
|
@:<view class="jnpf-card">
|
|
@:<view class="jnpf-card-cap u-line-1">@(@item.Content)</view>
|
|
@{GenCodeAppFormChildrenControls(item.Children);}
|
|
@:</view>
|
|
break;
|
|
@*标签面板*@
|
|
case "tab":
|
|
@:<view prop="@(@item.LowerName)">
|
|
@:<u-tabs :is-scroll="false" :list="@(@item.LowerName)Title" name="title" :current="@(@item.LowerName)Current" @@change="@(@item.LowerName)Change"></u-tabs>
|
|
@:<view>
|
|
@{ int n = 0;}
|
|
@foreach(var tab in item.Children)
|
|
{
|
|
@:<view v-if="@(@n) == @(@item.LowerName)Current">
|
|
@{GenCodeAppFormChildrenControls(tab.Children);}
|
|
@:</view>
|
|
@{n++;}
|
|
}
|
|
@:</view>
|
|
@:</view>
|
|
break;
|
|
@*折叠面板*@
|
|
case "collapse":
|
|
@:<view prop="@(@item.LowerName)">
|
|
@:<template>
|
|
@:<view class="collapse">
|
|
@:<u-collapse v-model="@(@item.Name)" :accordion="@(@item.Accordion)">
|
|
@foreach(var collapse in item.Children)
|
|
{
|
|
@:<u-collapse-item class="collapse-item" name="@(@collapse.Name)" title="@(@collapse.Title)">
|
|
@{GenCodeAppFormChildrenControls(collapse.Children);}
|
|
@:</u-collapse-item>
|
|
}
|
|
@:</u-collapse>
|
|
@:</view>
|
|
@:</template>
|
|
@:</view>
|
|
break;
|
|
@*文本*@
|
|
case "JNPFText":
|
|
@:<jnpf-text value="@(@item.DefaultValue)" :textStyle='@(@item.TextStyle)'/>
|
|
break;
|
|
@*子表*@
|
|
case "table":
|
|
@if(Model.UseFormPermission)
|
|
{
|
|
@:<view class="jnpf-table" v-if="$setPermission.hasFormP('@(@item.Name)',menuIds)">
|
|
}else{
|
|
@:<view class="jnpf-table">
|
|
}
|
|
@:<view class="jnpf-table-item" v-for="(item,i) in @(@Model.FormModel).@(@item.Name)" :key="i">
|
|
@:<view class="jnpf-table-item-title u-flex u-row-between">
|
|
@:<text class="jnpf-table-item-title-num">@(@item.Label)({{i+1}})</text>
|
|
@:<view class="jnpf-table-item-title-action" v-if="@(@Model.FormModel).@(@item.Name).length > 1 && @(@item.AddType) == 0" @@click="del@(@item.ChildTableName)(i)">删除</view>
|
|
@:</view>
|
|
@foreach(var children in item.Children)
|
|
{
|
|
@switch(children.jnpfKey)
|
|
{
|
|
case "relationFormAttr":
|
|
case "popupAttr":
|
|
@if(Model.UseFormPermission)
|
|
{
|
|
@:<u-form-item label="@(@children.Label)" prop="@(@children.RelationField)" v-if="$setPermission.hasFormP('@(@item.Name + "-" +@children.LowerName)', menuIds)">
|
|
}else{
|
|
@:<u-form-item label="@(@children.Label)" prop="@(@children.RelationField)">
|
|
}
|
|
break;
|
|
default:
|
|
@if(Model.UseFormPermission)
|
|
{
|
|
@:<u-form-item label="@(@children.Label)" prop="@(@children.LowerName)" @(@children.Required)v-if="$setPermission.hasFormP('@(@item.Name + "-" +@children.LowerName)', menuIds)">
|
|
}else{
|
|
@:<u-form-item label="@(@children.Label)" prop="@(@children.LowerName)" @(@children.Required)>
|
|
}
|
|
break;
|
|
}
|
|
@switch(children.jnpfKey)
|
|
{
|
|
case "uploadFz":
|
|
@:<jnpf-file v-model="@(@Model.FormModel).@(@item.Name)[i].@(@children.LowerName)" @(@children.Disabled)@(@children.Limit)@(@children.SizeUnit)@(@children.FileSize)@(@children.Accept)/>
|
|
break;
|
|
case "uploadImg":
|
|
@:<jnpf-upload v-model="@(@Model.FormModel).@(@item.Name)[i].@(@children.LowerName)" @(@children.Disabled)></jnpf-upload>
|
|
break;
|
|
case "comSelect":
|
|
@:<jnpf-com-select type="organize" v-model="@(@Model.FormModel).@(@item.Name)[i].@(@children.LowerName)" @(@children.Placeholder)@(@children.Multiple)@(@children.Disabled)@(@children.IsLinked ? "@change='"+ @children.LowerName +"TableChange(i)' ":"")></jnpf-com-select>
|
|
break;
|
|
case "address":
|
|
@:<jnpf-city-select v-model="@(@Model.FormModel).@(@item.Name)[i].@(@children.LowerName)" @(@children.Placeholder)@(@children.Level)@(@children.Multiple)@(@children.Disabled)@(@children.IsLinked ? "@change='"+ @children.LowerName +"TableChange(i)' ":"")></jnpf-city-select>
|
|
break;
|
|
case "billRule":
|
|
@:<u-input v-model="@(@Model.FormModel).@(@item.Name)[i].@(@children.LowerName)" placeholder="系统自动生成" @(@children.Disabled)></u-input>
|
|
break;
|
|
case "treeSelect":
|
|
@:<jnpf-tree-select v-model="@(@Model.FormModel).@(@item.Name)[i].@(@children.LowerName)" :options="dataForm.@(@item.Name + "[i]." + @children.LowerName)Options" :props="@(@item.Name + "_" + @children.LowerName)Props" @(@children.Disabled)@(@children.Placeholder)@(@children.Multiple)@(@children.IsLinked ? "@change='"+ @children.LowerName +"TableChange(i)' ":"")></jnpf-tree-select>
|
|
break;
|
|
case "userSelect":
|
|
@:<jnpf-user-select v-model="@(@Model.FormModel).@(@item.Name)[i].@(@children.LowerName)" @(@children.Placeholder)@(@children.Multiple)@(@children.Disabled)@(@children.SelectType != "" ? "selectType='" + children.SelectType + "' " : "")@(@children.IsCustomSelect ? @children.AbleDepIds + @children.AblePosIds + @children.AbleUserIds + @children.AbleRoleIds + @children.AbleGroupIds : "")@(@children.UserRelationAttr)@(@children.IsLinked ? "@change='"+ @children.LowerName +"TableChange(i)' ":"")></jnpf-user-select>
|
|
break;
|
|
case "usersSelect":
|
|
@:<jnpf-user-choice v-model="@(@Model.FormModel).@(@item.Name)[i].@(@children.LowerName)" @(@children.Placeholder)@(@children.Multiple)@(@children.Disabled)@(@children.SelectType != "" ? "selectType='" + children.SelectType + "' " : "")@(@children.IsCustomSelect ? @children.AbleDepIds + @children.AblePosIds + @children.AbleUserIds + @children.AbleRoleIds + @children.AbleGroupIds + children.AbleIds : "")@(@children.UserRelationAttr)@(@children.IsLinked ? "@change='"+ @children.LowerName +"TableChange(i)' ":"")></jnpf-user-choice>
|
|
break;
|
|
case "posSelect":
|
|
@:<jnpf-postordep-select type="position" v-model="@(@Model.FormModel).@(@item.Name)[i].@(@children.LowerName)" @(@children.Multiple)@(@children.Placeholder)@(@children.Disabled)@(@children.SelectType != "" ? "selectType='" + children.SelectType + "' " : "")@(@children.IsCustomSelect ? @children.AbleDepIds + @children.AblePosIds + @children.AbleUserIds + @children.AbleRoleIds + @children.AbleGroupIds : "")@(@children.IsLinked ? "@change='"+ @children.LowerName +"TableChange(i)' ":"")></jnpf-postordep-select>
|
|
break;
|
|
case "depSelect":
|
|
@:<jnpf-postordep-select type="department" v-model="@(@Model.FormModel).@(@item.Name)[i].@(@children.LowerName)" @(@children.Multiple)@(@children.Placeholder)@(@children.Disabled)@(@children.SelectType != "" ? "selectType='" + children.SelectType + "' " : "")@(@children.IsCustomSelect ? @children.AbleDepIds + @children.AblePosIds + @children.AbleUserIds + @children.AbleRoleIds + @children.AbleGroupIds : "")@(@children.IsLinked ? "@change='"+ @children.LowerName +"TableChange(i)' ":"")></jnpf-postordep-select>
|
|
break;
|
|
@*分组选择*@
|
|
case "groupSelect":
|
|
@:<jnpf-group-select v-model="@(@Model.FormModel).@(@item.Name)[i].@(@children.LowerName)" @(@children.Placeholder)@(@children.Multiple)@(@children.Disabled)@(@children.IsLinked ? "@change='"+ @children.LowerName +"TableChange(i)' ":"")/>
|
|
break;
|
|
@*角色选择*@
|
|
case "roleSelect":
|
|
@:<jnpf-role-select v-model="@(@Model.FormModel).@(@item.Name)[i].@(@children.LowerName)" @(@children.Placeholder)@(@children.Multiple)@(@children.Disabled)@(@children.IsLinked ? "@change='"+ @children.LowerName +"TableChange(i)' ":"")/>
|
|
break;
|
|
case "select":
|
|
@:<jnpf-select v-model="@(@Model.FormModel).@(@item.Name)[i].@(@children.LowerName)" @(@children.Placeholder):options="dataForm.@(@item.Name + "[i]." + @children.LowerName)Options" :props="@(@children.LowerName)Props" @(@children.Multiple)@(@children.Disabled)@(@children.IsLinked ? "@change='"+ @children.LowerName +"TableChange(i)' ":"")></jnpf-select>
|
|
break;
|
|
case "cascader":
|
|
@:<jnpf-cascader v-model="@(@Model.FormModel).@(@item.Name)[i].@(@children.LowerName)" @(@children.Placeholder):options="dataForm.@(@item.Name + "[i]." + @children.LowerName)Options" :props="@(@children.LowerName)Props" @(@children.Multiple)@(@children.Disabled)@(@children.Filterable)@(@children.ShowAllLevels)@(@children.Clearable)@(@children.IsLinked ? "@change='"+ @children.LowerName +"TableChange(i)' ":"")></jnpf-cascader>
|
|
break;
|
|
case "numInput":
|
|
@:<jnpf-number-box v-model="@(@Model.FormModel).@(@item.Name)[i].@(@children.LowerName)" @(@children.Max)@(@children.Min)@(@children.Step)@(@children.Disabled)@(@children.IsLinked ? "@change='"+ @children.LowerName +"TableChange(i)' ":"")></jnpf-number-box>
|
|
break;
|
|
case "date":
|
|
case "time":
|
|
@:<jnpf-date-time @(@children.Type)v-model="@(@Model.FormModel).@(@item.Name)[i].@(@children.LowerName)" @(@children.Placeholder)@(@children.Disabled)@(@children.IsLinked ? "@change='"+ @children.LowerName +"TableChange(i)' ":"")></jnpf-date-time>
|
|
break;
|
|
case "switch":
|
|
@:<view class="u-flex u-form-item-switch">
|
|
@:<jnpf-switch v-model="@(@Model.FormModel).@(@item.Name)[i].@(@children.LowerName)" @(@children.Disabled)@(@children.IsLinked ? "@change='"+ @children.LowerName +"TableChange(i)' ":"")></jnpf-switch>
|
|
@:</view>
|
|
break;
|
|
case "comInput":
|
|
@:<u-input v-model="@(@Model.FormModel).@(@item.Name)[i].@(@children.LowerName)" @(@children.Placeholder)@(@children.Disabled)@(@children.IsLinked ? "@blur='"+ @children.LowerName +"TableChange(i)' ":"")></u-input>
|
|
break;
|
|
@*关联表单*@
|
|
case "relationForm":
|
|
@:<jnpf-relation-select v-model="@(@Model.FormModel).@(@item.Name)[i].@(@children.LowerName)" @(@children.Disabled)@(@children.RelationField)@(@children.ColumnOptions)@(children.ModelId != "" ? "modelId='"+ children.ModelId +"' " :"")@(@children.Placeholder)@(@children.HasPage)@(@children.PageSize)@(@children.TemplateJson)@(children.IsLinkage ? ":formData='dataForm' :rowIndex='i' ": "")@(@children.IsLinked ? "@change='"+ @children.LowerName +"TableChange(i)' ":""):vModel="'@(@children.Name)'+i" type="relation"></jnpf-relation-select>
|
|
break;
|
|
@*关联表单属性*@
|
|
case "relationFormAttr":
|
|
@:<jnpf-relation-attr showField="@(@children.ShowField)" @(children.IsStorage == 2 ? "v-model='" + Model.FormModel + "." + item.Name + "[i]." + children.LowerName + "'" : "") :relationField="'@(@children.RelationField)'+i" isStorage="@(@children.IsStorage)" type='relationFormAttr'></jnpf-relation-attr>
|
|
break;
|
|
@*弹窗选择*@
|
|
case "popupSelect":
|
|
@:<jnpf-popup-select v-model="@(@Model.FormModel).@(@item.Name)[i].@(@children.LowerName)" @(@children.Disabled)@(@children.PropsValue)@(@children.RelationField)@(@children.ColumnOptions)@(@children.InterfaceId)@(@children.Placeholder)@(@children.HasPage)@(@children.PageSize)@(@children.PopupType)@(@children.PopupTitle)@(@children.PopupWidth)@(@children.TemplateJson)@(children.IsLinkage ? ":formData='dataForm' :rowIndex='i' ": "")@(@children.IsLinked ? "@change='"+ @children.LowerName +"TableChange(i)' ":""):vModel="'@(@children.Name)'+i" type="popup"></jnpf-popup-select>
|
|
break;
|
|
@*弹窗选择属性*@
|
|
case "popupAttr":
|
|
@:<jnpf-relation-attr showField="@(@children.ShowField)" @(children.IsStorage == 2 ? "v-model='" + Model.FormModel + "." + item.Name + "[i]." + children.LowerName + "'" : "") :relationField="'@(@children.RelationField)'+i" isStorage="@(@children.IsStorage)" type='popupAttr'></jnpf-relation-attr>
|
|
break;
|
|
case "textarea":
|
|
@:<u-input v-model="@(@Model.FormModel).@(@item.Name)[i].@(@children.LowerName)" type="textarea" @(@children.MaxLength)@(@children.Placeholder)@(@children.Disabled)@(@children.IsLinked ? "@change='"+ @children.LowerName +"TableChange(i)' ":"")/>
|
|
break;
|
|
case "popupTableSelect":
|
|
@:<jnpf-table-select v-model="@(@Model.FormModel).@(@item.Name)[i].@(@children.LowerName)" @(@children.InterfaceId)@(@children.Placeholder)@(@children.Disabled)@(@children.ColumnOptions)@(@children.RelationField)@(@children.PropsValue)@(@children.HasPage)@(@children.PageSize)@(@children.PopupTitle)@(@children.Multiple)@(@children.Filterable)@(@children.TemplateJson)@(@children.IsLinked ? "@change='"+ @children.LowerName +"TableChange(i)' ":""):vModel="'@(@item.Name + "-" +@children.LowerName)'+i" @(children.IsLinkage ? ":formData='dataForm' :rowIndex='i' ": "")></jnpf-table-select>
|
|
break;
|
|
}
|
|
@:</u-form-item>
|
|
}
|
|
@:</view>
|
|
@:<view class="jnpf-table-addBtn" @@click="add@(@item.ChildTableName)">
|
|
@:<u-icon name="plus" color="#2979ff"></u-icon>添加 <span v-if="@(@Model.FormModel).@(@item.Name).length==0">@(@item.Label)</span>
|
|
@:</view>
|
|
@if(item.ShowSummary)
|
|
{
|
|
@:<view class="jnpf-table-item">
|
|
@:<view class="jnpf-table-item-title u-flex u-row-between">
|
|
@:<text class="jnpf-table-item-title-num">@(@item.Label)合计</text>
|
|
@:</view>
|
|
@:<u-form-item v-for="(item,i) in @(@item.LowerChildTableName)()" :key="i" :label="item.name">
|
|
@:<p>{{item.val}}</p>
|
|
@:</u-form-item>
|
|
@:</view>
|
|
}
|
|
@:</view>
|
|
break;
|
|
@*按钮*@
|
|
case "button":
|
|
@:<u-form-item>
|
|
@:<jnpf-button buttonText="@(@item.ButtonText)" align="@(@item.Align)" type="@(@item.Type)"></jnpf-button>
|
|
@:</u-form-item>
|
|
break;
|
|
@*提示*@
|
|
case "alert":
|
|
@:<u-form-item>
|
|
@:<jnpf-alert-tips type="@(@item.Type)" title="@(@item.Title)" tagIcon='icon-ym icon-ym-generator-alert' :showIcon="@(@item.ShowIcon)" :closable="false"></jnpf-alert-tips>
|
|
@:</u-form-item>
|
|
break;
|
|
@*链接*@
|
|
case "link":
|
|
@:<u-form-item>
|
|
@:<jnpf-link content="@(@item.Content)" href="@(@item.Href)" target='@(@item.Target)' :textStyle='@(@item.TextStyle)' />
|
|
@:</u-form-item>
|
|
break;
|
|
default:
|
|
@switch(item.jnpfKey)
|
|
{
|
|
@*关联表单属性*@
|
|
case "relationFormAttr":
|
|
@*弹窗选择属性*@
|
|
case "popupAttr":
|
|
@*富文本框*@
|
|
case "editor":
|
|
@if(Model.UseFormPermission)
|
|
{
|
|
@:<u-form-item label="@(@item.Label)" prop="@(@item.RelationField)" v-if="$setPermission.hasFormP('@(@item.LowerName)',menuIds)">
|
|
}else{
|
|
@:<u-form-item label="@(@item.Label)" prop="@(@item.RelationField)">
|
|
}
|
|
break;
|
|
case "comInput":
|
|
case "textarea":
|
|
case "numInput":
|
|
case "switch":
|
|
case "radio":
|
|
case "checkbox":
|
|
case "select":
|
|
case "cascader":
|
|
case "address":
|
|
case "treeSelect":
|
|
case "uploadImg":
|
|
case "uploadFz":
|
|
case "rate":
|
|
case "slider":
|
|
case "time":
|
|
case "date":
|
|
case "comSelect":
|
|
case "depSelect":
|
|
case "posSelect":
|
|
case "userSelect":
|
|
case "groupSelect":
|
|
case "roleSelect":
|
|
case "relationForm":
|
|
case "popupSelect":
|
|
case "popupTableSelect":
|
|
case "colorPicker":
|
|
@if(Model.UseFormPermission)
|
|
{
|
|
@:<u-form-item label="@(@item.Label)" prop="@(@item.LowerName)" @(@item.Required) v-if="$setPermission.hasFormP('@(@item.LowerName)',menuIds)">
|
|
}else{
|
|
@:<u-form-item label="@(@item.Label)" prop="@(@item.LowerName)" @(@item.Required)>
|
|
}
|
|
break;
|
|
default:
|
|
@if(Model.UseFormPermission)
|
|
{
|
|
@:<u-form-item label="@(@item.Label)" prop="@(@item.LowerName)" @(@item.NoShow) v-if="$setPermission.hasFormP('@(@item.LowerName)',menuIds)">
|
|
}else{
|
|
@:<u-form-item label="@(@item.Label)" prop="@(@item.LowerName)" @(@item.NoShow)>
|
|
}
|
|
break;
|
|
}
|
|
@switch(item.jnpfKey)
|
|
{
|
|
case "colorPicker":
|
|
@:<jnpf-colorPicker v-model="@(@Model.FormModel).@(@item.Name)" @(@item.Disabled)@(item.ColorFormat)@(@item.IsLinked ? "@change='"+ @item.LowerName +"Change' ":"")></jnpf-colorPicker>
|
|
break;
|
|
@*富文本框*@
|
|
case "editor":
|
|
@:<jnpf-editor @(@item.vModel)@(@item.IsLinked ? "@change='"+ @item.LowerName +"Change'":"")></jnpf-editor>
|
|
break;
|
|
@*关联表单属性*@
|
|
case "relationFormAttr":
|
|
@:<jnpf-relation-attr showField="@(@item.ShowField)" relationField="@(@item.RelationField)" isStorage="@(@item.IsStorage)" @(@item.vModel) type='relationFormAttr' @(@item.IsLinked ? "@change='"+ @item.LowerName +"Change'":"")></jnpf-relation-attr>
|
|
break;
|
|
@*弹窗选择属性*@
|
|
case "popupAttr":
|
|
@:<jnpf-relation-attr showField="@(@item.ShowField)" relationField="@(@item.RelationField)" isStorage="@(@item.IsStorage)" @(@item.vModel) type='popupAttr' @(@item.IsLinked ? "@change='"+ @item.LowerName +"Change'":"")></jnpf-relation-attr>
|
|
break;
|
|
case "comInput":
|
|
@:<u-input v-model="@(@Model.FormModel).@(@item.LowerName)" @(@item.MaxLength)@(@item.Placeholder)@(@item.Disabled)@(@item.IsLinked ? "@blur='"+ @item.LowerName +"Change'":"")></u-input>
|
|
break;
|
|
case "textarea":
|
|
@:<u-input v-model="@(@Model.FormModel).@(@item.LowerName)" type="textarea" @(@item.MaxLength)@(@item.Placeholder)@(@item.Disabled)@(@item.IsLinked ? "@change='"+ @item.LowerName +"Change'":"")/>
|
|
break;
|
|
case "numInput":
|
|
@:<jnpf-number-box v-model="@(@Model.FormModel).@(@item.LowerName)" @(@item.Max)@(@item.Min)@(@item.Step)@(@item.Disabled)@(@item.IsLinked ? "@change='"+ @item.LowerName +"Change'":"")></jnpf-number-box>
|
|
break;
|
|
case "switch":
|
|
@:<view class="u-flex u-form-item-switch">
|
|
@:<jnpf-switch v-model="@(@Model.FormModel).@(@item.LowerName)" @(@item.Disabled)@(@item.IsLinked ? "@change='"+ @item.LowerName +"Change'":"")></jnpf-switch>
|
|
@:</view>
|
|
break;
|
|
case "radio":
|
|
@:<jnpf-radio v-model="@(@Model.FormModel).@(@item.LowerName)" :options="@(@item.LowerName)Options" :props="@(@item.LowerName)Props"@(@item.Disabled)@(@item.IsLinked ? "@change='"+ @item.LowerName +"Change'":"")></jnpf-radio>
|
|
break;
|
|
case "checkbox":
|
|
@:<jnpf-checkbox v-model="@(@Model.FormModel).@(@item.LowerName)" :options="@(@item.LowerName)Options" :props="@(@item.LowerName)Props" @(@item.Disabled)@(@item.IsLinked ? "@change='"+ @item.LowerName +"Change'":"")></jnpf-checkbox>
|
|
break;
|
|
case "select":
|
|
@:<jnpf-select v-model="@(@Model.FormModel).@(@item.LowerName)" :options="@(@item.LowerName)Options" :props="@(@item.LowerName)Props" @(@item.Placeholder)@(@item.Multiple)@(@item.Disabled)@(@item.IsLinked ? "@change='"+ @item.LowerName +"Change'":"")></jnpf-select>
|
|
break;
|
|
case "cascader":
|
|
@:<jnpf-cascader v-model="@(@Model.FormModel).@(@item.LowerName)" :options="@(@item.LowerName)Options" :props="@(@item.LowerName)Props" @(@item.Multiple)@(@item.Placeholder)@(@item.Disabled)@(@item.Filterable)@(@item.ShowAllLevels)@(@item.Clearable)@(@item.IsLinked ? "@change='"+ @item.LowerName +"Change'":"")></jnpf-cascader>
|
|
break;
|
|
case "address":
|
|
@:<jnpf-city-select v-model="@(@Model.FormModel).@(@item.LowerName)" @(@item.Level)@(@item.Placeholder)@(@item.Disabled)@(@item.Multiple)@(@item.IsLinked ? "@change='"+ @item.LowerName +"Change'":"")></jnpf-city-select>
|
|
break;
|
|
case "treeSelect":
|
|
@:<jnpf-tree-select v-model="@(@Model.FormModel).@(@item.LowerName)" :options="@(@item.LowerName)Options" :props="@(@item.LowerName)Props" @(@item.Placeholder)@(@item.Multiple)@(@item.Disabled)@(@item.IsLinked ? "@change='"+ @item.LowerName +"Change' ":"")></jnpf-tree-select>
|
|
break;
|
|
case "uploadImg":
|
|
@:<jnpf-upload v-model="@(@Model.FormModel).@(@item.LowerName)" @(@item.Disabled) ></jnpf-upload>
|
|
break;
|
|
case "uploadFz":
|
|
@:<jnpf-file v-model="@(@Model.FormModel).@(@item.LowerName)" @(@item.Disabled)@(@item.Limit)@(@item.SizeUnit)@(@item.FileSize)@(@item.Accept)/>
|
|
break;
|
|
case "rate":
|
|
@:<u-rate v-model="@(@Model.FormModel).@(@item.LowerName)" size="40" :count="@(@item.Count)" @(@item.Readonly)@(@item.AllowHalf)@(@item.Disabled)@(@item.IsLinked ? "@change='"+ @item.LowerName +"Change'":"")></u-rate>
|
|
break;
|
|
case "slider":
|
|
@:<u-slider v-model="@(@Model.FormModel).@(@item.LowerName)" @(@item.Step)@(@item.Min)@(@item.Max)@(@item.Disabled)@(@item.IsLinked ? "@change='"+ @item.LowerName +"Change' ":"")style="width: 100%;">
|
|
@:<view class="slider-badge-button">{{@(@Model.FormModel).@(@item.LowerName)}}</view>
|
|
@:</u-slider>
|
|
break;
|
|
case "time":
|
|
case "date":
|
|
@:<jnpf-date-time @(@item.Type)v-model="@(@Model.FormModel).@(@item.LowerName)" @(@item.Placeholder)@(@item.Disabled)@(@item.IsLinked ? "@change='"+ @item.LowerName +"Change' ":"")></jnpf-date-time>
|
|
break;
|
|
case "comSelect":
|
|
@:<jnpf-com-select type="organize" v-model="@(@Model.FormModel).@(@item.LowerName)" @(@item.Multiple)@(@item.Placeholder)@(@item.Disabled)@(@item.IsLinked ? "@change='"+ @item.LowerName +"Change' ":"")></jnpf-com-select>
|
|
break;
|
|
case "depSelect":
|
|
@:<jnpf-postordep-select type="department" v-model="@(@Model.FormModel).@(@item.LowerName)" @(@item.Multiple)@(@item.Placeholder)@(@item.Disabled)@(@item.SelectType != "" ? "selectType='" + item.SelectType + "' " : "")@(@item.IsCustomSelect ? @item.AbleDepIds + @item.AblePosIds + @item.AbleUserIds + @item.AbleRoleIds + @item.AbleGroupIds : "")@(@item.IsLinked ? "@change='"+ @item.LowerName +"Change' ":"")></jnpf-postordep-select>
|
|
break;
|
|
case "posSelect":
|
|
@:<jnpf-postordep-select type="position" v-model="@(@Model.FormModel).@(@item.LowerName)" @(@item.Multiple)@(@item.Placeholder)@(@item.Disabled)@(@item.SelectType != "" ? "selectType='" + item.SelectType + "' " : "")@(@item.IsCustomSelect ? @item.AbleDepIds + @item.AblePosIds + @item.AbleUserIds + @item.AbleRoleIds + @item.AbleGroupIds : "")@(@item.IsLinked ? "@change='"+ @item.LowerName +"Change' ":"")></jnpf-postordep-select>
|
|
break;
|
|
case "userSelect":
|
|
@:<jnpf-user-select v-model="@(@Model.FormModel).@(@item.LowerName)" @(@item.Multiple)@(@item.Placeholder)@(@item.Disabled)@(@item.SelectType != "" ? "selectType='" + item.SelectType + "' " : "")@(@item.IsCustomSelect ? @item.AbleDepIds + @item.AblePosIds + @item.AbleUserIds + @item.AbleRoleIds + @item.AbleGroupIds : "")@(@item.UserRelationAttr)@(@item.IsLinked ? "@change='"+ @item.LowerName +"Change' ":"")></jnpf-user-select>
|
|
break;
|
|
case "usersSelect":
|
|
@:<jnpf-user-choice v-model="@(@Model.FormModel).@(@item.LowerName)" @(@item.Multiple)@(@item.Placeholder)@(@item.Disabled)@(@item.SelectType != "" ? "selectType='" + item.SelectType + "' " : "")@(@item.IsCustomSelect ? @item.AbleDepIds + @item.AblePosIds + @item.AbleUserIds + @item.AbleRoleIds + @item.AbleGroupIds + item.AbleIds : "")@(@item.UserRelationAttr)@(@item.IsLinked ? "@change='"+ @item.LowerName +"Change' ":"")></jnpf-user-choice>
|
|
break;
|
|
case "groupSelect":
|
|
@:<jnpf-group-select v-model="@(@Model.FormModel).@(@item.LowerName)" @(@item.Multiple)@(@item.Placeholder)@(@item.Disabled)@(@item.IsLinked ? "@change='"+ @item.LowerName +"Change' ":"")></jnpf-group-select>
|
|
break;
|
|
case "roleSelect":
|
|
@:<jnpf-role-select v-model="@(@Model.FormModel).@(@item.LowerName)" @(@item.Multiple)@(@item.Placeholder)@(@item.Disabled)@(@item.IsLinked ? "@change='"+ @item.LowerName +"Change' ":"")></jnpf-role-select>
|
|
break;
|
|
case "relationForm":
|
|
@:<jnpf-relation-select @(@item.vModel)@(@item.Disabled)@(@item.RelationField)@(@item.ColumnOptions)@(item.ModelId != "" ? "modelId='"+ item.ModelId +"' " :"")@(@item.Placeholder)@(@item.HasPage)@(@item.PageSize)vModel="@(@item.Name)" type="relation" @(@item.IsLinked ? "@change='"+ @item.LowerName +"Change' ":"")@(item.TemplateJson)@(item.IsLinkage ? ":formData='dataForm' ": "")></jnpf-relation-select>
|
|
break;
|
|
case "popupSelect":
|
|
@:<jnpf-popup-select @(@item.vModel)@(@item.Disabled)@(@item.PropsValue)@(@item.RelationField)@(@item.ColumnOptions)@(@item.InterfaceId)@(@item.Placeholder)@(@item.HasPage)@(@item.PageSize)@(@item.PopupType)@(@item.PopupTitle)@(@item.PopupWidth)@(item.TemplateJson)vModel="@(@item.Name)" @(@item.IsLinked ? "@change='"+ @item.LowerName +"Change' ":"") @(item.IsLinkage ? ":formData='dataForm' ": "")type="popup"></jnpf-popup-select>
|
|
break;
|
|
case "popupTableSelect":
|
|
@:<jnpf-table-select @(@item.vModel)@(@item.InterfaceId)@(@item.Placeholder)@(@item.Disabled)@(@item.ColumnOptions)@(@item.RelationField)@(@item.PropsValue)@(@item.HasPage)@(@item.PageSize)@(@item.PopupTitle)@(@item.Multiple)@(@item.Filterable)@(item.TemplateJson)@(@item.IsLinked ? "@change='"+ @item.LowerName +"Change' ":""):vModel="'@(@item.LowerName)'" @(item.IsLinkage ? ":formData='dataForm' ": "")></jnpf-table-select>
|
|
break;
|
|
case "createUser":
|
|
case "createTime":
|
|
case "currOrganize":
|
|
case "currPosition":
|
|
@:<jnpf-open-data v-model="@(@Model.FormModel).@(@item.LowerName)" @(@item.Type)@(@item.Disabled)></jnpf-open-data>
|
|
break;
|
|
default:
|
|
@:<u-input v-model="@(@Model.FormModel).@(@item.LowerName)" placeholder="系统自动生成" @(@item.Disabled)></u-input>
|
|
break;
|
|
}
|
|
@:</u-form-item>
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
@{
|
|
void GenCodeAppFormChildrenControls(ICollection<FormControlDesignModel> childrenList)
|
|
{
|
|
@foreach(var item in childrenList)
|
|
{
|
|
@switch(item.jnpfKey)
|
|
{
|
|
case "groupTitle":
|
|
@:<jnpf-group content="@(@item.Content)" content-position="@(@item.Contentposition)"></jnpf-group>
|
|
break;
|
|
case "divider":
|
|
@:<u-divider half-width="200" height="80">@(@item.Default)</u-divider>
|
|
break;
|
|
case "card":
|
|
case "row":
|
|
@:<view class="jnpf-card">
|
|
@:<view class="jnpf-card-cap u-line-1">@(@item.Content)</view>
|
|
@{GenCodeAppFormChildrenControls(item.Children);}
|
|
@:</view>
|
|
break;
|
|
case "tab":
|
|
@:<view prop="@(@item.LowerName)">
|
|
@:<u-tabs :is-scroll="false" :list="@(@item.LowerName)Title" name="title" :current="@(@item.LowerName)Current" @@change="@(@item.LowerName)Change"></u-tabs>
|
|
@:<view>
|
|
@{ int m = 0;}
|
|
@foreach(var collapse in item.Children)
|
|
{
|
|
@:<view v-if="@(@m) == @(@item.LowerName)Current">
|
|
@{GenCodeAppFormChildrenControls(collapse.Children);}
|
|
@:</view>
|
|
@{m++;}
|
|
}
|
|
@:</view>
|
|
@:</view>
|
|
break;
|
|
case "collapse":
|
|
@:<view prop="@(@item.LowerName)">
|
|
@:<template>
|
|
@:<view class="collapse">
|
|
@:<u-collapse v-model="@(@item.Name)" :accordion="@(@item.Accordion)">
|
|
@foreach(var collapse in item.Children)
|
|
{
|
|
@:<u-collapse-item class="collapse-item" name="@(@collapse.Name)" title="@(@collapse.Title)">
|
|
@{GenCodeAppFormChildrenControls(collapse.Children);}
|
|
@:</u-collapse-item>
|
|
}
|
|
@:</u-collapse>
|
|
@:</view>
|
|
@:</template>
|
|
@:</view>
|
|
break;
|
|
case "button":
|
|
@:<u-form-item>
|
|
@:<jnpf-button buttonText="@(@item.ButtonText)" align="@(@item.Align)" type="@(@item.Type)"></jnpf-button>
|
|
@:</u-form-item>
|
|
break;
|
|
case "alert":
|
|
@:<u-form-item>
|
|
@:<jnpf-alert-tips type="@(@item.Type)" title="@(@item.Title)" tagIcon='icon-ym icon-ym-generator-alert' :showIcon="@(@item.ShowIcon)" :closable="false"></jnpf-alert-tips>
|
|
@:</u-form-item>
|
|
break;
|
|
case "link":
|
|
@:<u-form-item>
|
|
@:<jnpf-link content="@(@item.Content)" href="@(@item.Href)" target='@(@item.Target)' :textStyle='@(@item.TextStyle)' />
|
|
@:</u-form-item>
|
|
break;
|
|
case "table":
|
|
@if(Model.UseFormPermission)
|
|
{
|
|
@:<view class="jnpf-table" v-if="$setPermission.hasFormP('@(@item.Name)',menuIds)">
|
|
}else{
|
|
@:<view class="jnpf-table">
|
|
}
|
|
@:<view class="jnpf-table-item" v-for="(item,i) in @(@Model.FormModel).@(@item.Name)" :key="i">
|
|
@:<view class="jnpf-table-item-title u-flex u-row-between">
|
|
@:<text class="jnpf-table-item-title-num">@(@item.Label)({{i+1}})</text>
|
|
@:<view class="jnpf-table-item-title-action" v-if="@(@Model.FormModel).@(@item.Name).length > 1 && @(@item.AddType) == 0" @@click="del@(@item.ChildTableName)(i)">删除</view>
|
|
@:</view>
|
|
@foreach(var children in item.Children)
|
|
{
|
|
@switch(children.jnpfKey)
|
|
{
|
|
case "relationFormAttr":
|
|
case "popupAttr":
|
|
@if(Model.UseFormPermission)
|
|
{
|
|
@:<u-form-item label="@(@children.Label)" prop="@(@children.RelationField)" v-if="$setPermission.hasFormP('@(@item.Name + "-" +@children.LowerName)', menuIds)">
|
|
}else{
|
|
@:<u-form-item label="@(@children.Label)" prop="@(@children.RelationField)">
|
|
}
|
|
break;
|
|
default:
|
|
@if(Model.UseFormPermission)
|
|
{
|
|
@:<u-form-item label="@(@children.Label)" prop="@(@children.LowerName)" @(@children.Required)v-if="$setPermission.hasFormP('@(@item.Name + "-" +@children.LowerName)', menuIds)">
|
|
}else{
|
|
@:<u-form-item label="@(@children.Label)" prop="@(@children.LowerName)" @(@children.Required)>
|
|
}
|
|
break;
|
|
}
|
|
@switch(children.jnpfKey)
|
|
{
|
|
case "uploadFz":
|
|
@:<jnpf-file v-model="@(@Model.FormModel).@(@item.Name)[i].@(@children.LowerName)" @(@children.Disabled)@(@children.Limit)@(@children.SizeUnit)@(@children.FileSize)@(@children.Accept)/>
|
|
break;
|
|
case "uploadImg":
|
|
@:<jnpf-upload v-model="@(@Model.FormModel).@(@item.Name)[i].@(@children.LowerName)" @(@children.Disabled)></jnpf-upload>
|
|
break;
|
|
case "comSelect":
|
|
@:<jnpf-com-select type="organize" v-model="@(@Model.FormModel).@(@item.Name)[i].@(@children.LowerName)" @(@children.Placeholder)@(@children.Multiple)@(@children.Disabled)@(@children.IsLinked ? "@change='"+ @children.LowerName +"TableChange(i)' ":"")></jnpf-com-select>
|
|
break;
|
|
case "address":
|
|
@:<jnpf-city-select v-model="@(@Model.FormModel).@(@item.Name)[i].@(@children.LowerName)" @(@children.Placeholder)@(@children.Level)@(@children.Multiple)@(@children.Disabled)@(@children.IsLinked ? "@change='"+ @children.LowerName +"TableChange(i)' ":"")></jnpf-city-select>
|
|
break;
|
|
case "billRule":
|
|
@:<u-input v-model="@(@Model.FormModel).@(@item.Name)[i].@(@children.LowerName)" placeholder="系统自动生成" @(@children.Disabled)></u-input>
|
|
break;
|
|
case "treeSelect":
|
|
@:<jnpf-tree-select v-model="@(@Model.FormModel).@(@item.Name)[i].@(@children.LowerName)" :options="dataForm.@(@item.Name + "[i]." + @children.LowerName)Options" :props="@(@item.Name + "_" + @children.LowerName)Props" @(@children.Disabled)@(@children.Placeholder)@(@children.Multiple)@(@children.IsLinked ? "@change='"+ @children.LowerName +"TableChange(i)' ":"")></jnpf-tree-select>
|
|
break;
|
|
case "userSelect":
|
|
@:<jnpf-user-select v-model="@(@Model.FormModel).@(@item.Name)[i].@(@children.LowerName)" @(@children.Placeholder)@(@children.Multiple)@(@children.Disabled)@(@children.SelectType != "" ? "selectType='" + children.SelectType + "' " : "")@(@children.IsCustomSelect ? @children.AbleDepIds + @children.AblePosIds + @children.AbleUserIds + @children.AbleRoleIds + @children.AbleGroupIds : "")@(@children.UserRelationAttr)@(@children.IsLinked ? "@change='"+ @children.LowerName +"TableChange(i)' ":"")></jnpf-user-select>
|
|
break;
|
|
case "usersSelect":
|
|
@:<jnpf-user-choice v-model="@(@Model.FormModel).@(@item.Name)[i].@(@children.LowerName)" @(@children.Placeholder)@(@children.Multiple)@(@children.Disabled)@(@children.SelectType != "" ? "selectType='" + children.SelectType + "' " : "")@(@children.IsCustomSelect ? @children.AbleDepIds + @children.AblePosIds + @children.AbleUserIds + @children.AbleRoleIds + @children.AbleGroupIds + children.AbleIds : "")@(@children.UserRelationAttr)@(@children.IsLinked ? "@change='"+ @children.LowerName +"TableChange(i)' ":"")></jnpf-user-choice>
|
|
break;
|
|
case "posSelect":
|
|
@:<jnpf-postordep-select type="position" v-model="@(@Model.FormModel).@(@item.Name)[i].@(@children.LowerName)" @(@children.Multiple)@(@children.Placeholder)@(@children.Disabled)@(@children.SelectType != "" ? "selectType='" + children.SelectType + "' " : "")@(@children.IsCustomSelect ? @children.AbleDepIds + @children.AblePosIds + @children.AbleUserIds + @children.AbleRoleIds + @children.AbleGroupIds : "")@(@children.IsLinked ? "@change='"+ @children.LowerName +"TableChange(i)' ":"")></jnpf-postordep-select>
|
|
break;
|
|
case "depSelect":
|
|
@:<jnpf-postordep-select type="department" v-model="@(@Model.FormModel).@(@item.Name)[i].@(@children.LowerName)" @(@children.Multiple)@(@children.Placeholder)@(@children.Disabled)@(@children.SelectType != "" ? "selectType='" + children.SelectType + "' " : "")@(@children.IsCustomSelect ? @children.AbleDepIds + @children.AblePosIds + @children.AbleUserIds + @children.AbleRoleIds + @children.AbleGroupIds : "")@(@children.IsLinked ? "@change='"+ @children.LowerName +"TableChange(i)' ":"")></jnpf-postordep-select>
|
|
break;
|
|
@*分组选择*@
|
|
case "groupSelect":
|
|
@:<jnpf-group-select v-model="@(@Model.FormModel).@(@item.Name)[i].@(@children.LowerName)" @(@children.Placeholder)@(@children.Multiple)@(@children.Disabled)@(@children.IsLinked ? "@change='"+ @children.LowerName +"TableChange(i)' ":"")/>
|
|
break;
|
|
@*角色选择*@
|
|
case "roleSelect":
|
|
@:<jnpf-role-select v-model="@(@Model.FormModel).@(@item.Name)[i].@(@children.LowerName)" @(@children.Placeholder)@(@children.Multiple)@(@children.Disabled)@(@children.IsLinked ? "@change='"+ @children.LowerName +"TableChange(i)' ":"")/>
|
|
break;
|
|
case "select":
|
|
@:<jnpf-select v-model="@(@Model.FormModel).@(@item.Name)[i].@(@children.LowerName)" @(@children.Placeholder):options="dataForm.@(@item.Name + "[i]." + @children.LowerName)Options" :props="@(@item.Name + "_" + @children.LowerName)Props" @(@children.Multiple)@(@children.Disabled)@(@children.IsLinked ? "@change='"+ @children.LowerName +"TableChange(i)' ":"")></jnpf-select>
|
|
break;
|
|
case "cascader":
|
|
@:<jnpf-cascader v-model="@(@Model.FormModel).@(@item.Name)[i].@(@children.LowerName)" @(@children.Placeholder):options="dataForm.@(@item.Name + "[i]." + @children.LowerName)Options" :props="@(@item.Name + "_" + @children.LowerName)Props" @(@children.Multiple)@(@children.Disabled)@(@children.Filterable)@(@children.ShowAllLevels)@(@children.Clearable)@(@children.IsLinked ? "@change='"+ @children.LowerName +"TableChange(i)' ":"")></jnpf-cascader>
|
|
break;
|
|
case "numInput":
|
|
@:<jnpf-number-box v-model="@(@Model.FormModel).@(@item.Name)[i].@(@children.LowerName)" @(@children.Max)@(@children.Min)@(@children.Step)@(@children.Disabled)@(@children.IsLinked ? "@change='"+ @children.LowerName +"TableChange(i)' ":"")></jnpf-number-box>
|
|
break;
|
|
case "date":
|
|
case "time":
|
|
@:<jnpf-date-time @(@children.Type)v-model="@(@Model.FormModel).@(@item.Name)[i].@(@children.LowerName)" @(@children.Placeholder)@(@children.Disabled)@(@children.IsLinked ? "@change='"+ @children.LowerName +"TableChange(i)' ":"")></jnpf-date-time>
|
|
break;
|
|
case "switch":
|
|
@:<view class="u-flex u-form-item-switch">
|
|
@:<jnpf-switch v-model="@(@Model.FormModel).@(@item.Name)[i].@(@children.LowerName)" @(@children.Disabled)@(@children.IsLinked ? "@change='"+ @children.LowerName +"TableChange(i)' ":"")></jnpf-switch>
|
|
@:</view>
|
|
break;
|
|
case "comInput":
|
|
@:<u-input v-model="@(@Model.FormModel).@(@item.Name)[i].@(@children.LowerName)" @(@children.Placeholder)@(@children.Disabled)@(@children.IsLinked ? "@blur='"+ @children.LowerName +"TableChange(i)' ":"")></u-input>
|
|
break;
|
|
@*关联表单*@
|
|
case "relationForm":
|
|
@:<jnpf-relation-select v-model="@(@Model.FormModel).@(@item.Name)[i].@(@children.LowerName)" @(@children.Disabled)@(@children.RelationField)@(@children.ColumnOptions)@(children.ModelId != "" ? "modelId='"+ children.ModelId +"' " :"")@(@children.Placeholder)@(@children.HasPage)@(@children.PageSize)@(@children.TemplateJson)@(children.IsLinkage ? ":formData='dataForm' :rowIndex='i' ": "")@(@children.IsLinked ? "@change='"+ @children.LowerName +"TableChange(i)' ":""):vModel="'@(@children.Name)'+i" type="relation"></jnpf-relation-select>
|
|
break;
|
|
@*关联表单属性*@
|
|
case "relationFormAttr":
|
|
@:<jnpf-relation-attr showField="@(@children.ShowField)" @(children.IsStorage == 2 ? "v-model='" + Model.FormModel + "." + item.Name + "[i]." + children.LowerName + "'" : "") :relationField="'@(@children.RelationField)'+i" isStorage="@(@children.IsStorage)" type='relationFormAttr'></jnpf-relation-attr>
|
|
break;
|
|
@*弹窗选择*@
|
|
case "popupSelect":
|
|
@:<jnpf-popup-select v-model="@(@Model.FormModel).@(@item.Name)[i].@(@children.LowerName)" @(@children.Disabled)@(@children.PropsValue)@(@children.RelationField)@(@children.ColumnOptions)@(@children.InterfaceId)@(@children.Placeholder)@(@children.HasPage)@(@children.PageSize)@(@children.PopupType)@(@children.PopupTitle)@(@children.PopupWidth)@(@children.TemplateJson)@(children.IsLinkage ? ":formData='dataForm' :rowIndex='i' ": "")@(@children.IsLinked ? "@change='"+ @children.LowerName +"TableChange(i)' ":""):vModel="'@(@children.Name)'+i" type="popup"></jnpf-popup-select>
|
|
break;
|
|
@*弹窗选择属性*@
|
|
case "popupAttr":
|
|
@:<jnpf-relation-attr showField="@(@children.ShowField)" @(children.IsStorage == 2 ? "v-model='" + Model.FormModel + "." + item.Name + "[i]." + children.LowerName + "'" : "") :relationField="'@(@children.RelationField)'+i" isStorage="@(@children.IsStorage)" type='popupAttr'></jnpf-relation-attr>
|
|
break;
|
|
case "textarea":
|
|
@:<u-input v-model="@(@Model.FormModel).@(@item.Name)[i].@(@children.LowerName)" type="textarea" @(@children.MaxLength)@(@children.Placeholder)@(@children.Disabled)@(@children.IsLinked ? "@change='"+ @children.LowerName +"TableChange(i)' ":"")/>
|
|
break;
|
|
case "popupTableSelect":
|
|
@:<jnpf-table-select v-model="@(@Model.FormModel).@(@item.Name)[i].@(@children.LowerName)" @(@children.InterfaceId)@(@children.Placeholder)@(@children.Disabled)@(@children.ColumnOptions)@(@children.RelationField)@(@children.PropsValue)@(@children.HasPage)@(@children.PageSize)@(@children.PopupTitle)@(@children.Multiple)@(@children.Filterable)@(@children.TemplateJson)@(@children.IsLinked ? "@change='"+ @children.LowerName +"TableChange(i)' ":""):vModel="'@(@item.Name + "-" +@children.LowerName)'+i" @(children.IsLinkage ? ":formData='dataForm' :rowIndex='i' ": "")></jnpf-table-select>
|
|
break;
|
|
}
|
|
@:</u-form-item>
|
|
}
|
|
@:</view>
|
|
@:<view class="jnpf-table-addBtn" @@click="add@(@item.ChildTableName)">
|
|
@:<u-icon name="plus" color="#2979ff"></u-icon>添加 <span v-if="@(@Model.FormModel).@(@item.Name).length==0">@(@item.Label)</span>
|
|
@:</view>
|
|
@if(item.ShowSummary)
|
|
{
|
|
@:<view class="jnpf-table-item">
|
|
@:<view class="jnpf-table-item-title u-flex u-row-between">
|
|
@:<text class="jnpf-table-item-title-num">@(@item.Label)合计</text>
|
|
@:</view>
|
|
@:<u-form-item v-for="(item,i) in @(@item.LowerChildTableName)()" :key="i" :label="item.name">
|
|
@:<p>{{item.val}}</p>
|
|
@:</u-form-item>
|
|
@:</view>
|
|
}
|
|
@:</view>
|
|
break;
|
|
default:
|
|
@switch(item.jnpfKey)
|
|
{
|
|
@*关联表单属性*@
|
|
case "relationFormAttr":
|
|
@*弹窗选择属性*@
|
|
case "popupAttr":
|
|
@*富文本框*@
|
|
case "editor":
|
|
@if(Model.UseFormPermission)
|
|
{
|
|
@:<u-form-item label="@(@item.Label)" prop="@(@item.RelationField)" v-if="$setPermission.hasFormP('@(@item.LowerName)',menuIds)">
|
|
}else{
|
|
@:<u-form-item label="@(@item.Label)" prop="@(@item.RelationField)">
|
|
}
|
|
break;
|
|
case "comInput":
|
|
case "textarea":
|
|
case "numInput":
|
|
case "switch":
|
|
case "radio":
|
|
case "checkbox":
|
|
case "select":
|
|
case "cascader":
|
|
case "address":
|
|
case "treeSelect":
|
|
case "uploadImg":
|
|
case "uploadFz":
|
|
case "rate":
|
|
case "slider":
|
|
case "time":
|
|
case "date":
|
|
case "comSelect":
|
|
case "depSelect":
|
|
case "posSelect":
|
|
case "userSelect":
|
|
case "groupSelect":
|
|
case "roleSelect":
|
|
case "relationForm":
|
|
case "popupSelect":
|
|
case "popupTableSelect":
|
|
case "colorPicker":
|
|
@if(Model.UseFormPermission)
|
|
{
|
|
@:<u-form-item label="@(@item.Label)" prop="@(@item.LowerName)" @(@item.Required) v-if="$setPermission.hasFormP('@(@item.LowerName)',menuIds)">
|
|
}else{
|
|
@:<u-form-item label="@(@item.Label)" prop="@(@item.LowerName)" @(@item.Required)>
|
|
}
|
|
break;
|
|
default:
|
|
@if(Model.UseFormPermission)
|
|
{
|
|
@:<u-form-item label="@(@item.Label)" prop="@(@item.LowerName)" @(@item.NoShow) v-if="$setPermission.hasFormP('@(@item.LowerName)',menuIds)">
|
|
}else{
|
|
@:<u-form-item label="@(@item.Label)" prop="@(@item.LowerName)" @(@item.NoShow)>
|
|
}
|
|
break;
|
|
}
|
|
@switch(item.jnpfKey)
|
|
{
|
|
case "colorPicker":
|
|
@:<jnpf-colorPicker v-model="@(@Model.FormModel).@(@item.Name)" @(@item.Disabled)@(item.ColorFormat)@(@item.IsLinked ? "@change='"+ @item.LowerName +"Change' ":"")></jnpf-colorPicker>
|
|
break;
|
|
@*富文本框*@
|
|
case "editor":
|
|
@:<jnpf-editor @(@item.vModel)@(@item.IsLinked ? "@change='"+ @item.LowerName +"Change' ":"")></jnpf-editor>
|
|
break;
|
|
@*关联表单属性*@
|
|
case "relationFormAttr":
|
|
@:<jnpf-relation-attr showField="@(@item.ShowField)" relationField="@(@item.RelationField)" isStorage="@(@item.IsStorage)" @(@item.vModel) type='relationFormAttr' @(@item.IsLinked ? "@change='"+ @item.LowerName +"Change' ":"")></jnpf-relation-attr>
|
|
break;
|
|
@*弹窗选择属性*@
|
|
case "popupAttr":
|
|
@:<jnpf-relation-attr showField="@(@item.ShowField)" relationField="@(@item.RelationField)" isStorage="@(@item.IsStorage)" @(@item.vModel) type='popupAttr' @(@item.IsLinked ? "@change='"+ @item.LowerName +"Change' ":"")></jnpf-relation-attr>
|
|
break;
|
|
case "comInput":
|
|
@:<u-input v-model="@(@Model.FormModel).@(@item.LowerName)" @(@item.MaxLength)@(@item.Placeholder)@(@item.Disabled)@(@item.IsLinked ? "@blur='"+ @item.LowerName +"Change' ":"")></u-input>
|
|
break;
|
|
case "textarea":
|
|
@:<u-input v-model="@(@Model.FormModel).@(@item.LowerName)" type="textarea" @(@item.MaxLength)@(@item.Placeholder)@(@item.Disabled)@(@item.IsLinked ? "@change='"+ @item.LowerName +"Change' ":"")/>
|
|
break;
|
|
case "numInput":
|
|
@:<jnpf-number-box v-model="@(@Model.FormModel).@(@item.LowerName)" @(@item.Max)@(@item.Min)@(@item.Step)@(@item.Disabled)@(@item.IsLinked ? "@change='"+ @item.LowerName +"Change' ":"")></jnpf-number-box>
|
|
break;
|
|
case "switch":
|
|
@:<view class="u-flex u-form-item-switch">
|
|
@:<jnpf-switch v-model="@(@Model.FormModel).@(@item.LowerName)" @(@item.Disabled)@(@item.IsLinked ? "@change='"+ @item.LowerName +"Change' ":"")></jnpf-switch>
|
|
@:</view>
|
|
break;
|
|
case "radio":
|
|
@:<jnpf-radio v-model="@(@Model.FormModel).@(@item.LowerName)" :options="@(@item.LowerName)Options" :props="@(@item.LowerName)Props"@(@item.Disabled)@(@item.IsLinked ? "@change='"+ @item.LowerName +"Change' ":"")></jnpf-radio>
|
|
break;
|
|
case "checkbox":
|
|
@:<jnpf-checkbox v-model="@(@Model.FormModel).@(@item.LowerName)" :options="@(@item.LowerName)Options" :props="@(@item.LowerName)Props" @(@item.Disabled)@(@item.IsLinked ? "@change='"+ @item.LowerName +"Change' ":"")></jnpf-checkbox>
|
|
break;
|
|
case "select":
|
|
@:<jnpf-select v-model="@(@Model.FormModel).@(@item.LowerName)" :options="@(@item.LowerName)Options" :props="@(@item.LowerName)Props" @(@item.Placeholder)@(@item.Multiple)@(@item.Disabled)@(@item.IsLinked ? "@change='"+ @item.LowerName +"Change' ":"")></jnpf-select>
|
|
break;
|
|
case "cascader":
|
|
@:<jnpf-cascader v-model="@(@Model.FormModel).@(@item.LowerName)" :options="@(@item.LowerName)Options" :props="@(@item.LowerName)Props" @(@item.Multiple)@(@item.Placeholder)@(@item.Disabled)@(@item.Filterable)@(@item.ShowAllLevels)@(@item.Clearable)@(@item.IsLinked ? "@change='"+ @item.LowerName +"Change' ":"")></jnpf-cascader>
|
|
break;
|
|
case "address":
|
|
@:<jnpf-city-select v-model="@(@Model.FormModel).@(@item.LowerName)" @(@item.Level)@(@item.Placeholder)@(@item.Disabled)@(@item.Multiple)@(@item.IsLinked ? "@change='"+ @item.LowerName +"Change' ":"")></jnpf-city-select>
|
|
break;
|
|
case "treeSelect":
|
|
@:<jnpf-tree-select v-model="@(@Model.FormModel).@(@item.LowerName)" :options="@(@item.LowerName)Options" :props="@(@item.LowerName)Props" @(@item.Placeholder)@(@item.Multiple)@(@item.Disabled)@(@item.IsLinked ? "@change='"+ @item.LowerName +"Change' ":"")></jnpf-tree-select>
|
|
break;
|
|
case "uploadImg":
|
|
@:<jnpf-upload v-model="@(@Model.FormModel).@(@item.LowerName)" @(@item.Disabled)></jnpf-upload>
|
|
break;
|
|
case "uploadFz":
|
|
@:<jnpf-file v-model="@(@Model.FormModel).@(@item.LowerName)" @(@item.Disabled)@(@item.Limit)@(@item.SizeUnit)@(@item.FileSize)@(@item.Accept)/>
|
|
break;
|
|
case "rate":
|
|
@:<u-rate v-model="@(@Model.FormModel).@(@item.LowerName)" size="40" :count="@(@item.Count)" @(@item.Readonly)@(@item.AllowHalf)@(@item.Disabled)@(@item.IsLinked ? "@change='"+ @item.LowerName +"Change' ":"")></u-rate>
|
|
break;
|
|
case "slider":
|
|
@:<u-slider v-model="@(@Model.FormModel).@(@item.LowerName)" @(@item.Step)@(@item.Min)@(@item.Max)@(@item.Disabled)@(@item.IsLinked ? "@change='"+ @item.LowerName +"Change' ":"")style="width: 100%;">
|
|
@:<view class="slider-badge-button">{{@(@Model.FormModel).@(@item.LowerName)}}</view>
|
|
@:</u-slider>
|
|
break;
|
|
case "time":
|
|
case "date":
|
|
@:<jnpf-date-time @(@item.Type)v-model="@(@Model.FormModel).@(@item.LowerName)" @(@item.Placeholder)@(@item.Disabled)@(@item.IsLinked ? "@change='"+ @item.LowerName +"Change' ":"")></jnpf-date-time>
|
|
break;
|
|
case "comSelect":
|
|
@:<jnpf-com-select type="organize" v-model="@(@Model.FormModel).@(@item.LowerName)" @(@item.Multiple)@(@item.Placeholder)@(@item.Disabled)@(@item.IsLinked ? "@change='"+ @item.LowerName +"Change' ":"")></jnpf-com-select>
|
|
break;
|
|
case "depSelect":
|
|
@:<jnpf-postordep-select type="department" v-model="@(@Model.FormModel).@(@item.LowerName)" @(@item.Multiple)@(@item.Placeholder)@(@item.Disabled)@(@item.SelectType != "" ? "selectType='" + item.SelectType + "' " : "")@(@item.IsCustomSelect ? @item.AbleDepIds + @item.AblePosIds + @item.AbleUserIds + @item.AbleRoleIds + @item.AbleGroupIds : "")@(@item.IsLinked ? "@change='"+ @item.LowerName +"Change' ":"")></jnpf-postordep-select>
|
|
break;
|
|
case "posSelect":
|
|
@:<jnpf-postordep-select type="position" v-model="@(@Model.FormModel).@(@item.LowerName)" @(@item.Multiple)@(@item.Placeholder)@(@item.Disabled)@(@item.SelectType != "" ? "selectType='" + item.SelectType + "' " : "")@(@item.IsCustomSelect ? @item.AbleDepIds + @item.AblePosIds + @item.AbleUserIds + @item.AbleRoleIds + @item.AbleGroupIds : "")@(@item.IsLinked ? "@change='"+ @item.LowerName +"Change' ":"")></jnpf-postordep-select>
|
|
break;
|
|
case "userSelect":
|
|
@:<jnpf-user-select v-model="@(@Model.FormModel).@(@item.LowerName)" @(@item.Multiple)@(@item.Placeholder)@(@item.Disabled)@(@item.SelectType != "" ? "selectType='" + item.SelectType + "' " : "")@(@item.IsCustomSelect ? @item.AbleDepIds + @item.AblePosIds + @item.AbleUserIds + @item.AbleRoleIds + @item.AbleGroupIds : "")@(@item.UserRelationAttr)@(@item.IsLinked ? "@change='"+ @item.LowerName +"Change' ":"")></jnpf-user-select>
|
|
break;
|
|
case "usersSelect":
|
|
@:<jnpf-user-choice v-model="@(@Model.FormModel).@(@item.LowerName)" @(@item.Multiple)@(@item.Placeholder)@(@item.Disabled)@(@item.SelectType != "" ? "selectType='" + item.SelectType + "' " : "")@(@item.IsCustomSelect ? @item.AbleDepIds + @item.AblePosIds + @item.AbleUserIds + @item.AbleRoleIds + @item.AbleGroupIds + item.AbleIds : "")@(@item.UserRelationAttr)@(@item.IsLinked ? "@change='"+ @item.LowerName +"Change' ":"")></jnpf-user-choice>
|
|
break;
|
|
case "groupSelect":
|
|
@:<jnpf-group-select v-model="@(@Model.FormModel).@(@item.LowerName)" @(@item.Multiple)@(@item.Placeholder)@(@item.Disabled)@(@item.IsLinked ? "@change='"+ @item.LowerName +"Change' ":"")></jnpf-group-select>
|
|
break;
|
|
case "roleSelect":
|
|
@:<jnpf-role-select v-model="@(@Model.FormModel).@(@item.LowerName)" @(@item.Multiple)@(@item.Placeholder)@(@item.Disabled)@(@item.IsLinked ? "@change='"+ @item.LowerName +"Change' ":"")></jnpf-role-select>
|
|
break;
|
|
case "relationForm":
|
|
@:<jnpf-relation-select @(@item.vModel)@(@item.Disabled)@(@item.RelationField)@(@item.ColumnOptions)@(item.ModelId != "" ? "modelId='"+ item.ModelId +"' " :"")@(@item.Placeholder)@(@item.HasPage)@(@item.PageSize)@(@item.IsLinked ? "@change='"+ @item.LowerName +"Change' ":"")@(@item.TemplateJson)@(@item.IsLinkage ? ":formData='dataForm' ": "")vModel="@(@item.Name)" type="relation"></jnpf-relation-select>
|
|
break;
|
|
case "popupSelect":
|
|
@:<jnpf-popup-select @(@item.vModel)@(@item.Disabled)@(@item.PropsValue)@(@item.RelationField)@(@item.ColumnOptions)@(@item.InterfaceId)@(@item.Placeholder)@(@item.HasPage)@(@item.PageSize)@(@item.PopupType)@(@item.PopupTitle)@(@item.PopupWidth)@(@item.IsLinked ? "@change='"+ @item.LowerName +"Change' ":"")@(@item.TemplateJson)@(@item.IsLinkage ? ":formData='dataForm' ": "")vModel="@(@item.Name)" type="popup"></jnpf-popup-select>
|
|
break;
|
|
case "popupTableSelect":
|
|
@:<jnpf-table-select @(@item.vModel)@(@item.InterfaceId)@(@item.Placeholder)@(@item.Disabled)@(@item.ColumnOptions)@(@item.RelationField)@(@item.PropsValue)@(@item.HasPage)@(@item.PageSize)@(@item.PopupTitle)@(@item.Multiple)@(@item.Filterable)@(item.TemplateJson)@(@item.IsLinked ? "@change='"+ @item.LowerName +"Change' ":""):vModel="'@(@item.LowerName)'" @(item.IsLinkage ? ":formData='dataForm' ": "")></jnpf-table-select>
|
|
break;
|
|
case "createUser":
|
|
case "createTime":
|
|
case "currOrganize":
|
|
case "currPosition":
|
|
@:<jnpf-open-data v-model="@(@Model.FormModel).@(@item.LowerName)" @(@item.Type)@(@item.Disabled)></jnpf-open-data>
|
|
break;
|
|
default:
|
|
@:<u-input v-model="@(@Model.FormModel).@(@item.LowerName)" placeholder="系统自动生成" @(@item.Disabled)></u-input>
|
|
break;
|
|
}
|
|
@:</u-form-item>
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
} |