Browse Source

子表默认添加一行设置及效果实现

lwx_v27
liwenxuan 3 weeks ago
parent
commit
cac33618a0
  1. 3
      src/components/DesignForm/app/index.vue
  2. 3
      src/components/DesignForm/assembly/index.ts
  3. 18
      src/components/DesignForm/formControlPropertiNew.vue
  4. 2
      src/components/DesignForm/public/expand/rangedUserTree.vue
  5. 22
      src/components/DesignForm/public/form/childTable.vue
  6. 14
      src/components/DesignForm/public/form/form.vue

3
src/components/DesignForm/app/index.vue

@ -1165,7 +1165,8 @@ function dateStringToTimestampLocal(dateStr: string) {
const isoStr = dateStr.replace(' ', 'T'); const isoStr = dateStr.replace(' ', 'T');
const timestamp = new Date(isoStr).getTime(); const timestamp = new Date(isoStr).getTime();
if (isNaN(timestamp)) { if (isNaN(timestamp)) {
throw new Error('Invalid date string'); //throw new Error('Invalid date string');
return ''
} }
return String(timestamp); return String(timestamp);
} }

3
src/components/DesignForm/assembly/index.ts

@ -687,7 +687,8 @@ export default [
}, },
tableData: [], // 子表表格列表数据集合 tableData: [], // 子表表格列表数据集合
control: { control: {
border: true border: true,
defaultOne: ''
}, },
config: { config: {
addBtnText: '添加一行' addBtnText: '添加一行'

18
src/components/DesignForm/formControlPropertiNew.vue

@ -823,6 +823,14 @@ const attrList = computed(() => {
vIf: state.isSearch, vIf: state.isSearch,
vShow: ["orgCentent"], vShow: ["orgCentent"],
}, },
{
label: "默认一行",
value: config.table,
path: "config.table",
type: "table_defaultOne",
vIf: state.isSearch,
vShow: ["table"],
},
{ {
label: "数据范围", label: "数据范围",
value: config.expandUser, value: config.expandUser,
@ -4734,8 +4742,18 @@ const formatTooltip = (val: number) => {
<el-radio value=""></el-radio> <el-radio value=""></el-radio>
</el-radio-group> </el-radio-group>
</el-row><!-- -->
<el-row v-else-if="item.type === 'table_defaultOne'">
<el-radio-group v-model="controlData.control.defaultOne">
<el-radio value=""></el-radio>
<el-radio value="2"></el-radio>
</el-radio-group>
</el-row> </el-row>
<el-row v-else-if="item.type === 'expand-user'"> <el-row v-else-if="item.type === 'expand-user'">
<el-button @click="handleUserRangeDialogFlag">可选用户设置</el-button> <el-button @click="handleUserRangeDialogFlag">可选用户设置</el-button>
</el-row> </el-row>

2
src/components/DesignForm/public/expand/rangedUserTree.vue

@ -105,7 +105,7 @@ function checkorgAndManTree1() {
if (i == props.orgAndManTree.length) { if (i == props.orgAndManTree.length) {
props.orgAndManTree.forEach((item: any) => { props.orgAndManTree.forEach((item: any) => {
if (props.data.name == item.name) { if (props.data.name == item.name) {
console.log(item.tree) //console.log(item.tree)
result = item.tree result = item.tree
} }
}); });

22
src/components/DesignForm/public/form/childTable.vue

@ -5,7 +5,7 @@
--> -->
<script lang="ts" setup> <script lang="ts" setup>
import FormItem from "./formItem.vue"; import FormItem from "./formItem.vue";
import { inject, computed } from "vue"; import { inject, computed, onMounted} from "vue";
import Tooltips from "@/components/DesignForm/tooltip.vue"; import Tooltips from "@/components/DesignForm/tooltip.vue";
import { constFormProps } from "@/api/DesignForm/utils"; import { constFormProps } from "@/api/DesignForm/utils";
import { jsonParseStringify } from "@/utils/DesignForm"; import { jsonParseStringify } from "@/utils/DesignForm";
@ -47,6 +47,21 @@ const type = computed(() => {
const editDisabled = computed(() => { const editDisabled = computed(() => {
return formProps.value.type === 2 && props.data.config?.editDisabled; return formProps.value.type === 2 && props.data.config?.editDisabled;
}); });
const defaultOneFlag = ref(true)
//,
onMounted(()=>{
if(props.data.control.defaultOne == 2){
defaultOneFlag.value = false
}
if(formProps.value.type === 1&&defaultOneFlag.value){
setTimeout(()=>{
//alert(defaultOneFlag)
addColumn()
},200)
}
})
const addColumn = () => { const addColumn = () => {
console.log("如果编辑页禁用时--------->", tableDataNew.value); console.log("如果编辑页禁用时--------->", tableDataNew.value);
const temp: any = {}; const temp: any = {};
@ -96,6 +111,9 @@ const timeToAry = (timestamp: number) => {
seconds, seconds,
}; };
}; };
/*
*/
/** /**
@ 作者: 秦东 @ 作者: 秦东
@ 时间: 2024-08-02 13:02:49 @ 时间: 2024-08-02 13:02:49
@ -126,7 +144,7 @@ const timeToString = (timeVal: any, types: int) => {
timeStr = `${startTime.hours}:${startTime.minutes}:${startTime.seconds}${endTime.hours}:${endTime.minutes}:${endTime.seconds}`; timeStr = `${startTime.hours}:${startTime.minutes}:${startTime.seconds}${endTime.hours}:${endTime.minutes}:${endTime.seconds}`;
break; break;
case "datetimerange": case "datetimerange":
timeStr = `${startTime.year}-${startTime.month}-${startTime.day} ${startTime.hours}:${startTime.minutes}:${startTime.seconds}${endTime.year}-${endTime.month}-${endTime.day} ${endTime.hours}:${endTime.minutes}:${endTime.seconds}`; timeStr = `${startTime.year}-${startTime.month}-${startTime.day} ${startTime.hours}:${startTime.minutes}:${startTime.seconds}${endTime.year}-${endTime.month}-${endTime.day} ${endTime.hours}:${endTime.minutes}:${endTime.seconds}`;//
break; break;
case "daterange": case "daterange":
timeStr = `${startTime.year}-${startTime.month}-${startTime.day}${endTime.year}-${endTime.month}-${endTime.day}`; timeStr = `${startTime.year}-${startTime.month}-${startTime.day}${endTime.year}-${endTime.month}-${endTime.day}`;

14
src/components/DesignForm/public/form/form.vue

@ -1921,6 +1921,8 @@ const asfs: any[] = [];
const rangedUsers :any= []; const rangedUsers :any= [];
const tables: any[] = []; const tables: any[] = [];
const getAsfsRunedFlag = ref(false)
function getAsfs() { function getAsfs() {
/* setTimeout(() => { */ /* setTimeout(() => { */
if(props.formData.list&&props.formData.list.length>0){ if(props.formData.list&&props.formData.list.length>0){
@ -2004,6 +2006,7 @@ function getAsfs() {
} }
checkAndGetTree() checkAndGetTree()
} }
getAsfsRunedFlag.value = true
}else{ }else{
setTimeout(()=>{ setTimeout(()=>{
getAsfs() getAsfs()
@ -2024,9 +2027,14 @@ function checkAndGetTree(){
if(rangedUsers.length>0){ if(rangedUsers.length>0){
getTree1(); getTree1();
}else{ }else{
setTimeout(()=>{ if(getAsfsRunedFlag){
checkAndGetTree()
},100) }else{
setTimeout(()=>{
checkAndGetTree()
},100)
}
} }

Loading…
Cancel
Save