|
@@ -1,6 +1,6 @@
|
|
<template>
|
|
<template>
|
|
<hc-new-dialog is-table widths="95%" :show="isShow" :title="`中间计量${dataId ? '修改' : '新增'}`" @save="addModalSave" @close="addModalClose">
|
|
<hc-new-dialog is-table widths="95%" :show="isShow" :title="`中间计量${dataId ? '修改' : '新增'}`" @save="addModalSave" @close="addModalClose">
|
|
- <div class="relative h-full flex">
|
|
|
|
|
|
+ <div v-loading="isLoading" class="relative h-full flex">
|
|
<div v-if="!dataId" :id="`hc_tree_card_${uuid}`" class="hc_tree_card_border relative">
|
|
<div v-if="!dataId" :id="`hc_tree_card_${uuid}`" class="hc_tree_card_border relative">
|
|
<hc-body scrollbar padding="0px">
|
|
<hc-body scrollbar padding="0px">
|
|
<hc-lazy-tree :h-props="treeProps" tree-key="id" :auto-expand-keys="treeAutoExpandKeys" @load="treeLoadNode" @node-tap="treeNodeTap" />
|
|
<hc-lazy-tree :h-props="treeProps" tree-key="id" :auto-expand-keys="treeAutoExpandKeys" @load="treeLoadNode" @node-tap="treeNodeTap" />
|
|
@@ -26,7 +26,7 @@
|
|
</el-col>
|
|
</el-col>
|
|
<el-col :span="8">
|
|
<el-col :span="8">
|
|
<el-form-item label="业务日期:" prop="businessDate">
|
|
<el-form-item label="业务日期:" prop="businessDate">
|
|
- <el-date-picker v-model="baseForm.businessDate" class="block" format="YYYY-MM-DD" type="Date" value-format="YYYY-MM-DD" disabled />
|
|
|
|
|
|
+ <el-date-picker v-model="baseForm.businessDate" class="block" format="YYYY-MM-DD" type="date" value-format="YYYY-MM-DD" disabled />
|
|
</el-form-item>
|
|
</el-form-item>
|
|
</el-col>
|
|
</el-col>
|
|
<el-col :span="16">
|
|
<el-col :span="16">
|
|
@@ -141,7 +141,7 @@ import { nextTick, ref, watch } from 'vue'
|
|
import { getStoreValue } from '~src/utils/storage'
|
|
import { getStoreValue } from '~src/utils/storage'
|
|
import { isNumberReg } from '~uti/tools'
|
|
import { isNumberReg } from '~uti/tools'
|
|
import HcBillBaseModal from './addBillBaseModal.vue'
|
|
import HcBillBaseModal from './addBillBaseModal.vue'
|
|
-import { arrToId, getArrValue, getObjValue, getRandom, isNullES } from 'js-fast-way'
|
|
|
|
|
|
+import { arrToId, deepClone, getArrValue, getObjValue, getRandom, isNullES } from 'js-fast-way'
|
|
import BigNumber from 'bignumber.js'
|
|
import BigNumber from 'bignumber.js'
|
|
import { getHeader } from 'hc-vue3-ui'
|
|
import { getHeader } from 'hc-vue3-ui'
|
|
|
|
|
|
@@ -179,6 +179,7 @@ const period = ref(props.allPeriods)
|
|
const period_id = ref(props.periodId)
|
|
const period_id = ref(props.periodId)
|
|
const pid = ref(props.projectId)
|
|
const pid = ref(props.projectId)
|
|
const cid = ref(props.contractId)
|
|
const cid = ref(props.contractId)
|
|
|
|
+const isLoading = ref(false)
|
|
|
|
|
|
//双向绑定
|
|
//双向绑定
|
|
// eslint-disable-next-line no-undef
|
|
// eslint-disable-next-line no-undef
|
|
@@ -296,7 +297,6 @@ const treeNodeTap = ({ data }) => {
|
|
nodeId.value = data.id
|
|
nodeId.value = data.id
|
|
baseForm.value.contractUnitId = data.id
|
|
baseForm.value.contractUnitId = data.id
|
|
getNodeDivide(data.id)
|
|
getNodeDivide(data.id)
|
|
- getNodeToken(data.id)
|
|
|
|
}
|
|
}
|
|
|
|
|
|
//获取工程划分
|
|
//获取工程划分
|
|
@@ -306,9 +306,35 @@ const getNodeDivide = async (nodeId) => {
|
|
}
|
|
}
|
|
|
|
|
|
//获取变更令
|
|
//获取变更令
|
|
-const getNodeToken = async (nodeId) => {
|
|
|
|
- const { data } = await mainApi.getNodeToken({ nodeId: nodeId })
|
|
|
|
- baseForm.value.changeTokenNumber = data ?? ''
|
|
|
|
|
|
+const getNodeToken = async () => {
|
|
|
|
+ isLoading.value = true
|
|
|
|
+ const { businessDate } = baseForm.value
|
|
|
|
+ const { data } = await mainApi.getNodeToken({
|
|
|
|
+ projectId: pid.value,
|
|
|
|
+ contractId: cid.value,
|
|
|
|
+ nodeId: nodeId.value,
|
|
|
|
+ businessDate: businessDate,
|
|
|
|
+ formIds: arrToId(addTableData.value),
|
|
|
|
+ })
|
|
|
|
+ //处理数据
|
|
|
|
+ const { changeTokenNumber, changeTokenIds, files } = getObjValue(data)
|
|
|
|
+ baseForm.value.changeTokenNumber = changeTokenNumber ?? ''
|
|
|
|
+ baseForm.value.changeTokenIds = changeTokenIds ?? ''
|
|
|
|
+ //处理文件
|
|
|
|
+ let fileList = deepClone(baseForm.value.fileList)
|
|
|
|
+ //移除非手动上传的文件
|
|
|
|
+ for (let i = 0; i < fileList.length; i++) {
|
|
|
|
+ if (fileList[i].fileType !== 1) {
|
|
|
|
+ fileList.splice(i, 1)
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ //追加附件列表
|
|
|
|
+ const filesArr = getArrValue(files)
|
|
|
|
+ for (let i = 0; i < filesArr.length; i++) {
|
|
|
|
+ fileList.push(filesArr[i])
|
|
|
|
+ }
|
|
|
|
+ baseForm.value.fileList = fileList
|
|
|
|
+ isLoading.value = false
|
|
}
|
|
}
|
|
|
|
|
|
//计量期被改变
|
|
//计量期被改变
|
|
@@ -419,12 +445,20 @@ const addTableRowStyle = ({ row }) => {
|
|
//删除清单
|
|
//删除清单
|
|
const delAddTableClick = (index) => {
|
|
const delAddTableClick = (index) => {
|
|
addTableData.value.splice(index, 1)
|
|
addTableData.value.splice(index, 1)
|
|
|
|
+ //获取变更令
|
|
|
|
+ nextTick(() => {
|
|
|
|
+ getNodeToken()
|
|
|
|
+ })
|
|
}
|
|
}
|
|
|
|
|
|
//添加分解单
|
|
//添加分解单
|
|
const addBillBaseModalShow = ref(false)
|
|
const addBillBaseModalShow = ref(false)
|
|
const billBaseIds = ref('')
|
|
const billBaseIds = ref('')
|
|
const addBillBaseModalClick = () => {
|
|
const addBillBaseModalClick = () => {
|
|
|
|
+ if (!nodeId.value) {
|
|
|
|
+ window.$message.warning('请先选择一个树节点')
|
|
|
|
+ return
|
|
|
|
+ }
|
|
addBillBaseModalShow.value = true
|
|
addBillBaseModalShow.value = true
|
|
billBaseIds.value = arrToId(addTableData.value)
|
|
billBaseIds.value = arrToId(addTableData.value)
|
|
}
|
|
}
|
|
@@ -433,6 +467,10 @@ const finishChange = (data) => {
|
|
for (let i = 0; i < data.length; i++) {
|
|
for (let i = 0; i < data.length; i++) {
|
|
addTableData.value.push(data[i])
|
|
addTableData.value.push(data[i])
|
|
}
|
|
}
|
|
|
|
+ //获取变更令
|
|
|
|
+ nextTick(() => {
|
|
|
|
+ getNodeToken()
|
|
|
|
+ })
|
|
}
|
|
}
|
|
|
|
|
|
//附件上传
|
|
//附件上传
|
|
@@ -463,14 +501,13 @@ const uploadFileOptions = ref({
|
|
// 文件上传成功的回调
|
|
// 文件上传成功的回调
|
|
const uploadFileSuccess = ({ echoParams, resData }) => {
|
|
const uploadFileSuccess = ({ echoParams, resData }) => {
|
|
if (echoParams.type === '草图文件') {
|
|
if (echoParams.type === '草图文件') {
|
|
-
|
|
|
|
baseForm.value.pictureUrl = resData.link ?? ''
|
|
baseForm.value.pictureUrl = resData.link ?? ''
|
|
baseForm.value.pictureName = resData.originalName ?? ''
|
|
baseForm.value.pictureName = resData.originalName ?? ''
|
|
baseForm.value.pictureList = [{
|
|
baseForm.value.pictureList = [{
|
|
- fileName: resData.originalName ?? '',
|
|
|
|
- filePdfUrl: resData.pdfUrl ?? '',
|
|
|
|
- fileUrl: resData.link ?? '',
|
|
|
|
- }]
|
|
|
|
|
|
+ fileName: resData.originalName ?? '',
|
|
|
|
+ filePdfUrl: resData.pdfUrl ?? '',
|
|
|
|
+ fileUrl: resData.link ?? '',
|
|
|
|
+ }]
|
|
uploadFileRef.value?.setModalShow(false)
|
|
uploadFileRef.value?.setModalShow(false)
|
|
} else if (echoParams.type === '附件文件') {
|
|
} else if (echoParams.type === '附件文件') {
|
|
baseForm.value.fileList.push({
|
|
baseForm.value.fileList.push({
|
|
@@ -478,6 +515,7 @@ const uploadFileSuccess = ({ echoParams, resData }) => {
|
|
fileName: resData.originalName ?? '',
|
|
fileName: resData.originalName ?? '',
|
|
filePdfUrl: resData.pdfUrl ?? '',
|
|
filePdfUrl: resData.pdfUrl ?? '',
|
|
fileUrl: resData.link ?? '',
|
|
fileUrl: resData.link ?? '',
|
|
|
|
+ fileType: 1,
|
|
})
|
|
})
|
|
uploadFileRef.value?.setModalShow(false)
|
|
uploadFileRef.value?.setModalShow(false)
|
|
}
|
|
}
|
|
@@ -485,6 +523,10 @@ const uploadFileSuccess = ({ echoParams, resData }) => {
|
|
|
|
|
|
//保存
|
|
//保存
|
|
const addModalSave = async () => {
|
|
const addModalSave = async () => {
|
|
|
|
+ if (!nodeId.value) {
|
|
|
|
+ window.$message.warning('请先选择一个树节点')
|
|
|
|
+ return
|
|
|
|
+ }
|
|
// if (isCanSave.value) {
|
|
// if (isCanSave.value) {
|
|
// window.$message.warning('累计计量量 > 变更后数量,不允许修改')
|
|
// window.$message.warning('累计计量量 > 变更后数量,不允许修改')
|
|
// return
|
|
// return
|