feat(ctr): 优化合同管理功能
- 优化富文本编辑器组件,增加占位符功能 - 在费用合同和收入合同列表中添加支付方式列 - 增加合同内容详情对话框,用于查看分包内容 - 在收入合同列表中添加修改合同功能 - 根据合同类型动态显示承包内容或合同内容
This commit is contained in:
@ -60,12 +60,18 @@
|
||||
<el-table-column type="index" width="50" label="序号" />
|
||||
<!-- <el-table-column label="项目ID" align="center" prop="projectId" /> -->
|
||||
<el-table-column label="合同编号" align="center" prop="contractCode" />
|
||||
<el-table-column label="合同类型" align="center" prop="contractType" />
|
||||
<!-- <el-table-column label="合同类型" align="center" prop="contractType" /> -->
|
||||
<el-table-column label="合同类型" align="center" prop="contractType">
|
||||
<template #default="scope">
|
||||
<dict-tag :options="expenses_contract_type" :value="scope.row.contractType" />
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="支付方式" align="center" prop="payType">
|
||||
<template #default="scope">
|
||||
<el-tag type="success" v-if="scope.row.payType == '1'">月结算</el-tag>
|
||||
<el-tag type="primary" v-else-if="scope.row.payType == '2'">形象节点</el-tag>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="供应商" align="center" prop="contractSupplier" />
|
||||
<!-- <el-table-column label="分包内容" align="center" prop="contractedContent" /> -->
|
||||
<el-table-column label="合同金额" align="center" prop="amount" />
|
||||
@ -85,9 +91,13 @@
|
||||
<el-button link type="primary" icon="Delete" @click="handleDelete(scope.row)"
|
||||
v-hasPermi="['ctr:expensesContract:remove']"></el-button>
|
||||
</el-tooltip> -->
|
||||
<el-tooltip content="查看附件列表" placement="top">
|
||||
|
||||
<div>
|
||||
<el-button link type="success" icon="View" @click="handleShowDetail(scope.row)">查看分包内容</el-button>
|
||||
</div>
|
||||
<div>
|
||||
<el-button link type="primary" icon="View" @click="handleShowFileList(scope.row)">查看附件列表</el-button>
|
||||
</el-tooltip>
|
||||
</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
@ -128,7 +138,17 @@
|
||||
</template>
|
||||
</el-dialog>
|
||||
<FileList v-model="fileListVisible" :fileList="fileList" />
|
||||
<el-dialog v-model="detailVisible" title="合同内容详情" width="45%">
|
||||
<editor :model-value="detailContent" :min-height="192" readOnly placeholder="" />
|
||||
|
||||
<template #footer>
|
||||
<div class="dialog-footer">
|
||||
<el-button type="primary" @click="detailVisible = false">
|
||||
关闭
|
||||
</el-button>
|
||||
</div>
|
||||
</template>
|
||||
</el-dialog>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
@ -156,6 +176,8 @@ const userStore = useUserStore();
|
||||
const queryFormRef = ref<ElFormInstance>();
|
||||
const expensesContractFormRef = ref<ElFormInstance>();
|
||||
const currentProject = computed(() => userStore.selectedProject);
|
||||
const detailContent = ref('');
|
||||
const detailVisible = ref(false); // 控制承包内容详情对话框的显示
|
||||
|
||||
const dialog = reactive<DialogOption>({
|
||||
visible: false,
|
||||
@ -299,7 +321,10 @@ const handleShowFileList = async (row: ExpensesContractVO) => {
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
const handleShowDetail = (data) => {
|
||||
detailContent.value = data.contractedContent
|
||||
detailVisible.value = true;
|
||||
}
|
||||
onMounted(() => {
|
||||
getList();
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user