|
@@ -1,7 +1,7 @@
|
|
<template>
|
|
<template>
|
|
<hc-new-dialog is-table widths="95%" :show="isShow" title="中间计量新增" @save="addModalSave" @close="addModalClose">
|
|
<hc-new-dialog is-table widths="95%" :show="isShow" title="中间计量新增" @save="addModalSave" @close="addModalClose">
|
|
<div class="relative h-full flex">
|
|
<div class="relative h-full flex">
|
|
- <div v-if="dataType === 'add'" :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" />
|
|
</hc-body>
|
|
</hc-body>
|
|
@@ -149,10 +149,6 @@ import unitApi from '~api/project/debit/contract/unit'
|
|
import mainApi from '~api/debit-pay/admin/middlepay'
|
|
import mainApi from '~api/debit-pay/admin/middlepay'
|
|
|
|
|
|
const props = defineProps({
|
|
const props = defineProps({
|
|
- type: {
|
|
|
|
- type: String,
|
|
|
|
- default: 'add',
|
|
|
|
- },
|
|
|
|
projectId: {
|
|
projectId: {
|
|
type: [String, Number],
|
|
type: [String, Number],
|
|
default: '',
|
|
default: '',
|
|
@@ -179,7 +175,6 @@ const props = defineProps({
|
|
const emit = defineEmits(['finish', 'close'])
|
|
const emit = defineEmits(['finish', 'close'])
|
|
const uuid = getRandom(4)
|
|
const uuid = getRandom(4)
|
|
const dataId = ref(props.ids)
|
|
const dataId = ref(props.ids)
|
|
-const dataType = ref(props.type)
|
|
|
|
const period = ref(props.allPeriods)
|
|
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)
|
|
@@ -193,20 +188,16 @@ const isShow = defineModel('modelValue', {
|
|
|
|
|
|
//监听
|
|
//监听
|
|
watch(() => [
|
|
watch(() => [
|
|
- props.type,
|
|
|
|
props.projectId,
|
|
props.projectId,
|
|
props.contractId,
|
|
props.contractId,
|
|
props.allPeriods,
|
|
props.allPeriods,
|
|
props.periodId,
|
|
props.periodId,
|
|
-], ([type, projectId, contractId, periods, periodId]) => {
|
|
|
|
- dataType.value = type
|
|
|
|
|
|
+], ([projectId, contractId, periods, periodId]) => {
|
|
period.value = periods
|
|
period.value = periods
|
|
pid.value = projectId
|
|
pid.value = projectId
|
|
cid.value = contractId
|
|
cid.value = contractId
|
|
period_id.value = periodId
|
|
period_id.value = periodId
|
|
- if (type === 'add' ) {
|
|
|
|
- setBasePeriodForm(periodId)
|
|
|
|
- }
|
|
|
|
|
|
+ setBasePeriodForm(periodId)
|
|
}, { deep: true })
|
|
}, { deep: true })
|
|
|
|
|
|
//监听
|
|
//监听
|
|
@@ -216,12 +207,15 @@ watch(() => props.ids, (id) => {
|
|
|
|
|
|
//监听
|
|
//监听
|
|
watch(isShow, (val) => {
|
|
watch(isShow, (val) => {
|
|
- baseForm.value = { fileList: [] }
|
|
|
|
- if (val && dataType.value === 'add' ) {
|
|
|
|
- setSplitRef()
|
|
|
|
- setBasePeriodForm(period_id.value)
|
|
|
|
- } else if (val && dataType.value === 'edit') {
|
|
|
|
- getDataDetail()
|
|
|
|
|
|
+ if (val) {
|
|
|
|
+ if (dataId.value ) {
|
|
|
|
+ getDataDetail()
|
|
|
|
+ } else {
|
|
|
|
+ setBasePeriodForm(period_id.value)
|
|
|
|
+ setSplitRef()
|
|
|
|
+ }
|
|
|
|
+ } else {
|
|
|
|
+ baseForm.value = { fileList: [], pictureUrl: '' }
|
|
}
|
|
}
|
|
})
|
|
})
|
|
|
|
|
|
@@ -239,15 +233,17 @@ const setSplitRef = () => {
|
|
|
|
|
|
//基础表单
|
|
//基础表单
|
|
const baseFormRef = ref(null)
|
|
const baseFormRef = ref(null)
|
|
-const baseForm = ref({ fileList: [] })
|
|
|
|
|
|
+const baseForm = ref({ fileList: [], pictureUrl: '' })
|
|
const baseFormRules = {}
|
|
const baseFormRules = {}
|
|
|
|
|
|
//获取数据详情
|
|
//获取数据详情
|
|
const getDataDetail = async () => {
|
|
const getDataDetail = async () => {
|
|
if (!dataId.value) return
|
|
if (!dataId.value) return
|
|
const { data } = await mainApi.getDetail({ id: dataId.value })
|
|
const { data } = await mainApi.getDetail({ id: dataId.value })
|
|
- baseForm.value = getObjValue(data)
|
|
|
|
- addTableData.value = getArrValue(data.formList)
|
|
|
|
|
|
+ const res = getObjValue(data)
|
|
|
|
+ res.pictureUrl = res.pictureUrl ?? ''
|
|
|
|
+ baseForm.value = res
|
|
|
|
+ addTableData.value = getArrValue(res.formList)
|
|
}
|
|
}
|
|
|
|
|
|
//数据格式
|
|
//数据格式
|
|
@@ -300,6 +296,7 @@ const periodChange = () => {
|
|
|
|
|
|
//计量期相关的数据
|
|
//计量期相关的数据
|
|
const setBasePeriodForm = (periodId) => {
|
|
const setBasePeriodForm = (periodId) => {
|
|
|
|
+ if (dataId.value) return
|
|
const periods = period.value
|
|
const periods = period.value
|
|
baseForm.value.contractPeriodId = periodId
|
|
baseForm.value.contractPeriodId = periodId
|
|
const periodData = periods.find((item) => item.id === periodId)
|
|
const periodData = periods.find((item) => item.id === periodId)
|
|
@@ -457,10 +454,10 @@ const addModalSave = async () => {
|
|
form.projectId = pid.value
|
|
form.projectId = pid.value
|
|
form.contractId = cid.value
|
|
form.contractId = cid.value
|
|
let res = {}
|
|
let res = {}
|
|
- if (dataType.value === 'add') {
|
|
|
|
- res = await mainApi.add(form)
|
|
|
|
- } else if (dataType.value === 'edit') {
|
|
|
|
|
|
+ if (dataId.value) {
|
|
res = await mainApi.edit(form)
|
|
res = await mainApi.edit(form)
|
|
|
|
+ } else {
|
|
|
|
+ res = await mainApi.add(form)
|
|
}
|
|
}
|
|
//处理数据
|
|
//处理数据
|
|
const { code, msg } = res
|
|
const { code, msg } = res
|
|
@@ -476,7 +473,7 @@ const addModalSave = async () => {
|
|
//关闭弹窗
|
|
//关闭弹窗
|
|
const addModalClose = () => {
|
|
const addModalClose = () => {
|
|
isShow.value = false
|
|
isShow.value = false
|
|
- baseForm.value = { fileList: [] }
|
|
|
|
|
|
+ baseForm.value = { fileList: [], pictureUrl: '' }
|
|
addTableData.value = []
|
|
addTableData.value = []
|
|
emit('close')
|
|
emit('close')
|
|
}
|
|
}
|