From 49aee4d0b0b71c844f50e34479b7acd07f667f83 Mon Sep 17 00:00:00 2001 From: zhouwx <1175765986@qq.com> Date: 星期五, 13 六月 2025 13:46:42 +0800 Subject: [PATCH] 修改 --- src/views/build/conpanyFunctionConsult/companyInfo/basicInfo/components/basicInfoDialog.vue | 166 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 166 insertions(+), 0 deletions(-) diff --git a/src/views/build/conpanyFunctionConsult/companyInfo/basicInfo/components/basicInfoDialog.vue b/src/views/build/conpanyFunctionConsult/companyInfo/basicInfo/components/basicInfoDialog.vue new file mode 100644 index 0000000..84bbb10 --- /dev/null +++ b/src/views/build/conpanyFunctionConsult/companyInfo/basicInfo/components/basicInfoDialog.vue @@ -0,0 +1,166 @@ +<template> + <div class="notice"> + <el-dialog + v-model="dialogVisible" + :title="title" + width="50%" + :before-close="handleClose" + :close-on-press-escape="false" + :close-on-click-modal="false" + > + <el-form :model="state.form" size="default" ref="busRef" :rules="state.formRules" label-position="top" label-width="150px" > + <el-form-item label="1.企业的基本情况,主要包括:法人证书编号,所属部门、法人代表姓名、身份证号、职务、人员总数、技术人员数、不良情况记录、保密等资质。" prop="basic" > + <el-input v-model="state.form.basic" :rows="4" type="textarea" :disabled="title === '查看'"/> + </el-form-item> + <el-form-item label="2.企业简介、行业特点、资源和能力情况。特别是上次审核以来领导层、组织机构(包括分场所)及体系变动情况。" prop="introduce" > + <el-input v-model="state.form.introduce" :rows="4" type="textarea" :disabled="title === '查看'"/> + </el-form-item> + <el-form-item label="3.最高管理者对体系的重视程度,员工的质量意识,企业的经营宗旨和质量方针的确定,质量方针与经营宗旨是否相适宜,质量目标的适宜性及实现情况,及上年度目标的实现情况,本年度目标的阶段性实现情况,当目标没有实现时,采取的措施。" prop="target" > + <el-input v-model="state.form.target" :rows="4" type="textarea" :disabled="title === '查看'"/> + </el-form-item> + <el-form-item label="4.自上次审核以来签订了多少份合同(军)、交付情况,以及取得的绩效(顾客满意度情况、订货及销售收入、利润及增加情况;产值/利润递增情况;质量损失减少情况;产品一次交验合格率提升情况;取得的专利和奖励成果情况;顾客表扬方面的内容),按照年度统计数据或年递增率。" prop="quality"> + <el-input v-model="state.form.quality" :rows="4" type="textarea" :disabled="title === '查看'"/> + </el-form-item> + <el-form-item label="5.总结自上次审核以来开展了哪些质量管理专项活动,特别是有效提高质量管理意识和质量管理技能、产品实物质量方面的管理改进活动,效果如何,以及纠正/预防措施落实情况。" prop="activity"> + <el-input v-model="state.form.activity" :rows="4" type="textarea" :disabled="title === '查看'"/> + </el-form-item> + <el-form-item label="6.本年度内审时间、开出不符合项数量及整改验收;管理评审时间、改进事项及完成情况。" prop="audit"> + <el-input v-model="state.form.audit" :rows="4" type="textarea" :disabled="title === '查看'"/> + </el-form-item> + <el-form-item label="7.公司的外包过程有哪些?如何控制以及风险管理的应用情况。" prop="epiboly"> + <el-input v-model="state.form.epiboly" :rows="4" type="textarea" :disabled="title === '查看'"/> + </el-form-item> + <el-form-item label="8.自上次审核以来资源投入情况(人员、环境、生产/检测设备等配置增加或者变动的数据),教育培训实施次数/人次等。" prop="resource"> + <el-input v-model="state.form.resource" :disabled="title === '查看'" :rows="4" type="textarea" /> + </el-form-item> + </el-form> + <template #footer v-if="title !== '查看'"> + <span class="dialog-footer"> + <el-button @click="handleClose" size="default">取 消</el-button> + <el-button type="primary" @click="onSubmit" size="default" v-preReClick>确认</el-button> + </span> + </template> + </el-dialog> + </div> +</template> +<script setup> +import {reactive, ref, toRefs} from 'vue' +import Editor from "@/components/Editor/index.vue"; +import {ElMessage} from "element-plus"; +import {addNotice} from "@/api/backManage/notice"; +import {addDict, editDict, getDictDetail} from "@/api/backManage/evaluate"; +import {addCompany, checkName, distributeCompany, editCompany} from "@/api/onlineEducation/company"; +import {verifyPhone} from "@/utils/validate"; +import {addBasic, editBasic} from "@/api/companyInfo/basicInfo"; +import Cookies from "js-cookie"; + +const dialogVisible = ref(false); +const title = ref(""); +const busRef = ref(); +const length = ref() +const emit = defineEmits(["getList"]); +const state = reactive({ + form: { + id: '', + companyId: null, + companyName: '', + basic: '', + introduce: '', + target: '', + quality: '', + activity: '', + audit: '', + epiboly: '', + resource: '', + }, + formRules:{ + basic: [{ required: true, message: '请输入', trigger: 'blur' }], + introduce:[{ required: true, message: '请输入', trigger: 'blur' }], + target: [{ required: true, message: '请输入', trigger: 'blur' }], + quality: [{ required: true, message: '请输入', trigger: 'blur' }], + activity: [{ required: true, message: '请输入', trigger: 'blur' }], + audit: [{ required: true, message: '请输入', trigger: 'blur' }], + epiboly: [{ required: true, message: '请输入', trigger: 'blur' }], + resource: [{ required: true, message: '请输入', trigger: 'blur' }], + }, +}) + + +const openDialog = async (type, value) => { + title.value = type === 'add' ? '新增' : type ==='edit' ? '编辑' : '查看' ; + if(type === 'edit' || type === 'review') { + state.form = JSON.parse(JSON.stringify(value)); + } + dialogVisible.value = true; +} + +const onSubmit = async () => { + const valid = await busRef.value.validate(); + const userInfo = JSON.parse(Cookies.get('userInfo')) + state.form.companyId = userInfo.companyId + if(valid){ + if(title.value === '新增'){ + const {id, ...data} = JSON.parse(JSON.stringify(state.form)) + const res = await addBasic(data) + if(res.code === 200){ + ElMessage({ + type: 'success', + message: '新增成功' + }); + }else{ + ElMessage.warning(res.message) + } + emit("getList") + busRef.value.clearValidate(); + reset(); + dialogVisible.value = false; + }else if(title.value === '编辑'){ + const {...data} = JSON.parse(JSON.stringify(state.form)) + const res = await editBasic(data) + if(res.code === 200){ + ElMessage({ + type: 'success', + message: '编辑成功' + }); + }else{ + ElMessage.warning(res.message) + } + emit("getList") + busRef.value.clearValidate(); + reset(); + dialogVisible.value = false; + } + } +} + +const handleClose = () => { + busRef.value.clearValidate(); + reset(); + dialogVisible.value = false; + emit("getList") + +} +const reset = () => { + state.form = { + id: '', + + } +} +defineExpose({ + openDialog +}); + +</script> + +<style scoped lang="scss"> +.notice{ + :deep(.el-form .el-form-item__label) { + font-size: 15px; + } + .file { + display: flex; + flex-direction: column; + align-items: flex-start; + } +} +</style> -- Gitblit v1.9.2