1121 lines
36 KiB
Plaintext
1121 lines
36 KiB
Plaintext
<template>
|
||
<div :style="{margin: '0 auto',width:'@(Model.FullScreenWidth)'}">
|
||
<el-row :gutter="15" class="@(Model.FormStyle) main">
|
||
<el-form ref="@(Model.FormRef)" :model="@(Model.FormModel)" :rules="dataRule" size="@(Model.Size)" label-width="@(Model.LabelWidth)px" label-position="@(Model.LabelPosition)" :disabled="setting.readonly">
|
||
@{ GenerateFlowflowFormControls(); }
|
||
@if(Model.IsChildDataTransfer)
|
||
{
|
||
<SelectDialog v-if="selectDialogVisible" :config="currTableConf" :formData="dataForm" ref="selectDialog" @@select="addForSelect" />
|
||
}
|
||
</el-form>
|
||
</el-row>
|
||
<UserBox v-if="userBoxVisible" ref="userBox" @@submit="submit" />
|
||
</div>
|
||
</template>
|
||
<script>
|
||
import comMixin from '@@/views/workFlow/workFlowForm/mixin'
|
||
import request from '@@/utils/request'
|
||
@if(Model.IsChildDataTransfer)
|
||
{
|
||
@:import SelectDialog from '@@/components/SelectDialog'
|
||
}
|
||
import { getDictionaryDataSelector } from '@@/api/systemData/dictionary'
|
||
import { getDataInterfaceRes } from '@@/api/systemData/dataInterface'
|
||
export default {
|
||
mixins: [comMixin],
|
||
components: { @(Model.IsChildDataTransfer ? "SelectDialog" : "") },
|
||
mixins: [comMixin],
|
||
data(){
|
||
return {
|
||
@if(Model.IsChildDataTransfer)
|
||
{
|
||
@:selectDialogVisible: false,
|
||
@:currTableConf:{},
|
||
@:addTableConf:{
|
||
@foreach(var item in Model.FormList)
|
||
{
|
||
@switch(item.jnpfKey)
|
||
{
|
||
case "table":
|
||
@if(item.IsDataTransfer)
|
||
{
|
||
@:@(item.OriginalName):@(item.AddTableConf),
|
||
}
|
||
break;
|
||
}
|
||
}
|
||
@:},
|
||
@:tableRows:{
|
||
@foreach(var item in Model.FormList)
|
||
{
|
||
@switch(item.jnpfKey)
|
||
{
|
||
case "table":
|
||
@if(item.IsDataTransfer)
|
||
{
|
||
@:@(item.OriginalName):{
|
||
@:enabledmark:undefined,
|
||
@:},
|
||
}
|
||
break;
|
||
}
|
||
}
|
||
@:},
|
||
@:currVmodel:'',
|
||
}
|
||
visible: false,
|
||
setting:{},
|
||
eventType: '',
|
||
formRef: '@(Model.FormRef)',
|
||
userBoxVisible:false,
|
||
dataForm: {
|
||
@(Model.PrimaryKey):'',
|
||
flowId:'',
|
||
@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":
|
||
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;
|
||
}
|
||
}
|
||
},
|
||
dataRule: {
|
||
@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)'
|
||
}
|
||
|
||
@:},
|
||
}
|
||
@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;
|
||
}
|
||
}
|
||
|
||
},
|
||
tableRequiredData:{},
|
||
@foreach(var item in Model.OptionsList)
|
||
{
|
||
@switch(item.jnpfKey)
|
||
{
|
||
case "collapse":
|
||
@:@(item.Name):@(item.Content),
|
||
break;
|
||
case "tab":
|
||
@:@(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;
|
||
}
|
||
}
|
||
}
|
||
},
|
||
computed: {
|
||
formOperates() {
|
||
return this.setting.formOperates
|
||
}
|
||
},
|
||
watch: {},
|
||
created() {
|
||
@foreach(var item in @Model.OptionsList)
|
||
{
|
||
@if(!item.IsStatic && !item.IsLinkage && (item.IsChildren || item.IsIndex))
|
||
{
|
||
@:this.get@(item.LowerName)Options();
|
||
}
|
||
}
|
||
},
|
||
mounted() {},
|
||
methods: {
|
||
@if(Model.IsChildDataTransfer)
|
||
{
|
||
@:openSelectDialog(key) {
|
||
@:this.currTableConf=this.addTableConf[key]
|
||
@:this.currVmodel=key
|
||
@:this.selectDialogVisible = true
|
||
@:this.$nextTick(() => {
|
||
@:this.$refs.selectDialog.init()
|
||
@:})
|
||
@:},
|
||
@:addForSelect(data) {
|
||
@:for (let i = 0; i < data.length; i++) {
|
||
@:let item={...this.tableRows[this.currVmodel],...data[i]}
|
||
@:this.dataForm[this.currVmodel].push(item)
|
||
@:}
|
||
@:},
|
||
}
|
||
@if(Model.IsDetail)
|
||
{
|
||
@:goDetail(id){
|
||
@:this.detailVisible = true
|
||
@:this.$nextTick(() => {
|
||
@:this.$refs.Detail.init(id)
|
||
@:})
|
||
@:},
|
||
}
|
||
@foreach(var item in Model.FormList)
|
||
{
|
||
@switch(item.jnpfKey)
|
||
{
|
||
case "table":
|
||
@if(item.Required)
|
||
{
|
||
@:@(item.LowerName)Exist(){
|
||
@:let isOk = true;
|
||
@:for (let i = 0; i < this.dataForm.@(item.OriginalName).length; i++) {
|
||
@:const e = this.dataForm.@(item.LowerName)List[i];
|
||
@foreach(var children in item.ChildrenList)
|
||
{
|
||
@if(children.Required)
|
||
{
|
||
@switch(children.jnpfKey)
|
||
{
|
||
case "checkbox":
|
||
case "cascader":
|
||
case "uploadImg":
|
||
case "uploadFz":
|
||
case "address":
|
||
case "comSelect":
|
||
@:if(!e.@(children.LowerName).length) {
|
||
@:this.$message({
|
||
@:message: '@(children.Placeholder)不能为空',
|
||
@:type: 'error',
|
||
@:duration: 1000
|
||
@:});
|
||
@:isOk = false
|
||
@:break
|
||
@:}
|
||
break;
|
||
case "select":
|
||
case "userSelect":
|
||
case "treeSelect":
|
||
case "depSelect":
|
||
case "posSelect":
|
||
case "popupTableSelect":
|
||
case "roleSelect":
|
||
case "groupSelect":
|
||
@if(children.Multiple)
|
||
{
|
||
@:if(!e.@(children.LowerName).length) {
|
||
@:this.$message({
|
||
@:message: '@(children.Placeholder)不能为空',
|
||
@:type: 'error',
|
||
@:duration: 1000
|
||
@:});
|
||
@:isOk = false
|
||
@:break
|
||
@:}
|
||
}else{
|
||
@:if(!e.@(children.LowerName)) {
|
||
@:this.$message({
|
||
@:message: '@(children.Placeholder)不能为空',
|
||
@:type: 'error',
|
||
@:duration: 1000
|
||
@:});
|
||
@:isOk = false
|
||
@:break
|
||
@:}
|
||
}
|
||
break;
|
||
case "switch":
|
||
break;
|
||
default:
|
||
@:if(!e.@(children.LowerName)) {
|
||
@:this.$message({
|
||
@:message: '@(children.Placeholder)不能为空',
|
||
@:type: 'error',
|
||
@:duration: 1000
|
||
@:});
|
||
@:isOk = false
|
||
@:break
|
||
@:}
|
||
break;
|
||
}
|
||
}
|
||
}
|
||
@:}
|
||
@:return isOk;
|
||
@:},
|
||
}
|
||
break;
|
||
}
|
||
}
|
||
@foreach(var item in @Model.OptionsList)
|
||
{
|
||
@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;
|
||
}
|
||
@:});
|
||
@:},
|
||
}
|
||
}
|
||
goBack() {
|
||
this.$emit('refresh')
|
||
},
|
||
exist() {
|
||
let isOk = true
|
||
for (let key in this.tableRequiredData) {
|
||
if (this.dataForm[key] && Array.isArray(this.dataForm[key])) {
|
||
for (let i = 0; i < this.dataForm[key].length; i++) {
|
||
let item = this.dataForm[key][i]
|
||
inner: for (let id in item) {
|
||
let arr = this.tableRequiredData[key].filter(o => o.id === id) || []
|
||
if (!arr.length) continue inner
|
||
if (arr[0].required) {
|
||
let msg = `${arr[0].name}不能为空`
|
||
let boo = true
|
||
if (arr[0].dataType === 'array') {
|
||
boo = !this.jnpf.isEmptyArray(item[id])
|
||
} else {
|
||
boo = !this.jnpf.isEmpty(item[id])
|
||
}
|
||
if (!boo) {
|
||
this.$message({
|
||
message: msg,
|
||
type: 'error',
|
||
duration: 1000
|
||
})
|
||
isOk = false
|
||
break
|
||
}
|
||
}
|
||
}
|
||
}
|
||
}
|
||
}
|
||
return isOk
|
||
},
|
||
/**
|
||
* 获取参数列表
|
||
*/
|
||
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;
|
||
}
|
||
}
|
||
@:},
|
||
}
|
||
@switch(item.jnpfKey)
|
||
{
|
||
case "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;
|
||
}
|
||
}
|
||
@:},
|
||
}
|
||
}
|
||
}
|
||
@switch(item.AddType)
|
||
{
|
||
case 0:
|
||
@:addHandle@(item.Name)EntityList() {
|
||
@: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":
|
||
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.dataForm.@(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;
|
||
}
|
||
}
|
||
}
|
||
}
|
||
}
|
||
@:},
|
||
@:handleDel@(item.Name)EntityList(index) {
|
||
@:this.dataForm.@(item.OriginalName).splice(index, 1);
|
||
@:},
|
||
break;
|
||
case 1:
|
||
@:openSelectDialog(key) {
|
||
@:this.currTableConf=this.addTableConf[key]
|
||
@:this.currVmodel=key
|
||
@:this.selectDialogVisible = true
|
||
@:this.$nextTick(() => {
|
||
@:this.$refs.selectDialog.init()
|
||
@:})
|
||
@:},
|
||
@:addForSelect(data) {
|
||
@:for (let i = 0; i < data.length; i++) {
|
||
@:let item={...this.tableRows[this.currVmodel],...data[i]}
|
||
@:this.dataForm[this.currVmodel].push(item)
|
||
@:}
|
||
@:},
|
||
break;
|
||
}
|
||
if(item.ShowSummary)
|
||
{
|
||
@:get@(item.Name)(param) {
|
||
@:const summaryField = @(item.SummaryField)
|
||
@:const { columns, data } = param;
|
||
@:const sums = [];
|
||
@:columns.forEach((column, index) => {
|
||
@:if (index === 0) {
|
||
@:sums[index] = '合计';
|
||
@:return;
|
||
@:}
|
||
@:if (!summaryField.includes(column.property)) {
|
||
@:sums[index] = '';
|
||
@:return;
|
||
@:}
|
||
@:const values = data.map(item => Number(item[column.property]));
|
||
@:if (!values.every(value => isNaN(value))) {
|
||
@:sums[index] = values.reduce((prev, curr) => {
|
||
@:const value = Number(curr);
|
||
@:if (!isNaN(value)) {
|
||
@:return prev + curr;
|
||
@:} else {
|
||
@:return prev;
|
||
@:}
|
||
@:}, 0);
|
||
@:} else {
|
||
@:sums[index] = '';
|
||
@:}
|
||
@:});
|
||
@:return sums
|
||
@:},
|
||
}
|
||
break;
|
||
}
|
||
}
|
||
}
|
||
}
|
||
</script>
|
||
@{
|
||
void GenerateFlowflowFormControls()
|
||
{
|
||
@foreach(var item in Model.FormAllContols)
|
||
{
|
||
@switch(item.jnpfKey)
|
||
{
|
||
@*栅格布局*@
|
||
case "row":
|
||
@:<el-col :span="@(item.Span)">
|
||
@:<el-row :gutter="@(item.Gutter)">
|
||
@{ GenerateFlowflowFormChildrenControls(item.Children,item.Gutter); }
|
||
@:</el-row>
|
||
@:</el-col>
|
||
break;
|
||
@*子表*@
|
||
case "table":
|
||
@:<el-col :span="@(item.Span)" v-if="judgeShow('@(item.Name)') && formOperates">
|
||
@:<el-form-item label-width="0" prop="">
|
||
@if(item.ShowText)
|
||
{
|
||
@:<div class="JNPF-common-title">
|
||
@:<h2>@(item.Label)</h2>
|
||
@:</div>
|
||
}
|
||
@:<el-table :data="dataForm.@(item.Name)" size='mini' @(item.ShowSummary ? "show-summary :summary-method='get" + @item.ChildTableName + "'" :"")>
|
||
@:<el-table-column type="index" width="50" label="序号" align="center" />
|
||
@foreach(var childrens in item.Children)
|
||
{
|
||
@:<el-table-column prop="@(childrens.LowerName)" @(childrens.ColumnWidth)label="@(childrens.Label)"@(childrens.LowerName != null ? " v-if=\"judgeShow('"+ @item.Name + "-" + @childrens.LowerName + "')\"" : "")>
|
||
@if(childrens.LowerName != null)
|
||
{
|
||
@:<template slot="header" v-if="judgeRequired('@(item.Name)-@(childrens.LowerName)')">
|
||
@:<span class="required-sign">*</span>@(childrens.Label)
|
||
@:</template>
|
||
}
|
||
@:<template slot-scope="scope">
|
||
@switch(childrens.jnpfKey)
|
||
{
|
||
case "relationFormAttr":
|
||
case "popupAttr":
|
||
@:<@childrens.Tag @(childrens.Style):relationField="'@(childrens.RelationField)'+scope.$index" isStorage="@(childrens.IsStorage)" @(childrens.vModel) showField="@(childrens.ShowField)"></@childrens.Tag>
|
||
break;
|
||
default:
|
||
@:<@(childrens.Tag) v-model="scope.row.@(childrens.LowerName)" @(childrens.Field)@(childrens.Style)@(childrens.Placeholder)@(childrens.Clearable)@(childrens.Readonly)@(childrens.IsDisabled)@(childrens.ShowWordLimit)@(childrens.Format)@(childrens.ValueFormat)@(childrens.AutoSize)@(childrens.Multiple)@(childrens.Size)@(childrens.PrefixIcon)@(childrens.SuffixIcon)@(childrens.MaxLength)@(childrens.ShowPassword)@(childrens.Filterable)@(childrens.MainProps)@(childrens.Options)@(childrens.ShowAllLevels)@(childrens.Separator)@(childrens.RangeSeparator)@(childrens.StartPlaceholder)@(childrens.EndPlaceholder)@(childrens.PickerOptions)@(childrens.Required)@(childrens.Step)@(childrens.StepStrictly)@(childrens.Max)@(childrens.Min)@(childrens.ColumnWidth)@(childrens.ModelId != ""? "modelId='"+ childrens.ModelId +"' " :"")@(childrens.RelationField)@(childrens.ColumnOptions)@(childrens.HasPage)@(childrens.PageSize)@(childrens.PropsValue)@(childrens.InterfaceId)@(childrens.Precision)@(childrens.ActiveText)@(childrens.InactiveText)@(childrens.ActiveColor)@(childrens.InactiveColor)@(childrens.IsSwitch)@(childrens.ShowStops)@(childrens.Accept)@(childrens.ShowTip)@(childrens.FileSize)@(childrens.SizeUnit)@(childrens.Limit)@(childrens.ButtonText)@(childrens.Level)@(childrens.Type)@(childrens.PopupType)@(childrens.PopupTitle)@(childrens.PopupWidth)@(childrens.SelectType != "" ? "selectType='" + childrens.SelectType + "' " : "")@(childrens.IsCustomSelect ? @childrens.AbleIds + @childrens.AbleDepIds + @childrens.AblePosIds + @childrens.AbleUserIds + @childrens.AbleRoleIds + @childrens.AbleGroupIds : "")@(childrens.UserRelationAttr)@(childrens.TemplateJson)@(childrens.IsLinkage ? ":formData='dataForm' :rowIndex='scope.$index' ": "")@(childrens.IsLinked ? "@change='"+ @childrens.LowerName +"TableChange(scope.$index)'":"")>
|
||
@switch(childrens.jnpfKey)
|
||
{
|
||
case "select":
|
||
@:<el-option v-for="(item, index) in @(childrens.IsLinkage ? "dataForm." + item.Name + "[scope.$index]." + childrens.LowerName + "Options" : item.Name + "_" + childrens.LowerName + "Options")" :key="index" :label="item.@(childrens.Props.label)" :value="item.@(childrens.Props.value)" :disabled="item.disabled"></el-option>
|
||
break;
|
||
case "comInput":
|
||
@if(childrens.Prepend != null)
|
||
{
|
||
@:<template slot="prepend">@(childrens.Prepend)</template>
|
||
}
|
||
@if(childrens.Append != null)
|
||
{
|
||
@:<template slot="append">@(childrens.Append)</template>
|
||
}
|
||
break;
|
||
}
|
||
@:</@(childrens.Tag)>
|
||
break;
|
||
}
|
||
@:</template>
|
||
@:</el-table-column>
|
||
}
|
||
@:<el-table-column label="操作" width="50" v-if="!setting.readonly && !judgeWrite('@(item.Name)')">
|
||
@:<template slot-scope="scope">
|
||
@:<el-button size="mini" type="text" class="JNPF-table-delBtn" @@click="handleDel@(item.ChildTableName)EntityList(scope.$index)">删除</el-button>
|
||
@:</template>
|
||
@:</el-table-column>
|
||
@:</el-table>
|
||
@switch(item.AddType)
|
||
{
|
||
case 0:
|
||
@:<div class="table-actions" @@click="addHandle@(item.ChildTableName)EntityList()" v-if="!setting.readonly && !judgeWrite('@(item.Name)')">
|
||
@:<el-button type="text" icon="el-icon-plus">新增</el-button>
|
||
@:</div>
|
||
break;
|
||
case 1:
|
||
@:<div class="table-actions" @@click="openSelectDialog('@(item.Name)')" v-if="!setting.readonly && !judgeWrite('@(item.Name)')">
|
||
@:<el-button type="text" icon="el-icon-plus">添加</el-button>
|
||
@:</div>
|
||
break;
|
||
}
|
||
@:</el-form-item>
|
||
@:</el-col>
|
||
break;
|
||
@*卡片*@
|
||
case "card":
|
||
@:<el-col :span="@(item.Span)">
|
||
@:<el-card class="mb-20" shadow="@(item.Shadow)">
|
||
@{ GenerateFlowflowFormChildrenControls(item.Children,item.Gutter); }
|
||
@:</el-card>
|
||
@:</el-col>
|
||
break;
|
||
@*折叠面板*@
|
||
case "collapse":
|
||
@:<el-col :span="@(item.Span)">
|
||
@:<el-collapse :accordion="@(item.Accordion)" v-model="@(item.Name)" class="mb-20">
|
||
@foreach(var collapse in item.Children)
|
||
{
|
||
@:<el-collapse-item title="@(collapse.Title)" name="@(collapse.Name)">
|
||
@{GenerateFlowflowFormChildrenControls(collapse.Children,item.Gutter);}
|
||
@:</el-collapse-item>
|
||
}
|
||
@:</el-collapse>
|
||
@:</el-col>
|
||
break;
|
||
case "tab":
|
||
@:<el-col :span="@(item.Span)">
|
||
@:<el-tabs type="@(item.Type)" tab-position="@(item.TabPosition)" v-model="@(item.Name)" class="mb-10">
|
||
@foreach(var collapse in item.Children)
|
||
{
|
||
@:<el-tab-pane label="@(collapse.Title)">
|
||
@{GenerateFlowflowFormChildrenControls(collapse.Children,item.Gutter);}
|
||
@:</el-tab-pane>
|
||
}
|
||
@:</el-tabs>
|
||
@:</el-col>
|
||
break;
|
||
case "divider":
|
||
@:<el-col :span="@(item.Span)">
|
||
@:<el-form-item label-width="0">
|
||
@:<el-divider content-position="@(item.Contentposition)">@(item.Default)</el-divider>
|
||
@:</el-form-item>
|
||
@:</el-col>
|
||
break;
|
||
case "groupTitle":
|
||
@:<el-col :span="@(item.Span)">
|
||
@:<el-form-item label-width="0">
|
||
@:<groupTitle content-position="@(item.Contentposition)" content="@(item.Content)"></groupTitle>
|
||
@:</el-form-item>
|
||
@:</el-col>
|
||
break;
|
||
case "button":
|
||
@:<el-col :span="@(item.Span)">
|
||
@:<el-form-item label-width="0">
|
||
@:<jnpf-button align="@(item.Align)" buttonText="@(item.ButtonText)" type="@(item.Type)"></jnpf-button>
|
||
@:</el-form-item>
|
||
@:</el-col>
|
||
break;
|
||
case "link":
|
||
@:<el-col :span="@(item.Span)">
|
||
@:<el-form-item label-width="0">
|
||
@:<jnpf-link content="@(item.Content)" href="@(item.Href)" target="@(item.Target)" :textStyle='@(item.TextStyle)'></jnpf-link>
|
||
@:</el-form-item>
|
||
@:</el-col>
|
||
break;
|
||
case "alert":
|
||
@:<el-col :span="@(item.Span)">
|
||
@:<el-form-item label-width="0">
|
||
@:<el-alert title="@(item.Title)" type="@(item.Type)" :closable="false" :show-icon="@(item.ShowIcon)"></el-alert>
|
||
@:</el-form-item>
|
||
@:</el-col>
|
||
break;
|
||
case "JNPFText":
|
||
@:<el-col :span="@(item.Span)">
|
||
@:<el-form-item label-width="0">
|
||
@:<JNPF-Text value="@(item.DefaultValue)" :textStyle='@(item.TextStyle)' :style='@(item.Style)' ></JNPF-Text>
|
||
@:</el-form-item>
|
||
@:</el-col>
|
||
break;
|
||
case "relationFormAttr":
|
||
case "popupAttr":
|
||
@if(item.NoShow == "")
|
||
{
|
||
@:<el-col :span="@(item.Span)" v-if="judgeShow('@(item.OriginalName)')">
|
||
}else{
|
||
@:<el-col :span="@(item.Span)" @(item.NoShow)>
|
||
}
|
||
@:<el-form-item label="@(item.Label)">
|
||
@:<@(item.Tag) @(item.Style)relationField="@(item.RelationField)" isStorage="@(item.IsStorage)" @(item.vModel) showField="@(item.ShowField)"></@(item.Tag)>
|
||
@:</el-form-item>
|
||
@:</el-col>
|
||
break;
|
||
default:
|
||
@if(item.NoShow == "")
|
||
{
|
||
@:<el-col :span="@(item.Span)" v-if="judgeShow('@(item.OriginalName)')">
|
||
}else
|
||
{
|
||
@:<el-col :span="@(item.Span)" @(item.NoShow)>
|
||
}
|
||
@:<el-form-item label="@(item.Label)" prop="@(item.LowerName)">
|
||
@:<@(item.Tag) v-model="dataForm.@(item.Name)" @(item.Field)@(item.Placeholder)@(item.Clearable)@(item.Readonly)@(item.MainProps)@(item.Required)@(item.IsDisabled)@(item.ShowWordLimit)@(item.IsRange)@(item.Style)@(item.Type)@(item.Format)@(item.ValueFormat)@(item.AutoSize)@(item.Multiple)@(item.Size)@(item.PrefixIcon)@(item.SuffixIcon)@(item.MaxLength)@(item.Step)@(item.StepStrictly)@(item.ControlsPosition)@(item.ShowChinese)@(item.ShowPassword)@(item.Filterable)@(item.ShowAllLevels)@(item.RangeSeparator)@(item.StartPlaceholder)@(item.EndPlaceholder)@(item.Separator)@(item.PickerOptions)@(item.Max)@(item.Min)@(item.AllowHalf)@(item.ShowTexts)@(item.ShowScore)@(item.ShowAlpha)@(item.ColorFormat)@(item.ActiveText)@(item.InactiveText)@(item.ActiveColor)@(item.IsSwitch)@(item.ShowStops)@(item.Range)@(item.Accept)@(item.ShowTip)@(item.FileSize)@(item.SizeUnit)@(item.Limit)@(item.Contentposition)@(item.ButtonText)@(item.Level)@(item.ActionText)@(item.Shadow)@(item.Content)@(item.Options)@(item.ModelId != ""? "modelId='"+ item.ModelId +"' " :"")@(item.RelationField)@(item.ColumnOptions)@(item.HasPage)@(item.PageSize)@(item.PropsValue)@(item.InterfaceId)@(item.Precision)@(item.ShowLevel)@(item.PopupType)@(item.PopupTitle)@(item.PopupWidth)@(item.SelectType != "" ? "selectType='" + item.SelectType + "' " : "")@(item.IsCustomSelect ? @item.AbleIds + @item.AbleDepIds + @item.AblePosIds + @item.AbleUserIds + @item.AbleRoleIds + @item.AbleGroupIds : "")@(item.UserRelationAttr)@(item.TemplateJson)@(item.IsLinkage ? ":formData='dataForm' ": "")@(item.IsLinked ? "@change='"+ @item.LowerName +"Change'":"")>
|
||
@switch(item.jnpfKey)
|
||
{
|
||
case "select":
|
||
@:<el-option v-for="(item, index) in @(item.LowerName)Options" :key="index" :label="item.@(item.Props.label)" :value="item.@(item.Props.value)" ></el-option>
|
||
break;
|
||
case "radio":
|
||
@:<el-radio@(item.OptionType) v-for="(item, index) in @(item.LowerName)Options" :key="index" :label="item.@(item.Props.value)" @(item.Border)>{{item.@(item.Props.label)}}</el-radio@(item.OptionType)>
|
||
break;
|
||
case "checkbox":
|
||
@:<el-checkbox@(item.OptionType) v-for="(item, index) in @(item.LowerName)Options" :key="index" :label="item.@(item.Props.value)" @(item.Border)>{{item.@(item.Props.label)}}</el-checkbox@(item.OptionType)>
|
||
break;
|
||
case "comInput":
|
||
@if(item.Prepend != null)
|
||
{
|
||
@:<template slot="prepend">@(item.Prepend)</template>
|
||
}
|
||
@if(item.Append != null)
|
||
{
|
||
@:<template slot="append">@(item.Append)</template>
|
||
}
|
||
break;
|
||
}
|
||
@:</@(item.Tag)>
|
||
@:</el-form-item>
|
||
@:</el-col>
|
||
break;
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
@{
|
||
void GenerateFlowflowFormChildrenControls(ICollection<FormControlDesignModel> childrenList, int gutter)
|
||
{
|
||
@foreach(var item in childrenList)
|
||
{
|
||
@switch(item.jnpfKey)
|
||
{
|
||
case "row":
|
||
@:<el-col :span="@(item.Span)">
|
||
@:<el-row :gutter="@(gutter)">
|
||
@{ GenerateFlowflowFormChildrenControls(item.Children,item.Gutter); }
|
||
@:</el-row>
|
||
@:</el-col>
|
||
break;
|
||
case "table":
|
||
@:<el-col :span="@(item.Span)" v-if="judgeShow('@(item.Name)') && formOperates">
|
||
@:<el-form-item label-width="0" prop="">
|
||
@if(item.ShowText)
|
||
{
|
||
@:<div class="JNPF-common-title">
|
||
@:<h2>@(item.Label)</h2>
|
||
@:</div>
|
||
}
|
||
@:<el-table :data="dataForm.@(item.Name)" size='mini' @(item.ShowSummary ? "show-summary :summary-method='get" + @item.ChildTableName + "'": "")>
|
||
@:<el-table-column type="index" width="50" label="序号" align="center" />
|
||
@foreach (var childrens in item.Children)
|
||
{
|
||
@:<el-table-column prop="@(childrens.LowerName)" @(childrens.ColumnWidth)label="@(childrens.Label)"@(childrens.LowerName != null ? " v-if=\"judgeShow('"+ @item.Name + "-" + @childrens.LowerName + "')\"" : "")>
|
||
@if(childrens.LowerName != null)
|
||
{
|
||
@:<template slot="header" v-if="judgeRequired('@(item.Name)-@(childrens.LowerName)')">
|
||
@:<span class="required-sign">*</span>@(childrens.Label)
|
||
@:</template>
|
||
}
|
||
@:<template slot-scope="scope">
|
||
@switch(childrens.jnpfKey)
|
||
{
|
||
case "relationFormAttr":
|
||
case "popupAttr":
|
||
@:<@childrens.Tag @(childrens.Style):relationField="'@(childrens.RelationField)'+scope.$index" isStorage="@(childrens.IsStorage)" @(childrens.vModel) showField="@(childrens.ShowField)"></@childrens.Tag>
|
||
break;
|
||
default:
|
||
@:<@(childrens.Tag) v-model="scope.row.@(childrens.LowerName)" @(childrens.Field)@(childrens.Style)@(childrens.Placeholder)@(childrens.Clearable)@(childrens.Readonly)@(childrens.IsDisabled)@(childrens.ShowWordLimit)@(childrens.Format)@(childrens.ValueFormat)@(childrens.AutoSize)@(childrens.Multiple)@(childrens.Size)@(childrens.PrefixIcon)@(childrens.SuffixIcon)@(childrens.MaxLength)@(childrens.ShowPassword)@(childrens.Filterable)@(childrens.MainProps)@(childrens.Options)@(childrens.ShowAllLevels)@(childrens.Separator)@(childrens.RangeSeparator)@(childrens.StartPlaceholder)@(childrens.EndPlaceholder)@(childrens.PickerOptions)@(childrens.Required)@(childrens.Step)@(childrens.StepStrictly)@(childrens.Max)@(childrens.Min)@(childrens.ColumnWidth)@(childrens.ModelId != ""? "modelId='"+ childrens.ModelId +"' " :"")@(childrens.RelationField)@(childrens.ColumnOptions)@(childrens.HasPage)@(childrens.PageSize)@(childrens.PropsValue)@(childrens.InterfaceId)@(childrens.Precision)@(childrens.ActiveText)@(childrens.InactiveText)@(childrens.ActiveColor)@(childrens.InactiveColor)@(childrens.IsSwitch)@(childrens.ShowStops)@(childrens.Accept)@(childrens.ShowTip)@(childrens.FileSize)@(childrens.SizeUnit)@(childrens.Limit)@(childrens.ButtonText)@(childrens.Level)@(childrens.Type)@(childrens.PopupType)@(childrens.PopupTitle)@(childrens.PopupWidth)@(childrens.SelectType != "" ? "selectType='" + childrens.SelectType + "' " : "")@(childrens.IsCustomSelect ? @childrens.AbleIds + @childrens.AbleDepIds + @childrens.AblePosIds + @childrens.AbleUserIds + @childrens.AbleRoleIds + @childrens.AbleGroupIds : "")@(childrens.UserRelationAttr)@(childrens.TemplateJson)@(childrens.IsLinkage ? ":formData='dataForm' :rowIndex='scope.$index' ": "")@(childrens.IsLinked ? "@change='"+ @childrens.LowerName +"TableChange(scope.$index)'":"")>
|
||
@switch(childrens.jnpfKey)
|
||
{
|
||
case "select":
|
||
@:<el-option v-for="(item, index) in @(childrens.IsLinkage ? "dataForm." + item.Name + "[scope.$index]." + childrens.LowerName + "Options" : item.Name + "_" + childrens.LowerName + "Options")" :key="index" :label="item.@(childrens.Props.label)" :value="item.@(childrens.Props.value)" :disabled="item.disabled"></el-option>
|
||
break;
|
||
case "comInput":
|
||
@if(childrens.Prepend != null)
|
||
{
|
||
@:<template slot="prepend">@(childrens.Prepend)</template>
|
||
}
|
||
@if(childrens.Append != null)
|
||
{
|
||
@:<template slot="append">@(childrens.Append)</template>
|
||
}
|
||
break;
|
||
}
|
||
@:</@(childrens.Tag)>
|
||
break;
|
||
}
|
||
@:</template>
|
||
@:</el-table-column>
|
||
}
|
||
@:<el-table-column label="操作" width="50" v-if="!setting.readonly && !judgeWrite('@(item.Name)')">
|
||
@:<template slot-scope="scope">
|
||
@:<el-button size="mini" type="text" class="JNPF-table-delBtn" @@click="handleDel@(item.ChildTableName)EntityList(scope.$index)">删除</el-button>
|
||
@:</template>
|
||
@:</el-table-column>
|
||
@:</el-table>
|
||
@switch(item.AddType)
|
||
{
|
||
case 0:
|
||
@:<div class="table-actions" @@click="addHandle@(item.ChildTableName)EntityList()" v-if="!setting.readonly && !judgeWrite('@(item.Name)')">
|
||
@:<el-button type="text" icon="el-icon-plus">新增</el-button>
|
||
@:</div>
|
||
break;
|
||
case 1:
|
||
@:<div class="table-actions" @@click="openSelectDialog('@(item.Name)')" v-if="!setting.readonly && !judgeWrite('@(item.Name)')">
|
||
@:<el-button type="text" icon="el-icon-plus">添加</el-button>
|
||
@:</div>
|
||
break;
|
||
}
|
||
@:</el-form-item>
|
||
@:</el-col>
|
||
break;
|
||
case "card":
|
||
@:<el-col :span="@(item.Span)">
|
||
@:<el-card class="mb-20" shadow="@(item.Shadow)">
|
||
@{GenerateFlowflowFormChildrenControls(item.Children,item.Gutter);}
|
||
@:</el-card>
|
||
@:</el-col>
|
||
break;
|
||
case "collapse":
|
||
@:<el-col :span="@(item.Span)">
|
||
@:<el-collapse :accordion="@(item.Accordion)" v-model="@(item.Name)" class="mb-20">
|
||
@foreach(var collapse in item.Children)
|
||
{
|
||
@:<el-collapse-item title="@(collapse.Title)" name="@(collapse.Name)">
|
||
@{GenerateFlowflowFormChildrenControls(collapse.Children,collapse.Gutter);}
|
||
@:</el-collapse-item>
|
||
}
|
||
@:</el-collapse>
|
||
@:</el-col>
|
||
break;
|
||
case "tab":
|
||
@:<el-col :span="@(item.Span)">
|
||
@:<el-tabs type="@(item.Type)" tab-position="@(item.TabPosition)" v-model="@(item.Name)" class="mb-10">
|
||
@foreach(var collapse in item.Children)
|
||
{
|
||
@:<el-tab-pane label="@(collapse.Title)">
|
||
@{GenerateFlowflowFormChildrenControls(collapse.Children,collapse.Gutter);}
|
||
@:</el-tab-pane>
|
||
}
|
||
@:</el-tabs>
|
||
@:</el-col>
|
||
break;
|
||
case "divider":
|
||
@:<el-col :span="@(item.Span)">
|
||
@:<el-form-item label-width="0">
|
||
@:<el-divider content-position="@(item.Contentposition)">@(item.Default)</el-divider>
|
||
@:</el-form-item>
|
||
@:</el-col>
|
||
break;
|
||
case "button":
|
||
@:<el-col :span="@(item.Span)">
|
||
@:<el-form-item label-width="0">
|
||
@:<jnpf-button align="@(item.Align)" buttonText="@(item.ButtonText)" type="@(item.Type)"></jnpf-button>
|
||
@:</el-form-item>
|
||
@:</el-col>
|
||
break;
|
||
case "groupTitle":
|
||
@:<el-col :span="@(item.Span)">
|
||
@:<el-form-item label-width="0">
|
||
@:<groupTitle content-position="@(item.Contentposition)" content="@(item.Content)"></groupTitle>
|
||
@:</el-form-item>
|
||
@:</el-col>
|
||
break;
|
||
case "link":
|
||
@:<el-col :span="@(item.Span)">
|
||
@:<el-form-item label-width="0">
|
||
@:<jnpf-link content="@(item.Content)" href="@(item.Href)" target="@(item.Target)" :textStyle='@(item.TextStyle)'></jnpf-link>
|
||
@:</el-form-item>
|
||
@:</el-col>
|
||
break;
|
||
case "alert":
|
||
@:<el-col :span="@(item.Span)">
|
||
@:<el-form-item label-width="0">
|
||
@:<el-alert title="@(item.Title)" type="@(item.Type)" :closable="false" :show-icon="@(item.ShowIcon)"></el-alert>
|
||
@:</el-form-item>
|
||
@:</el-col>
|
||
break;
|
||
case "JNPFText":
|
||
@:<el-col :span="@(item.Span)">
|
||
@:<el-form-item label-width="0">
|
||
@:<JNPF-Text value="@(item.DefaultValue)" :textStyle='@(item.TextStyle)' :style='@(item.Style)' ></JNPF-Text>
|
||
@:</el-form-item>
|
||
@:</el-col>
|
||
break;
|
||
case "relationFormAttr":
|
||
case "popupAttr":
|
||
@if(item.NoShow == "")
|
||
{
|
||
@:<el-col :span="@(item.Span)" v-if="judgeShow('@(item.OriginalName)')">
|
||
}else{
|
||
@:<el-col :span="@(item.Span)" @(item.NoShow)>
|
||
}
|
||
@:<el-form-item label="@(item.Label)">
|
||
@:<@(item.Tag) @(item.Style)relationField="@(item.RelationField)" isStorage="@(item.IsStorage)" @(item.vModel) showField="@(item.ShowField)"></@(item.Tag)>
|
||
@:</el-form-item>
|
||
@:</el-col>
|
||
break;
|
||
default:
|
||
@if(item.NoShow == "")
|
||
{
|
||
@:<el-col :span="@(item.Span)" v-if="judgeShow('@(item.OriginalName)')">
|
||
}else
|
||
{
|
||
@:<el-col :span="@(item.Span)" @(item.NoShow)>
|
||
}
|
||
@:<el-form-item label="@(item.Label)" prop="@(item.LowerName)">
|
||
@:<@(item.Tag) v-model="dataForm.@(item.Name)" @(item.Field)@(item.Placeholder)@(item.MainProps)@(item.Clearable)@(item.Readonly)@(item.Required)@(item.IsDisabled)@(item.ShowWordLimit)@(item.IsRange)@(item.Style)@(item.Type)@(item.Format)@(item.ValueFormat)@(item.AutoSize)@(item.Multiple)@(item.Size)@(item.PrefixIcon)@(item.SuffixIcon)@(item.MaxLength)@(item.Step)@(item.StepStrictly)@(item.ControlsPosition)@(item.ShowChinese)@(item.ShowPassword)@(item.Filterable)@(item.ShowAllLevels)@(item.RangeSeparator)@(item.StartPlaceholder)@(item.EndPlaceholder)@(item.Separator)@(item.PickerOptions)@(item.Max)@(item.Min)@(item.AllowHalf)@(item.ShowTexts)@(item.ShowScore)@(item.ShowAlpha)@(item.ColorFormat)@(item.ActiveText)@(item.InactiveText)@(item.ActiveColor)@(item.IsSwitch)@(item.ShowStops)@(item.Range)@(item.Accept)@(item.ShowTip)@(item.FileSize)@(item.SizeUnit)@(item.Limit)@(item.Contentposition)@(item.ButtonText)@(item.Level)@(item.ActionText)@(item.Shadow)@(item.Content)@(item.Options)@(item.ModelId != ""? "modelId='"+ item.ModelId +"' " :"")@(item.RelationField)@(item.ColumnOptions)@(item.HasPage)@(item.PageSize)@(item.PropsValue)@(item.InterfaceId)@(item.Precision)@(item.PopupType)@(item.PopupTitle)@(item.PopupWidth)@(item.SelectType != "" ? "selectType='" + item.SelectType + "' " : "")@(item.IsCustomSelect ? @item.AbleIds + @item.AbleDepIds + @item.AblePosIds + @item.AbleUserIds + @item.AbleRoleIds + @item.AbleGroupIds : "")@(item.UserRelationAttr)@(item.TemplateJson)@(item.IsLinkage ? ":formData='dataForm' ": "")@(item.IsLinked ? "@change='"+ @item.LowerName +"Change'":"")>
|
||
switch(item.jnpfKey)
|
||
{
|
||
case "select":
|
||
@:<el-option v-for="(item, index) in @(item.LowerName)Options" :key="index" :label="item.@(item.Props.label)" :value="item.@(item.Props.value)" ></el-option>
|
||
break;
|
||
case "radio":
|
||
@:<el-radio@(item.OptionType) v-for="(item, index) in @(item.LowerName)Options" :key="index" :label="item.@(item.Props.value)" @(item.Border)>{{item.@(item.Props.label)}}</el-radio@(item.OptionType)>
|
||
break;
|
||
case "checkbox":
|
||
@:<el-checkbox@(item.OptionType) v-for="(item, index) in @(item.LowerName)Options" :key="index" :label="item.@(item.Props.value)" @(item.Border)>{{item.@(item.Props.label)}}</el-checkbox@(item.OptionType)>
|
||
break;
|
||
case "comInput":
|
||
@if(item.Prepend != null)
|
||
{
|
||
@:<template slot="prepend">@(item.Prepend)</template>
|
||
}
|
||
@if(item.Append != null)
|
||
{
|
||
@:<template slot="append">@(item.Append)</template>
|
||
}
|
||
break;
|
||
}
|
||
@:</@(item.Tag)>
|
||
@:</el-form-item>
|
||
@:</el-col>
|
||
break;
|
||
}
|
||
}
|
||
}
|
||
} |