fix: BUG修改

This commit is contained in:
kun 2023-07-27 13:38:45 +08:00
parent 99aea49d00
commit 9668162b74
14 changed files with 160 additions and 123 deletions

View File

@ -405,9 +405,9 @@ const rules = ref<FormRules>({
}
]
});
const confirmSubmit = async (ruleFormRef: FormInstance | undefined) => {
const confirmSubmit = (ruleFormRef: FormInstance | undefined) => {
if (!ruleFormRef) return;
await ruleFormRef.validate((valid, fields) => {
ruleFormRef.validate(async (valid, fields) => {
if (valid) {
ruleForm.value.enterpriseMains = [
{
@ -417,9 +417,12 @@ const confirmSubmit = async (ruleFormRef: FormInstance | undefined) => {
}
];
ruleForm.value.state = 1;
const res = addCompany(ruleForm.value);
ElMessage.success("操作成功");
visible1.value = false;
const res = await addCompany(ruleForm.value);
console.log(res);
if (res.success) {
ElMessage.success("操作成功");
visible1.value = false;
}
} else {
ElMessage({
showClose: true,

View File

@ -132,12 +132,10 @@ const confirmAddType = async (form: any) => {
for (let i in recordData.value) {
recordData.value[i].map(item => {
item.scoreId = props.relativeInfo.id;
delete item.id;
arr.push(item);
});
}
let requestData = {
enterpriseScoreDetails: arr
};
const res = await addScoreDetail(arr);
ElMessage.success("操作成功");
visible1.value = false;

View File

@ -135,14 +135,15 @@ import LeftMenu from "@/components/LeftMenu/LeftMenu.vue";
import { getDustprojectPage, getDustengineeringPage, getAIQuestionPage } from "@/api/modules/goverment";
const refChart = ref();
const headerList = reactive([
{ label: "未开始", color: "#35e5fd" },
{ label: "进行中", color: "#f1d520" },
{ label: "已完成", color: "#4fd389" },
{ label: "逾期未开始", color: "#F80840" },
{ label: "逾期进行中", color: "#fc6f8e" },
{ label: "逾期已完成", color: "#C13F5B" }
{ label: "未开始", color: "#D0A530" },
{ label: "推进中", color: "#35e5fd" },
{ label: "按期完成", color: "#f1d520" },
{ label: "临期", color: "#4fd389" },
{ label: "超期", color: "#F80840" },
{ label: "逾期完成", color: "#fc6f8e" },
{ label: "暂停状态", color: "#C13F5B" }
]);
const colors = ref(["#35e5fd", "#f1d520", "#4fd389", "#F80840", "#fc6f8e", "#C13F5B"]);
const colors = ref(["#D0A530", "#35e5fd", "#f1d520", "#4fd389", "#F80840", "#fc6f8e", "#C13F5B"]);
const active = ref(0);
const records = ref<ResAiProjectPage[] | ResAiEngineerPage[]>([]);
const projects = ref([]);
@ -643,15 +644,16 @@ watch(
.header {
display: flex;
justify-content: space-between;
flex-wrap: wrap;
align-items: center;
width: 100%;
height: 60px;
.left-content {
display: flex;
width: 80%;
height: 100%;
.item {
width: max-content;
display: flex;
align-items: center;
// width: calc(100% / 4);

View File

@ -72,15 +72,17 @@
scope.row.state == 1
? "未开始"
: scope.row.state == 2
? "中"
? "进中"
: scope.row.state == 3
? "完成"
? "按期完成"
: scope.row.state == 4
? "逾期未开始"
? "临期"
: scope.row.state == 5
? "逾期进行中"
? "超期"
: scope.row.state == 6
? "逾期已完成"
? "逾期完成"
: scope.row.state == 7
? "暂停"
: ""
}}</span>
</template>
@ -242,11 +244,12 @@ import { getRealTimePage } from "@/api/modules/project";
import { bigItemGovermentList } from "@/api/modules/huizhou";
const statusList = ref([
{ label: "未开始", value: 1 },
{ label: "进行中", value: 2 },
{ label: "已完成", value: 3 },
{ label: "逾期未开始", value: 4 },
{ label: "逾期进行中", value: 5 },
{ label: "逾期已完成", value: 6 }
{ label: "推进中", value: 2 },
{ label: "按期完成", value: 3 },
{ label: "临期", value: 4 },
{ label: "超期", value: 5 },
{ label: "逾期完成", value: 6 },
{ label: "暂停", value: 7 }
]);
const tableData = ref([]);
const pages = ref({

View File

@ -51,15 +51,17 @@
row.state == 1
? "未开始"
: row.state == 2
? "中"
? "进中"
: row.state == 3
? "完成"
? "按期完成"
: row.state == 4
? "逾期未开始"
? "临期"
: row.state == 5
? "逾期进行中"
? "超期"
: row.state == 6
? "逾期已完成"
? "逾期完成"
: row.state == 7
? "暂停"
: ""
}}</span>
</template>
@ -170,11 +172,12 @@ const columns: ColumnProps[] = [
search: { el: "select" },
enum: [
{ label: "未开始", value: 1 },
{ label: "进行中", value: 2 },
{ label: "已完成", value: 3 },
{ label: "逾期未开始", value: 4 },
{ label: "逾期进行中", value: 5 },
{ label: "逾期已完成", value: 6 }
{ label: "推进中", value: 2 },
{ label: "按期完成", value: 3 },
{ label: "临期", value: 4 },
{ label: "超期", value: 5 },
{ label: "逾期完成", value: 6 },
{ label: "暂停", value: 7 }
]
},
{ prop: "operation", label: "操作", fixed: "right", width: 120 }

View File

@ -33,6 +33,16 @@
width: stretch;
}
}
.selectAdd {
display: flex;
align-items: center;
:deep() {
.el-icon {
margin-right: 2px;
}
}
}
:deep(.el-input-number) {
width: 100%;
.el-input-number__increase {

View File

@ -5,6 +5,12 @@
<template v-for="(val, key) in formData" :key="datas[key]">
<el-form-item v-if="Object.keys(datas).includes(key)" class="form-item" :prop="key" :label="datas[key]">
<el-select class="select" v-if="key === 'enterpriseSn'" @change="onChange" v-model="formData[key]">
<el-option value="" @click="openAddDialog" v-show="formData.type == 1">
<div class="selectAdd">
<el-icon><circle-plus /></el-icon>
<span>新建</span>
</div>
</el-option>
<el-option
v-for="item in nameOptions"
:key="item.enterpriseSn"
@ -80,6 +86,7 @@
</div>
</template>
</el-table>
<addCompany v-model:detailsDialog="openAddCompany" :relativeInfo="companyType" @confirm="allConfirm"></addCompany>
</div>
</template>
@ -91,13 +98,15 @@ import { getDicList } from "@/api/modules/jxjview";
import type { FormRules } from "element-plus";
import type { EngineeringMainPerson } from "@/api/types";
import type { EngineeringMainList } from "./duty";
import addCompany from "../../../../assessmentManagement/unitList/components/addCompany.vue";
export interface formConfig {
formData: EngineeringMainList[number];
rules: FormRules;
datas: EngineeringMainList[number];
}
const openAddCompany = ref(false);
const companyType = ref({ dictLabel: 1 });
const props = defineProps<{
formConfig: formConfig;
}>();
@ -110,12 +119,16 @@ const nameOptions = ref([{ enterpriseSn: "", enterpriseName: "", creditCode: "",
watch(
() => formData.value.type,
async (n, o) => {
const data = await queryMainType({ mainType: formData.value.type });
nameOptions.value = data.result;
(n, o) => {
getMainData();
}
);
const allConfirm = () => {
getMainData();
};
const openAddDialog = () => {
openAddCompany.value = true;
};
const onChange = option => {
const value = nameOptions.value.find(item => item.enterpriseSn == option);
if (!value) return;
@ -140,7 +153,10 @@ const removeEngineeringMainPerson = (row: EngineeringMainPerson) => {
// index && index >= 0 && formData.value.engineeringMainPersonList?.splice(index, 1);
!index >= 0 && formData.value.engineeringMainPersonList?.splice(index, 1);
};
const getMainData = async () => {
const data = await queryMainType({ mainType: formData.value.type });
nameOptions.value = data.result;
};
onMounted(async () => {
const res = await getDicList({ dictType: "engineering_post" });
jobOptions.value = res.result;

View File

@ -97,37 +97,37 @@ export const rules = ref<FormRules>({
engineeringName: {
type: "string",
required: true,
message: "请输入工程名称"
message: "请输入项目名称"
},
engineeringCode: {
type: "string",
required: true,
message: "请输入工程编码"
message: "请输入项目编码"
},
engineeringType: {
type: "number",
required: true,
message: "请输入工程类别"
message: "请输入项目类别"
},
engineeringUse: {
type: "number",
required: true,
message: "请选择工程用途"
message: "请选择项目用途"
},
engineeringCost: {
type: "string",
required: true,
message: "请输入工程造价"
message: "请输入项目造价"
},
engineeringArea: {
type: "string",
required: true,
message: "请输入工程总面积"
message: "请输入项目总面积"
},
engineeringLength: {
type: "string",
required: true,
message: "请输入工程总长度m"
message: "请输入项目总长度m"
},
isImportant: {
type: "number",
@ -137,7 +137,7 @@ export const rules = ref<FormRules>({
position: {
type: "string",
required: true,
message: "请选择工程位置"
message: "请选择项目位置"
},
// district: {
// type: "string",
@ -199,12 +199,12 @@ export const rules = ref<FormRules>({
safetySupervisionState: {
type: "string",
required: true,
message: "请输入安全监督工程状态"
message: "请输入安全监督项目状态"
},
qualitySupervisionState: {
type: "string",
required: true,
message: "请输入质量监督工程状态"
message: "请输入质量监督项目状态"
},
safetySupervisionPlan: {
type: "string",

View File

@ -5,14 +5,14 @@
<!-- <el-form-item label="项目名称:" prop="projectName">
<el-input placeholder="请输入" v-model="form.projectName" disabled />
</el-form-item> -->
<el-form-item label="工程名称:" prop="engineeringName">
<el-form-item label="项目名称:" prop="engineeringName">
<el-input placeholder="请输入" v-model="form.engineeringName" />
</el-form-item>
<div class="row">
<el-form-item label="工程编码:" prop="engineeringCode">
<el-form-item label="项目编码:" prop="engineeringCode">
<el-input placeholder="请输入" v-model="form.engineeringCode" />
</el-form-item>
<el-form-item label="工程类别:" prop="engineeringType">
<el-form-item label="项目类别:" prop="engineeringType">
<el-select class="select" placeholder="请选择" v-model="form.engineeringType">
<el-option
v-for="item in engineeringTypeOptions"
@ -24,31 +24,31 @@
</el-form-item>
</div>
<div class="row">
<el-form-item label="工程用途:" prop="engineeringUse">
<el-form-item label="项目用途:" prop="engineeringUse">
<el-select class="select" placeholder="请选择" v-model="form.engineeringUse">
<el-option v-for="item in engineeringPurpose" :key="item.dictCode" :label="item.dictValue" :value="item.dictLabel" />
</el-select>
</el-form-item>
<el-form-item label="工程造价(万元):" prop="engineeringCost">
<el-form-item label="项目造价(万元):" prop="engineeringCost">
<el-input placeholder="请输入" v-model="form.engineeringCost" />
</el-form-item>
</div>
<div class="row">
<el-form-item label="工程总面积(㎡):" prop="engineeringArea">
<el-form-item label="项目总面积(㎡):" prop="engineeringArea">
<el-input placeholder="请输入" v-model="form.engineeringArea" />
</el-form-item>
<el-form-item label="工程总长度m:" prop="engineeringLength">
<el-form-item label="项目总长度m:" prop="engineeringLength">
<el-input placeholder="请输入" v-model="form.engineeringLength" />
</el-form-item>
</div>
<div class="row">
<el-form-item label="是否重点工程:" prop="isImportant">
<el-form-item label="是否重点项目:" prop="isImportant">
<el-radio-group placeholder="请选择" v-model="form.isImportant">
<el-radio :label="1"></el-radio>
<el-radio :label="0"></el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="工程位置:" prop="position">
<el-form-item label="项目位置:" prop="position">
<!-- <label class="label"><span>经度</span> <el-input disabled v-model="form.longitude" size="small" /></label>
<label class="label"><span>纬度</span> <el-input disabled v-model="form.latitude" size="small" /></label> -->
<el-input placeholder="请选择" v-model="form.position">
@ -114,7 +114,7 @@
</el-form-item>
</div>
<div class="row">
<el-form-item label="安全监督工程状态:" prop="safetySupervisionState">
<el-form-item label="安全监督项目状态:" prop="safetySupervisionState">
<el-input placeholder="请输入" v-model="form.safetySupervisionState"> </el-input>
<!-- <el-select class="select" v-model="form.safetySupervisionState">
<el-option
@ -125,7 +125,7 @@
/>
</el-select> -->
</el-form-item>
<el-form-item label="质量监督工程状态:" prop="qualitySupervisionState">
<el-form-item label="质量监督项目状态:" prop="qualitySupervisionState">
<el-input placeholder="请输入" v-model="form.qualitySupervisionState"> </el-input>
</el-form-item>
</div>
@ -178,7 +178,7 @@
</el-form>
<div class="table">
<h4>单体工程</h4>
<h4>单体项目</h4>
<el-table
:data="form.engineeringSingles"
height="340"
@ -187,7 +187,7 @@
:header-cell-style="{ textAlign: 'center' }"
:cell-style="{ textAlign: 'center' }"
>
<el-table-column prop="name" label="单体工程名称">
<el-table-column prop="name" label="单体项目名称">
<template #default="{ row }">
<el-input class="test" v-model="row.name" />
</template>
@ -199,7 +199,7 @@
</el-select>
</template>
</el-table-column>
<el-table-column prop="area" label="工程面积(㎡)">
<el-table-column prop="area" label="项目面积(㎡)">
<template #default="{ row }">
<el-input class="test" v-model="row.area" />
</template>
@ -343,7 +343,7 @@ onMounted(async () => {
// form.value.projectName = res2.result.projectName; //
const data = await getDicList({ dictType: "engineering_type" });
engineeringTypeOptions.value = data.result;
const res = await getDicList({ dictType: "engineering_purpose" }); //
const res = await getDicList({ dictType: "engineering_purpose" }); //
engineeringPurpose.value = res.result;
const res1 = await getDicList({ dictType: "structural_style" });
structuralStyle.value = res1.result;

View File

@ -1,49 +1,49 @@
<template>
<el-dialog title="查看工程信息" width="70%" v-model="visible1" show-close>
<el-dialog title="查看项目信息" width="70%" v-model="visible1" show-close>
<div>
<el-tabs v-model="activeName" type="card" class="demo-tabs">
<el-tab-pane label="工程概况" name="first">
<el-tab-pane label="项目概况" name="first">
<div class="littleTitle">基本信息</div>
<div class="overview">
<el-form ref="formRef" :model="form" disabled label-width="150px" class="form">
<el-form-item label="项目名称:">
<!-- <el-form-item label="项目名称:">
<el-input v-model="form.projectName" disabled />
</el-form-item>
<el-form-item label="工程名称:">
</el-form-item> -->
<el-form-item label="项目名称:">
<el-input v-model="form.engineeringName" />
</el-form-item>
<div class="row">
<el-form-item label="工程编码:">
<el-form-item label="项目编码:">
<el-input v-model="form.engineeringCode" />
</el-form-item>
<el-form-item label="工程类别:">
<el-form-item label="项目类别:">
<el-select class="select" v-model="form.engineeringTypeName"> </el-select>
</el-form-item>
</div>
<div class="row">
<el-form-item label="工程用途:">
<el-form-item label="项目用途:">
<el-select class="select" v-model="form.engineeringUseName"> </el-select>
</el-form-item>
<el-form-item label="工程造价(万元):">
<el-form-item label="项目造价(万元):">
<el-input v-model="form.engineeringCost" />
</el-form-item>
</div>
<div class="row">
<el-form-item label="工程总面积(㎡):">
<el-form-item label="项目总面积(㎡):">
<el-input v-model="form.engineeringArea" />
</el-form-item>
<el-form-item label="工程总长度m:">
<el-form-item label="项目总长度m:">
<el-input v-model="form.engineeringLength" />
</el-form-item>
</div>
<div class="row">
<el-form-item label="是否重点工程:">
<el-form-item label="是否重点项目:">
<el-radio-group v-model="form.isImportant">
<el-radio :label="1"></el-radio>
<el-radio :label="0"></el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="工程位置:">
<el-form-item label="项目位置:">
<el-input v-model="form.position">
<template #append>
<el-icon size="22"><Location /></el-icon> </template
@ -99,10 +99,10 @@
</el-form-item>
</div>
<div class="row">
<el-form-item label="安全监督工程状态:">
<el-form-item label="安全监督项目状态:">
<el-input v-model="form.safetySupervisionState"> </el-input>
</el-form-item>
<el-form-item label="质量监督工程状态:">
<el-form-item label="质量监督项目状态:">
<el-input v-model="form.qualitySupervisionState"> </el-input>
</el-form-item>
</div>
@ -139,7 +139,7 @@
</el-form-item>
</div>
</el-form>
<div class="littleTitle">单体工程</div>
<div class="littleTitle">单体项目</div>
<div class="table">
<div class="el-table_main">
<!-- max-height="340" -->
@ -149,14 +149,14 @@
:header-cell-style="{ textAlign: 'center' }"
:cell-style="{ textAlign: 'center' }"
>
<el-table-column prop="name" label="单体工程名称"> </el-table-column>
<el-table-column prop="name" label="单体项目名称"> </el-table-column>
<el-table-column prop="shape" label="结构形式">
<template #default="{ row }">
<el-select disabled class="select" v-model="row.shapeName" size="small"> </el-select>
</template>
</el-table-column>
<el-table-column prop="area" label="工程面积(㎡)"> </el-table-column>
<el-table-column prop="area" label="项目面积(㎡)"> </el-table-column>
<el-table-column prop="floorNum" label="地面层数"> </el-table-column>
<el-table-column prop="underNum" label="地下层数"> </el-table-column>
<el-table-column prop="remark" label="备注"> </el-table-column>
@ -248,7 +248,7 @@
</div>
</el-tab-pane>
<el-tab-pane label="附件信息" name="third">
<h4 class="littleTitle">工程附件</h4>
<h4 class="littleTitle">项目附件</h4>
<div style="width: 90%; margin: 0 auto">
<el-table
:data="annexFiles"
@ -277,12 +277,7 @@
</el-dialog>
<el-dialog v-model="dialogVisible" title="查看附件" width="30%" show-close>
<el-table
:data="current"
class="el-table"
:header-cell-style="{ textAlign: 'center' }"
:cell-style="{ textAlign: 'center' }"
>
<el-table :data="current" class="el-table" :header-cell-style="{ textAlign: 'center' }" :cell-style="{ textAlign: 'center' }">
<el-table-column prop="fileName" label="文件名称" />
<el-table-column label="操作" width="200">
<template #default="{ row }">

View File

@ -7,7 +7,7 @@
.leftBox,
.rightBox {
float: left;
width: 376px;
width: 390px;
}
.centerBox {
float: left;
@ -68,6 +68,7 @@
font-weight: 400;
line-height: 14px;
.item {
width: max-content;
display: flex;
align-items: center;
margin-bottom: 15px;
@ -75,9 +76,8 @@
margin-bottom: 0;
}
.name {
width: 100px;
display: inline-flex;
margin: 0 0 0 12px;
margin: 0 12px 0 12px;
white-space: nowrap;
}
.rect {

View File

@ -100,14 +100,15 @@ import { computed, reactive, ref, onMounted, onBeforeMount } from "vue";
import { bigItemAll } from "@/api/modules/huizhou";
const refChart = ref();
const headerList = reactive([
{ label: "未开始", color: "#35e5fd" },
{ label: "进行中", color: "#f1d520" },
{ label: "已完成", color: "#4fd389" },
{ label: "逾期未开始", color: "#F80840" },
{ label: "逾期进行中", color: "#fc6f8e" },
{ label: "逾期已完成", color: "#C13F5B" }
{ label: "未开始", color: "#D0A530" },
{ label: "推进中", color: "#35e5fd" },
{ label: "按期完成", color: "#f1d520" },
{ label: "临期", color: "#4fd389" },
{ label: "超期", color: "#F80840" },
{ label: "逾期完成", color: "#fc6f8e" },
{ label: "暂停状态", color: "#C13F5B" }
]);
const colors = ref(["#35e5fd", "#f1d520", "#4fd389", "#F80840", "#fc6f8e", "#C13F5B"]);
const colors = ref(["#D0A530", "#35e5fd", "#f1d520", "#4fd389", "#F80840", "#fc6f8e", "#C13F5B"]);
const projects = ref([]);
// const projects = ref([
// {

View File

@ -55,15 +55,17 @@
scope.row.state == 1
? "未开始"
: scope.row.state == 2
? "中"
? "进中"
: scope.row.state == 3
? "完成"
? "按期完成"
: scope.row.state == 4
? "逾期未开始"
? "临期"
: scope.row.state == 5
? "逾期进行中"
? "超期"
: scope.row.state == 6
? "逾期已完成"
? "逾期完成"
: scope.row.state == 7
? "暂停"
: ""
}}</span>
</template>
@ -231,11 +233,12 @@ const parentObj = ref({
});
const statusList = ref([
{ label: "未开始", value: 1 },
{ label: "进行中", value: 2 },
{ label: "已完成", value: 3 },
{ label: "逾期未开始", value: 4 },
{ label: "逾期进行中", value: 5 },
{ label: "逾期已完成", value: 6 }
{ label: "推进中", value: 2 },
{ label: "按期完成", value: 3 },
{ label: "临期", value: 4 },
{ label: "超期", value: 5 },
{ label: "逾期完成", value: 6 },
{ label: "暂停", value: 7 }
]);
const pageable = ref({
pageNo: 1,

View File

@ -23,15 +23,17 @@
row.state == 1
? "未开始"
: row.state == 2
? "中"
? "进中"
: row.state == 3
? "完成"
? "按期完成"
: row.state == 4
? "逾期未开始"
? "临期"
: row.state == 5
? "逾期进行中"
? "超期"
: row.state == 6
? "逾期已完成"
? "逾期完成"
: row.state == 7
? "暂停"
: ""
}}</span>
</template>
@ -110,11 +112,12 @@ const columns: ColumnProps[] = [
search: { el: "select" },
enum: [
{ label: "未开始", value: 1 },
{ label: "进行中", value: 2 },
{ label: "已完成", value: 3 },
{ label: "逾期未开始", value: 4 },
{ label: "逾期进行中", value: 5 },
{ label: "逾期已完成", value: 6 }
{ label: "推进中", value: 2 },
{ label: "按期完成", value: 3 },
{ label: "临期", value: 4 },
{ label: "超期", value: 5 },
{ label: "逾期完成", value: 6 },
{ label: "暂停", value: 7 }
]
},
{ prop: "operation", label: "操作", fixed: "right", width: 100 }