1.企标制修订立项计划流程,流程发起页面全都加上必填校验,加上星号;除了引用标准字段

2.企标制修订立项计划流程,流程发起页面,删除立项原因字段
3.企标制修订-技术标准流程,改下排序,基础信息,会签意见,评分,历史数据
4.企标制修订-技术标准流程,加分应该可以写0
This commit is contained in:
zyx.net
2022-10-12 14:00:16 +08:00
parent c31e4e0b63
commit 24f527fb73
11 changed files with 104 additions and 52 deletions
@@ -5,9 +5,9 @@
<template slot="proNode">企标编写</template> <template slot="proNode">企标编写</template>
</ProcessHeader> </ProcessHeader>
<div class="headerTabs"> <div class="headerTabs">
<div class="headerTabsItem" v-show="form.fsRejectStatus === 2" :class="active === '1' ? 'active' : ''" @click="handleTabs('1')">历史评分</div>
<div class="headerTabsItem" v-show="form.fsRejectStatus === 2" :class="active === '2' ? 'active' : ''" @click="handleTabs('2')">基础信息</div> <div class="headerTabsItem" v-show="form.fsRejectStatus === 2" :class="active === '2' ? 'active' : ''" @click="handleTabs('2')">基础信息</div>
<div class="headerTabsItem" v-show="form.fsRejectStatus !== 2" :class="active === '1' ? 'active' : ''" @click="handleTabs('1')">基础信息</div> <div class="headerTabsItem" v-show="form.fsRejectStatus !== 2" :class="active === '1' ? 'active' : ''" @click="handleTabs('1')">基础信息</div>
<div class="headerTabsItem" v-show="form.fsRejectStatus === 2" :class="active === '1' ? 'active' : ''" @click="handleTabs('1')">历史评分</div>
<!-- <div class="headerTabsItem" :class="active === '2' ? 'active' : ''" @click="handleTabs('2')">模块信息</div>--> <!-- <div class="headerTabsItem" :class="active === '2' ? 'active' : ''" @click="handleTabs('2')">模块信息</div>-->
<div class="headerTabsItem" :class="active === '3' ? 'active' : ''" @click="handleTabs('3')">审批历史</div> <div class="headerTabsItem" :class="active === '3' ? 'active' : ''" @click="handleTabs('3')">审批历史</div>
</div> </div>
@@ -5,9 +5,9 @@
<template slot="proNode">征求意见</template> <template slot="proNode">征求意见</template>
</ProcessHeader> </ProcessHeader>
<div class="headerTabs"> <div class="headerTabs">
<div class="headerTabsItem" :class="active === '1' ? 'active' : ''" @click="handleTabs('1')">会签评分</div>
<div class="headerTabsItem" :class="active === '2' ? 'active' : ''" @click="handleTabs('2')">基础信息</div> <div class="headerTabsItem" :class="active === '2' ? 'active' : ''" @click="handleTabs('2')">基础信息</div>
<div class="headerTabsItem" :class="active === '3' ? 'active' : ''" @click="handleTabs('3')">会签意见</div> <div class="headerTabsItem" :class="active === '3' ? 'active' : ''" @click="handleTabs('3')">会签意见</div>
<div class="headerTabsItem" :class="active === '1' ? 'active' : ''" @click="handleTabs('1')">会签评分</div>
<div class="headerTabsItem" :class="active === '4' ? 'active' : ''" @click="handleTabs('4')">审批历史</div> <div class="headerTabsItem" :class="active === '4' ? 'active' : ''" @click="handleTabs('4')">审批历史</div>
</div> </div>
<div class="content"> <div class="content">
@@ -911,9 +911,9 @@
}, },
data () { data () {
const numberCodeNot = (rule, value, callback) => { const numberCodeNot = (rule, value, callback) => {
let pattern = /^[1]*$/ let pattern = /^[1,0]*$/
if (!pattern.test(value) || value > 1) { if (!pattern.test(value) || value > 1) {
return callback(new Error('评分分值只可为1分')) return callback(new Error('评分分值只可为0分或1分'))
} else { } else {
callback() callback()
} }
@@ -5,8 +5,8 @@
<template slot="proNode">技术委员会评审、评审意见修改</template> <template slot="proNode">技术委员会评审、评审意见修改</template>
</ProcessHeader> </ProcessHeader>
<div class="headerTabs"> <div class="headerTabs">
<div class="headerTabsItem" :class="active === '1' ? 'active' : ''" @click="handleTabs('1')">评审评分</div>
<div class="headerTabsItem" :class="active === '2' ? 'active' : ''" @click="handleTabs('2')">基础信息</div> <div class="headerTabsItem" :class="active === '2' ? 'active' : ''" @click="handleTabs('2')">基础信息</div>
<div class="headerTabsItem" :class="active === '1' ? 'active' : ''" @click="handleTabs('1')">评审评分</div>
<!-- <div class="headerTabsItem" :class="active === '2' ? 'active' : ''" @click="handleTabs('2')">模块信息</div>--> <!-- <div class="headerTabsItem" :class="active === '2' ? 'active' : ''" @click="handleTabs('2')">模块信息</div>-->
<div class="headerTabsItem" :class="active === '3' ? 'active' : ''" @click="handleTabs('3')">审批历史</div> <div class="headerTabsItem" :class="active === '3' ? 'active' : ''" @click="handleTabs('3')">审批历史</div>
</div> </div>
@@ -907,9 +907,9 @@
}, },
data () { data () {
const numberCodeNot = (rule, value, callback) => { const numberCodeNot = (rule, value, callback) => {
let pattern = /^[1]*$/ let pattern = /^[1,0]*$/
if (!pattern.test(value) || value > 1) { if (!pattern.test(value) || value > 1) {
return callback(new Error('评分分值只可为1分')) return callback(new Error('评分分值只可为0分或1分'))
} else { } else {
callback() callback()
} }
@@ -5,8 +5,8 @@
<template slot="proNode">标准化复审</template> <template slot="proNode">标准化复审</template>
</ProcessHeader> </ProcessHeader>
<div class="headerTabs"> <div class="headerTabs">
<div class="headerTabsItem" :class="active === '1' ? 'active' : ''" @click="handleTabs('1')">复审评分</div>
<div class="headerTabsItem" :class="active === '2' ? 'active' : ''" @click="handleTabs('2')">基础信息</div> <div class="headerTabsItem" :class="active === '2' ? 'active' : ''" @click="handleTabs('2')">基础信息</div>
<div class="headerTabsItem" :class="active === '1' ? 'active' : ''" @click="handleTabs('1')">复审评分</div>
<!-- <div class="headerTabsItem" :class="active === '2' ? 'active' : ''" @click="handleTabs('2')">模块信息</div>--> <!-- <div class="headerTabsItem" :class="active === '2' ? 'active' : ''" @click="handleTabs('2')">模块信息</div>-->
<div class="headerTabsItem" :class="active === '3' ? 'active' : ''" @click="handleTabs('3')">审批历史</div> <div class="headerTabsItem" :class="active === '3' ? 'active' : ''" @click="handleTabs('3')">审批历史</div>
</div> </div>
@@ -691,9 +691,9 @@
}, },
data () { data () {
const numberCodeNot = (rule, value, callback) => { const numberCodeNot = (rule, value, callback) => {
let pattern = /^[1]*$/ let pattern = /^[1,0]*$/
if (!pattern.test(value) || value > 1) { if (!pattern.test(value) || value > 1) {
return callback(new Error('评分分值只可为1分')) return callback(new Error('评分分值只可为0分或1分'))
} else { } else {
callback() callback()
} }
@@ -510,9 +510,9 @@
}, },
data () { data () {
const numberCodeNot = (rule, value, callback) => { const numberCodeNot = (rule, value, callback) => {
let pattern = /^[1]*$/ let pattern = /^[1,0]*$/
if (!pattern.test(value)) { if (!pattern.test(value)) {
return callback(new Error('评分分值只可为1分')) return callback(new Error('评分分值只可为0分或1分'))
} else { } else {
callback() callback()
} }
@@ -5,8 +5,8 @@
<template slot="proNode">审核</template> <template slot="proNode">审核</template>
</ProcessHeader> </ProcessHeader>
<div class="headerTabs"> <div class="headerTabs">
<div class="headerTabsItem" :class="active === '1' ? 'active' : ''" @click="handleTabs('1')">审核评分</div>
<div class="headerTabsItem" :class="active === '2' ? 'active' : ''" @click="handleTabs('2')">基础信息</div> <div class="headerTabsItem" :class="active === '2' ? 'active' : ''" @click="handleTabs('2')">基础信息</div>
<div class="headerTabsItem" :class="active === '1' ? 'active' : ''" @click="handleTabs('1')">审核评分</div>
<!-- <div class="headerTabsItem" :class="active === '2' ? 'active' : ''" @click="handleTabs('2')">模块信息</div>--> <!-- <div class="headerTabsItem" :class="active === '2' ? 'active' : ''" @click="handleTabs('2')">模块信息</div>-->
<div class="headerTabsItem" :class="active === '3' ? 'active' : ''" @click="handleTabs('3')">审批历史</div> <div class="headerTabsItem" :class="active === '3' ? 'active' : ''" @click="handleTabs('3')">审批历史</div>
</div> </div>
@@ -702,9 +702,9 @@
}, },
data () { data () {
const numberCodeNot = (rule, value, callback) => { const numberCodeNot = (rule, value, callback) => {
let pattern = /^[1]*$/ let pattern = /^[1,0]*$/
if (!pattern.test(value) || value > 1) { if (!pattern.test(value) || value > 1) {
return callback(new Error('评分分值只可为1分')) return callback(new Error('评分分值只可为0分或1分'))
} else { } else {
callback() callback()
} }
@@ -5,8 +5,8 @@
<template slot="proNode">重新起草</template> <template slot="proNode">重新起草</template>
</ProcessHeader> </ProcessHeader>
<div class="headerTabs"> <div class="headerTabs">
<div class="headerTabsItem" :class="active === '1' ? 'active' : ''" @click="handleTabs('1')">历史评分</div>
<div class="headerTabsItem" :class="active === '2' ? 'active' : ''" @click="handleTabs('2')">基础信息</div> <div class="headerTabsItem" :class="active === '2' ? 'active' : ''" @click="handleTabs('2')">基础信息</div>
<div class="headerTabsItem" :class="active === '1' ? 'active' : ''" @click="handleTabs('1')">历史评分</div>
<!-- <div class="headerTabsItem" :class="active === '2' ? 'active' : ''" @click="handleTabs('2')">模块信息</div>--> <!-- <div class="headerTabsItem" :class="active === '2' ? 'active' : ''" @click="handleTabs('2')">模块信息</div>-->
<div class="headerTabsItem" :class="active === '3' ? 'active' : ''" @click="handleTabs('3')">审批历史</div> <div class="headerTabsItem" :class="active === '3' ? 'active' : ''" @click="handleTabs('3')">审批历史</div>
</div> </div>
@@ -5,8 +5,8 @@
<template slot="proNode">重新技术委员会评审、评审意见修改</template> <template slot="proNode">重新技术委员会评审、评审意见修改</template>
</ProcessHeader> </ProcessHeader>
<div class="headerTabs"> <div class="headerTabs">
<div class="headerTabsItem" :class="active === '1' ? 'active' : ''" @click="handleTabs('1')">评审评分</div>
<div class="headerTabsItem" :class="active === '2' ? 'active' : ''" @click="handleTabs('2')">基础信息</div> <div class="headerTabsItem" :class="active === '2' ? 'active' : ''" @click="handleTabs('2')">基础信息</div>
<div class="headerTabsItem" :class="active === '1' ? 'active' : ''" @click="handleTabs('1')">评审评分</div>
<!-- <div class="headerTabsItem" :class="active === '2' ? 'active' : ''" @click="handleTabs('2')">模块信息</div>--> <!-- <div class="headerTabsItem" :class="active === '2' ? 'active' : ''" @click="handleTabs('2')">模块信息</div>-->
<div class="headerTabsItem" :class="active === '3' ? 'active' : ''" @click="handleTabs('3')">审批历史</div> <div class="headerTabsItem" :class="active === '3' ? 'active' : ''" @click="handleTabs('3')">审批历史</div>
</div> </div>
@@ -907,9 +907,9 @@
}, },
data () { data () {
const numberCodeNot = (rule, value, callback) => { const numberCodeNot = (rule, value, callback) => {
let pattern = /^[1]*$/ let pattern = /^[1,0]*$/
if (!pattern.test(value) || value > 1) { if (!pattern.test(value) || value > 1) {
return callback(new Error('评分分值只可为1分')) return callback(new Error('评分分值只可为0分或1分'))
} else { } else {
callback() callback()
} }
@@ -139,7 +139,7 @@
<custom-input-for-all-standards2 <custom-input-for-all-standards2
:disabled="disabledXX" :disabled="disabledXX"
class="classDisplay" class="classDisplay"
:config="{attrName: '采用标准'}" :config="{attrName: '采用标准',attrField:'esStandRelations'}"
:labelWidth="'150px'" :labelWidth="'150px'"
v-model="qbfsForm.esStandRelations" v-model="qbfsForm.esStandRelations"
></custom-input-for-all-standards2> ></custom-input-for-all-standards2>
@@ -522,6 +522,12 @@ export default {
esName: [ esName: [
{ required: true, message:"请输入企标名称", trigger: "blur" } { required: true, message:"请输入企标名称", trigger: "blur" }
], ],
rqbName: [
{ required: true, message: "请选择代替企标编号", trigger: "blur" }
],
area: [
{ required: true, message: "请选择适用车型", trigger: "change" }
],
reviseStatus: [ reviseStatus: [
{ required: true, message: "请选择制修订类型", trigger: "blur" } { required: true, message: "请选择制修订类型", trigger: "blur" }
], ],
@@ -543,6 +549,21 @@ export default {
drafterName: [ drafterName: [
{required: true, message: '请选择起草人', trigger: 'change'}, {required: true, message: '请选择起草人', trigger: 'change'},
], ],
tsJson: [
{required: true, message: '请选择体系结构', trigger: 'change'},
],
isRelate: [
{required: true, message: '请选择采用国内外标准情况', trigger: 'change'},
],
technologic: [
{required: true, message: '请输入指标依据', trigger: 'blur'},
],
esStandRelations: [
{required: true, message: '请输入采用标准', trigger: 'blur'},
],
useLevel: [
{required: true, message: '请选择采标程度', trigger: 'change'},
],
newReason: [ newReason: [
{required: true, message: '请输入立项原因', trigger: 'blur'}, {required: true, message: '请输入立项原因', trigger: 'blur'},
], ],
@@ -167,7 +167,7 @@
<template v-if="qbfsForm.isRelate === '是'"> <template v-if="qbfsForm.isRelate === '是'">
<custom-input-for-all-standards2 <custom-input-for-all-standards2
class="classDisplay" class="classDisplay"
:config="{attrName: '采用标准'}" :config="{attrName: '采用标准',attrField:'esStandRelations'}"
:labelWidth="'150px'" :labelWidth="'150px'"
v-model="qbfsForm.esStandRelations" v-model="qbfsForm.esStandRelations"
></custom-input-for-all-standards2> ></custom-input-for-all-standards2>
@@ -193,19 +193,19 @@
v-model="qbfsForm.esMatingRelations" v-model="qbfsForm.esMatingRelations"
></custom-input-for-all-standards2> ></custom-input-for-all-standards2>
</template> </template>
<el-form-item label="立项原因" style="width: 100%; margin-right:10px" prop="newReason" class="add-form-item form-item-disabled"> <!-- <el-form-item label="立项原因" style="width: 100%; margin-right:10px" prop="newReason" class="add-form-item form-item-disabled">-->
<el-input <!-- <el-input-->
type="textarea" <!-- type="textarea"-->
v-model="qbfsForm.newReason" <!-- v-model="qbfsForm.newReason"-->
placeholder="请输入立项原因" <!-- placeholder="请输入立项原因"-->
:maxlength="500"/> <!-- :maxlength="500"/>-->
</el-form-item> <!-- </el-form-item>-->
<el-form-item label="立项单" prop="LXDName" class="add-form-item form-item-disabled"> <el-form-item label="立项单" prop="LXDName" class="add-form-item form-item-disabled">
<div v-if="LXDList.length > 0" v-for="(item,index) in LXDList" :key="index" style="color: #409eff;cursor:pointer" class="fileClass"> <div v-if="LXDList.length > 0" v-for="(item,index) in LXDList" :key="index" style="color: #409eff;cursor:pointer" class="fileClass">
<span style="width: 80%;" @click="handleFilePreview(item,'preview')">{{ item.name }}</span> <span style="width: 80%;" @click="handleFilePreview(item,'preview')">{{ item.name }}</span>
<span style="width: 20%;margin-left: 15px;" v-if="item.id !== ''"> <!-- <span style="width: 20%;margin-left: 15px;" v-if="item.id !== ''">-->
<el-button type="primary" size="mini" plain icon="el-icon-download" @click="handleFilePreview(item,'down')"></el-button> <!-- <el-button type="primary" size="mini" plain icon="el-icon-download" @click="handleFilePreview(item,'down')"></el-button>-->
</span> <!-- </span>-->
<span style="width: 20%;margin-left: 15px;" v-if="item.id !== ''"> <span style="width: 20%;margin-left: 15px;" v-if="item.id !== ''">
<el-button type="primary" size="mini" plain icon="el-icon-edit" @click="handleFilePreview(item,'onlineEdit')"></el-button> <el-button type="primary" size="mini" plain icon="el-icon-edit" @click="handleFilePreview(item,'onlineEdit')"></el-button>
</span> </span>
@@ -717,8 +717,11 @@ export default {
examineName: "" examineName: ""
}, },
qbfsFormRules: { qbfsFormRules: {
// unit: [ projectTarget: [
// { required: true, message: "请选择起草单位", trigger: "change" } { required: true, message: "请输入项目目标", trigger: "blur" }
],
// fileName: [
// { required: true, message: "请上传附件", trigger: "blur" }
// ], // ],
bussSort: [ bussSort: [
{ required: true, message: "请选择企标类别", trigger: "blur" } { required: true, message: "请选择企标类别", trigger: "blur" }
@@ -726,30 +729,54 @@ export default {
esName: [ esName: [
{ required: true, validator: standNameVerify, trigger: "blur" } { required: true, validator: standNameVerify, trigger: "blur" }
], ],
rqbName: [
{ required: true, message: "请输入代替企标编号", trigger: "blur" }
],
reviseStatus: [ reviseStatus: [
{ required: true, message: "请选择制修订类型", trigger: "blur" } { required: true, message: "请选择制修订类型", trigger: "blur" }
], ],
// resPersonName: [ unitName: [
// { required: true, message: "请输入评审责任人", trigger: "blur" } { required: true, message: "请选择起草单位", trigger: "change" }
// ], ],
// wgLeaderName: [
// { required: true, message: "请输入工作组组长", trigger: "blur" }
// ],
// unitName: [
// { required: true, message: "请选择起草责任单位", trigger: "blur" }
// ],
// draftTime: [
// { required: true, message: "请输入计划标准初稿完成时间", trigger: "blur" }
// ],
// releaseTime: [
// {required: true, message: '请输入计划标准发布时间', trigger: 'blur'},
// ],
drafterName: [ drafterName: [
{required: true, message: '请选择起草人', trigger: 'change'}, { required: true, message: "请选择起草人", trigger: "change" }
],
resPersonName: [
{ required: true, message: "请输入评审责任人", trigger: "blur" }
],
wgLeaderName: [
{ required: true, message: "请输入工作组组长", trigger: "blur" }
],
draftTime: [
{ required: true, message: "请选择计划标准初稿完成时间", trigger: "change" }
],
releaseTime: [
{ required: true, message: "请选择计划标准发布时间", trigger: "change" }
],
endTime: [
{ required: true, message: "请选择立项完成时间", trigger: "change" }
],
tsJson: [
{ required: true, message: "请选择体系结构", trigger: "change" }
],
area: [
{ required: true, message: "请选择适用车型", trigger: "change" }
],
isRelate: [
{ required: true, message: "请选择是否采用标准", trigger: "change" }
],
technologic: [
{ required: true, message: "请输入指标依据", trigger: "blur" }
],
useLevel: [
{ required: true, message: "请选择采标程度", trigger: "change" }
],
newReason: [
{required: true, message: '请输入立项原因', trigger: 'blur'},
],
esStandRelations: [
{required: true, message: '请输入采用标准', trigger: 'blur'},
], ],
// newReason: [
// {required: true, message: '请输入立项原因', trigger: 'blur'},
// ],
}, },
} }
@@ -1313,8 +1340,11 @@ export default {
idList += item.id; idList += item.id;
nameList += item.name; nameList += item.name;
}); });
console.log(nameList)
this.roleForm.countersigner = idList; this.roleForm.countersigner = idList;
this.roleForm.countersignerName = nameList; this.roleForm.countersignerName = nameList;
this.qbfsForm.resPerson = idList;
this.qbfsForm.resPersonName = nameList;
} }
}, },
}; };
@@ -880,6 +880,7 @@ export default {
dataListChildren.splice(index, 1) dataListChildren.splice(index, 1)
} }
this.dataList = dataListChildren; this.dataList = dataListChildren;
console.log(this.dataList)
this.total = this.dataList.length; this.total = this.dataList.length;
} }