产值计划

This commit is contained in:
2025-08-09 18:02:32 +08:00
parent bebd4e3a2e
commit c7340572c9
22 changed files with 657 additions and 307 deletions

View File

@ -28,17 +28,6 @@
<el-col :span="1.5">
<el-button type="primary" plain icon="Plus" @click="handleAdd" v-hasPermi="['out:settlementValueSubcontract:add']">新增</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="success"
plain
icon="Edit"
:disabled="single"
@click="handleUpdate()"
v-hasPermi="['out:settlementValueSubcontract:edit']"
>修改</el-button
>
</el-col>
<el-col :span="1.5">
<el-button
type="danger"
@ -50,11 +39,6 @@
>删除</el-button
>
</el-col>
<el-col :span="1.5">
<el-button type="warning" plain icon="Download" @click="handleExport" v-hasPermi="['out:settlementValueSubcontract:export']"
>导出</el-button
>
</el-col>
<right-toolbar v-model:showSearch="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
</template>
@ -102,11 +86,10 @@
</template>
</el-table-column>
</el-table>
<pagination v-show="total > 0" :total="total" v-model:page="queryParams.pageNum" v-model:limit="queryParams.pageSize" @pagination="getList" />
</el-card>
<!-- 添加或修改结算产值登记对乙对话框 -->
<el-dialog :title="dialog.title" v-model="dialog.visible" width="500px" append-to-body>
<el-dialog draggable :title="dialog.title" v-model="dialog.visible" width="500px" append-to-body>
<el-form ref="settlementValueSubcontractFormRef" :model="form" :rules="rules" label-width="100px">
<el-form-item label="单据编码" prop="documentCode">
<el-input v-model="form.documentCode" placeholder="请输入单据编码" />
@ -132,7 +115,7 @@
</el-select>
</el-form-item>
<el-form-item label="结算产值" prop="settlementValue">
<el-input v-model="form.settlementValue" placeholder="请输入结算产值" />
<el-input v-model="form.settlementValue" type="number" placeholder="请输入结算产值" />
</el-form-item>
<el-form-item label="说明" prop="remark">
<el-input v-model="form.remark" placeholder="请输入说明" />
@ -143,9 +126,6 @@
<el-form-item label="合同名称" prop="contractName">
<el-input v-model="form.contractName" placeholder="请输入合同名称" />
</el-form-item>
<el-form-item label="合同地址" prop="contractUrl">
<el-input v-model="form.contractUrl" placeholder="请输入合同地址" />
</el-form-item>
</el-form>
<template #footer>
<div class="dialog-footer">
@ -335,17 +315,6 @@ const handleDelete = async (row?: SettlementValueSubcontractVO) => {
await getList();
};
/** 导出按钮操作 */
const handleExport = () => {
proxy?.download(
'out/settlementValueSubcontract/export',
{
...queryParams.value
},
`settlementValueSubcontract_${new Date().getTime()}.xlsx`
);
};
onMounted(() => {
getList();
});
@ -363,4 +332,7 @@ const listeningProject = watch(
onUnmounted(() => {
listeningProject();
});
defineExpose({
getList
});
</script>

View File

@ -0,0 +1,30 @@
<template>
<div class="p-2">
<el-tabs v-model="activeName" class="demo-tabs" @tab-click="handleClick">
<el-tab-pane label="对甲-结算登记" name="second">
<settlementValueOwner ref="settlementValueOwnerChild"></settlementValueOwner>
</el-tab-pane>
<el-tab-pane label="对乙-结算登记" name="first">
<settlementValueSubcontract ref="settlementValueSubcontractChild"></settlementValueSubcontract>
</el-tab-pane>
</el-tabs>
</div>
</template>
<script setup name="MonthPlan" lang="ts">
import { ref, watch, computed } from 'vue';
import settlementValueSubcontract from './index.vue'; //子组件
import settlementValueOwner from '../settlementValueOwner/index.vue'; //子组件
// 引用子组件
const activeName = ref('second');
const settlementValueSubcontractChild = ref<InstanceType<typeof settlementValueSubcontract> | null>(null);
const settlementValueOwnerChild = ref<InstanceType<typeof settlementValueOwner> | null>(null);
const handleClick = () => {
// 调用子组件方法
if (activeName.value == 'first') {
settlementValueSubcontractChild.value.getList(); //子组件方法
} else if (activeName.value == 'second') {
settlementValueOwnerChild.value.getList(); //子组件方法
}
};
</script>