项目清单字段调整

This commit is contained in:
shenyanpei
2022-01-25 14:57:52 +08:00
parent 82c9a6ac19
commit 38b22f2142
2 changed files with 235 additions and 229 deletions
@@ -21,7 +21,7 @@
clearable clearable
></el-input> ></el-input>
</el-form-item> </el-form-item>
<el-form-item label="项目分类" class="search-item"> <!-- <el-form-item label="项目分类" class="search-item">
<el-select <el-select
v-model="projectLibrarySearch.projectClassification" v-model="projectLibrarySearch.projectClassification"
placeholder="请选择项目类别" placeholder="请选择项目类别"
@@ -34,7 +34,7 @@
>{{ opt.label }} >{{ opt.label }}
</el-option> </el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>-->
<el-form-item label="项目状态" class="search-item search-item-last"> <el-form-item label="项目状态" class="search-item search-item-last">
<el-select v-model="projectLibrarySearch.projectStatus" placeholder="请选择项目状态" clearable> <el-select v-model="projectLibrarySearch.projectStatus" placeholder="请选择项目状态" clearable>
<el-option <el-option
@@ -85,130 +85,132 @@
</div> </div>
<div class="table_info"> <div class="table_info">
<el-table <el-table
ref="multipleTable" ref="multipleTable"
:data="localProTableList" :data="localProTableList"
tooltip-effect="dark" tooltip-effect="dark"
style="width: 100%" style="width: 100%"
border border
height="100%" height="100%"
:header-cell-style="{background: '#e8e8e8', color: '#333333', fontSize: '15px', :header-cell-style="{background: '#e8e8e8', color: '#333333', fontSize: '15px',
fontWeight: 'normal', height: '48px'}" fontWeight: 'normal', height: '48px'}"
@selection-change="handleSelectionChange"> @selection-change="handleSelectionChange">
<el-table-column <!-- <el-table-column
show-overflow-tooltip show-overflow-tooltip
prop="projectPlatfor" prop="projectPlatfor"
align="center" align="center"
fixed="left" fixed="left"
min-width="100" min-width="100"
label="产品平台"> label="产品平台">
</el-table-column> </el-table-column>-->
<el-table-column <el-table-column
prop="projectNumber" show-overflow-tooltip
align="center" prop="projectGroup"
fixed="left" label="项目群"
min-width="150" fixed="left"
label="项目编号"> min-width="200"
</el-table-column> align="center"
<el-table-column >
show-overflow-tooltip </el-table-column>
prop="projectName" <el-table-column
align="center" prop="projectNumber"
fixed="left" align="center"
min-width="300" fixed="left"
label="项目名称"> min-width="150"
<template slot-scope="scope"> label="项目编号">
<a @click="handlePreview(scope.row)" class="table-jump">{{ scope.row.projectName }}</a> </el-table-column>
</template> <el-table-column
</el-table-column> show-overflow-tooltip
<el-table-column prop="projectName"
show-overflow-tooltip align="center"
prop="projectClassification" fixed="left"
label="项目分类" min-width="300"
align="center" label="项目名称">
min-width="120" <template slot-scope="scope">
> <a @click="handlePreview(scope.row)" class="table-jump">{{ scope.row.projectName }}</a>
</el-table-column> </template>
<el-table-column </el-table-column>
show-overflow-tooltip <!-- <el-table-column
prop="projectStatus" show-overflow-tooltip
label="项目状态" prop="projectClassification"
align="center" label="项目分类"
min-width="120" align="center"
> min-width="120"
</el-table-column> >
<el-table-column </el-table-column>-->
show-overflow-tooltip <el-table-column
prop="projectGroup" show-overflow-tooltip
label="项目群" prop="projectStatus"
min-width="120" label="项目状态"
align="center" align="center"
> min-width="120"
</el-table-column> >
<el-table-column </el-table-column>
show-overflow-tooltip
prop="productLine" <!--<el-table-column
label="产品线" show-overflow-tooltip
min-width="160" prop="productLine"
align="center" label="产品线"
> min-width="160"
</el-table-column> align="center"
<el-table-column >
prop="projectStartDate" </el-table-column>-->
label="项目计划开始日期" <el-table-column
:formatter="dateFormat" prop="projectStartDate"
min-width="120" label="项目计划开始日期"
width="160" :formatter="dateFormat"
align="center" min-width="120"
> width="160"
<!-- <template slot-scope="scope">{{(scope.row.sopTime ? scope.row.sopTime.substring(0, 11): '')}}</template>--> align="center"
</el-table-column> >
<el-table-column <!-- <template slot-scope="scope">{{(scope.row.sopTime ? scope.row.sopTime.substring(0, 11): '')}}</template>-->
prop="projectEndDate" </el-table-column>
label="项目计划完成日期" <el-table-column
:formatter="dateFormat" prop="projectEndDate"
min-width="120" label="项目计划完成日期"
width="160" :formatter="dateFormat"
align="center" min-width="120"
> width="160"
<!-- <template slot-scope="scope">{{(scope.row.sopTime ? scope.row.sopTime.substring(0, 11): '')}}</template>--> align="center"
</el-table-column> >
<el-table-column <!-- <template slot-scope="scope">{{(scope.row.sopTime ? scope.row.sopTime.substring(0, 11): '')}}</template>-->
show-overflow-tooltip </el-table-column>
prop="currentNode" <el-table-column
align="center" show-overflow-tooltip
label="当前节点"> prop="currentNode"
</el-table-column> align="center"
<el-table-column label="当前节点">
prop="projectLevel" </el-table-column>
align="center" <!--<el-table-column
label="项目级别"> prop="projectLevel"
<!-- <template slot-scope="scope" v-if="scope.row.leftRight">{{(scope.row.leftRight === '1' ? '左驾': '右驾')}}</template>--> align="center"
</el-table-column> label="项目级别">
<el-table-column &lt;!&ndash; <template slot-scope="scope" v-if="scope.row.leftRight">{{(scope.row.leftRight === '1' ? '左驾': '右驾')}}</template>&ndash;&gt;
show-overflow-tooltip </el-table-column>-->
prop="uname" <el-table-column
align="center" show-overflow-tooltip
label="项目经理"> prop="uname"
</el-table-column> align="center"
<el-table-column label="" fixed="right" width="50" :resizable="false" label="操作" align="center"> label="项目经理">
<template slot-scope="scope"> </el-table-column>
<div @click.stop style="display: inline-block"> <el-table-column label="" fixed="right" width="50" :resizable="false" label="操作" align="center">
<el-dropdown trigger="click" @command="handleCommand"> <template slot-scope="scope">
<i class="iconfont">&#xe61e;</i> <div @click.stop style="display: inline-block">
<el-dropdown-menu slot="dropdown"> <el-dropdown trigger="click" @command="handleCommand">
<el-dropdown-item :command="[scope.row, '查看']" v-btn-permission="'881cfa2f3c898e0954d90ee7d521ed70'"> <i class="iconfont">&#xe61e;</i>
查看 <el-dropdown-menu slot="dropdown">
</el-dropdown-item> <el-dropdown-item :command="[scope.row, '查看']" v-btn-permission="'881cfa2f3c898e0954d90ee7d521ed70'">
<!-- // 权限id --> 查看
<el-dropdown-item :command="[scope.row, '发起确认流程']" v-btn-permission="'dd87f572b6c807b6982fa071fcbe0d41'"> </el-dropdown-item>
发起确认流程 <!-- // 权限id -->
</el-dropdown-item> <el-dropdown-item :command="[scope.row, '发起确认流程']" v-btn-permission="'dd87f572b6c807b6982fa071fcbe0d41'">
</el-dropdown-menu> 发起确认流程
</el-dropdown> </el-dropdown-item>
</div> </el-dropdown-menu>
</template> </el-dropdown>
</el-table-column> </div>
</el-table> </template>
</el-table-column>
</el-table>
</div> </div>
<pagination <pagination
:page="page" :page="page"
@@ -303,9 +305,9 @@ import DatePickerGroup from "./components/DatePickerGroup";
import OrgTree from "@/components/CustomFormComponents/OrgTree"; import OrgTree from "@/components/CustomFormComponents/OrgTree";
import eventHub from "@/common/eventHub"; import eventHub from "@/common/eventHub";
import ProjectRelatedPersonnel from "@/components/CustomFormComponents/ProjectRelatedPersonnel"; import ProjectRelatedPersonnel from "@/components/CustomFormComponents/ProjectRelatedPersonnel";
import { dateFormat } from "@/common/date/index"; import {dateFormat} from "@/common/date/index";
import moment from "moment"; import moment from "moment";
import { solostarData } from "@/api/unqualProcess"; import {solostarData} from "@/api/unqualProcess";
function checkFD(rules, value, callback) { function checkFD(rules, value, callback) {
this.value = value; this.value = value;
@@ -406,69 +408,69 @@ export default {
// 相关人员姓名 // 相关人员姓名
}, },
// 新增编辑弹窗里的数据 // 新增编辑弹窗里的数据
/* localProEODefault: { /* localProEODefault: {
// 项目相关人员 // 项目相关人员
userEOList: [], userEOList: [],
// 产品代码 // 产品代码
produceCode: "", produceCode: "",
// 项目阶段 // 项目阶段
productStage: "", productStage: "",
// 整车项目编号 // 整车项目编号
zhengcarNo: "", zhengcarNo: "",
// 整车SOP时间 // 整车SOP时间
zhengcarSopTime: "", zhengcarSopTime: "",
// 项目编号 // 项目编号
productNo: "", productNo: "",
// 项目类型 // 项目类型
productTypeCode: "", productTypeCode: "",
// 生产基地 // 生产基地
producePlace: "", producePlace: "",
// 基础车型 // 基础车型
baseCartype: "", baseCartype: "",
// 左驾右驾 // 左驾右驾
leftRight: "", leftRight: "",
// 项目经理 // 项目经理
productManager: "", productManager: "",
productManagerShow: "", productManagerShow: "",
// 是否纳入开发 // 是否纳入开发
isDevelop: "", isDevelop: "",
energyKind: "", energyKind: "",
// 平台 // 平台
flatform: "", flatform: "",
// 项目名称 // 项目名称
productName: "", productName: "",
// 车型系列 // 车型系列
productSet: "", productSet: "",
// 项目类别 // 项目类别
productType: "", productType: "",
// 项目状态 // 项目状态
productBrand: "", productBrand: "",
// SOP时间 // SOP时间
sopTime: "", sopTime: "",
// 阀点 // 阀点
pointTime: [], pointTime: [],
// 计划通过时间 // 计划通过时间
planPassTime: "", planPassTime: "",
// 实际通过时间 // 实际通过时间
actualPassTime: "", actualPassTime: "",
// 目标市场 // 目标市场
targetMarket: "", targetMarket: "",
// 公告车型号 // 公告车型号
carModel: "", carModel: "",
// 项目相关人员id // 项目相关人员id
relatePerson: "", relatePerson: "",
// eop信息 // eop信息
eopTime: "", eopTime: "",
// 项目相关信息 // 项目相关信息
saleMarket: "", saleMarket: "",
// 判断是国内还是海外 // 判断是国内还是海外
prodectCode: "", prodectCode: "",
// carModeFile: '' // carModeFile: ''
// carModeFileList: '' // carModeFileList: ''
// 相关人员信息 // 相关人员信息
relatePersonShow: "" relatePersonShow: ""
// 相关人员姓名 // 相关人员姓名
},*/ },*/
//查询3类 //查询3类
projectLibrarySearch: { projectLibrarySearch: {
// 项目名称 // 项目名称
@@ -679,9 +681,9 @@ export default {
// { type: 'string', max: 100, message: '产品系列长度不能超过100个字符', trigger: 'blur' } // { type: 'string', max: 100, message: '产品系列长度不能超过100个字符', trigger: 'blur' }
// ], // ],
productName: [ productName: [
{ required: true, message: "项目名称不能为空", trigger: "blur" }, {required: true, message: "项目名称不能为空", trigger: "blur"},
{ type: "string", max: 100, message: "项目名称长度不能超过100个字符", trigger: "blur" }, {type: "string", max: 100, message: "项目名称长度不能超过100个字符", trigger: "blur"},
{ type: "string", validator: this.verify.checkSpecialCharacterProduct, trigger: "blur" } {type: "string", validator: this.verify.checkSpecialCharacterProduct, trigger: "blur"}
], ],
// carModel: [ // carModel: [
// { type: 'string', max: 100, message: '公告车型号不能为空', trigger: 'blur' } // { type: 'string', max: 100, message: '公告车型号不能为空', trigger: 'blur' }
@@ -699,31 +701,31 @@ export default {
// {type: 'Array', validator: this.verify.valiCategory, trigger: 'change'} // {type: 'Array', validator: this.verify.valiCategory, trigger: 'change'}
// ], // ],
flatform: [ flatform: [
{ required: true, message: "平台不能为空", trigger: "change" } {required: true, message: "平台不能为空", trigger: "change"}
], ],
// productType: [ // productType: [
// { required: false, message: '项目类别不能为空', trigger: 'change' } // { required: false, message: '项目类别不能为空', trigger: 'change' }
// ], // ],
productBrand: [ productBrand: [
{ required: true, message: "项目状态不能为空", trigger: "change" } {required: true, message: "项目状态不能为空", trigger: "change"}
], ],
sopTime: [ sopTime: [
{ required: true, message: "sop时间不能为空", trigger: "change" } {required: true, message: "sop时间不能为空", trigger: "change"}
], ],
// productNo: [ // productNo: [
// { required: false, validator:this.checkNum, trigger: 'change' } // { required: false, validator:this.checkNum, trigger: 'change' }
// ], // ],
productTypeCode: [ productTypeCode: [
{ required: true, message: "项目类型不能为空", trigger: "change" } {required: true, message: "项目类型不能为空", trigger: "change"}
], ],
productManager: [ productManager: [
{ required: true, message: "项目经理不能为空", trigger: "change" } {required: true, message: "项目经理不能为空", trigger: "change"}
], ],
// produceCode: [ // produceCode: [
// { required: true, message: '产品代码不能为空', trigger: 'change' } // { required: true, message: '产品代码不能为空', trigger: 'change' }
// ], // ],
relatePerson: [ relatePerson: [
{ required: true, message: "项目相关成员不能为空", trigger: "change" } {required: true, message: "项目相关成员不能为空", trigger: "change"}
], ],
// carModeFileList: [] // carModeFileList: []
pointTime: [ pointTime: [
@@ -884,7 +886,7 @@ export default {
}, },
// 获取标准类别List数据 // 获取标准类别List数据
getAllInforList() { getAllInforList() {
this.$http.get("sys/dictype/getDicTypeListCode", {}, { _this: this }, res => { this.$http.get("sys/dictype/getDicTypeListCode", {}, {_this: this}, res => {
// this.xmztOptions = res.data.XMZT; // this.xmztOptions = res.data.XMZT;
this.scxxOptions = res.data.SCXX; this.scxxOptions = res.data.SCXX;
this.countryList = res.data.COUNTRY; this.countryList = res.data.COUNTRY;
@@ -955,7 +957,7 @@ export default {
} else { } else {
this.title = "编辑车型/项目库"; this.title = "编辑车型/项目库";
row.targetMarket = row.targetMarket.split(","); row.targetMarket = row.targetMarket.split(",");
this.localProEO = { ...row }; this.localProEO = {...row};
// this.localProEO.id = row.id // this.localProEO.id = row.id
if (this.localProEO.energyKind != null && !(this.localProEO.energyKind instanceof Array)) { if (this.localProEO.energyKind != null && !(this.localProEO.energyKind instanceof Array)) {
if (this.localProEO.energyKind === "") { if (this.localProEO.energyKind === "") {
@@ -1095,8 +1097,8 @@ export default {
}, },
// 清空条件查询 // 清空条件查询
clearAllSearch() { clearAllSearch() {
this.localProTableSearch = { ...this.localProTableSearchDefault }; this.localProTableSearch = {...this.localProTableSearchDefault};
this.projectLibrarySearch = { ...this.projectLibrarySearchDefault }; this.projectLibrarySearch = {...this.projectLibrarySearchDefault};
this.localProTableSearch.page = 1; this.localProTableSearch.page = 1;
this.getLocalProductTable(); this.getLocalProductTable();
}, },
@@ -1337,7 +1339,7 @@ export default {
handleProcess(row) { handleProcess(row) {
// 项目清单确认流程 // 项目清单确认流程
this.$router.push({ this.$router.push({
name:'xmqdqrStep1-4', name: 'xmqdqrStep1-4',
query: { query: {
row row
} }
@@ -1402,7 +1404,7 @@ export default {
}, },
// 取消或者关闭弹窗 // 取消或者关闭弹窗
resetReletionForm() { resetReletionForm() {
this.relationTableSearch = { ...this.relationTableSearchDefault }; this.relationTableSearch = {...this.relationTableSearchDefault};
// this.$refs['processForm'].clearValidate() // this.$refs['processForm'].clearValidate()
this.$refs.RelectionMultipleTable.clearSelection(); this.$refs.RelectionMultipleTable.clearSelection();
this.reletionSelectNum = []; this.reletionSelectNum = [];
@@ -1432,7 +1434,7 @@ export default {
this.$http.get("lawss/sarProductInfo/isOver", { this.$http.get("lawss/sarProductInfo/isOver", {
productNo: this.localProEO.productNo, productNo: this.localProEO.productNo,
id: this.localProEO.id id: this.localProEO.id
}, { _this: this }, res => { }, {_this: this}, res => {
if (res.data) { if (res.data) {
callback(new Error("项目编号不能重复")); callback(new Error("项目编号不能重复"));
} else { } else {
@@ -1564,26 +1566,26 @@ export default {
this.localProEO.productManagerShow = userNameList.join(","); this.localProEO.productManagerShow = userNameList.join(",");
}, },
selectSort() { selectSort() {
solostarData().then(res=>{ solostarData().then(res => {
res.data.MaintenanceProjectClassification.forEach((item, index)=>{ res.data.MaintenanceProjectClassification.forEach((item, index) => {
this.projectData.push({ this.projectData.push({
label: item, label: item,
value: index value: index
}) })
}) })
res.data.MaintenanceProjectStatus.forEach((item, index)=>{ res.data.MaintenanceProjectStatus.forEach((item, index) => {
this.projectStatus.push({ this.projectStatus.push({
label: item, label: item,
value: index value: index
}) })
}) })
res.data.notMaintenanceProjectClassification.forEach((item, index)=>{ res.data.notMaintenanceProjectClassification.forEach((item, index) => {
this.notProjectData.push({ this.notProjectData.push({
label: item, label: item,
value: index value: index
}) })
}) })
res.data.notMaintenanceProjectStatus.forEach((item, index)=>{ res.data.notMaintenanceProjectStatus.forEach((item, index) => {
this.notProjectStatus.push({ this.notProjectStatus.push({
label: item, label: item,
value: index value: index
@@ -1614,7 +1616,7 @@ export default {
this.ifMaintaince = "Maintenance"; this.ifMaintaince = "Maintenance";
} else { } else {
this.ifMaintaince = this.$route.query.tabName; this.ifMaintaince = this.$route.query.tabName;
if(this.ifMaintaince === "notMaintenance"){ if (this.ifMaintaince === "notMaintenance") {
this.localProTableSearch.prodectCode = this.ifMaintaince; this.localProTableSearch.prodectCode = this.ifMaintaince;
} }
} }
@@ -1644,6 +1646,7 @@ export default {
width: 100%; width: 100%;
//height: calc(100% - 110px); //height: calc(100% - 110px);
height: calc(~'100% - 30px'); height: calc(~'100% - 30px');
.table_info { .table_info {
height: calc(70vh - 90px); height: calc(70vh - 90px);
} }
@@ -1654,7 +1657,7 @@ export default {
} }
/deep/ .pagination { /deep/ .pagination {
position:inherit; position: inherit;
//position: unset; //position: unset;
} }
@@ -1668,15 +1671,17 @@ export default {
} }
} }
} }
///deep/ .el-table--scrollable-x .el-table__body-wrapper { ///deep/ .el-table--scrollable-x .el-table__body-wrapper {
// overflow-x: scroll; // overflow-x: scroll;
//} //}
///deep/.el-table__fixed { ///deep/.el-table__fixed {
// height: 48px !important; // height: 48px !important;
//} //}
/deep/.el-table .el-table__body-wrapper { /deep/ .el-table .el-table__body-wrapper {
height: 84%; height: 84%;
} }
::v-deep .el-drawer__header { ::v-deep .el-drawer__header {
& > span:first-child { & > span:first-child {
outline: none !important; outline: none !important;
@@ -10,9 +10,15 @@
<el-card class="contaiinerCard" style="margin: 5px"> <el-card class="contaiinerCard" style="margin: 5px">
<div style="padding: 20px"> <div style="padding: 20px">
<el-row style="margin-top: 10px"> <el-row style="margin-top: 10px">
<el-col :span="5">产品平台: <span class="valueColor">{{ localProEO.projectPlatfor }}</span></el-col> <!-- <el-col :span="5">产品平台: <span class="valueColor">{{ localProEO.projectPlatfor }}</span></el-col>-->
<el-col :span="5" :push="1">项目编号: <span class="valueColor">{{ localProEO.projectNumber }}</span></el-col> <el-col :span="6">管理主体: <span class="valueColor">{{ localProEO.managementHostName || '-' }}</span></el-col>
<el-col :span="5" :push="2"> <el-col :span="6">开发主体: <span class="valueColor">{{ localProEO.developmentHostName || '-' }}</span></el-col>
<el-col :span="6">项目细分类:<span class="valueColor">{{ localProEO.categoryName || '-' }}</span></el-col>
<el-col :span="6">项目群: <span class="valueColor">{{ localProEO.projectGroup }} </span></el-col>
</el-row>
<el-row style="margin-top: 10px">
<el-col :span="6">项目编号: <span class="valueColor">{{ localProEO.projectNumber }}</span></el-col>
<el-col :span="6">
<el-tooltip class="item" effect="dark" :content="localProEO.projectName" placement="top"> <el-tooltip class="item" effect="dark" :content="localProEO.projectName" placement="top">
<div slot="content" class="toolip-content" v-if="localProEO.projectName !== undefined && localProEO.projectName.length>15"> <div slot="content" class="toolip-content" v-if="localProEO.projectName !== undefined && localProEO.projectName.length>15">
{{ localProEO.projectName }} {{ localProEO.projectName }}
@@ -26,21 +32,16 @@
</div> </div>
</el-tooltip> </el-tooltip>
</el-col> </el-col>
<el-col :span="4" :push="3">项目分类:<span class="valueColor">{{ localProEO.projectClassification }}</span> <el-col :span="6">项目状态: <span class="valueColor">{{ localProEO.projectStatus }} </span></el-col>
</el-col> <!--<el-col :span="4" :push="3">项目级别: <span class="valueColor">{{ localProEO.projectLevel }} </span></el-col>-->
<el-col :span="6">当前节点: <span class="valueColor">{{ localProEO.currentNode }} </span></el-col>
</el-row> </el-row>
<el-row style="margin-top: 10px"> <el-row style="margin-top: 10px">
<el-col :span="5">项目状态: <span class="valueColor">{{ localProEO.projectStatus }} </span></el-col> <!--<el-col :span="5">产品线: <span class="valueColor">{{ localProEO.productLine }} </span></el-col>-->
<el-col :span="5" :push="1">项目群: <span class="valueColor">{{ localProEO.projectGroup }} </span></el-col> <el-col :span="6">项目经理: <span class="valueColor">{{ localProEO.uname }} </span></el-col>
<el-col :span="5" :push="2">当前节点: <span class="valueColor">{{ localProEO.currentNode }} </span></el-col> <el-col :span="6"> 项目计划开始时间: <span
<el-col :span="4" :push="3">项目级别: <span class="valueColor">{{ localProEO.projectLevel }} </span></el-col>
</el-row>
<el-row style="margin-top: 10px">
<el-col :span="5">产品线: <span class="valueColor">{{ localProEO.productLine }} </span></el-col>
<el-col :span="5" :push="1">项目经理: <span class="valueColor">{{ localProEO.uname }} </span></el-col>
<el-col :span="5" :push="2"> 项目计划开始时间: <span
class="valueColor">{{ $moment(localProEO.projectStartDate).format('YYYY-MM-DD') }}</span></el-col> class="valueColor">{{ $moment(localProEO.projectStartDate).format('YYYY-MM-DD') }}</span></el-col>
<el-col :span="4" :push="3">项目计划完成时间: <span <el-col :span="6">项目计划完成时间: <span
class="valueColor">{{ $moment(localProEO.projectEndDate).format('YYYY-MM-DD') }} </span></el-col> class="valueColor">{{ $moment(localProEO.projectEndDate).format('YYYY-MM-DD') }} </span></el-col>
</el-row> </el-row>
</div> </div>