Переглянути джерело

feat(data-fill): 添加插入编号功能

duy 8 годин тому
батько
коміт
48edcf2394

+ 39 - 2
src/views/data-fill/collapse-form/index.vue

@@ -655,6 +655,27 @@
             </el-form-item>
         </el-form>
     </hc-dialog>
+
+    <!-- 插入编号 -->
+    <hc-new-dialog
+        v-model="pushCodeShow"
+        :loading="pushCodeLoading"
+        widths="45%"
+        save-text="保存"
+        title="插入编号"
+       
+        @close="cancelPushCode"
+        @save="submitPushCode"
+    >
+        <HcPushCode
+            v-if="pushCodeShow"
+            ref="pushCodeRef"
+            :contract-id="contract_id"
+            :project-id="projectId"
+            :table-id="itinsertTableId"
+            :tree-id="itinsertTreeId"
+        />
+    </hc-new-dialog>
 </template>
 
 <script setup>
@@ -675,6 +696,7 @@ import TableFormItem from './table-form-item.vue'
 import HcSpecialDiaolg from './special-diaolg.vue'
 import HcTestDiaolg from './test-diaolg.vue'
 import HcTestData from './test-data.vue'
+import HcPushCode from './push-code.vue'
 import HcTestFile from './test-file.vue'
 import HcTestFileCy from './test-file-cy.vue'
 import HcFormula from './formula.vue'
@@ -979,18 +1001,19 @@ const isOpen = infos['isOpenRandomNumber'] ?? 0
     if (isOpen === 1 && isStatus.value !== 3) {
         newArr.push({ label: '插入设计值/频率', key: 'design' })
     }
-
+    newArr.push({ label: '插入编号', key: 'pushCode' })
     newArr.push({ label: '插入特殊字符', key: 'special' })
     newArr.push({ label: '关联试验数据', key: 'test' })
     newArr.push({ label: '关联试验文件', key: 'file' })
     newArr.push({ label: '公式参数', key: 'formula' })
     newArr.push({ label: '含水率', key: 'water' })
 
+
     if (isStatus.value !== 3) {
         newArr.push({ label: '清除所有数据', key: 'clear' }),
             newArr.push({ label: '清除字段数据', key: 'clearcur' })
     }
-    console.log(treenodeDataInfo.value, 'treenodeDataInfo')
+
 
     tableFormMenu.value = newArr
 }
@@ -1099,6 +1122,9 @@ const handleMenuSelect = async ({ key }) => {
             
         }
         getMajorDataTypeOptions()
+    } else if (key === 'pushCode') { 
+        pushCodeShow.value = true
+        
     }
 }
 
@@ -2234,6 +2260,17 @@ const autoClick = async (item)=>{
         } 
     }, 1000)
 }
+//插入编号
+const pushCodeShow = ref(false)
+const pushCodeLoading = ref(false)
+const cancelPushCode = () => {
+    pushCodeShow.value = false
+    pushCodeLoading.value = false
+}
+const submitPushCode = ()=>{
+    
+}
+const pushCodeRef = ref(null)
 
 // 暴露出去
 defineExpose({

+ 250 - 0
src/views/data-fill/collapse-form/push-code.vue

@@ -0,0 +1,250 @@
+<template>
+    <div>
+        <div class="flex items-center justify-center">
+            <el-radio-group v-model="codeType">
+                <el-radio :value="1" size="large">独立编号</el-radio>
+                <el-radio :value="2" size="large">组合编号</el-radio>
+            </el-radio-group>
+        </div>
+        <div v-if="codeType === 1" class="mt-2 bg-[#EFF5FF] px-[55px] py-[20px]">
+            <el-form :model="formCode" :inline="true" class="flex items-center">
+                <div class="w-120px">
+                    <el-form-item label="">
+                        <el-input v-model="formCode.key1" placeholder="数值(起)" clearable />
+                    </el-form-item>
+                </div>
+                <div class="w-120px">
+                    <el-form-item label="">
+                        <el-input v-model="formCode.key2" placeholder="数值(始)" clearable />
+                    </el-form-item>
+                </div>
+                <div class="ml-1">
+                    <el-form-item label="">
+                        <el-select
+                            v-model="formCode.key3"
+                            placeholder="递增分类"
+                            clearable
+                            style="width: 120px;"
+                        >
+                            <el-option label="常规递增" value="1" />
+                            <el-option label="奇数递增" value="2" />
+                            <el-option label="偶数递增" value="2" />
+                        </el-select>
+                    </el-form-item>
+                </div>
+                <div class="ml-1">
+                    <el-form-item label="">
+                        <el-select
+                            v-model="formCode.key4"
+                            placeholder="循环分类"
+                            clearable
+                            style="width: 120px;"
+                        >
+                            <el-option label="固定循环" value="1" />
+                            <el-option label="递增循环" value="2" />
+                        </el-select>
+                    </el-form-item>
+                </div>
+          
+                <div class="ml-1 w-120px">
+                    <el-form-item label="">
+                        <el-input v-model="formCode.key5" placeholder="循环组数" clearable />
+                    </el-form-item>
+                </div>
+            </el-form>
+            <div class="text-orange-500 line-height-10">
+                <p>提示:起和止分别代表编号数据的开始编号和结束编号</p>
+                <p>固定循环:起止以内的编号每个数据循环n次,如1-3:1、1、1..n个1/2、2、2..n个2/3、3、3..n个3</p>
+                <p>递增循环:起止以内的编号递增n次,如1-3:1、2、3/1、2、3/....n次循环1、2、3</p>
+            </div>
+        </div>
+        <div v-if="codeType === 2" class="mt-2 bg-[#EFF5FF] px-[40px] py-[20px]">
+            <el-form :model="formCode" :inline="true">
+                <div class="flex items-center">
+                    <div class="w-125px">
+                        <el-form-item label="">
+                            <el-input v-model="formCode.key1" placeholder="数值1(起)" clearable />
+                        </el-form-item>
+                    </div>
+                    <div class="w-125px">
+                        <el-form-item label="">
+                            <el-input v-model="formCode.key2" placeholder="数值1(始)" clearable />
+                        </el-form-item>
+                    </div>
+                    <div class="ml-1">
+                        <el-form-item label="">
+                            <el-select
+                                v-model="formCode.key3"
+                                placeholder="递增分类"
+                                clearable
+                                style="width: 120px;"
+                            >
+                                <el-option label="常规递增" value="1" />
+                                <el-option label="奇数递增" value="2" />
+                                <el-option label="偶数递增" value="2" />
+                            </el-select>
+                        </el-form-item>
+                    </div>
+                    <div class="ml-1">
+                        <el-form-item label="">
+                            <el-select
+                                v-model="formCode.key4"
+                                placeholder="循环分类"
+                                clearable
+                                style="width: 120px;"
+                            >
+                                <el-option label="固定循环" value="1" />
+                                <el-option label="递增循环" value="2" />
+                            </el-select>
+                        </el-form-item>
+                    </div>
+      
+                    <div class="ml-1 w-120px">
+                        <el-form-item label="">
+                            <el-input v-model="formCode.key5" placeholder="循环组数" clearable />
+                        </el-form-item>
+                    </div>
+                </div>
+                <div class="mt-4 flex items-start">
+                    <div class="mr-4 w-125px">
+                        <el-form-item label="">
+                            <el-select
+                                v-model="formCode.key6"
+                                placeholder="选择符号"
+                                clearable
+                                style="width: 100px;"
+                            >
+                                <el-option label="+" value="+" />
+                                <el-option label="-" value="-" />
+                                <el-option label="*" value="*" />
+                                <el-option label="/" value="/" />
+                            </el-select>
+                        </el-form-item>
+                    </div>
+                    <div class="flex-1 text-orange-500">
+                        <p class="mb-1">固定循环:起止以内的编号每个数据循环n次,如1-3:1、1、1...n个1/2、2、2..n个2/3、3、3...n个3</p>
+                        <p>递增循环:起止以内的编号递增n次,如1-3:1、2、3/1、2、3/...n次循环1、2、3</p>
+                    </div>
+                </div>
+                <div class="flex items-center">
+                    <div class="w-125px">
+                        <el-form-item label="">
+                            <el-input v-model="formCode.key1" placeholder="数值2(起)" clearable />
+                        </el-form-item>
+                    </div>
+                    <div class="w-125px">
+                        <el-form-item label="">
+                            <el-input v-model="formCode.key2" placeholder="数值2(始)" clearable />
+                        </el-form-item>
+                    </div>
+                    <div class="ml-1">
+                        <el-form-item label="">
+                            <el-select
+                                v-model="formCode.key3"
+                                placeholder="递增分类"
+                                clearable
+                                style="width: 120px;"
+                            >
+                                <el-option label="常规递增" value="1" />
+                                <el-option label="奇数递增" value="2" />
+                                <el-option label="偶数递增" value="2" />
+                            </el-select>
+                        </el-form-item>
+                    </div>
+                    <div class="ml-1">
+                        <el-form-item label="">
+                            <el-select
+                                v-model="formCode.key4"
+                                placeholder="循环分类"
+                                clearable
+                                style="width: 120px;"
+                            >
+                                <el-option label="固定循环" value="1" />
+                                <el-option label="递增循环" value="2" />
+                            </el-select>
+                        </el-form-item>
+                    </div>
+      
+                    <div class="ml-1 w-120px">
+                        <el-form-item label="">
+                            <el-input v-model="formCode.key5" placeholder="循环组数" clearable />
+                        </el-form-item>
+                    </div>
+                </div>
+            </el-form>
+            <div class="text-orange-500 line-height-10">
+                <p>提示:数值1和数值2分别代表组合编号的前后数据;起和止分别代表前后数据的开始编号和结束编号</p>
+            </div>
+        </div>
+    </div>
+</template>
+
+<script setup>
+import { onMounted, ref, watch } from 'vue'
+import { getArrValue, getObjValue, setPosInsert } from 'js-fast-way'
+import dataApi from '~api/tentative/detect/test'
+
+const props = defineProps({
+    projectId: [String, Number],
+    contractId: [String, Number],
+    tableId: [String, Number],
+    treeId: [String, Number],
+})
+
+//事件
+const emit = defineEmits(['change'])
+//参数变量
+const projectId = ref(props.projectId)
+const contractId = ref(props.contractId)
+const table_id = ref(props.tableId)
+const tree_id = ref(props.treeId)
+
+//监听
+watch(() => [
+    props.projectId,
+    props.contractId,
+    props.tableId,
+    props.treeId,
+], ([pid, cid, tableId, treeId]) => {
+    projectId.value = pid
+    contractId.value = cid
+    table_id.value = tableId
+    tree_id.value = treeId
+})
+const codeType = ref(1)
+const formCode = ref({
+    key1: '',
+    key2: '',
+    key3: '',
+    key4: '',
+    key5: '',
+    key6: '',
+    key7: '',
+    key8: '',
+    key9: '',
+    key10: '',
+})
+
+//渲染完成
+onMounted(() => {
+  
+})
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+// 暴露出去
+defineExpose({
+  
+})
+</script>