8
0
ZaiZai преди 8 месеца
родител
ревизия
1ed879a89c
променени са 4 файла, в които са добавени 47 реда и са изтрити 41 реда
  1. 2 2
      package.json
  2. 8 3
      src/views/project/list/adjust-excel.vue
  3. 29 28
      src/views/project/list/set-input.vue
  4. 8 8
      yarn.lock

+ 2 - 2
package.json

@@ -18,7 +18,7 @@
         "dayjs": "^1.11.11",
         "echarts": "^5.5.1",
         "element-plus": "2.7.6",
-        "hc-vue3-ui": "^4.0.6",
+        "hc-vue3-ui": "^4.0.7",
         "js-base64": "^3.7.7",
         "js-fast-way": "^0.5.0",
         "js-md5": "^0.8.3",
@@ -38,7 +38,7 @@
         "bignumber.js": "^9.1.2",
         "eslint": "^8.56.0",
         "eslint-plugin-vue": "^9.24.0",
-        "sass": "^1.77.6",
+        "sass": "^1.77.7",
         "screenfull": "^6.0.2",
         "unocss": "^0.58.9",
         "unocss-preset-extra": "^0.5.3",

+ 8 - 3
src/views/project/list/adjust-excel.vue

@@ -10,7 +10,7 @@
                 <template #header>
                     <el-segmented v-model="tabsKey" :options="tabsProps" @change="tabsChange" />
                 </template>
-                <HcSetInput v-if="tabsKey === 'tab1'" :info="dataInfo" />
+                <HcSetInput v-if="tabsKey === 'tab1'" ref="setInputRef" :info="dataInfo" />
             </hc-card>
         </hc-page-split>
     </hc-drawer>
@@ -85,10 +85,15 @@ const getDataApi = async () => {
     excelHtml.value = data || ''
 }
 
+//ref
+const setInputRef = ref(null)
+
 //框框被点击
 const excelClick = async (item) => {
-    //let key = item.target.getAttribute('data-index')
-    console.log(item)
+    //设置输入框
+    if (tabsKey.value === 'tab1') {
+        setInputRef.value?.setDomData(item)
+    }
 }
 
 //关闭抽屉

+ 29 - 28
src/views/project/list/set-input.vue

@@ -12,14 +12,14 @@
             <el-row v-if="formModel.type === 'date' || formModel.type === 'daterange'" :gutter="20">
                 <el-col :span="18">
                     <el-form-item label="日期格式:" prop="date">
-                        <el-checkbox-group v-model="checkDateList" @change="dateChange">
+                        <el-checkbox-group v-model="formModel.date">
                             <el-checkbox v-for="item in yearList" :key="item.value" :value="item.value">{{ item.label }}</el-checkbox>
                         </el-checkbox-group>
                     </el-form-item>
                 </el-col>
                 <el-col :span="6">
-                    <el-form-item label="" prop="dateDivide">
-                        <el-select v-model="checkDateDivide" block placeholder="选择分隔符">
+                    <el-form-item label="" prop="divide_y">
+                        <el-select v-model="formModel.divide_y" block placeholder="选择分隔符">
                             <el-option label="文本" value="文本" />
                             <el-option label="-" value="-" />
                             <el-option label="/" value="/" />
@@ -30,14 +30,14 @@
             <el-row v-if="formModel.type === 'date' || formModel.type === 'daterange'" :gutter="20">
                 <el-col :span="18">
                     <el-form-item label="时间格式:" prop="time">
-                        <el-checkbox-group v-model="checkTimeist" @change="timeChange">
+                        <el-checkbox-group v-model="formModel.time">
                             <el-checkbox v-for="item in timeList" :key="item.value" :value="item.value">{{ item.label }}</el-checkbox>
                         </el-checkbox-group>
                     </el-form-item>
                 </el-col>
                 <el-col :span="6">
-                    <el-form-item label="" prop="timeDivide">
-                        <el-select v-model="checkTimeDivide" block placeholder="选择分隔符">
+                    <el-form-item label="" prop="divide_h">
+                        <el-select v-model="formModel.divide_h" block placeholder="选择分隔符">
                             <el-option label="文本" value="文本" />
                             <el-option label=":" value=":" />
                             <el-option label="/" value="/" />
@@ -45,8 +45,8 @@
                     </el-form-item>
                 </el-col>
             </el-row>
-            <el-form-item v-if="formModel.type === 'daterange'" label="中间分隔符:" prop="rangeDivide">
-                <el-select v-model="checkRangeDivide" block placeholder="选择中间分隔符">
+            <el-form-item v-if="formModel.type === 'daterange'" label="中间分隔符:" prop="divide_c">
+                <el-select v-model="formModel.divide_c" block placeholder="选择中间分隔符">
                     <el-option label="至" value="至" />
                     <el-option label="-" value="-" />
                     <el-option label="~" value="~" />
@@ -112,33 +112,23 @@ const getDataApi = async () => {
 const yearList = [{ label:'年', value:'YYYY', sort: 1 }, { label:'月', value:'MM', sort: 2 }, { label:'日', value:'DD', sort: 3 }]
 const timeList = [{ label:'时', value:'HH', sort: 4 }, { label:'分', value:'mm', sort: 5 }, { label:'秒', value:'ss', sort: 6 }]
 
-//年月日
-const checkDateList = ref(['YYYY', 'MM', 'DD'])
-const checkDateDivide = ref('文本')
-const dateChange = () => {
-    console.log(checkDateList.value)
-}
-
-//时分秒
-const checkTimeist = ref(['HH', 'mm', 'ss'])
-const checkTimeDivide = ref('文本')
-const timeChange = () => {
-    console.log(checkTimeist.value)
-}
-//中间分割符
-const checkRangeDivide = ref('至')
-
 //基础表单
 const formRef = ref(null)
-const formModel = ref({})
+const formModel = ref({
+    date: ['YYYY', 'MM', 'DD'],
+    divide_y: '文本',
+    time: ['HH', 'mm', 'ss'],
+    divide_h: '文本',
+    divide_c: '至',
+})
 const formRules = {
     name: { required: true, trigger: 'blur', message: '请先获取元素坐标' },
     type: { required: true, trigger: 'blur', message: '请选择文本格式' },
     date: { required: true, trigger: 'blur', message: '请选择日期格式' },
-    dateDivide: { required: true, trigger: 'blur', message: '请选择日期分割' },
+    divide_y: { required: true, trigger: 'blur', message: '请选择日期分割' },
     time: { required: true, trigger: 'blur', message: '请选择时间格式' },
-    timeDivide: { required: true, trigger: 'blur', message: '请选择时间分割' },
-    rangeDivide: { required: true, trigger: 'blur', message: '请选择中间分隔符' },
+    divide_h: { required: true, trigger: 'blur', message: '请选择时间分割' },
+    divide_c: { required: true, trigger: 'blur', message: '请选择中间分隔符' },
 }
 
 //数据表格
@@ -171,6 +161,17 @@ const dialogSubmit = async () => {
     window.$message.success('操作成功')
     emit('finish')*/
 }
+
+//设置dom数据
+const setDomData = (item) => {
+    //let key = item.target.getAttribute('data-index')
+    console.log(item)
+}
+
+//导出函数
+defineExpose({
+    setDomData,
+})
 </script>
 
 <style scoped lang="scss">

+ 8 - 8
yarn.lock

@@ -2017,10 +2017,10 @@ has-flag@^4.0.0:
   resolved "http://39.108.216.210:9000/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b"
   integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==
 
-hc-vue3-ui@^4.0.6:
-  version "4.0.6"
-  resolved "http://39.108.216.210:9000/hc-vue3-ui/-/hc-vue3-ui-4.0.6.tgz#090e94f4c63fe7c12574f037e02c30efe36526b7"
-  integrity sha512-5Ck0kSnoCuZgpWSfz69Lyq1lXNJcC67nO67hLYB1QkZpm5bGx+PYALGFtzjGUqgpBySzge56jdiQXbwmWwWCzA==
+hc-vue3-ui@^4.0.7:
+  version "4.0.7"
+  resolved "http://39.108.216.210:9000/hc-vue3-ui/-/hc-vue3-ui-4.0.7.tgz#11160f4f9599ca41d55aa958e85991ef18c11bd3"
+  integrity sha512-27bvvdDLDBPLeNhufnyT11X0K0lMii7MqyUoTxWtzCzmLg0ToJVATKunhw77J4e5Zmz3JBFH2DXyspoTQfVTmw==
   dependencies:
     axios "^1.7.2"
     dayjs "^1.11.11"
@@ -2722,10 +2722,10 @@ safe-buffer@~5.2.0:
   resolved "http://39.108.216.210:9000/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6"
   integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==
 
-sass@^1.77.6:
-  version "1.77.6"
-  resolved "http://39.108.216.210:9000/sass/-/sass-1.77.6.tgz#898845c1348078c2e6d1b64f9ee06b3f8bd489e4"
-  integrity sha512-ByXE1oLD79GVq9Ht1PeHWCPMPB8XHpBuz1r85oByKHjZY6qV6rWnQovQzXJXuQ/XyE1Oj3iPk3lo28uzaRA2/Q==
+sass@^1.77.7:
+  version "1.77.7"
+  resolved "http://39.108.216.210:9000/sass/-/sass-1.77.7.tgz#ef3520edc8f59da089f25891d8a6bebf93668ee0"
+  integrity sha512-9ywH75cO+rLjbrZ6en3Gp8qAMwPGBapFtlsMJoDTkcMU/bSe5a6cjKVUn5Jr4Gzg5GbP3HE8cm+02pLCgcoMow==
   dependencies:
     chokidar ">=3.0.0 <4.0.0"
     immutable "^4.0.0"