ZaiZai 1 year ago
parent
commit
4487dd0eb0
1 changed files with 59 additions and 11 deletions
  1. 59 11
      src/views/project/list/set-input.vue

+ 59 - 11
src/views/project/list/set-input.vue

@@ -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') {