|
@@ -4,12 +4,12 @@
|
|
|
<el-form-item label="元素坐标:" prop="name">
|
|
|
<el-input v-model="formModel.name" placeholder="请点击左侧表单" disabled />
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="文本格式:" prop="type">
|
|
|
- <el-select v-model="formModel.type" filterable block placeholder="请选择文本格式">
|
|
|
+ <el-form-item label="文本格式:" prop="textId">
|
|
|
+ <el-select v-model="formModel.textId" filterable block placeholder="请选择文本格式">
|
|
|
<el-option v-for="item in sysTextType" :key="item.value" :label="item.label" :value="item.value" />
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
- <el-row v-if="formModel.type === 'date' || formModel.type === 'daterange'" :gutter="20">
|
|
|
+ <el-row v-if="formModel.textId === 'date' || formModel.textId === 'daterange'" :gutter="20">
|
|
|
<el-col :span="18">
|
|
|
<el-form-item label="日期格式:" prop="date">
|
|
|
<el-checkbox-group v-model="formModel.date">
|
|
@@ -27,7 +27,7 @@
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
</el-row>
|
|
|
- <el-row v-if="formModel.type === 'date' || formModel.type === 'daterange'" :gutter="20">
|
|
|
+ <el-row v-if="formModel.textId === 'date' || formModel.textId === 'daterange'" :gutter="20">
|
|
|
<el-col :span="18">
|
|
|
<el-form-item label="时间格式:" prop="time">
|
|
|
<el-checkbox-group v-model="formModel.time">
|
|
@@ -53,7 +53,7 @@
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
</el-form>
|
|
|
- <hc-card-item v-if="['select', 'radio', 'checkbox', 'selectBox'].indexOf(formModel.type) !== -1" title="相关数据:">
|
|
|
+ <hc-card-item v-if="['select', 'radio', 'checkbox', 'selectBox'].indexOf(formModel.textId) !== -1" title="相关数据:">
|
|
|
<template #extra>
|
|
|
<el-button type="primary" size="small" @click="addTableData">新增</el-button>
|
|
|
</template>
|
|
@@ -77,7 +77,7 @@
|
|
|
|
|
|
<script setup>
|
|
|
import { onMounted, ref, watch } from 'vue'
|
|
|
-import { formValidate, getObjValue, isNullES } from 'js-fast-way'
|
|
|
+import { deepClone, formValidate, getObjValue, isNullES } from 'js-fast-way'
|
|
|
import { getDictionaryData } from '~uti/tools'
|
|
|
|
|
|
const props = defineProps({
|
|
@@ -98,7 +98,6 @@ watch(() => props.info, (data) => {
|
|
|
|
|
|
//渲染完成
|
|
|
onMounted(() => {
|
|
|
- console.log(dataInfo.value)
|
|
|
getDataApi()
|
|
|
})
|
|
|
|
|
@@ -123,7 +122,7 @@ const formModel = ref({
|
|
|
})
|
|
|
const formRules = {
|
|
|
name: { required: true, trigger: 'blur', message: '请先获取元素坐标' },
|
|
|
- type: { required: true, trigger: 'blur', message: '请选择文本格式' },
|
|
|
+ textId: { required: true, trigger: 'blur', message: '请选择文本格式' },
|
|
|
date: { required: true, trigger: 'blur', message: '请选择日期格式' },
|
|
|
divide_y: { required: true, trigger: 'blur', message: '请选择日期分割' },
|
|
|
time: { required: true, trigger: 'blur', message: '请选择时间格式' },
|
|
@@ -153,7 +152,52 @@ const submitLoading = ref(false)
|
|
|
const dialogSubmit = async () => {
|
|
|
const isForm = await formValidate(formRef.value)
|
|
|
if (!isForm) return false
|
|
|
- console.log(formModel.value)
|
|
|
+ const form = deepClone(formModel.value)
|
|
|
+ //如果日期存在
|
|
|
+ if (form.textId === 'date' || form.textId === 'daterange') {
|
|
|
+ let dateFormat = []
|
|
|
+ if (!isNullES(form.date) && form.date.length > 0) {
|
|
|
+ if (form.date.indexOf('YYYY') !== -1) {
|
|
|
+ dateFormat.push({ name: '年', value: 'YYYY' })
|
|
|
+ }
|
|
|
+ if (form.date.indexOf('MM') !== -1) {
|
|
|
+ dateFormat.push({ name: '月', value: 'MM' })
|
|
|
+ }
|
|
|
+ if (form.date.indexOf('DD') !== -1) {
|
|
|
+ dateFormat.push({ name: '日', value: 'DD' })
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if (!isNullES(form.time) && form.time.length > 0) {
|
|
|
+ if (form.time.indexOf('HH') !== -1) {
|
|
|
+ dateFormat.push({ name: '时', value: 'HH' })
|
|
|
+ }
|
|
|
+ if (form.time.indexOf('mm') !== -1) {
|
|
|
+ dateFormat.push({ name: '分', value: 'mm' })
|
|
|
+ }
|
|
|
+ if (form.time.indexOf('ss') !== -1) {
|
|
|
+ dateFormat.push({ name: '秒', value: 'ss' })
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if (!isNullES(form.date) && !isNullES(form.time)) {
|
|
|
+ if (!isNullES(form.divide_y)) {
|
|
|
+ dateFormat.push({ name: 'divide_y', value: form.divide_y })
|
|
|
+ }
|
|
|
+ if (!isNullES(form.divide_h)) {
|
|
|
+ dateFormat.push({ name: 'divide_h', value: form.divide_h })
|
|
|
+ }
|
|
|
+ if (!isNullES(form.divide_c)) {
|
|
|
+ dateFormat.push({ name: 'divide_c', value: form.divide_c })
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if (dateFormat.length > 0) {
|
|
|
+ form.dateFormat = dateFormat
|
|
|
+ }
|
|
|
+ }
|
|
|
+ //下拉框等数组数据
|
|
|
+ if (['select', 'radio', 'checkbox', 'selectBox'].indexOf(form.textId) !== -1) {
|
|
|
+ form.textInfo = tableData.value
|
|
|
+ }
|
|
|
+ console.log(form)
|
|
|
/*submitLoading.value = true
|
|
|
const { isRes } = await mainApi.submitExcelElement(formModel.value)
|
|
|
submitLoading.value = false
|
|
@@ -183,12 +227,16 @@ const typeObj = {
|
|
|
echart: 'echart',
|
|
|
}
|
|
|
const setDomData = (item) => {
|
|
|
- console.log(item)
|
|
|
const type = typeObj[item.type]
|
|
|
+ const { pkeyId } = dataInfo.value
|
|
|
formModel.value = {
|
|
|
name: item.text,
|
|
|
key: item.key,
|
|
|
- type: type,
|
|
|
+ type: '1',
|
|
|
+ trIndex: item.tr,
|
|
|
+ tdIndex: item.td,
|
|
|
+ textId: type,
|
|
|
+ tableId: pkeyId,
|
|
|
}
|
|
|
let newArr = []
|
|
|
if (type === 'selectBox' || type === 'select' || type === 'radio') {
|