材料管理,机械管理

This commit is contained in:
Teo
2025-04-11 18:03:49 +08:00
parent 1f6734db48
commit 895ca5f1b3
21 changed files with 161 additions and 49 deletions

View File

@ -5,7 +5,7 @@ VITE_APP_TITLE = 新能源项目管理平台
VITE_APP_ENV = 'development'
# 开发环境
VITE_APP_BASE_API = 'http://192.168.110.6:8899'
VITE_APP_BASE_API = 'http://192.168.110.8:8899'
# 应用访问路径 例如使用前缀 /admin/
VITE_APP_CONTEXT_PATH = '/'

View File

@ -45,7 +45,8 @@ export interface MachineryForm extends BaseEntity {
* 主键id
*/
id?: string | number;
principalPhone: string | number;
provider: string | number;
/**
* 机械名称
*/
@ -82,7 +83,8 @@ export interface MachineryQuery extends PageQuery {
* 机械名称
*/
machineryName?: string;
principalPhone: string | number;
provider: string | number;
/**
* 机械型号
*/

View File

@ -45,6 +45,8 @@ export interface CompanyForm extends BaseEntity {
* 公司名称
*/
companyName?: string;
principalPhone?: string;
principal?: string;
/**
* 项目id
@ -72,6 +74,8 @@ export interface CompanyQuery extends PageQuery {
* 公司名称
*/
companyName?: string;
principalPhone?: string;
principal?: string;
/**
* 项目id

View File

@ -208,7 +208,8 @@ const handleUploadSuccess = (res: any, file: UploadFile) => {
};
// 删除文件
const handleDelete = (index: string | number, type?: string) => {
const handleDelete = async (index: string | number, type?: string) => {
await proxy?.$modal.confirm('是否确认删除此文件?').finally();
if (type === 'ossId') {
delOss(index);
fileList.value = fileList.value.filter((f) => f.ossId !== index);

View File

@ -16,6 +16,7 @@
:file-list="fileList"
:on-preview="handlePictureCardPreview"
:class="{ hide: fileList.length >= limit }"
accept="image/png, image/jpeg, image/jpg"
>
<el-icon class="avatar-uploader-icon">
<plus />

View File

@ -41,6 +41,7 @@ const handleSelect = (projectId: string) => {
const selectedProject = projects.value.find((p) => p.id === projectId);
if (selectedProject) {
userStore.setSelectedProject(selectedProject);
console.log(userStore.selectedProject); // 打印选中的项目
}
};
</script>

View File

@ -54,7 +54,7 @@ interface Props {
}
const props = defineProps<Props>();
const emit = defineEmits(['submit']);
const visible = ref<boolean>(false);
const loading = ref<boolean>(false);
@ -90,6 +90,7 @@ const submitForm = () => {
// 调用接口提交数据
await addMachineryDetail({ ...form, machineryId: props.machineryId }).finally(() => (loading.value = false));
ElMessage.success('提交成功');
emit('submit');
closeDialog();
} catch (error) {
ElMessage.error('提交失败');

View File

@ -10,9 +10,15 @@
<el-table-column label="检验单位" align="center" prop="checkoutUnit" />
<el-table-column label="检定日期/有效期" align="center" prop="checkoutDate" />
<el-table-column label="入场时间" align="center" prop="entryTime" />
<el-table-column label="图片" align="center" prop="pictureList.url">
<el-table-column label="图片" align="center">
<template #default="scope">
<el-image :key="picture.id" v-for="picture in scope.row.pictureList" :src="picture.url" />
<el-image
:z-index="9999"
:preview-src-list="imgList(scope.row.pictureList)"
preview-teleported
:src="scope.row.pictureList[0].url"
class="w20"
/>
</template>
</el-table-column>
<el-table-column label="备注" align="center" prop="remark" />
@ -39,7 +45,7 @@
v-model:limit="queryParams.pageSize"
@pagination="getList"
/>
<el-dialog title="修改机械出入场详情" v-model="dialogRef" width="500px" append-to-body>
<el-dialog title="修改机械出入场详情" v-model="dialogRef" width="700px" append-to-body>
<el-form ref="formRef" :model="form" :rules="rules" label-width="140px">
<el-form-item label="出入场" prop="type">
<el-select v-model="form.type" clearable placeholder="请选择出入场">
@ -92,6 +98,7 @@
import { MachineryDetailForm, MachineryDetailQuery, MachineryDetailVO } from '@/api/machinery/machineryDetail/types';
import { delMachineryDetail, getMachineryDetail, listMachineryDetail, updateMachineryDetail } from '@/api/machinery/machineryDetail';
import { ref } from 'vue';
import { Picture } from '@element-plus/icons-vue';
const { proxy } = getCurrentInstance() as ComponentInternalInstance;
const { machinery_entry_exit_type, sys_normal_disable } = toRefs<any>(proxy?.useDict('machinery_entry_exit_type', 'sys_normal_disable'));
@ -141,6 +148,11 @@ const data = reactive<PageData<MachineryDetailForm, MachineryDetailQuery>>({
const { queryParams, form, rules } = toRefs(data);
const imgList = computed(() => (list) => {
const newList = list.map((item) => item.url);
return newList;
});
const machineryDetailList = ref<MachineryDetailVO[]>([]);
/** 展开选中数据 */
const getList = async () => {

View File

@ -54,9 +54,11 @@
<el-table-column label="机械型号" align="center" prop="machineryNumber" />
<el-table-column label="数量" align="center" prop="number" />
<el-table-column label="负责人" align="center" prop="principal" />
<el-table-column label="负责人电话" align="center" prop="principalPhone" />
<el-table-column label="供应商" align="center" prop="provider" />
<el-table-column label="备注" align="center" prop="remark" />
<el-table-column label="创建时间" align="center" prop="createTime" />
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<el-table-column label="创建时间" align="center" prop="createTime" width="180" />
<el-table-column label="操作" align="center" class-name="small-padding" width="300">
<template #default="scope">
<el-space wrap>
<el-button link type="success" icon="Edit" @click="handleUpdate(scope.row)" v-hasPermi="['machinery:machinery:edit']">修改 </el-button>
@ -73,7 +75,7 @@
</el-card>
<!-- 添加或修改机械对话框 -->
<el-dialog :title="dialog.title" v-model="dialog.visible" width="500px" append-to-body>
<el-form ref="machineryFormRef" :model="form" :rules="rules" label-width="80px">
<el-form ref="machineryFormRef" :model="form" :rules="rules" label-width="90px">
<el-form-item label="机械名称" prop="machineryName">
<el-input v-model="form.machineryName" placeholder="请输入机械名称" />
</el-form-item>
@ -86,6 +88,12 @@
<el-form-item label="负责人" prop="principal">
<el-input v-model="form.principal" placeholder="请输入负责人" />
</el-form-item>
<el-form-item label="负责人电话" prop="principalPhone">
<el-input v-model="form.principalPhone" placeholder="请输入负责人电话" type="number" />
</el-form-item>
<el-form-item label="供应商" prop="provider">
<el-input v-model="form.provider" placeholder="请输入供应商" />
</el-form-item>
<el-form-item label="备注" prop="remark">
<el-input v-model="form.remark" type="textarea" placeholder="请输入内容" />
</el-form-item>
@ -97,7 +105,7 @@
</div>
</template>
</el-dialog>
<machinery-detail-add-dialog :machinery-id="currentMachineryId" ref="dialogRef" />
<machinery-detail-add-dialog :machinery-id="currentMachineryId" ref="dialogRef" @submit="getList" />
</div>
</template>
@ -139,7 +147,9 @@ const initFormData: MachineryForm = {
projectId: currentProject.value.id,
number: undefined,
principal: undefined,
remark: undefined
remark: undefined,
principalPhone: undefined,
provider: undefined
};
const data = reactive<PageData<MachineryForm, MachineryQuery>>({
form: { ...initFormData },
@ -151,7 +161,9 @@ const data = reactive<PageData<MachineryForm, MachineryQuery>>({
projectId: currentProject.value.id,
number: undefined,
principal: undefined,
params: {}
params: {},
principalPhone: undefined,
provider: undefined
},
rules: {
id: [{ required: true, message: '主键id不能为空', trigger: 'blur' }]
@ -262,6 +274,20 @@ const handleAddMachineryDetail = (row?: MachineryVO) => {
dialogRef.value.openDialog();
};
//监听项目id刷新数据
const listeningProject = watch(
() => currentProject.value.id,
(nid, oid) => {
queryParams.value.projectId = nid;
form.value.projectId = nid;
getList();
}
);
onUnmounted(() => {
listeningProject();
});
onMounted(() => {
getList();
});

View File

@ -8,7 +8,7 @@
<el-input v-model="queryParams.companyName" placeholder="请输入公司名称" clearable @keyup.enter="handleQuery" />
</el-form-item>
<el-form-item label="公司状态" prop="status">
<el-select v-model="queryParams.status" clearable placeholder="请选择公司状态">
<el-select v-model="queryParams.status" clearable placeholder="全部">
<el-option v-for="item in sys_normal_disable" :key="item.value" :label="item.label" :value="item.value" />
</el-select>
</el-form-item>
@ -49,6 +49,8 @@
<!-- <el-table-column label="主键id" align="center" prop="id" v-if="true" /> -->
<el-table-column label="序号" type="index" width="60" align="center" />
<el-table-column label="公司名称" align="center" prop="companyName" />
<el-table-column label="负责人" align="center" prop="principal" />
<el-table-column label="负责人电话" align="center" prop="principalPhone" />
<el-table-column label="公司状态" align="center" prop="status">
<template #default="scope">
<dict-tag :options="sys_normal_disable" :value="scope.row.status" />
@ -72,10 +74,16 @@
<!-- 添加或修改公司对话框 -->
<el-dialog :title="dialog.title" v-model="dialog.visible" width="500px" append-to-body>
<el-form ref="companyFormRef" :model="form" :rules="rules" label-width="80px">
<el-form ref="companyFormRef" :model="form" :rules="rules" label-width="100px">
<el-form-item label="公司名称" prop="companyName">
<el-input v-model="form.companyName" placeholder="请输入公司名称" />
</el-form-item>
<el-form-item label="负责人" prop="principal">
<el-input v-model="form.principal" placeholder="请输入负责人" />
</el-form-item>
<el-form-item label="负责人电话" prop="principalPhone">
<el-input v-model="form.principalPhone" placeholder="请输入负责人电话" type="number" />
</el-form-item>
<el-form-item label="备注" prop="remark">
<el-input v-model="form.remark" placeholder="请输入备注" />
</el-form-item>
@ -129,7 +137,9 @@ const initFormData: CompanyForm = {
projectId: currentProject.value.id,
status: undefined,
remark: undefined,
qualification: undefined
qualification: undefined,
principalPhone: undefined,
principal: undefined
};
const data = reactive<PageData<CompanyForm, CompanyQuery>>({
form: { ...initFormData },
@ -140,10 +150,15 @@ const data = reactive<PageData<CompanyForm, CompanyQuery>>({
projectId: currentProject.value.id,
status: undefined,
qualification: undefined,
principalPhone: undefined,
principal: undefined,
params: {}
},
rules: {
id: [{ required: true, message: '主键id不能为空', trigger: 'blur' }]
id: [{ required: true, message: '主键id不能为空', trigger: 'blur' }],
companyName: [{ required: true, message: '公司名字不能为空', trigger: 'blur' }],
principal: [{ required: true, message: '负责人不能为空', trigger: 'blur' }],
principalPhone: [{ required: true, message: '负责人电话不能为空', trigger: 'blur' }]
}
});
@ -211,6 +226,7 @@ const submitForm = () => {
companyFormRef.value?.validate(async (valid: boolean) => {
if (valid) {
buttonLoading.value = true;
form.value.projectId = currentProject.value.id;
if (form.value.id) {
await updateCompany(form.value).finally(() => (buttonLoading.value = false));
} else {
@ -243,6 +259,20 @@ const handleExport = () => {
);
};
//监听项目id刷新数据
const listeningProject = watch(
() => currentProject.value.id,
(nid, oid) => {
queryParams.value.projectId = nid;
form.value.projectId = nid;
getList();
}
);
onUnmounted(() => {
listeningProject();
});
onMounted(() => {
getList();
});

View File

@ -42,18 +42,22 @@ const materialsDetail = ref<MaterialsVO>();
const ossIdMap = ref<Record<string, string>>({});
const ossMap = ref<Record<string, OssVO>>({}); // 存储 ossId -> 对象映射
const getMaterialsDetail = async () => {
console.log('getMaterialsDetail', props.materialsId);
loading.value = true;
const res = await getMaterials(props.materialsId);
if (res.data && res.code === 200) {
materialsDetail.value = res.data;
ossIdMap.value = res.data.fileOssMap;
// 获取 value 列表
if (res.data.fileOssMap) {
if (res.data.fileOssMap && Object.keys(res.data.fileOssMap).length !== 0) {
const values = Object.values(res.data.fileOssMap);
const ossRes = await listByIds(values);
ossMap.value = Object.fromEntries(ossRes.data.map((item) => [item.ossId, item]));
}
}
console.log('ossMap', ossMap.value);
loading.value = false;
};

View File

@ -9,9 +9,9 @@
<el-form-item label="材料数量" prop="number">
<el-input-number v-model="form.number" placeholder="请输入预计使用数量" />
</el-form-item>
<el-form-item label="剩余库存数量" prop="residue">
<!-- <el-form-item label="剩余库存数量" prop="residue">
<el-input v-model="form.residue" placeholder="请输入剩余库存数量" />
</el-form-item>
</el-form-item> -->
<el-form-item label="出入库负责人" prop="operator">
<el-input v-model="form.operator" placeholder="请输入出入库负责人" />
</el-form-item>
@ -58,6 +58,7 @@ interface Props {
}
const props = defineProps<Props>();
const emit = defineEmits(['submit']);
const visible = ref<boolean>(false);
const loading = ref<boolean>(false);
@ -97,6 +98,7 @@ const submitForm = () => {
// 调用接口提交数据
await addMaterialsInventory({ ...form, materialsId: props.materialsId });
ElMessage.success('提交成功');
emit('submit');
closeDialog();
} catch (error) {
ElMessage.error('提交失败');

View File

@ -1,6 +1,7 @@
<template>
<div>
<el-table size="small" v-if="materialsInventoryList.length !== 0" :data="materialsInventoryList">
<el-table-column label="" width="100" align="center" />
<el-table-column label="序号" type="index" width="60" align="center" />
<el-table-column label="出入库" align="center" prop="outPut">
<template #default="scope">

View File

@ -8,7 +8,7 @@
<el-input v-model="queryParams.materialsName" placeholder="请输入材料名称" clearable @keyup.enter="handleQuery" />
</el-form-item>
<el-form-item label="材料提供商" prop="companyId">
<el-select v-model="queryParams.companyId" clearable placeholder="请选择材料提供商">
<el-select v-model="queryParams.companyId" clearable placeholder="全部">
<el-option v-for="item in companyOptions" :key="item.value" :label="item.label" :value="item.value" />
</el-select>
</el-form-item>
@ -133,7 +133,7 @@
</div>
</template>
</el-dialog>
<materials-inventory-add-dialog :materials-id="currentMaterialsId" :project-id="currentProject.id" ref="dialogRef" />
<materials-inventory-add-dialog :materials-id="currentMaterialsId" :project-id="currentProject.id" ref="dialogRef" @submit="getList" />
<el-dialog title="材料详情" v-model="showDetailDrawer" width="700px">
<materials-detail-drawer :materials-id="currentMaterialsId" />
</el-dialog>
@ -295,6 +295,7 @@ const submitForm = () => {
materialsFormRef.value?.validate(async (valid: boolean) => {
if (valid) {
buttonLoading.value = true;
form.value.projectId = currentProject.value.id;
if (form.value.id) {
await updateMaterials({
...form.value,
@ -351,6 +352,20 @@ const handleOssUpdate = (ossId: string, value: string) => {
}
};
//监听项目id刷新数据
const listeningProject = watch(
() => currentProject.value.id,
(nid, oid) => {
queryParams.value.projectId = nid;
form.value.projectId = nid;
getList();
}
);
onUnmounted(() => {
listeningProject();
});
onMounted(() => {
getList();
getCompanyList();

View File

@ -31,7 +31,7 @@
<el-table v-loading="loading" :data="materialsInventoryList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" />
<el-table-column label="序号" type="index" width="60" align="center" />
<el-table-column label="材料名称" align="center" prop="materialsVo.materialsName" />
<el-table-column label="材料名称" align="center" prop="materialsName" />
<el-table-column label="入库登记" align="center">
<el-table-column label="数量" align="center" prop="number">
<template #default="scope">
@ -79,7 +79,7 @@
<el-table-column label="处理方式" align="center" prop="disposition" />
</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" class-name="small-padding fixed-width">
<template #default="scope">
<el-space wrap>
<el-button link type="success" icon="Edit" @click="handleUpdate(scope.row)" v-hasPermi="['materials:materialsInventory:edit']">
@ -90,7 +90,7 @@
</el-button>
</el-space>
</template>
</el-table-column>
</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>
@ -225,12 +225,6 @@ const getList = async () => {
materialsInventoryList.value = res.rows;
total.value = res.total;
const materialsMap = new Map();
res.rows.forEach((record: MaterialsInventoryVO) => {
const { id, materialsName } = record.materialsVo;
if (!materialsMap.has(id)) {
materialsMap.set(id, { id, materialsName });
}
});
materialsOptions.value = Array.from(materialsMap.values());
loading.value = false;
};
@ -281,6 +275,7 @@ const submitForm = () => {
materialsInventoryFormRef.value?.validate(async (valid: boolean) => {
if (valid) {
buttonLoading.value = true;
form.value.projectId = currentProject.value.id;
if (form.value.id) {
await updateMaterialsInventory(form.value).finally(() => (buttonLoading.value = false));
} else {
@ -312,6 +307,20 @@ const handleExport = () => {
`materialsInventory_${new Date().getTime()}.xlsx`
);
};
//监听项目id刷新数据
const listeningProject = watch(
() => currentProject.value.id,
(nid, oid) => {
queryParams.value.projectId = nid;
form.value.projectId = nid;
getList();
}
);
onUnmounted(() => {
listeningProject();
});
onMounted(() => {
getList();
});

View File

@ -8,12 +8,12 @@
<el-input v-model="queryParams.userName" placeholder="请输入人员姓名" clearable @keyup.enter="handleQuery" />
</el-form-item>
<el-form-item label="班组" prop="teamId">
<el-select v-model="queryParams.teamId" placeholder="请选择班组" clearable>
<el-select v-model="queryParams.teamId" placeholder="全部" clearable>
<el-option v-for="dict in ProjectTeam" :key="dict.value" :label="dict.label" :value="dict.value" />
</el-select>
</el-form-item>
<el-form-item label="工种" prop="typeOfWork">
<el-select v-model="queryParams.typeOfWork" placeholder="请选择工种" clearable>
<el-select v-model="queryParams.typeOfWork" placeholder="全部" clearable>
<el-option v-for="dict in type_of_work" :key="dict.value" :label="dict.label" :value="dict.value" />
</el-select>
</el-form-item>

View File

@ -8,7 +8,7 @@
<el-input v-model="queryParams.userName" placeholder="请输入人员姓名" clearable @keyup.enter="handleQuery" />
</el-form-item>
<el-form-item label="班组" prop="teamId">
<el-select v-model="queryParams.teamId" placeholder="请选择班组" clearable>
<el-select v-model="queryParams.teamId" placeholder="全部" clearable>
<el-option v-for="dict in ProjectTeam" :key="dict.value" :label="dict.label" :value="dict.value" />
</el-select>
</el-form-item>
@ -16,7 +16,7 @@
<el-date-picker clearable v-model="queryParams.clockDate" type="date" value-format="YYYY-MM-DD" placeholder="请选择打卡日期" />
</el-form-item>
<el-form-item label="考勤状态" prop="clockStatus">
<el-select v-model="queryParams.clockStatus" placeholder="请选择考勤状态" clearable>
<el-select v-model="queryParams.clockStatus" placeholder="全部" clearable>
<el-option v-for="dict in clock_status_type" :key="dict.value" :label="dict.label" :value="dict.value" />
</el-select>
</el-form-item>

View File

@ -8,22 +8,22 @@
<el-input v-model="queryParams.userName" placeholder="请输入人员姓名" clearable @keyup.enter="handleQuery" />
</el-form-item>
<el-form-item label="分包公司" prop="contractorId">
<el-select v-model="queryParams.contractorId" clearable placeholder="请选择分包公司">
<el-select v-model="queryParams.contractorId" clearable placeholder="全部">
<el-option v-for="item in contractorOpt" :key="item.value" :label="item.label" :value="item.value" />
</el-select>
</el-form-item>
<el-form-item label="班组" prop="contractorId">
<el-select v-model="queryParams.teamId" clearable placeholder="请选择班组">
<el-select v-model="queryParams.teamId" clearable placeholder="全部">
<el-option v-for="item in ProjectTeam" :key="item.value" :label="item.label" :value="item.value" />
</el-select>
</el-form-item>
<el-form-item label="工种" prop="typeOfWork">
<el-select v-model="queryParams.typeOfWork" clearable placeholder="请选择工种">
<el-select v-model="queryParams.typeOfWork" clearable placeholder="全部">
<el-option v-for="item in type_of_work" :key="item.value" :label="item.label" :value="item.value" />
</el-select>
</el-form-item>
<el-form-item label="打卡" prop="clock">
<el-select v-model="queryParams.clock" clearable placeholder="请选择打卡">
<el-select v-model="queryParams.clock" clearable placeholder="全部">
<el-option v-for="item in user_clock_type" :key="item.value" :label="item.label" :value="item.value" />
</el-select>
</el-form-item>
@ -945,6 +945,7 @@ const submitForm = () => {
console.log(valid);
if (valid) {
buttonLoading.value = true;
form.value.projectId = currentProject.value.id;
if (form.value.id) {
await updateConstructionUser(form.value).finally(() => (buttonLoading.value = false));
} else {

View File

@ -163,7 +163,6 @@ const { queryParams, form, rules } = toRefs(data);
/** 查询分包单位列表 */
const getList = async () => {
loading.value = true;
const res = await listContractor(queryParams.value);
contractorList.value = res.rows;
total.value = res.total;
@ -222,6 +221,7 @@ const handleUpdate = async (row?: ContractorVO) => {
const submitForm = () => {
contractorFormRef.value?.validate(async (valid: boolean) => {
if (valid) {
form.value.projectId = currentProject.value.id;
buttonLoading.value = true;
if (form.value.id) {
await updateContractor(form.value).finally(() => (buttonLoading.value = false));
@ -269,6 +269,7 @@ const listeningProject = watch(
(nid, oid) => {
queryParams.value.projectId = nid;
form.value.projectId = nid;
console.log('监听项目id', queryParams.value.projectId, form.value.projectId);
getList();
}
);

View File

@ -63,7 +63,7 @@
</template>
</el-table-column>
<el-table-column label="负责人" align="center" prop="principal" />
<el-table-column label="负责人电话" align="center" prop="principalPhone" width="100" />
<el-table-column label="负责人电话" align="center" prop="principalPhone" width="120" />
<el-table-column label="实际容量(M)" align="center" prop="actual" width="100" />
<el-table-column label="计划容量(M)" align="center" prop="plan" width="100" />
<el-table-column label="开工时间" align="center" prop="onStreamTime" width="120" />
@ -148,17 +148,17 @@
</el-form-item>
</el-col>
<el-col :span="12" :offset="0">
<el-form-item label="计划容量" prop="plan">
<el-form-item label="计划容量(M)" prop="plan">
<el-input v-model="form.plan" placeholder="请输入计划容量" />
</el-form-item>
</el-col>
<el-col :span="12" :offset="0">
<el-form-item label="实际容量" prop="actual">
<el-form-item label="实际容量(M)" prop="actual">
<el-input v-model="form.actual" placeholder="请输入实际容量" />
</el-form-item>
</el-col>
<el-col :span="12" :offset="0">
<el-form-item label="设计总量" prop="designTotal">
<el-form-item label="设计总量(M)" prop="designTotal">
<el-input v-model="form.designTotal" placeholder="请输入设计总量" />
</el-form-item>
</el-col>
@ -232,7 +232,7 @@
</div>
</template>
</el-dialog>
<el-dialog v-model="amapStatus" title="获取经纬度" width="80%">
<el-dialog v-model="amapStatus" :title="form.projectName + '-获取经纬度'" width="80%">
<amap height="620px" @setLocation="setPoi"></amap>
<!-- <template #footer>
<div class="dialog-footer">
@ -411,7 +411,7 @@ const handleUpdate = async (row?: ProjectVO) => {
const res = await getProject(_id);
Object.assign(form.value, res.data);
dialog.visible = true;
dialog.title = '修改项目';
dialog.title = '修改-' + form.value.projectName;
};
/** 上传安全协议书按钮操作 */

View File

@ -5,12 +5,12 @@
<el-card shadow="hover">
<el-form ref="queryFormRef" :model="queryParams" :inline="true">
<el-form-item label="工种" prop="workType">
<el-select v-model="queryParams.workType" placeholder="请选择工种" clearable>
<el-select v-model="queryParams.workType" placeholder="全部" clearable>
<el-option v-for="dict in type_of_work" :key="dict.value" :label="dict.label" :value="dict.value" />
</el-select>
</el-form-item>
<el-form-item label="工资计算方式" prop="wageCalculationType" label-width="100px">
<el-select v-model="queryParams.wageCalculationType" placeholder="请选择工资计算方式" clearable>
<el-select v-model="queryParams.wageCalculationType" placeholder="全部" clearable>
<el-option v-for="dict in wageCalculationTypeList" :key="dict.value" :label="dict.label" :value="dict.value" />
</el-select>
</el-form-item>
@ -266,6 +266,7 @@ const submitForm = () => {
workWageFormRef.value?.validate(async (valid: boolean) => {
if (valid) {
buttonLoading.value = true;
form.value.projectId = currentProject.value.id;
if (form.value.id) {
await updateWorkWage(form.value).finally(() => (buttonLoading.value = false));
} else {