|
|
@@ -1,7 +1,8 @@
|
|
|
+@{Dictionary<string, int> definedObjects = new Dictionary<string, int>();}
|
|
|
<template>
|
|
|
<div class="@(@Model.LowerClassName)-container">
|
|
|
- <el-dialog v-model="isShowDialog" :title="props.title" :width="700" draggable="">
|
|
|
- <el-form :model="ruleForm" ref="ruleFormRef" size="default" label-width="100px" :rules="rules">
|
|
|
+ <el-dialog v-model="isShowDialog" :title="props.title" :width="800" draggable="">
|
|
|
+ <el-form :model="ruleForm" ref="ruleFormRef" size="default" label-width="130px" :rules="rules">
|
|
|
<el-row :gutter="35">
|
|
|
@foreach (var column in Model.TableField){
|
|
|
if(@column.ColumnKey == "True"){
|
|
|
@@ -14,13 +15,33 @@
|
|
|
@:<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
|
|
|
@:<el-form-item label="@column.ColumnComment" prop="@(@column.LowerColumnName)">
|
|
|
@:<el-select clearable filterable v-model="ruleForm.@(@column.LowerColumnName)" placeholder="请选择@(@column.ColumnComment)">
|
|
|
- @:<el-option v-for="(item,index) in @LowerFirstLetter(@column.FkEntityName)DropdownList" :key="index" :value="item.value" :label="item.label" />
|
|
|
+ @:<el-option v-for="(item,index) in @LowerFirstLetter(@column.FkEntityName)@(@column.ColumnName)DropdownList" :key="index" :value="item.value" :label="item.label" />
|
|
|
@:
|
|
|
</el-select>
|
|
|
@:
|
|
|
</el-form-item>
|
|
|
@:
|
|
|
</el-col>
|
|
|
+ }else if(@column.EffectType == "ApiTreeSelect"){
|
|
|
+ @:<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
|
|
|
+ @:<el-form-item label="@column.ColumnComment" prop="@(@column.LowerColumnName)">
|
|
|
+ <el-cascader
|
|
|
+ @:options="@LowerFirstLetter(@column.FkEntityName)TreeData"
|
|
|
+ @:props="{ checkStrictly: true, emitPath: false, value: '@LowerFirstLetter(@column.ValueColumn)', label: '@LowerFirstLetter(@column.DisplayColumn)' }"
|
|
|
+ placeholder="请选择@(column.ColumnComment)"
|
|
|
+ clearable=""
|
|
|
+ class="w100"
|
|
|
+ @:v-model="ruleForm.@(column.LowerColumnName)"
|
|
|
+ >
|
|
|
+ <template #default="{ node, data }">
|
|
|
+ <span>{{ data.name }}</span>
|
|
|
+ <span v-if="!node.isLeaf"> ({{ data.children.length }}) </span>
|
|
|
+ </template>
|
|
|
+ </el-cascader>
|
|
|
+ @:
|
|
|
+ </el-form-item>
|
|
|
+ @:
|
|
|
+ </el-col>
|
|
|
}else if(@column.EffectType == "Input"){
|
|
|
@:<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
|
|
|
@:<el-form-item label="@column.ColumnComment" prop="@(@column.LowerColumnName)">
|
|
|
@@ -134,8 +155,12 @@
|
|
|
}
|
|
|
import { add@(@Model.ClassName), update@(@Model.ClassName) } from "/@@/api/main/@(@Model.LowerClassName)";
|
|
|
@foreach (var column in Model.TableField){
|
|
|
+ if(@column.EffectType == "ApiTreeSelect" && !definedObjects.ContainsKey("import__@(@column.FkEntityName)Tree")){
|
|
|
+ @{definedObjects.Add("import__@(@column.FkEntityName)Tree", 1);}
|
|
|
+ @:import { get@(@column.FkEntityName)Tree } from '/@@/api/main/@(@Model.LowerClassName)';
|
|
|
+ }
|
|
|
if(@column.EffectType == "fk"){
|
|
|
- @:import { get@(@column.FkEntityName)Dropdown } from '/@@/api/main/@(@Model.LowerClassName)';
|
|
|
+ @:import { get@(@column.FkEntityName)@(@column.ColumnName)Dropdown } from '/@@/api/main/@(@Model.LowerClassName)';
|
|
|
}
|
|
|
}
|
|
|
@if(@Model.TableField.Any(x=>x.EffectType == "Select")){
|
|
|
@@ -221,12 +246,25 @@ const submit = async () => {
|
|
|
|
|
|
@foreach (var column in Model.TableField){
|
|
|
if(@column.EffectType == "fk"){
|
|
|
-@:const @LowerFirstLetter(@column.FkEntityName)DropdownList = ref<any>([]);
|
|
|
-@:const get@(@column.FkEntityName)DropdownList = async () => {
|
|
|
- @:let list = await get@(@column.FkEntityName)Dropdown();
|
|
|
- @:@LowerFirstLetter(@column.FkEntityName)DropdownList.value = list.data.result ?? [];
|
|
|
+@:const @LowerFirstLetter(@column.FkEntityName)@(@column.ColumnName)DropdownList = ref<any>([]);
|
|
|
+@:const get@(@column.FkEntityName)@(@column.ColumnName)DropdownList = async () => {
|
|
|
+ @:let list = await get@(@column.FkEntityName)@(@column.ColumnName)Dropdown();
|
|
|
+ @:@LowerFirstLetter(@column.FkEntityName)@(@column.ColumnName)DropdownList.value = list.data.result ?? [];
|
|
|
+@:};
|
|
|
+@:get@(@column.FkEntityName)@(@column.ColumnName)DropdownList();
|
|
|
+@:
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+@foreach (var column in Model.TableField){
|
|
|
+ if(@column.EffectType == "ApiTreeSelect" && !definedObjects.ContainsKey("define_get@(@column.FkEntityName)TreeData")){
|
|
|
+ @{definedObjects.Add("define_get@(@column.FkEntityName)TreeData", 1);}
|
|
|
+@:const @LowerFirstLetter(@column.FkEntityName)TreeData = ref<any>([]);
|
|
|
+@:const get@(@column.FkEntityName)TreeData = async () => {
|
|
|
+ @:let list = await get@(@column.FkEntityName)Tree();
|
|
|
+ @:@LowerFirstLetter(@column.FkEntityName)TreeData.value = list.data.result ?? [];
|
|
|
@:};
|
|
|
-@:get@(@column.FkEntityName)DropdownList();
|
|
|
+@:get@(@column.FkEntityName)TreeData();
|
|
|
@:
|
|
|
}
|
|
|
else if(@column.EffectType == "ConstSelector"){
|
|
|
@@ -257,7 +295,7 @@ if(@column.EffectType == "Upload"){
|
|
|
onMounted(async () => {
|
|
|
@foreach (var column in Model.TableField){
|
|
|
if(@column.EffectType == "Select"){
|
|
|
- @:getEdit@(@column.LowerColumnName)Data.value= await dictTypeDataList('@(@column.DictTypeCode)');
|
|
|
+ @:getEdit@(@column.LowerColumnName)Data.value= await dictTypeDataList('@(@column.DictTypeCode)');
|
|
|
}
|
|
|
}
|
|
|
});
|