From 2be66e2a590bc719c6ecdb0bbd0aaa4c9b91fd98 Mon Sep 17 00:00:00 2001
From: zhouwx <1175765986@qq.com>
Date: 星期五, 27 六月 2025 15:15:09 +0800
Subject: [PATCH] 修改
---
src/views/build/conpanyFunctionConsult/qualityObjectives/table/components/tableDeptDialog.vue | 94 +++++++-
src/views/build/conpanyFunctionConsult/companyInfo/overview/components/overviewDialog.vue | 63 +++++
src/views/build/conpanyFunctionConsult/companyInfo/overview/index.vue | 2
src/views/build/conpanyFunctionConsult/companyInfo/qualifications/index.vue | 2
src/views/build/conpanyFunctionConsult/companyInfo/basicInfo/index.vue | 2
src/views/build/conpanyFunctionConsult/qualityObjectives/reportsituation/components/stationCompanyDialog.vue | 91 +++++++-
src/views/build/conpanyFunctionConsult/qualityObjectives/reportsituation/index.vue | 2
src/views/build/conpanyFunctionConsult/qualityObjectives/objective/components/objectiveDialog.vue | 57 +++++
src/views/build/conpanyFunctionConsult/companyInfo/policy/components/policyDialog.vue | 61 +++++
src/views/build/conpanyFunctionConsult/qualityObjectives/table/index.vue | 2
src/views/build/conpanyFunctionConsult/companyInfo/policy/index.vue | 2
src/views/build/conpanyFunctionConsult/qualityObjectives/objective/index.vue | 2
src/views/build/conpanyFunctionConsult/companyInfo/basicInfo/components/basicInfoDialog.vue | 70 ++++++
src/views/build/conpanyFunctionConsult/companyInfo/qualifications/components/qualificationsDialog.vue | 60 +++++
src/views/build/conpanyFunctionConsult/qualityObjectives/table/components/tableCompanyDialog.vue | 97 +++++++-
15 files changed, 547 insertions(+), 60 deletions(-)
diff --git a/src/views/build/conpanyFunctionConsult/companyInfo/basicInfo/components/basicInfoDialog.vue b/src/views/build/conpanyFunctionConsult/companyInfo/basicInfo/components/basicInfoDialog.vue
index 84bbb10..a586c33 100644
--- a/src/views/build/conpanyFunctionConsult/companyInfo/basicInfo/components/basicInfoDialog.vue
+++ b/src/views/build/conpanyFunctionConsult/companyInfo/basicInfo/components/basicInfoDialog.vue
@@ -9,6 +9,27 @@
: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="企业名称:" prop="companyName" v-if="state.isAdmin">
+ <el-select
+ v-model="state.form.companyName"
+ filterable
+ remote
+ :disabled="title == '查看' || !state.isAdmin"
+ @change="selectValue"
+ reserve-keyword
+ placeholder="请输入企业名称"
+ remote-show-suffix
+ :remote-method="getCompanyList"
+ style="width: 100%"
+ >
+ <el-option
+ v-for="item in state.companyList"
+ :key="item.id"
+ :label="item.name"
+ :value="item.name"
+ />
+ </el-select>
+ </el-form-item>
<el-form-item label="1.企业的基本情况,主要包括:法人证书编号,所属部门、法人代表姓名、身份证号、职务、人员总数、技术人员数、不良情况记录、保密等资质。" prop="basic" >
<el-input v-model="state.form.basic" :rows="4" type="textarea" :disabled="title === '查看'"/>
</el-form-item>
@@ -49,7 +70,7 @@
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 {addCompany, checkName, distributeCompany, editCompany, getCompany} from "@/api/onlineEducation/company";
import {verifyPhone} from "@/utils/validate";
import {addBasic, editBasic} from "@/api/companyInfo/basicInfo";
import Cookies from "js-cookie";
@@ -74,6 +95,7 @@
resource: '',
},
formRules:{
+ companyName: [{ required: true, message: '请选择企业', trigger: 'blur' }],
basic: [{ required: true, message: '请输入', trigger: 'blur' }],
introduce:[{ required: true, message: '请输入', trigger: 'blur' }],
target: [{ required: true, message: '请输入', trigger: 'blur' }],
@@ -83,21 +105,31 @@
epiboly: [{ required: true, message: '请输入', trigger: 'blur' }],
resource: [{ required: true, message: '请输入', trigger: 'blur' }],
},
+ isAdmin: false,
+ companyList: []
})
const openDialog = async (type, value) => {
+ const userInfo = JSON.parse(Cookies.get('userInfo'))
+ state.isAdmin = userInfo.userType === 0;
title.value = type === 'add' ? '新增' : type ==='edit' ? '编辑' : '查看' ;
if(type === 'edit' || type === 'review') {
state.form = JSON.parse(JSON.stringify(value));
+ if(state.isAdmin){
+ state.form.companyId = value.companyId
+ state.form.companyName = value.companyName
+ }
}
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(!state.isAdmin){
+ 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))
@@ -143,8 +175,40 @@
const reset = () => {
state.form = {
id: '',
+ companyId: null,
+ companyName: '',
+ basic: '',
+ introduce: '',
+ target: '',
+ quality: '',
+ activity: '',
+ audit: '',
+ epiboly: '',
+ resource: '',
}
+ state.companyList = []
+}
+const selectValue = (val) => {
+ state.companyList.forEach(item => {
+ if(item.name === val){
+ state.form.companyId = item.id
+ }
+ })
+}
+const getCompanyList = async (val)=>{
+ if(val != ""){
+ const queryParams = {
+ name: val
+ }
+ const res = await getCompany(queryParams)
+ if (res.code == 200) {
+ state.companyList = res.data.list
+
+ } else {
+ ElMessage.warning(res.message)
+ }
+ }
}
defineExpose({
openDialog
diff --git a/src/views/build/conpanyFunctionConsult/companyInfo/basicInfo/index.vue b/src/views/build/conpanyFunctionConsult/companyInfo/basicInfo/index.vue
index 0907ea5..3408420 100644
--- a/src/views/build/conpanyFunctionConsult/companyInfo/basicInfo/index.vue
+++ b/src/views/build/conpanyFunctionConsult/companyInfo/basicInfo/index.vue
@@ -2,7 +2,7 @@
<div class="app-container">
<div style="margin-bottom: 10px">
<el-form style="display: flex;flex-wrap: wrap;">
- <el-form-item v-if="!data.isAdmin">
+ <el-form-item>
<el-button
type="primary"
plain
diff --git a/src/views/build/conpanyFunctionConsult/companyInfo/overview/components/overviewDialog.vue b/src/views/build/conpanyFunctionConsult/companyInfo/overview/components/overviewDialog.vue
index 28a213c..0f15ffa 100644
--- a/src/views/build/conpanyFunctionConsult/companyInfo/overview/components/overviewDialog.vue
+++ b/src/views/build/conpanyFunctionConsult/companyInfo/overview/components/overviewDialog.vue
@@ -7,6 +7,27 @@
:before-close="handleClose"
>
<el-form :model="state.noticeForm" size="default" ref="noticeRef" :rules="title === '新增' || title === '编辑' ? state.formRules : {}" label-width="110px" >
+ <el-form-item label="企业名称:" prop="companyName" v-if="state.isAdmin">
+ <el-select
+ v-model="state.noticeForm.companyName"
+ filterable
+ remote
+ :disabled="title == '查看' || !state.isAdmin"
+ @change="selectValue"
+ reserve-keyword
+ placeholder="请输入企业名称"
+ remote-show-suffix
+ :remote-method="getCompanyList"
+ style="width: 100%"
+ >
+ <el-option
+ v-for="item in state.companyList"
+ :key="item.id"
+ :label="item.name"
+ :value="item.name"
+ />
+ </el-select>
+ </el-form-item>
<el-form-item label="企业概括:" v-if="showEditor" required>
<t-editor style="width: 800px" ref="myEditor" :value="state.noticeForm.companySummary" ></t-editor>
</el-form-item>
@@ -39,6 +60,7 @@
import useSettingsStore from "@/store/modules/settings";
import {addCom, editCom} from "@/api/companyInfo/overview";
import Cookies from "js-cookie";
+import {getCompany} from "@/api/onlineEducation/company";
const emit = defineEmits(["getList"]);
@@ -58,8 +80,11 @@
companyName: ''
},
formRules:{
+ companyName: [{ required: true, message: '请选择企业', trigger: 'blur' }],
companySummary: [{ required: true, message: '企业概况', trigger: 'blur' }],
},
+ isAdmin: false,
+ companyList: []
})
@@ -67,13 +92,18 @@
});
const openDialog = async (type, value) => {
-
+ const userInfo = JSON.parse(Cookies.get('userInfo'))
+ state.isAdmin = userInfo.userType === 0;
isReview.value = false;
showEditor.value = false
title.value = type === 'add' ? '新增' : type ==='edit' ? '编辑' : '查看' ;
if(type === 'edit' || type === 'review') {
state.noticeForm.companySummary = value.companySummary
state.noticeForm.id = value.id
+ if(state.isAdmin){
+ state.noticeForm.companyId = value.companyId
+ state.noticeForm.companyName = value.companyName
+ }
}
if(type === 'review') {
showEditor.value = false
@@ -125,12 +155,28 @@
})
}
}
+const getCompanyList = async (val)=>{
+ if(val != ""){
+ const queryParams = {
+ name: val
+ }
+ const res = await getCompany(queryParams)
+ if (res.code == 200) {
+ state.companyList = res.data.list
+
+ } else {
+ ElMessage.warning(res.message)
+ }
+ }
+}
const onSubmit = async () => {
state.noticeForm.companySummary = tinyMCE.activeEditor.getContent();
- const userInfo = JSON.parse(Cookies.get('userInfo'))
- state.noticeForm.companyId = userInfo.companyId
- state.noticeForm.companyName = userInfo.companyName
+ if(!state.isAdmin){
+ const userInfo = JSON.parse(Cookies.get('userInfo'))
+ state.noticeForm.companyId = userInfo.companyId
+ state.noticeForm.companyName = userInfo.companyName
+ }
// // myEditor.value.submit();
const valid = await noticeRef.value.validate();
if(valid){
@@ -179,6 +225,13 @@
}
}
+const selectValue = (val) => {
+ state.companyList.forEach(item => {
+ if(item.name === val){
+ state.noticeForm.companyId = item.id
+ }
+ })
+}
const handleClose = () => {
if(title.value ==="新增"|| title.value ==='编辑'){
myEditor.value.clear();
@@ -186,6 +239,7 @@
}
// reset()
+ state.companyList = []
noticeRef.value.clearValidate();
dialogVisible.value = false;
}
@@ -196,6 +250,7 @@
companyId:null,
companyName: ''
}
+ state.companyList = []
}
defineExpose({
diff --git a/src/views/build/conpanyFunctionConsult/companyInfo/overview/index.vue b/src/views/build/conpanyFunctionConsult/companyInfo/overview/index.vue
index 547cf7b..e1b23f0 100644
--- a/src/views/build/conpanyFunctionConsult/companyInfo/overview/index.vue
+++ b/src/views/build/conpanyFunctionConsult/companyInfo/overview/index.vue
@@ -2,7 +2,7 @@
<div class="app-container">
<div style="margin-bottom: 10px">
<el-form style="display: flex;flex-wrap: wrap">
- <el-form-item v-if="!data.isAdmin">
+ <el-form-item>
<el-button
type="primary"
plain
diff --git a/src/views/build/conpanyFunctionConsult/companyInfo/policy/components/policyDialog.vue b/src/views/build/conpanyFunctionConsult/companyInfo/policy/components/policyDialog.vue
index 310c34e..bdc9b61 100644
--- a/src/views/build/conpanyFunctionConsult/companyInfo/policy/components/policyDialog.vue
+++ b/src/views/build/conpanyFunctionConsult/companyInfo/policy/components/policyDialog.vue
@@ -7,6 +7,27 @@
:before-close="handleClose"
>
<el-form :model="state.noticeForm" size="default" ref="noticeRef" :rules="title === '新增' || title === '编辑' ? state.formRules : {}" label-width="110px" >
+ <el-form-item label="企业名称:" prop="companyName" v-if="state.isAdmin">
+ <el-select
+ v-model="state.noticeForm.companyName"
+ filterable
+ remote
+ :disabled="title == '查看' || !state.isAdmin"
+ @change="selectValue"
+ reserve-keyword
+ placeholder="请输入企业名称"
+ remote-show-suffix
+ :remote-method="getCompanyList"
+ style="width: 100%"
+ >
+ <el-option
+ v-for="item in state.companyList"
+ :key="item.id"
+ :label="item.name"
+ :value="item.name"
+ />
+ </el-select>
+ </el-form-item>
<el-form-item label="质量方针:" v-if="showEditor" required>
<t-editor style="width: 800px" ref="myEditor" :value="state.noticeForm.policy" ></t-editor>
</el-form-item>
@@ -40,6 +61,7 @@
import {addCom, editCom} from "@/api/companyInfo/overview";
import Cookies from "js-cookie";
import {addPolicy, editPolicy} from "@/api/companyInfo/policy";
+import {getCompany} from "@/api/onlineEducation/company";
const emit = defineEmits(["getList"]);
@@ -59,8 +81,11 @@
companyName: ''
},
formRules:{
+ companyName: [{ required: true, message: '请选择企业', trigger: 'blur' }],
policy: [{ required: true, message: '质量方针', trigger: 'blur' }],
},
+ isAdmin: false,
+ companyList: []
})
@@ -68,13 +93,18 @@
});
const openDialog = async (type, value) => {
-
+ const userInfo = JSON.parse(Cookies.get('userInfo'))
+ state.isAdmin = userInfo.userType === 0;
isReview.value = false;
showEditor.value = false
title.value = type === 'add' ? '新增' : type ==='edit' ? '编辑' : '查看' ;
if(type === 'edit' || type === 'review') {
state.noticeForm.policy = value.policy
state.noticeForm.id = value.id
+ if(state.isAdmin){
+ state.noticeForm.companyId = value.companyId
+ state.noticeForm.companyName = value.companyName
+ }
}
if(type === 'review') {
showEditor.value = false
@@ -129,9 +159,10 @@
const onSubmit = async () => {
state.noticeForm.policy = tinyMCE.activeEditor.getContent();
- const userInfo = JSON.parse(Cookies.get('userInfo'))
- state.noticeForm.companyId = userInfo.companyId
- state.noticeForm.companyName = userInfo.companyName
+ if(!state.isAdmin){
+ const userInfo = JSON.parse(Cookies.get('userInfo'))
+ state.noticeForm.companyId = userInfo.companyId
+ }
// // myEditor.value.submit();
const valid = await noticeRef.value.validate();
if(valid){
@@ -197,6 +228,28 @@
companyId:null,
companyName: ''
}
+ state.companyList = []
+}
+const selectValue = (val) => {
+ state.companyList.forEach(item => {
+ if(item.name === val){
+ state.noticeForm.companyId = item.id
+ }
+ })
+}
+const getCompanyList = async (val)=>{
+ if(val != ""){
+ const queryParams = {
+ name: val
+ }
+ const res = await getCompany(queryParams)
+ if (res.code == 200) {
+ state.companyList = res.data.list
+
+ } else {
+ ElMessage.warning(res.message)
+ }
+ }
}
defineExpose({
diff --git a/src/views/build/conpanyFunctionConsult/companyInfo/policy/index.vue b/src/views/build/conpanyFunctionConsult/companyInfo/policy/index.vue
index f515e69..55395fb 100644
--- a/src/views/build/conpanyFunctionConsult/companyInfo/policy/index.vue
+++ b/src/views/build/conpanyFunctionConsult/companyInfo/policy/index.vue
@@ -2,7 +2,7 @@
<div class="app-container">
<div style="margin-bottom: 10px">
<el-form style="display: flex;flex-wrap: wrap">
- <el-form-item v-if="!data.isAdmin">
+ <el-form-item>
<el-button
type="primary"
plain
diff --git a/src/views/build/conpanyFunctionConsult/companyInfo/qualifications/components/qualificationsDialog.vue b/src/views/build/conpanyFunctionConsult/companyInfo/qualifications/components/qualificationsDialog.vue
index a519dfd..45698d0 100644
--- a/src/views/build/conpanyFunctionConsult/companyInfo/qualifications/components/qualificationsDialog.vue
+++ b/src/views/build/conpanyFunctionConsult/companyInfo/qualifications/components/qualificationsDialog.vue
@@ -9,6 +9,27 @@
:close-on-click-modal="false"
>
<el-form :model="state.form" size="default" ref="busRef" :rules="state.formRules" label-width="150px" >
+ <el-form-item label="企业名称:" prop="companyName" v-if="state.isAdmin">
+ <el-select
+ v-model="state.form.companyName"
+ filterable
+ remote
+ :disabled="title == '查看' || !state.isAdmin"
+ @change="selectValue"
+ reserve-keyword
+ placeholder="请输入企业名称"
+ remote-show-suffix
+ :remote-method="getCompanyList"
+ style="width: 100%"
+ >
+ <el-option
+ v-for="item in state.companyList"
+ :key="item.id"
+ :label="item.name"
+ :value="item.name"
+ />
+ </el-select>
+ </el-form-item>
<el-form-item label="取得资质证书名称:" prop="certificateName" >
<el-input v-model="state.form.certificateName" :disabled="title === '查看'" placeholder="请输入取得资质证书名称"/>
</el-form-item>
@@ -63,7 +84,7 @@
import {ElMessage, ElMessageBox} 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 {addCompany, checkName, distributeCompany, editCompany, getCompany} from "@/api/onlineEducation/company";
import {verifyPhone} from "@/utils/validate";
import {getToken} from "@/utils/auth";
import {addQualification, editQualification} from "@/api/companyInfo/qualifications";
@@ -85,6 +106,7 @@
fileName: ''
},
formRules:{
+ companyName: [{ required: true, message: '请选择企业', trigger: 'blur' }],
certificateName:[{ required: true, message: '请输入取得资质证书名称', trigger: 'blur' }],
certificateNum:[{ required: true, message: '请输入证书编号', trigger: 'blur' }],
effectiveTime:[{ required: true, message: '请选择截止日期', trigger: 'blur' }],
@@ -95,10 +117,14 @@
Authorization: getToken()
},
fileList: [],
+ companyList: [],
+ isAdmin: false
})
const openDialog = async (type, value) => {
+ const userInfo = JSON.parse(Cookies.get('userInfo'))
+ state.isAdmin = userInfo.userType === 0;
title.value = type === 'add' ? '新增' : type ==='edit' ? '编辑' : '查看' ;
if(type === 'edit' || type === 'review') {
state.form = JSON.parse(JSON.stringify(value));
@@ -107,14 +133,20 @@
name: state.form.fileName
}
state.fileList.push(obj)
+ if(state.isAdmin){
+ state.form.companyId = value.companyId
+ state.form.companyName = value.companyName
+ }
}
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(!state.isAdmin){
+ 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))
@@ -211,6 +243,28 @@
fileName: ''
}
state.fileList = [];
+ state.companyList = []
+}
+const selectValue = (val) => {
+ state.companyList.forEach(item => {
+ if(item.name === val){
+ state.form.companyId = item.id
+ }
+ })
+}
+const getCompanyList = async (val)=>{
+ if(val != ""){
+ const queryParams = {
+ name: val
+ }
+ const res = await getCompany(queryParams)
+ if (res.code == 200) {
+ state.companyList = res.data.list
+
+ } else {
+ ElMessage.warning(res.message)
+ }
+ }
}
defineExpose({
openDialog
diff --git a/src/views/build/conpanyFunctionConsult/companyInfo/qualifications/index.vue b/src/views/build/conpanyFunctionConsult/companyInfo/qualifications/index.vue
index 3483d9f..368341a 100644
--- a/src/views/build/conpanyFunctionConsult/companyInfo/qualifications/index.vue
+++ b/src/views/build/conpanyFunctionConsult/companyInfo/qualifications/index.vue
@@ -2,7 +2,7 @@
<div class="app-container">
<div style="margin-bottom: 10px">
<el-form style="display: flex;flex-wrap: wrap;">
- <el-form-item v-if="!data.isAdmin">
+ <el-form-item>
<el-button
type="primary"
plain
diff --git a/src/views/build/conpanyFunctionConsult/qualityObjectives/objective/components/objectiveDialog.vue b/src/views/build/conpanyFunctionConsult/qualityObjectives/objective/components/objectiveDialog.vue
index 9b37946..54e976d 100644
--- a/src/views/build/conpanyFunctionConsult/qualityObjectives/objective/components/objectiveDialog.vue
+++ b/src/views/build/conpanyFunctionConsult/qualityObjectives/objective/components/objectiveDialog.vue
@@ -10,6 +10,31 @@
>
<el-form :model="state.form" size="default" ref="busRef" :rules="state.rules" label-width="120px" >
<el-row :gutter="24">
+ <el-col :span="24">
+ <el-form-item label="企业名称:" prop="companyName" v-if="state.isAdmin">
+ <el-select
+ v-model="state.form.companyName"
+ filterable
+ remote
+ :disabled="title == '查看' || !state.isAdmin"
+ @change="selectValueCom"
+ reserve-keyword
+ placeholder="请输入企业名称"
+ remote-show-suffix
+ :remote-method="getCompanyList"
+ style="width: 100%"
+ >
+ <el-option
+ v-for="item in state.companyList"
+ :key="item.id"
+ :label="item.name"
+ :value="item.name"
+ />
+ </el-select>
+ </el-form-item>
+ </el-col>
+ </el-row>
+ <el-row :gutter="24">
<el-col :span="12">
<el-form-item label="年份:" prop="year" >
<!-- <el-input v-model="state.form.year" placeholder="请输入年份"></el-input>-->
@@ -262,6 +287,7 @@
},
rules: {
+ companyName: [{ required: true, message: '请选择企业', trigger: 'blur' }],
year: [{ required: true, message: '请输入年份', trigger: 'blur' }],
num: [{ required: true, message: '请输入序号', trigger: 'blur' }],
type: [{ required: true, message: '请选择级别', trigger: 'blur' }],
@@ -275,6 +301,8 @@
departId: [{ required: true, message: '请选择部门', trigger: 'blur' }],
objName: [{required: true, message: "质量目标不能为空", trigger: "blur"}],
},
+ isAdmin: false,
+ companyList: [],
deptList: [],
peopleList: [],
yearList: [
@@ -313,12 +341,17 @@
const openDialog = async (type, value) => {
const userInfo = JSON.parse(Cookies.get('userInfo'))
+ state.isAdmin = userInfo.userType === 0;
state.form.companyName = userInfo.companyName
state.form.companyId = userInfo.companyId
await getDeptList()
title.value = type === 'add' ? '新增' : type ==='edit' ? '编辑' : '查看' ;
if(type === 'edit' || type === 'review') {
state.form = JSON.parse(JSON.stringify(value));
+ if(state.isAdmin){
+ state.form.companyId = value.companyId
+ state.form.companyName = value.companyName
+ }
}
dialogVisible.value = true;
}
@@ -393,6 +426,7 @@
qualityTargets:[],
}
state.peopleList = []
+ state.companyList = []
}
const handleDelete = (val) => {
@@ -437,10 +471,31 @@
if (!/^\d+$/.test(value)) { // 验证是否为数字
ElMessage.warning('只能输入数字')
state.form.year = '' // 重置选择,避免非法值被添加到options中
- } else if (!state.yearList.some(option => option.value === value)) { // 确保不是已存在的选项
+ } else if (!state.yearList.some(option => option.label === value)) { // 确保不是已存在的选项
state.yearList.push({ value, label: value }); // 添加新选项(这里简单地将值和标签设为相同)
}
}
+const selectValueCom = (val) => {
+ state.companyList.forEach(item => {
+ if(item.name === val){
+ state.form.companyId = item.id
+ }
+ })
+}
+const getCompanyList = async (val)=>{
+ if(val != ""){
+ const queryParams = {
+ name: val
+ }
+ const res = await getCompany(queryParams)
+ if (res.code == 200) {
+ state.companyList = res.data.list
+
+ } else {
+ ElMessage.warning(res.message)
+ }
+ }
+}
defineExpose({
openDialog
diff --git a/src/views/build/conpanyFunctionConsult/qualityObjectives/objective/index.vue b/src/views/build/conpanyFunctionConsult/qualityObjectives/objective/index.vue
index 10b7cf7..8170a0c 100644
--- a/src/views/build/conpanyFunctionConsult/qualityObjectives/objective/index.vue
+++ b/src/views/build/conpanyFunctionConsult/qualityObjectives/objective/index.vue
@@ -2,7 +2,7 @@
<div class="app-container">
<div style="margin-bottom: 10px">
<el-form style="display: flex;flex-wrap: wrap;">
- <el-form-item v-if="!data.isAdmin">
+ <el-form-item>
<el-button
type="primary"
plain
diff --git a/src/views/build/conpanyFunctionConsult/qualityObjectives/reportsituation/components/stationCompanyDialog.vue b/src/views/build/conpanyFunctionConsult/qualityObjectives/reportsituation/components/stationCompanyDialog.vue
index c941030..9c50061 100644
--- a/src/views/build/conpanyFunctionConsult/qualityObjectives/reportsituation/components/stationCompanyDialog.vue
+++ b/src/views/build/conpanyFunctionConsult/qualityObjectives/reportsituation/components/stationCompanyDialog.vue
@@ -11,6 +11,32 @@
<el-form :model="state.form" size="default" ref="busRef" :rules="state.rules" label-width="120" >
<el-row :gutter="24">
<el-col :span="24">
+ <el-form-item label="企业名称:" prop="companyName" v-if="state.isAdmin">
+ <el-select
+ v-model="state.form.companyName"
+ filterable
+ remote
+ :disabled="title == '查看' || !state.isAdmin"
+ @change="selectValueCom"
+ reserve-keyword
+ placeholder="请输入企业名称"
+ remote-show-suffix
+ :remote-method="getCompanyList"
+ style="width: 100%"
+
+ >
+ <el-option
+ v-for="item in state.companyList"
+ :key="item.id"
+ :label="item.name"
+ :value="item.name"
+ />
+ </el-select>
+ </el-form-item>
+ </el-col>
+ </el-row>
+ <el-row :gutter="24">
+ <el-col :span="24">
<el-form-item label="质量目标:" prop="qualityId" >
<el-select
:disabled="title === '查看'"
@@ -157,6 +183,7 @@
qualityTargets:[],
},
rules: {
+ companyName: [{ required: true, message: '请选择企业', trigger: 'blur' }],
qualityId: [{ required: true, message: '请选择质量目标', trigger: 'blur' }],
serial: [{ required: true, message: '请输入序号', trigger: 'blur' }],
chargeName: [{ required: true, message: '请选择负责人', trigger: 'blur' }],
@@ -168,6 +195,8 @@
qualityList: [],
peopleList: [],
type: null,
+ isAdmin: false,
+ companyList: [],
frequencyList: [
{
value: 1,
@@ -196,9 +225,14 @@
const openDialog = async (type, isCom, value) => {
const userInfo = JSON.parse(Cookies.get('userInfo'))
+ state.isAdmin = userInfo.userType === 0;
state.form.companyName = userInfo.companyName
state.form.companyId = userInfo.companyId
state.type = isCom == 'company' ? 1 : 2
+ if(state.isAdmin){
+ state.form.companyId = value.companyId
+ state.form.companyName = value.companyName
+ }
await getQualityList()
title.value = type === 'add' ? '新增' : type ==='edit' ? '编辑' : '查看' ;
if(type === 'edit' || type === 'review') {
@@ -209,20 +243,25 @@
}
const getQualityList = async () => {
- const res = await getObject({companyId:state.form.companyId,type: state.type });
- if(res.code === 200){
- state.qualityList = res.data.data.map(item => {
- return {
- ...item,
- message: item.qualityTargets.map((i,index) => {
- return i.message
- }).join(';')
- }
- })
+ if(state.form.companyId){
+ const res = await getObject({companyId:state.form.companyId,type: state.type });
+ if(res.code === 200){
+ state.qualityList = res.data.data.map(item => {
+ return {
+ ...item,
+ message: item.qualityTargets.map((i,index) => {
+ return i.message
+ }).join(';')
+ }
+ })
- }else{
- ElMessage.warning(res.message)
+ }else{
+ ElMessage.warning(res.message)
+ }
+ }else {
+ state.qualityList = []
}
+
}
const onSubmit = async () => {
@@ -286,6 +325,8 @@
}
state.peopleList = []
state.message = ''
+ state.companyList = []
+ state.qualityList = []
}
const getPeopleList = async (val)=>{
if(val != ""){
@@ -324,6 +365,32 @@
console.log('val',val)
}
+const selectValueCom = (val) => {
+ state.form.qualityId = null
+ state.qualityList = []
+ state.form.qualityTargets = []
+ state.message = ''
+ state.companyList.forEach(item => {
+ if(item.name === val){
+ state.form.companyId = item.id
+ }
+ })
+ getQualityList()
+}
+const getCompanyList = async (val)=>{
+ if(val != ""){
+ const queryParams = {
+ name: val
+ }
+ const res = await getCompany(queryParams)
+ if (res.code == 200) {
+ state.companyList = res.data.list
+
+ } else {
+ ElMessage.warning(res.message)
+ }
+ }
+}
defineExpose({
openDialog
});
diff --git a/src/views/build/conpanyFunctionConsult/qualityObjectives/reportsituation/index.vue b/src/views/build/conpanyFunctionConsult/qualityObjectives/reportsituation/index.vue
index 76a51dd..e79ea29 100644
--- a/src/views/build/conpanyFunctionConsult/qualityObjectives/reportsituation/index.vue
+++ b/src/views/build/conpanyFunctionConsult/qualityObjectives/reportsituation/index.vue
@@ -2,7 +2,7 @@
<div class="app-container">
<div style="margin-bottom: 10px">
<el-form style="display: flex;flex-wrap: wrap;">
- <el-form-item v-if="!data.isAdmin">
+ <el-form-item>
<el-button
type="primary"
plain
diff --git a/src/views/build/conpanyFunctionConsult/qualityObjectives/table/components/tableCompanyDialog.vue b/src/views/build/conpanyFunctionConsult/qualityObjectives/table/components/tableCompanyDialog.vue
index bb6f51d..0fd20cc 100644
--- a/src/views/build/conpanyFunctionConsult/qualityObjectives/table/components/tableCompanyDialog.vue
+++ b/src/views/build/conpanyFunctionConsult/qualityObjectives/table/components/tableCompanyDialog.vue
@@ -11,6 +11,32 @@
<el-form :model="state.form" size="default" ref="busRef" :rules="state.rules" >
<el-row :gutter="24">
<el-col :span="24">
+ <el-form-item label="企业名称:" prop="companyName" v-if="state.isAdmin">
+ <el-select
+ v-model="state.form.companyName"
+ filterable
+ remote
+ :disabled="title == '查看' || !state.isAdmin"
+ @change="selectValueCom"
+ reserve-keyword
+ placeholder="请输入企业名称"
+ remote-show-suffix
+ :remote-method="getCompanyList"
+ style="width: 100%"
+
+ >
+ <el-option
+ v-for="item in state.companyList"
+ :key="item.id"
+ :label="item.name"
+ :value="item.name"
+ />
+ </el-select>
+ </el-form-item>
+ </el-col>
+ </el-row>
+ <el-row :gutter="24">
+ <el-col :span="24">
<el-form-item label="质量目标:" prop="qualityId" >
<el-select
:disabled="title === '查看'"
@@ -240,6 +266,7 @@
qualityTargets:[],
},
rules: {
+ companyName: [{ required: true, message: '请选择企业', trigger: 'blur' }],
qualityId: [{ required: true, message: '请选择质量目标', trigger: 'blur' }],
number: [{ required: true, message: '请输入编号', trigger: 'blur' }],
serial: [{ required: true, message: '请输入序号', trigger: 'blur' }],
@@ -259,6 +286,8 @@
objectList: [],
qualityList: [],
peopleList: [],
+ isAdmin: false,
+ companyList: [],
})
onMounted(() => {
@@ -267,30 +296,44 @@
});
const openDialog = async (type, value) => {
const userInfo = JSON.parse(Cookies.get('userInfo'))
+ state.isAdmin = userInfo.userType === 0;
state.form.companyName = userInfo.companyName
state.form.companyId = userInfo.companyId
- await getQualityList()
+ if(state.isAdmin){
+ state.form.companyId = value.companyId
+ state.form.companyName = value.companyName
+ }
+ await getQualityList()
title.value = type === 'add' ? '新增' : type ==='edit' ? '编辑' : '查看' ;
if(type === 'edit' || type === 'review') {
state.form = JSON.parse(JSON.stringify(value));
+ if(state.isAdmin){
+ state.form.companyId = value.companyId
+ state.form.companyName = value.companyName
+ }
}
dialogVisible.value = true;
}
const getQualityList = async () => {
- const res = await getObject({companyId:state.form.companyId,type: 1 });
- if(res.code === 200){
- state.qualityList = res.data.data.map(item => {
- return {
- ...item,
- message: item.qualityTargets.map((i,index) => {
- return i.message
- }).join(';')
- }
- })
- }else{
- ElMessage.warning(res.message)
+ if(state.form.companyId){
+ const res = await getObject({companyId:state.form.companyId,type: 1 });
+ if(res.code === 200){
+ state.qualityList = res.data.data.map(item => {
+ return {
+ ...item,
+ message: item.qualityTargets.map((i,index) => {
+ return i.message
+ }).join(';')
+ }
+ })
+ }else{
+ ElMessage.warning(res.message)
+ }
+ }else {
+ state.qualityList = []
}
+
}
const onSubmit = async () => {
@@ -356,6 +399,8 @@
qualityTargets:[],
}
state.peopleList = []
+ state.companyList = []
+ state.qualityList = []
}
const getPeopleList = async (val)=>{
if(val != ""){
@@ -398,6 +443,7 @@
if(res.code == 200){
state.form.qualityTargets = res.data.map(item => {
return {
+ id: item.id,
message: item.message
}
})
@@ -408,6 +454,31 @@
console.log('val',val)
}
+const selectValueCom = (val) => {
+ state.form.qualityId = null
+ state.qualityList = []
+ state.form.qualityTargets = []
+ state.companyList.forEach(item => {
+ if(item.name === val){
+ state.form.companyId = item.id
+ }
+ })
+ getQualityList()
+}
+const getCompanyList = async (val)=>{
+ if(val != ""){
+ const queryParams = {
+ name: val
+ }
+ const res = await getCompany(queryParams)
+ if (res.code == 200) {
+ state.companyList = res.data.list
+
+ } else {
+ ElMessage.warning(res.message)
+ }
+ }
+}
defineExpose({
openDialog
});
diff --git a/src/views/build/conpanyFunctionConsult/qualityObjectives/table/components/tableDeptDialog.vue b/src/views/build/conpanyFunctionConsult/qualityObjectives/table/components/tableDeptDialog.vue
index 429ff83..f95285a 100644
--- a/src/views/build/conpanyFunctionConsult/qualityObjectives/table/components/tableDeptDialog.vue
+++ b/src/views/build/conpanyFunctionConsult/qualityObjectives/table/components/tableDeptDialog.vue
@@ -11,6 +11,32 @@
<el-form :model="state.form" size="default" ref="busRef" :rules="state.rules" >
<el-row :gutter="24">
<el-col :span="24">
+ <el-form-item label="企业名称:" prop="companyName" v-if="state.isAdmin">
+ <el-select
+ v-model="state.form.companyName"
+ filterable
+ remote
+ :disabled="title == '查看' || !state.isAdmin"
+ @change="selectValueCom"
+ reserve-keyword
+ placeholder="请输入企业名称"
+ remote-show-suffix
+ :remote-method="getCompanyList"
+ style="width: 100%"
+
+ >
+ <el-option
+ v-for="item in state.companyList"
+ :key="item.id"
+ :label="item.name"
+ :value="item.name"
+ />
+ </el-select>
+ </el-form-item>
+ </el-col>
+ </el-row>
+ <el-row :gutter="24">
+ <el-col :span="24">
<el-form-item label="质量目标:" prop="qualityId" >
<el-select
:disabled="title === '查看'"
@@ -228,6 +254,7 @@
qualityTargets:[],
},
rules: {
+ companyName: [{ required: true, message: '请选择企业', trigger: 'blur' }],
qualityId: [{ required: true, message: '请选择质量目标', trigger: 'blur' }],
number: [{ required: true, message: '请输入编号', trigger: 'blur' }],
serial: [{ required: true, message: '请输入序号', trigger: 'blur' }],
@@ -247,6 +274,8 @@
objectList: [],
qualityList: [],
peopleList: [],
+ isAdmin: false,
+ companyList: [],
})
onMounted(() => {
@@ -255,9 +284,16 @@
});
const openDialog = async (type, value) => {
const userInfo = JSON.parse(Cookies.get('userInfo'))
+ state.isAdmin = userInfo.userType === 0;
state.form.companyName = userInfo.companyName
state.form.companyId = userInfo.companyId
- await getQualityList()
+ if(state.isAdmin){
+ state.form.companyId = value.companyId
+ state.form.companyName = value.companyName
+ }
+
+ await getQualityList()
+
title.value = type === 'add' ? '新增' : type ==='edit' ? '编辑' : '查看' ;
if(type === 'edit' || type === 'review') {
state.form = JSON.parse(JSON.stringify(value));
@@ -266,19 +302,24 @@
}
const getQualityList = async () => {
- const res = await getObject({companyId:state.form.companyId,type: 2 });
- if(res.code === 200){
- state.qualityList = res.data.data.map(item => {
- return {
- ...item,
- message: item.qualityTargets.map((i,index) => {
- return i.message
- }).join(';')
- }
- })
- }else{
- ElMessage.warning(res.message)
+ if(state.form.companyId){
+ const res = await getObject({companyId:state.form.companyId,type: 2 });
+ if(res.code === 200){
+ state.qualityList = res.data.data.map(item => {
+ return {
+ ...item,
+ message: item.qualityTargets.map((i,index) => {
+ return i.message
+ }).join(';')
+ }
+ })
+ }else{
+ ElMessage.warning(res.message)
+ }
+ }else {
+ state.qualityList = []
}
+
}
const onSubmit = async () => {
@@ -344,6 +385,7 @@
qualityTargets:[],
}
state.peopleList = []
+ state.companyList = []
}
const getPeopleList = async (val)=>{
if(val != ""){
@@ -386,6 +428,7 @@
if(res.code == 200){
state.form.qualityTargets = res.data.map(item => {
return {
+ id: item.id,
message: item.message
}
})
@@ -396,6 +439,31 @@
console.log('val',val)
}
+const selectValueCom = (val) => {
+ state.form.qualityId = null
+ state.qualityList = []
+ state.form.qualityTargets = []
+ state.companyList.forEach(item => {
+ if(item.name === val){
+ state.form.companyId = item.id
+ }
+ })
+ getQualityList()
+}
+const getCompanyList = async (val)=>{
+ if(val != ""){
+ const queryParams = {
+ name: val
+ }
+ const res = await getCompany(queryParams)
+ if (res.code == 200) {
+ state.companyList = res.data.list
+
+ } else {
+ ElMessage.warning(res.message)
+ }
+ }
+}
defineExpose({
openDialog
});
diff --git a/src/views/build/conpanyFunctionConsult/qualityObjectives/table/index.vue b/src/views/build/conpanyFunctionConsult/qualityObjectives/table/index.vue
index 78621e6..edd4fb3 100644
--- a/src/views/build/conpanyFunctionConsult/qualityObjectives/table/index.vue
+++ b/src/views/build/conpanyFunctionConsult/qualityObjectives/table/index.vue
@@ -2,7 +2,7 @@
<div class="app-container">
<div style="margin-bottom: 10px">
<el-form style="display: flex;flex-wrap: wrap;">
- <el-form-item v-if="!data.isAdmin">
+ <el-form-item>
<el-button
type="primary"
plain
--
Gitblit v1.9.2