Browse Source

使用lwx_v10版本文件

lwx_v12
liwenxuan 1 year ago
parent
commit
1856f8638f
  1. 4182
      src/components/DesignForm/formControlPropertiNew.vue
  2. 170
      src/components/DesignForm/public/form/childTable.vue

4182
src/components/DesignForm/formControlPropertiNew.vue

File diff suppressed because it is too large

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

@ -3,69 +3,70 @@
@ 时间: 2023-07-14 08:51:25
@ 备注: 表单子表
-->
<script lang="ts" setup>
import FormItem from "./formItem.vue";
import { inject, computed } from "vue";
import Tooltips from "@/components/DesignForm/tooltip.vue";
import { constFormProps } from "@/api/DesignForm/utils";
import { jsonParseStringify } from "@/utils/DesignForm";
import LowcodeImagePage from "@/components/DesignForm/public/expand/lowcodeImage.vue";
import AssociatedForms from "@/widget/associatedforms/index.vue";
import UploadPageList from "@/components/DesignForm/public/expand/uploadPageList.vue";
<script lang='ts' setup>
import FormItem from './formItem.vue'
import { inject, computed } from 'vue'
import Tooltips from '@/components/DesignForm/tooltip.vue'
import {constFormProps } from '@/api/DesignForm/utils'
import { jsonParseStringify } from '@/utils/DesignForm'
import LowcodeImagePage from '@/components/DesignForm/public/expand/lowcodeImage.vue'
import AssociatedForms from '@/widget/associatedforms/index.vue'
import UploadPageList from '@/components/DesignForm/public/expand/uploadPageList.vue'
import LokOrgCentent from '@/widget/org/cont.vue'
import { SCOPE } from 'element-plus'
import LokOrgCentent from "@/widget/org/cont.vue";
import { SCOPE } from "element-plus";
const props = withDefaults(
defineProps<{
data: any;
data: any
}>(),
{
data: () => {
return {};
},
return {}
}
}
);
const formProps = inject(constFormProps, {}) as any;
)
const formProps = inject(constFormProps, {}) as any
const tableDataNew = computed(() => {
// console.log("-----1---->",props.data.name)
// console.log("-----2---->",formProps.value.model[props.data.name])
// console.log("-----3---->",formProps.value.model)
// console.log("-----4---->",formProps.value)
return formProps.value.model[props.data.name];
});
return formProps.value.model[props.data.name]
})
const type = computed(() => {
return formProps.value.type;
});
return formProps.value.type
})
// true
const editDisabled = computed(() => {
return formProps.value.type === 2 && props.data.config?.editDisabled;
});
return formProps.value.type === 2 && props.data.config?.editDisabled
})
const addColumn = () => {
// console.log("--------->",tableDataNew.value)
const temp: any = {};
const temp: any = {}
if (props.data.list) {
props.data.list.forEach((item: any) => {
if (item.name) {
temp[item.name] = item.control.modelValue;
temp[item.name] = item.control.modelValue
}
})
tableDataNew.value.push(jsonParseStringify(temp))
}
});
tableDataNew.value.push(jsonParseStringify(temp));
}
};
const getText = (text: any,val:any,name:any) => {
console.log("text===>", text);
console.log("name===>", name);
console.log("val===>", val);
if (typeof text === "string") {
return text;
console.log("text===>",text)
console.log("name===>",name)
console.log("val===>",val)
if (typeof text === 'string') {
return text
} else {
return text && text.toString();
return text && text.toString()
}
}
};
const delColumn = (index: number) => {
tableDataNew.value.splice(index, 1);
};
tableDataNew.value.splice(index, 1)
}
/**
@ 作者: 秦东
@ 时间: 2024-08-02 13:22:14
@ -74,31 +75,31 @@ const delColumn = (index: number) => {
const timeToAry = (timestamp:number) => {
const date = new Date(timestamp);
const year = date.getFullYear();
const month = ("0" + (date.getMonth() + 1)).slice(-2);
const day = ("0" + date.getDate()).slice(-2);
const hours = ("0" + date.getHours()).slice(-2);
const minutes = ("0" + date.getMinutes()).slice(-2);
const seconds = ("0" + date.getSeconds()).slice(-2);
const month = ('0' + (date.getMonth() + 1)).slice(-2);
const day = ('0' + date.getDate()).slice(-2);
const hours = ('0' + date.getHours()).slice(-2);
const minutes = ('0' + date.getMinutes()).slice(-2);
const seconds = ('0' + date.getSeconds()).slice(-2);
return {
year:year,
month:month,
day:day,
hours:hours,
minutes:minutes,
seconds,
};
};
seconds
}
}
/**
@ 作者: 秦东
@ 时间: 2024-08-02 13:02:49
@ 功能: 将时间戳转换成字符串
*/
const timeToString = (timeVal:any,types:int) => {
let timeStr = "";
let timeStr = ""
if(Array.isArray(timeVal)){
if(timeVal.length >= 2){
let startTime = timeToAry(timeVal[0]);
let endTime = timeToAry(timeVal[1]);
let startTime = timeToAry(timeVal[0])
let endTime = timeToAry(timeVal[1])
switch(types){
case "year": //
timeStr = `${startTime.year}${endTime.year}`;
@ -110,8 +111,8 @@ const timeToString = (timeVal: any, types: int) => {
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;
case "week": //
let startWeek = getYearWeek(startTime);
let endWeek = getYearWeek(endTime);
let startWeek = getYearWeek(startTime)
let endWeek = getYearWeek(endTime)
timeStr = `${startWeek}${endWeek}`;
break;
case "timeCalss": //
@ -131,7 +132,7 @@ const timeToString = (timeVal: any, types: int) => {
break;
}
}else if(timeVal.length == 1){
let { year, month, day, hours, minutes, seconds } = timeToAry(timeVal[0]);
let {year,month,day,hours,minutes,seconds} = timeToAry(timeVal[0])
switch(types){
case "year": //
timeStr = `${year}`;
@ -143,20 +144,20 @@ const timeToString = (timeVal: any, types: int) => {
timeStr = `${year}-${month}-${day} ${hours}:${minutes}:${seconds}`;
break;
case "week": //
timeStr = getYearWeek(timeVal);
timeStr = getYearWeek(timeVal)
break;
case "timeCalss": //
timeStr = `${hours}:${minutes}:${seconds}`;
break;
default:
timeStr = `${year}-${month}-${day}`;
timeStr = `${year}-${month}-${day}`
break;
}
}else{
timeStr = "未知时间";
timeStr = "未知时间"
}
}else{
let { year, month, day, hours, minutes, seconds } = timeToAry(timeVal);
let {year,month,day,hours,minutes,seconds} = timeToAry(timeVal)
switch(types){
case "year": //
timeStr = `${year}`;
@ -168,32 +169,37 @@ const timeToString = (timeVal: any, types: int) => {
timeStr = `${year}-${month}-${day} ${hours}:${minutes}:${seconds}`;
break;
case "week": //
timeStr = getYearWeek(timeVal);
timeStr = getYearWeek(timeVal)
break;
case "timeCalss": //
timeStr = `${hours}:${minutes}:${seconds}`;
break;
default:
timeStr = `${year}-${month}-${day}`;
timeStr = `${year}-${month}-${day}`
break;
}
}
return timeStr;
};
let associatedFormsIndexTablekey = 0;
return timeStr
}
let associatedFormsIndexTablekey = 0
const emits = defineEmits<{
(e: "asfValueChanged", val: any): void;
}>();
(e: 'asfValueChanged', val: any): void
}>()
function asfValueChanged(val:any){
//console.log("childTable-asfValueChanged",val)
emits("asfValueChanged", val);
emits("asfValueChanged",val)
}
</script>
<template>
<div class="form-table form-table-add">
<el-table v-bind="data.control" :class="[data.className]" :data="tableDataNew">
<el-table
v-bind="data.control"
:class="[data.className]"
:data="tableDataNew"
>
<el-table-column
v-for="(item, index) in data.list"
:key="index"
@ -202,37 +208,27 @@ function asfValueChanged(val: any) {
:width="item.item.span"
>
<template #default="scope">
<span v-if="item.type === 'index'">{{ scope.$index + 1 }}</span>
<div v-if="type === 4 || editDisabled">
<LokOrgCentent
v-if="item.type == 'orgCentent'"
:orgid="scope.row[item.name].toString()"
/>
<LokOrgCentent v-if="item.type == 'orgCentent'" :orgid="scope.row[item.name].toString()" />
<div v-else-if="item.type=='lowcodeImage'">
<LowcodeImagePage :data="item" v-model="scope.row[item.name]" />
<LowcodeImagePage :data="item"
v-model="scope.row[item.name]" />
</div>
<div v-else-if="item.type=='upload'" >
<UploadPageList
:data="item"
:img-list="scope.row[item.name]"
:control="item.control"
/>
<UploadPageList :data="item" :img-list="scope.row[item.name]" :control="item.control" />
</div>
<div v-else-if="item.type=='datePicker'" v-html="timeToString(scope.row[item.name],item.control.type)">
</div>
<div
v-else-if="item.type == 'datePicker'"
v-html="timeToString(scope.row[item.name], item.control.type)"
></div>
<div v-else-if="item.type=='associatedForms'">
<AssociatedForms
:data="item"
v-model="scope.row[item.name]"
:tablekey="associatedFormsIndexTablekey"
:row-index="scope.$index"
/>
<AssociatedForms :data="item"
v-model="scope.row[item.name]" :tablekey="associatedFormsIndexTablekey" :row-index="scope.$index"/>
</div>
<div v-else>{{ getText(scope.row[item.name],scope.row,item.name) }}</div>
</div>
<div v-else>
<form-item
v-model="scope.row[item.name]"
:tProp="`${data.name}.${scope.$index}.${item.name}`"
@ -253,9 +249,7 @@ function asfValueChanged(val: any) {
v-if="[1, 2].includes(type as number) && data.config.delBtnText && !editDisabled"
>
<template #default="scope">
<el-button link type="primary" @click="delColumn(scope.$index)">{{
data.config.delBtnText
}}</el-button>
<el-button link type="primary" @click="delColumn(scope.$index)">{{ data.config.delBtnText }}</el-button>
</template>
</el-table-column>
</el-table>
@ -267,4 +261,6 @@ function asfValueChanged(val: any) {
</div>
</div>
</template>
<style lang="scss" scoped></style>
<style lang='scss' scoped>
</style>

Loading…
Cancel
Save