Procházet zdrojové kódy

单表保存预览

duy před 1 rokem
rodič
revize
3342ef8012

+ 8 - 0
src/api/modules/agree/land.js

@@ -103,4 +103,12 @@ export default {
             params: form,
         }, msg)
     },
+    //单表pdf预览 
+    async getSingleBussPdfInfo(form, msg = true) {
+        return httpApi({
+            url: '/api/blade-land/compensationInfo/get-buss-pdfInfo',
+            method: 'get',
+            params: form,
+        }, msg)
+    },
 }

+ 33 - 394
src/views/agree/land/collapse-form/index.vue

@@ -12,6 +12,12 @@
                                 <el-button :loading="copyClickLoading" plain type="primary" @click.stop="copyClick(item, index)">
                                     复制本表
                                 </el-button>
+                                <el-button :disabled="!item?.pdfUrl" plain type="primary" @click.stop="previewClick(item)">
+                                    预览
+                                </el-button>
+                                <el-button plain type="primary" :loading="tableFormSaveLoading" @click="tableFormSaveClick(item)">
+                                    保存
+                                </el-button>
                             </div>
                         </div>
                     </template>
@@ -198,8 +204,7 @@ watch(() => [
 onMounted(() => {
     setFormDataNum(props.datas)
     setTableFormMenu(useAppState.projectInfo)
-    const { offsetHeight } = document.body
-    DragModalHeight.value = offsetHeight - 200
+    
     setMountOnEventKey()
 })
 
@@ -303,322 +308,48 @@ const tableFormRightTap = ({ event, KeyName, startPos, endPos, pkeyId }, index)
     contextMenuRef.value?.showMenu(event, false) //展开菜单
 }
 
-//鼠标右键菜单被点击
-const handleMenuSelect = ({ key }) => {
-    if (key === 'design') {
-        setInitDesignForm()
-        designModalLoading.value = false
-        designModal.value = true
-    } else if (key === 'special') {
-        specialModalShow()
-    } else if (key === 'test') {
-        testModalLoading.value = false
-        testModal.value = true
-    } else if (key === 'file') {
-        fileModalLoading.value = false
-        fileModal.value = true
-    } else if (key === 'formula') {
-        formulaModalLoading.value = false
-        formulaModal.value = true
-    }
-}
 
-//插入设计值
-const designModal = ref(false)
-const formDesignRef = ref(null)
-const formDesignModel = ref()
-
-//初始设计值/频率表单
-const setInitDesignForm = () => {
-    formDesignModel.value = {
-        type: 1, design: '', size: '',
-        dev: '', key: '', capacity: '',
-        pass: '', pkId: '',
-    }
-}
 
-//设计值频率计算
-const designModalLoading = ref(false)
-const designModalSave = async () => {
-    const { pkeyId, KeyName } = tableFormItemNode.value
-    if (pkeyId) {
-        designModalLoading.value = true
-        //const {design, size} = formDesignModel.value
-        const { error, code, data } = await wbsApi.queryFormulaRange({
-            ...formDesignModel.value,
-            // dev: (!design && !size) ? '±5': '',
-            key: KeyName,
-            pkId: pkeyId,
-        })
-        //处理数据
-        const res = getObjVal(data)
-        if (!error && code === 200 && res) {
-            try {
-                const refs = await getFormRef(pkeyId)
-                const itemFormData = refs?.getFormData()
-                Object.keys(data).forEach(key => {
-                    itemFormData[key] = data[key]
-                })
-                refs?.setFormData(itemFormData)
-            } catch {
-            }
-            designModalLoading.value = false
-            designModal.value = false
-        } else {
-            designModalLoading.value = false
-        }
-    } else {
-        window?.$message?.warning('pkeyId为空')
-    }
-}
-//关闭设计值/频率弹窗
-const closeDesignModal = () => {
-    designModal.value = false
-    setInitDesignForm()
-}
 
 
-//插入特殊字符
-const specialModal = ref(false)
-const specialModalLoading = ref(false)
-const specialModalShow = () => {
-    specialFormValue.value = ''
-    specialModalLoading.value = false
-    specialModal.value = true
-}
 
-//监听特殊符号输入框的内容
-const specialFormValue = ref('')
-const specialDiaolgChange = (val) => {
-    specialFormValue.value = val
-}
 
-//确认插入
-const specialRef = ref(null)
-const specialNodeClick = async () => {
-    specialModalLoading.value = true
-    const itemNode = tableFormItemNode.value
-    const { KeyName, pkeyId } = itemNode
-    try {
-        const refs = await getFormRef(pkeyId)
-        const itemFormData = refs?.getFormData()
-        const { code, val, posVal } = await specialRef.value?.getSpecialNode(itemNode, itemFormData[KeyName])
-        if (code === 200 && val) {
-            itemFormData[KeyName] = val
-            refs?.setFormData(itemFormData)
-            specialModalLoading.value = false
-            specialModal.value = false
-            await nextTick(() => {
-                setPosRange(KeyName, posVal)
-            })
-        } else {
-            specialModalLoading.value = false
-        }
-    } catch (e) {
-        specialModalLoading.value = false
-    }
-}
 
-//关闭插入特殊字符
-const specialModalClose = () => {
-    specialModalLoading.value = false
-    specialModal.value = false
-}
 
-//关联试验数据
-const testModal = ref(false)
-const testModalLoading = ref(false)
-
-//关联试验数据被点击
-const itinsertTableId = ref('')
-const itinsertTreeId = ref('')
-const testTableRowName = ({ row, treeId }) => {
-    itinsertTableId.value = row.id
-    itinsertTreeId.value = treeId
-    insertDataLoading.value = false
-    insertDataShow.value = true
-}
 
-//关闭弹窗
-const testModalClose = () => {
-    testModal.value = false
-    testModalLoading.value = false
-}
 
-//选择要插入的实验数据
-const insertDataShow = ref(false)
-const insertDataLoading = ref(false)
 
-//确定关联试验数据数据
-const insertDataRef = ref(null)
-const submitinsertData = async () => {
-    insertDataLoading.value = true
-    const itemNode = tableFormItemNode.value
-    const { KeyName, pkeyId } = itemNode
-    try {
-        const refs = await getFormRef(pkeyId)
-        const itemFormData = refs?.getFormData()
-        const { code, val, posVal } = await insertDataRef.value?.submitinsertData(itemNode, itemFormData[KeyName])
-        if (code === 200 && val) {
-            itemFormData[KeyName] = val
-            refs?.setFormData(itemFormData)
-            insertDataLoading.value = false
-            insertDataShow.value = false
-            testModal.value = false
-            await nextTick(() => {
-                setPosRange(KeyName, posVal)
-            })
-        }
-    } catch {
-        insertDataLoading.value = false
-    }
-}
 
-//取消关联数据
-const cancelinsertData = async () => {
-    insertDataShow.value = false
-    insertDataLoading.value = false
-}
 
 
-//关联试验文件
-const fileModal = ref(false)
-const testFileRefs = ref(null)
-//确认关联文件
-const fileModalLoading = ref(false)
-const savefileModal = async () => {
-    fileModalLoading.value = true
-    await testFileRefs.value?.savefileSubmit()
-    fileModalLoading.value = false
-    fileModal.value = false
-}
 
-//关闭弹窗
-const fileModalClose = () => {
-    fileModal.value = false
-    fileModalLoading.value = false
-}
 
-//公式参数配置
-const formulaModal = ref(false)
-const formulaRefs = ref(null)
-
-//保存
-const formulaModalLoading = ref(false)
-const formulaSaveClick = async () => {
-    formulaModalLoading.value = true
-    await formulaRefs.value?.panelSave()
-    formulaModalLoading.value = false
-    formulaModal.value = false
-}
 
 
-//关闭
-const formulaModalClose = () => {
-    formulaModal.value = false
-    formulaModalLoading.value = false
-}
 
 
-//窗口化
-const DragModalTableForm = ref([])
-const DragModalHeight = ref(600)
-const windowClick = async (item, indexs) => {
-    const list = deepClone(DragModalTableForm.value)
-    let index = arrIndex(list, 'pkeyId', item.pkeyId)
-    if (!item.isWindow) {
-        const formSize = getTableFormSize(item?.pkeyId)
-        const newTableForm = {
-            ...setInitDragModalTableForm(item, indexs),
-            ...formSize,
-        }
-        await setChangeFormDatas(item?.pkeyId, 'window')
-        item.isWindow = true
-        //处理表单的ref
-        await setSpliceItemRefs(item)
-        //弹窗表单的排序
-        if (index === -1) {
-            list.push(newTableForm)
-        } else if (index !== list.length - 1) {
-            //检查是否在最上层,不在则置顶,可以解决多次点击时,频繁更改全局状态的问题
-            list.splice(index, 1)
-            list.push(newTableForm)
-        }
-        DragModalTableForm.value = list
-        ActiveKey.value = ''
-    } else {
-        await setChangeFormDatas(item?.pkeyId, 'collapse')
-        //处理表单的ref
-        await setSpliceItemRefs(item)
-        if (index !== -1) {
-            list.splice(index, 1)
-            DragModalTableForm.value = list
-        }
-        item.isWindow = false
-    }
-}
 
-//初始拖动表单的内容
-const setInitDragModalTableForm = (item, index) => {
-    return {
-        projectId: projectId.value,
-        contractId: contract_id.value,
-        wbsTempId: wbsTemp_id.value,
-        tenantId: tenant_id.value,
-        wbsType: wbs_type.value,
-        classify: classifys.value,
-        treeId: treeId.value,
-        pkeyId: item.pkeyId,
-        height: '100%',
-        width: '100%',
-        title: item.nodeName,
-        isShow: true,
-        index: index,
-        item: item,
-    }
-}
 
-//关闭窗口
-const TableFormClose = async ({ pkeyId, index }, indexs) => {
-    const list = deepClone(DragModalTableForm.value)
-    //取表单的数据
-    await setChangeFormDatas(pkeyId, 'collapse')
-    //关闭窗口
-    list.splice(indexs, 1)
-    DragModalTableForm.value = list
-    listDatas.value[index].isWindow = false
-}
 
-const dragNodeMoreMenu = [
-    { key: 'save', icon: 'save-2', name: '保存' },
-    { key: 'preview', icon: 'eye', name: '预览' },
-]
 
-//还原窗口
-const closeIconTap = async (event, item, indexs) => {
-    const { index, pkeyId } = item
-    let KeyId = `item-${index}-${pkeyId}`
-    await TableFormClose(item, indexs)
-    ActiveKey.value = KeyId
-}
 
-//菜单被点击
-const dragNodeMoreMenuTap = ({ key }, items) => {
-    const { item } = items
-    if (key === 'save') {
-        if (item?.isTableForm) {
-            tableFormSaveClick(item, items)
-        } else {
-            window.$message.warning('此表单暂无数据和文件')
-        }
-    } else if (key === 'preview') {
-        if (item['isBussShow'] === 2 || item['isTabPdf'] === 1 || item['pdfUrl'] === '') {
-            window.$message.warning('此表单暂无可预览文件')
-        } else {
-            previewClick(item, items)
-        }
-    }
-}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 
 //删除本表
 const tableFormDelLoading = ref(false)
@@ -645,47 +376,11 @@ const delClick = async ({ pkeyId }) => {
     }
 }
 //复制本表相关
-const showcopyModal = ref(false)
-const copyRefs = ref(null)
-const copyModalClose = ()=>{
-    // copyModal.value=false
-}
-const CopyModalType = ref('1')
-
-const copySaveClick = async ()=>{
-    //本节点复制
-   if (CopyModalType.value === '2') {
-        const { pkeyId, isTableRender, isTableForm } = copyItems.value
-        if (pkeyId) {
-            if (isStatus.value !== 3) {
-                if (!isTableRender) {
-                    await copeBussTab(pkeyId)
-                } else if (!isTableForm) {
-                    window?.$message?.warning('暂无表单数据')
-                } else if (isTableRender) {
-                    copyClickLoading.value = true
-                    const isSave = await saveExcelBussData(items, null, false)
-                    if (isSave) {
-                        await copeBussTab(pkeyId)
-                    } else {
-                        copyClickLoading.value = false
-                        window?.$message?.warning('复制本表操作失败')
-                    }
-                } else {
-                    window?.$message?.warning(`数据异常了, isRenderTableForm: ${isTableRender}, isTableForm: ${isTableForm}, pkeyIds:${pkeyId}`)
-                }
-            } else {
-                window?.$message?.warning('已上报的资料,不允许复制')
-            }
-        } else {
-            window?.$message?.warning('pkeyId为空')
-    }
-   } else {
-    window?.$message?.warning('暂无相关接口')
-   }
-}
+
+
+
 //复制本表
-const copyClickModalLoading = ref(false)
+
 const copyClickLoading = ref(false)
 const copyClick = async (items) => {
     const { id, isTableRender, isTableForm } = items
@@ -714,13 +409,6 @@ const copyClick = async (items) => {
         window?.$message?.warning('pkeyId为空')
     }
  }
-const copyItems = ref([])
-//跨节点复制弹窗
-// const copyClick =  (items) => {
-//     showcopyModal.value=true
-//     copyItems.value=items
-
-// }
 
 //复制表的请求
 const copeBussTab = async (pkeyId) => {
@@ -747,62 +435,13 @@ const previewClick = async (item, dragItem = null) => {
 //上传变量
 const uploadModal = ref(false)
 const fileListData = ref([])
-const uploadData = ref({})
-//上传附件
-const uploadClick = (items, index) => {
-    const { pkeyId, isTableForm, isTableRender } = items
-    const keyName = `item-${index}-${pkeyId}`
-    if (pkeyId) {
-        if (isStatus.value !== 3 && isTableForm) {
-            uploadModal.value = true
-            uploadData.value = {
-                projectId: projectId.value,
-                contractId: contract_id.value,
-                classify: classifys.value,
-                pkeyId: pkeyId,
-                nodeId: treeId.value,
-            }
-            //获取文件列表
-            getBussFileList(pkeyId)
-        } else if (!isTableRender) {
-            CollapseChange(keyName)
-            window?.$message?.warning('请再次点击上传')
-        } else if (!isTableForm) {
-            window?.$message?.warning('暂无表单数据')
-        } else {
-            window?.$message?.warning('已上报的资料,不允许上传')
-        }
-    } else {
-        window?.$message?.warning('pkeyId为空')
-    }
-}
 
-//获取文件列表
-const getBussFileList = async (pkeyId) => {
-    const { error, code, data } = await wbsApi.getBussFileList({
-        pkeyid: pkeyId,
-    })
-    if (!error && code === 200) {
-        fileListData.value = getArrValue(data)
-    } else {
-        fileListData.value = []
-    }
-}
 
-//上传文件
-const uploadChange = async ({ type }) => {
-    if (type === 'success') {
-        uploadModal.value = false
-        renewData()
-    } else if (type === 'del') {
-        renewData()
-    }
-}
 
-//关闭上传附件窗口
-const uploadModalClose = () => {
-    uploadModal.value = false
-}
+
+
+
+
 
 //单个保存
 const tableFormSaveLoading = ref(false)
@@ -848,7 +487,7 @@ const saveExcelBussData = async ({ id }, dragItem = null, showTip = true) => {
 //预览PDF
 const getBussPdfInfo = async ({ id }, dragItem = null, showTip = true) => {
     setDragModalLoading(dragItem, '获取pdf中...', true)
-    const { error, code, data } = await landApi.getBussPdfInfo({
+    const { error, code, data } = await landApi.getSingleBussPdfInfo({
         id: id,
     }, false)
     setDragModalLoading(dragItem)