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