测试优化

This commit is contained in:
2025-08-26 21:00:46 +08:00
parent 589d21d622
commit 18957eb7a7
41 changed files with 1486 additions and 1162 deletions

View File

@ -13,8 +13,8 @@
<el-form-item label="材料名称" prop="materialName">
<el-input v-model="queryParams.materialName" placeholder="请输入设备材料名称" clearable @keyup.enter="handleQuery" />
</el-form-item>
<el-form-item label="合同名称" prop="contractName">
<el-input v-model="queryParams.contractName" placeholder="请输入合同名称" clearable @keyup.enter="handleQuery" />
<el-form-item label="合同编号" prop="contractName">
<el-input v-model="queryParams.contractName" placeholder="请输入合同编号" clearable @keyup.enter="handleQuery" />
</el-form-item>
<el-form-item label="订货单位" prop="orderingUnit">
<el-input v-model="queryParams.orderingUnit" placeholder="请输入订货单位" clearable @keyup.enter="handleQuery" />
@ -23,8 +23,8 @@
<el-input v-model="queryParams.supplierUnit" placeholder="请输入供货单位" clearable @keyup.enter="handleQuery" />
</el-form-item>
<el-form-item>
<el-button type="primary" v-hasPermi="['materials:materialReceive:list']" icon="Search" @click="handleQuery">搜索</el-button>
<el-button icon="Refresh" v-hasPermi="['materials:materialReceive:list']" @click="resetQuery">重置</el-button>
<el-button type="primary" icon="Search" @click="handleQuery">搜索</el-button>
<el-button icon="Refresh" @click="resetQuery">重置</el-button>
</el-form-item>
</el-form>
</el-card>
@ -37,23 +37,12 @@
<el-col :span="1.5">
<el-button type="primary" plain icon="Plus" @click="handleAdd" v-hasPermi="['materials:materialReceive:add']">新增</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="danger"
plain
icon="Delete"
:disabled="multiple"
@click="handleDelete()"
v-hasPermi="['materials:materialReceive:remove']"
>删除</el-button
>
</el-col>
<right-toolbar v-model:showSearch="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
</template>
<el-table v-loading="loading" :data="materialReceiveList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" />
<el-table-column type="index" width="60" label="序号" align="center" />
<el-table-column label="表单编号" align="center" prop="formCode" />
<el-table-column label="工程名称" align="center" prop="projectName" />
<el-table-column label="设备材料名称" align="center" prop="materialName" />
@ -66,19 +55,17 @@
</template>
</el-table-column>
<el-table-column label="备注" align="center" prop="remark" />
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<el-table-column label="操作" align="center" min-width="120" fixed="right">
<template #default="scope">
<el-tooltip content="查看" placement="top">
<el-button link type="primary" icon="View" @click="handleView(scope.row)" v-hasPermi="['materials:materialReceive:query']"></el-button>
<el-button link type="primary" icon="View" @click="handleView(scope.row)" v-hasPermi="['materials:materialReceive:query']"
>查看</el-button
>
</el-tooltip>
<el-tooltip content="删除" placement="top">
<el-button
link
type="primary"
icon="Delete"
@click="handleDelete(scope.row)"
v-hasPermi="['materials:materialReceive:remove']"
></el-button>
<el-button link type="primary" icon="Delete" @click="handleDelete(scope.row)" v-hasPermi="['materials:materialReceive:remove']"
>删除</el-button
>
</el-tooltip>
</template>
</el-table-column>
@ -126,8 +113,16 @@
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="合同名称" prop="contractName">
<el-input v-model="form.contractName" placeholder="请输入合同名称" />
<el-form-item label="合同编号" prop="contractName">
<el-select v-model="form.contractName" filterable placeholder="请选择合同" style="width: 100%">
<el-option
v-for="item in contractNameList"
:key="item.contractCode"
:label="item.contractCode"
:value="item.contractCode"
></el-option>
</el-select>
<!-- <el-input v-model="form.contractName" placeholder="请输入合同名称" /> -->
</el-form-item>
</el-col>
<el-col :span="24">
@ -255,7 +250,8 @@ import {
getMaterialReceive,
delMaterialReceive,
addMaterialReceive,
updateMaterialReceive
updateMaterialReceive,
getContractNameList
} from '@/api/materials/materialReceive';
import { MaterialReceiveVO, MaterialReceiveQuery, MaterialReceiveForm } from '@/api/materials/materialReceive/types';
import { useUserStoreHook } from '@/store/modules/user';
@ -288,7 +284,7 @@ const queryFormRef = ref<ElFormInstance>();
const materialReceiveFormRef = ref<ElFormInstance>();
const purchaseDocList = ref([]); // 物资采购单列表
const purchaseMap = new Map(); // 采购单映射id -> 采购单对象)
const contractNameList = ref([]); //合同列表
// 对话框配置
const dialog = reactive<DialogOption>({
visible: false,
@ -378,7 +374,11 @@ const getList = async () => {
loading.value = false;
}
};
// 获取合同列表数据
const getContractList = async () => {
let res = await getContractNameList(currentProject.value?.id);
contractNameList.value = res.rows;
};
/** 取消按钮 */
const cancel = () => {
reset();
@ -463,13 +463,14 @@ const submitForm = () => {
if (form.value.id) {
await updateMaterialReceive({ ...form.value });
} else {
form.value.itemList.forEach((item) => {
delete item.id;
});
await addMaterialReceive({ ...form.value });
}
proxy?.$modal.msgSuccess('操作成功');
dialog.visible = false;
await getList();
} catch (err) {
proxy?.$modal.msgError('操作失败');
} finally {
buttonLoading.value = false;
}
@ -664,6 +665,7 @@ watch(
/** 页面挂载时初始化 */
onMounted(() => {
getContractList();
getList();
getlistPurchase();
// 监听初始验收条目
@ -678,6 +680,7 @@ const listeningProject = watch(
(nid) => {
queryParams.value.projectId = nid;
form.value.projectId = nid;
getContractList();
getList();
getlistPurchase();
}