违规记录

This commit is contained in:
Teo
2025-07-23 11:47:11 +08:00
parent e7b0b54f01
commit d503e64098
15 changed files with 1114 additions and 146 deletions

View File

@ -33,15 +33,15 @@
<template #header>
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button type="primary" plain icon="Plus" @click="handleAdd" v-hasPermi="['project:subcontract:add']">新增</el-button>
<el-button type="primary" plain icon="Plus" @click="handleAdd" v-hasPermi="['contractor:subcontract:add']">新增</el-button>
</el-col>
<el-col :span="1.5">
<el-button type="success" plain icon="Edit" :disabled="single" @click="handleUpdate()" v-hasPermi="['project:subcontract:edit']"
<el-button type="success" plain icon="Edit" :disabled="single" @click="handleUpdate()" v-hasPermi="['contractor:subcontract:edit']"
>修改</el-button
>
</el-col>
<el-col :span="1.5">
<el-button type="danger" plain icon="Delete" :disabled="multiple" @click="handleDelete()" v-hasPermi="['project:subcontract:remove']"
<el-button type="danger" plain icon="Delete" :disabled="multiple" @click="handleDelete()" v-hasPermi="['contractor:subcontract:remove']"
>删除</el-button
>
</el-col>
@ -69,10 +69,16 @@
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template #default="scope">
<el-tooltip content="修改" placement="top">
<el-button link type="primary" icon="Edit" @click="handleUpdate(scope.row)" v-hasPermi="['project:subcontract:edit']"></el-button>
<el-button link type="primary" icon="Edit" @click="handleUpdate(scope.row)" v-hasPermi="['contractor:subcontract:edit']"></el-button>
</el-tooltip>
<el-tooltip content="删除" placement="top">
<el-button link type="primary" icon="Delete" @click="handleDelete(scope.row)" v-hasPermi="['project:subcontract:remove']"></el-button>
<el-button
link
type="primary"
icon="Delete"
@click="handleDelete(scope.row)"
v-hasPermi="['contractor:subcontract:remove']"
></el-button>
</el-tooltip>
</template>
</el-table-column>
@ -80,15 +86,15 @@
<pagination v-show="total > 0" :total="total" v-model:page="queryParams.pageNum" v-model:limit="queryParams.pageSize" @pagination="getList" />
</el-card>
<!-- 添加或修改分包合同对话框 -->
<el-dialog draggable :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="subcontractFormRef" :model="form" :rules="rules" label-width="110px">
<el-form-item label="分包方" prop="contractorId">
<el-select v-model="form.contractorId" filterable placeholder="请选择分包方">
<el-option v-for="(item, i) of contractorList" :key="i" :label="item.name" :value="item.id"> </el-option>
</el-select>
<el-option v-for="(item, i) of contractorList" :key="i" :label="item.name" :value="item.id"> </el-option>
</el-select>
</el-form-item>
<el-form-item label="合同文件" prop="contractFileId">
<file-upload fileSize="" :fileType="['doc', 'xls', 'ppt', 'txt', 'pdf', 'png', 'jpg', 'jpeg']" v-model="form.contractFileId" />
<file-upload :fileType="['doc', 'xls', 'ppt', 'txt', 'pdf', 'png', 'jpg', 'jpeg']" v-model="form.contractFileId" />
</el-form-item>
<el-form-item label="合同名称" prop="contractName">
<el-input v-model="form.contractName" placeholder="请输入合同名称" />
@ -105,8 +111,7 @@
<el-input v-model="form.contractAmount" type="number" placeholder="请输入合同金额" />
</el-form-item>
<el-form-item label="合同日期" prop="contractTime">
<el-date-picker clearable v-model="form.contractTime" type="date" value-format="YYYY-MM-DD" placeholder="请选择合同日期">
</el-date-picker>
<el-date-picker clearable v-model="form.contractTime" type="date" value-format="YYYY-MM-DD" placeholder="请选择合同日期"> </el-date-picker>
</el-form-item>
<el-form-item label="备注" prop="remark">
<el-input v-model="form.remark" type="textarea" placeholder="请输入内容" />
@ -125,7 +130,7 @@
<script setup name="Subcontract" lang="ts">
import { listSubcontract, getSubcontract, delSubcontract, addSubcontract, updateSubcontract } from '@/api/project/subcontract';
import { SubcontractVO, SubcontractQuery, SubcontractForm } from '@/api/project/subcontract/types';
import { listContractor, } from '@/api/project/contractor';
import { listContractor } from '@/api/project/contractor';
import { useUserStoreHook } from '@/store/modules/user';
const { proxy } = getCurrentInstance() as ComponentInternalInstance;
@ -141,7 +146,7 @@ const ids = ref<Array<string | number>>([]);
const single = ref(true);
const multiple = ref(true);
const total = ref(0);
const contractorList=ref([]);//分包列表
const contractorList = ref([]); //分包列表
const queryFormRef = ref<ElFormInstance>();
const subcontractFormRef = ref<ElFormInstance>();
@ -181,7 +186,7 @@ const data = reactive<PageData<SubcontractForm, SubcontractQuery>>({
contractNumber: [{ required: true, message: '合同编号不能为空', trigger: 'change' }],
contractName: [{ required: true, message: '合同名称不能为空', trigger: 'change' }],
contractAmount: [{ required: true, message: '合同金额不能为空', trigger: 'change' }],
contractTime: [{ required: true, message: '合同时间不能为空', trigger: 'change' }],
contractTime: [{ required: true, message: '合同时间不能为空', trigger: 'change' }]
}
});
@ -200,9 +205,11 @@ const getSubList = async () => {
const res = await listContractor({
pageNum: 1,
pageSize: 10000,
projectId: currentProject.value.id,
projectId: currentProject.value.id
});
contractorList.value = res.rows;
handleQuery();
};
/** 取消按钮 */
@ -220,6 +227,7 @@ const reset = () => {
/** 搜索按钮操作 */
const handleQuery = () => {
queryParams.value.pageNum = 1;
if (contractorList.value.length == 1) queryParams.value.contractorId = contractorList.value[0].id;
getList();
};
@ -285,7 +293,7 @@ const listeningProject = watch(
(nid, oid) => {
queryParams.value.projectId = nid;
form.value.projectId = nid;
getList();
getSubList();
}
);
@ -294,6 +302,5 @@ onUnmounted(() => {
});
onMounted(() => {
getSubList();
getList();
});
</script>