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

Loading…
Cancel
Save