Merge remote-tracking branch 'origin/develop' into develop

This commit is contained in:
zhaokaiyao@91isoft.com
2021-12-01 19:01:36 +08:00
13 changed files with 537 additions and 479 deletions
+2 -1
View File
@@ -65,7 +65,7 @@ export function meetingByMonth(params) {
export function addUn(
closeState,standId, standSerialNumber, standName,
itemsNum, itemsName, productType,
productLine, productName, reason, responsibleUnit,
productLine, productName,productId,reason, responsibleUnit,
dutyEngineer, authEngineer, qaEngineer, planCloseTime) {
const data = {
closeState,
@@ -77,6 +77,7 @@ export function addUn(
productType,
productLine, //产品线
productName, //项目名称
productId, //项目编号
reason, //不合规项目
responsibleUnit, //责任部门
dutyEngineer, //责任工程师
@@ -10,6 +10,7 @@
<el-select
v-model="valueArr"
:placeholder="placeholder"
filterable
:disabled="disabled"
clearable
multiple
+12 -8
View File
@@ -1,6 +1,7 @@
<!--符合性详情-->
<template>
<div id="complianceDetails">
<el-divider content-position="left" v-if="unfit.length < 1 && fit.length < 1" >暂无评估结果</el-divider>
<!-- 不满足-->
<el-divider content-position="left" v-if="unfit.length" >不满足</el-divider>
<div class="content">
@@ -21,25 +22,28 @@
>
</el-table-column>
<el-table-column
prop="noCompliance"
prop="researchNonCompliance"
label="不合规项目"
align="center"
>
</el-table-column>
<el-table-column
prop="countermeasures "
prop="researchCountermeasures"
label="应对措施"
align="center"
>
</el-table-column>
<el-table-column
prop="completionTime "
prop="researchImplementationTime"
label="完成时间"
align="center"
>
<template slot-scope="scope">
<span>{{ scope.row.researchImplementationTime ? $moment(scope.row.researchImplementationTime).format('YYYY-MM-DD') : '' }}</span>
</template>
</el-table-column>
<el-table-column
prop="assessor"
prop="evaluationPeople"
label="评估人"
align="center"
>
@@ -54,8 +58,8 @@
</template>
</el-table-column>
</el-table>
<pagination :page="page" :total="total" @pageChange="pageChange"
@pageSizeChange="pageSizeChange"></pagination>
<!-- <pagination :page="page" :total="total" @pageChange="pageChange"-->
<!-- @pageSizeChange="pageSizeChange"></pagination>-->
</div>
<!--满足-->
@@ -78,13 +82,13 @@
>
</el-table-column>
<el-table-column
prop="complianceReasons"
prop="researchCompliance"
label="合规"
align="center"
>
</el-table-column>
<el-table-column
prop="assessor"
prop="evaluationPeople"
label="评估人"
align="center"
>
@@ -262,28 +262,21 @@
v-model="form.xgdName"
clearable
></el-input>
<div v-if="xgdFileList.length>0">
<!-- {{ form.xgdName }}-->
<el-button
type="primary"
class="common-button-primary"
size="mini"
style="margin-left: 10px"
@click="fileUpload('xgd')">
<i class="el-icon-upload el-icon--right"></i>
查看已上传的文件
</el-button>
</div>
<div v-else>
<el-button
type="primary"
class="common-button-primary"
size="mini"
@click="fileUpload('xgd')">
<i class="el-icon-upload el-icon--right"></i>
点击上传
</el-button>
</div>
<div style="display: flex;justify-content: space-between">
<div style="width: 80%;">
<div v-for="(item,index) in xgdFileList" :key="index" class="fileClass">{{ item.name }}</div>
</div>
<div style="width: 20%;">
<el-button
type="primary"
class="common-button-primary"
size="mini"
style="margin-left: 10px; margin-top: 11px; float: right;"
@click="fileUpload('xgd')">
<i class="el-icon-upload el-icon--right"></i>
</el-button>
</div>
</div>
</el-form-item>
<el-form-item label="发布稿" prop="fbgbjbdName" class="add-form-item form-item-disabled">
<el-input
@@ -292,28 +285,21 @@
v-model="form.fbgbjbdName"
clearable
></el-input>
<div v-if="FBGBJBDFileList.length>0">
<!-- {{ form.fbgbjbdName }}-->
<el-button
type="primary"
class="common-button-primary"
size="mini"
style="margin-left: 10px"
@click="fileUpload('fbgbjbd')">
<i class="el-icon-upload el-icon--right"></i>
查看已上传的文件
</el-button>
</div>
<div v-else>
<el-button
type="primary"
class="common-button-primary"
size="mini"
@click="fileUpload('fbgbjbd')">
<i class="el-icon-upload el-icon--right"></i>
点击上传
</el-button>
</div>
<div style="display: flex;justify-content: space-between">
<div style="width: 80%;">
<div v-for="(item,index) in FBGBJBDFileList" :key="index" class="fileClass">{{ item.name }}</div>
</div>
<div style="width: 20%;">
<el-button
type="primary"
class="common-button-primary"
size="mini"
style="margin-left: 10px; margin-top: 11px; float: right;"
@click="fileUpload('fbgbjbd')">
<i class="el-icon-upload el-icon--right"></i>
</el-button>
</div>
</div>
</el-form-item>
<el-form-item v-show="form.standInData === '0'" label="送审稿" prop="ssg" class="add-form-item form-item-disabled">
<el-input
@@ -322,28 +308,21 @@
v-model="form.ssgName"
clearable
></el-input>
<div v-if="ssgFileList.length>0">
<!-- {{ form.ssgName }}-->
<el-button
type="primary"
class="common-button-primary"
size="mini"
style="margin-left: 10px"
@click="fileUpload('ssg')">
<i class="el-icon-upload el-icon--right"></i>
查看已上传的文件
</el-button>
</div>
<div v-else>
<el-button
type="primary"
class="common-button-primary"
size="mini"
@click="fileUpload('ssg')">
<i class="el-icon-upload el-icon--right"></i>
点击上传
</el-button>
</div>
<div style="display: flex;justify-content: space-between">
<div style="width: 80%;">
<div v-for="(item,index) in ssgFileList" :key="index" class="fileClass">{{ item.name }}</div>
</div>
<div style="width: 20%;">
<el-button
type="primary"
class="common-button-primary"
size="mini"
style="margin-left: 10px; margin-top: 11px; float: right;"
@click="fileUpload('ssg')">
<i class="el-icon-upload el-icon--right"></i>
</el-button>
</div>
</div>
</el-form-item>
<el-form-item label="草案" prop="ca" class="add-form-item form-item-disabled">
<el-input
@@ -352,28 +331,21 @@
v-model="form.caName"
clearable
></el-input>
<div v-if="caFileList.length>0">
<!-- {{ form.caName }}-->
<el-button
type="primary"
class="common-button-primary"
size="mini"
style="margin-left: 10px"
@click="fileUpload('ca')">
<i class="el-icon-upload el-icon--right"></i>
查看已上传的文件
</el-button>
</div>
<div v-else>
<el-button
type="primary"
class="common-button-primary"
size="mini"
@click="fileUpload('ca')">
<i class="el-icon-upload el-icon--right"></i>
点击上传
</el-button>
</div>
<div style="display: flex;justify-content: space-between">
<div style="width: 80%;">
<div v-for="(item,index) in caFileList" :key="index" class="fileClass">{{ item.name }}</div>
</div>
<div style="width: 20%;">
<el-button
type="primary"
class="common-button-primary"
size="mini"
style="margin-left: 10px; margin-top: 11px; float: right;"
@click="fileUpload('ca')">
<i class="el-icon-upload el-icon--right"></i>
</el-button>
</div>
</div>
</el-form-item>
<el-form-item v-show="form.standInData === '1'" label="增补件" prop="zbjbd" class="add-form-item form-item-disabled">
<el-input
@@ -382,28 +354,21 @@
v-model="form.zbjbdName"
clearable
></el-input>
<div v-if="zbjbdFileList.length>0">
<!-- {{ form.zbjbdName }}-->
<el-button
type="primary"
class="common-button-primary"
size="mini"
style="margin-left: 10px"
@click="fileUpload('zbjbd')">
<i class="el-icon-upload el-icon--right"></i>
查看已上传的文件
</el-button>
</div>
<div v-else>
<el-button
type="primary"
class="common-button-primary"
size="mini"
@click="fileUpload('zbjbd')">
<i class="el-icon-upload el-icon--right"></i>
点击上传
</el-button>
</div>
<div style="display: flex;justify-content: space-between">
<div style="width: 80%;">
<div v-for="(item,index) in zbjbdFileList" :key="index" class="fileClass">{{ item.name }}</div>
</div>
<div style="width: 20%;">
<el-button
type="primary"
class="common-button-primary"
size="mini"
style="margin-left: 10px; margin-top: 11px; float: right;"
@click="fileUpload('zbjbd')">
<i class="el-icon-upload el-icon--right"></i>
</el-button>
</div>
</div>
</el-form-item>
</el-col>
<el-col :span="12">
@@ -414,28 +379,21 @@
v-model="form.kwjName"
clearable
></el-input>
<div v-if="kwjFileList.length>0">
<!-- {{ form.kwjName }}-->
<el-button
type="primary"
class="common-button-primary"
size="mini"
style="margin-left: 10px"
@click="fileUpload('kwj')">
<i class="el-icon-upload el-icon--right"></i>
查看已上传的文件
</el-button>
</div>
<div v-else>
<el-button
type="primary"
class="common-button-primary"
size="mini"
@click="fileUpload('kwj')">
<i class="el-icon-upload el-icon--right"></i>
点击上传
</el-button>
</div>
<div style="display: flex;justify-content: space-between">
<div style="width: 80%;">
<div v-for="(item,index) in kwjFileList" :key="index" class="fileClass">{{ item.name }}</div>
</div>
<div style="width: 20%;">
<el-button
type="primary"
class="common-button-primary"
size="mini"
style="margin-left: 10px; margin-top: 11px; float: right;"
@click="fileUpload('kwj')">
<i class="el-icon-upload el-icon--right"></i>
</el-button>
</div>
</div>
</el-form-item>
<!-- ************************************* 2021/11/9 "解读文件"改为"相关文件"*************************************-->
<el-form-item v-show="form.standInData === '0'" label="相关文件" prop="jdwj" class="add-form-item form-item-disabled">
@@ -446,28 +404,21 @@
v-model="form.jdwjName"
clearable
></el-input>
<div v-if="jdwjFileList.length>0">
<!-- {{ form.jdwjName }}-->
<el-button
type="primary"
class="common-button-primary"
size="mini"
style="margin-left: 10px"
@click="fileUpload('jdwj')">
<i class="el-icon-upload el-icon--right"></i>
查看已上传的文件
</el-button>
</div>
<div v-else>
<el-button
type="primary"
class="common-button-primary"
size="mini"
@click="fileUpload('jdwj')">
<i class="el-icon-upload el-icon--right"></i>
点击上传
</el-button>
</div>
<div style="display: flex;justify-content: space-between">
<div style="width: 80%;">
<div v-for="(item,index) in jdwjFileList" :key="index" class="fileClass">{{ item.name }}</div>
</div>
<div style="width: 20%;">
<el-button
type="primary"
class="common-button-primary"
size="mini"
style="margin-left: 10px; margin-top: 11px; float: right;"
@click="fileUpload('jdwj')">
<i class="el-icon-upload el-icon--right"></i>
</el-button>
</div>
</div>
</el-form-item>
<el-form-item v-show="form.standInData === '0'" label="报批稿" prop="bpg" class="add-form-item form-item-disabled">
<el-input
@@ -476,28 +427,21 @@
v-model="form.bpgName"
clearable
></el-input>
<div v-if="bpgFileList.length>0">
<!-- {{ form.bpgName }}-->
<el-button
type="primary"
class="common-button-primary"
size="mini"
style="margin-left: 10px"
@click="fileUpload('bpg')">
<i class="el-icon-upload el-icon--right"></i>
查看已上传的文件
</el-button>
</div>
<div v-else>
<el-button
type="primary"
class="common-button-primary"
size="mini"
@click="fileUpload('bpg')">
<i class="el-icon-upload el-icon--right"></i>
点击上传
</el-button>
</div>
<div style="display: flex;justify-content: space-between">
<div style="width: 80%;">
<div v-for="(item,index) in bpgFileList" :key="index" class="fileClass">{{ item.name }}</div>
</div>
<div style="width: 20%;">
<el-button
type="primary"
class="common-button-primary"
size="mini"
style="margin-left: 10px; margin-top: 11px; float: right;"
@click="fileUpload('bpg')">
<i class="el-icon-upload el-icon--right"></i>
</el-button>
</div>
</div>
</el-form-item>
<el-form-item v-show="form.standInData === '0'" label="征求意见稿" prop="zqyjg" class="add-form-item form-item-disabled">
<el-input
@@ -506,28 +450,21 @@
v-model="form.zqyjgName"
clearable
></el-input>
<div v-if="zqyjgFileList.length>0">
<!-- {{ form.zqyjgName }}-->
<el-button
type="primary"
class="common-button-primary"
size="mini"
style="margin-left: 10px"
@click="fileUpload('zqyjg')">
<i class="el-icon-upload el-icon--right"></i>
查看已上传的文件
</el-button>
</div>
<div v-else>
<el-button
type="primary"
class="common-button-primary"
size="mini"
@click="fileUpload('zqyjg')">
<i class="el-icon-upload el-icon--right"></i>
点击上传
</el-button>
</div>
<div style="display: flex;justify-content: space-between">
<div style="width: 80%;">
<div v-for="(item,index) in zqyjgFileList" :key="index" class="fileClass">{{ item.name }}</div>
</div>
<div style="width: 20%;">
<el-button
type="primary"
class="common-button-primary"
size="mini"
style="margin-left: 10px; margin-top: 11px; float: right;"
@click="fileUpload('zqyjg')">
<i class="el-icon-upload el-icon--right"></i>
</el-button>
</div>
</div>
</el-form-item>
</el-col>
</el-row>
@@ -771,27 +708,20 @@
v-model="form.glwjName"
clearable
></el-input>
<div v-if="glwjFileList.length>0">
<el-button
type="primary"
class="common-button-primary"
size="mini"
@click="fileUpload('glwj')">
<i class="el-icon-upload el-icon--right"></i>
查看已上传文件
</el-button>
<!-- {{ form.glwjName }}-->
</div>
<div v-else>
<el-button
type="primary"
class="common-button-primary"
size="mini"
@click="fileUpload('glwj')">
<i class="el-icon-upload el-icon--right"></i>
点击上传
</el-button>
<div style="display: flex;justify-content: space-between">
<div style="width: 80%;">
<div v-for="(item,index) in glwjFileList" :key="index" class="fileClass">{{ item.name }}</div>
</div>
<div style="width: 20%;">
<el-button
type="primary"
class="common-button-primary"
size="mini"
style="margin-left: 10px; margin-top: 11px; float: right;"
@click="fileUpload('glwj')">
<i class="el-icon-upload el-icon--right"></i>
</el-button>
</div>
</div>
</el-form-item>
</el-col>
@@ -1905,7 +1835,6 @@
const json = Object.assign(bringData, bringData.attrInfoCaseMap);
this.form = JSON.parse(JSON.stringify(json))
this.form.qcdw = JSON.parse(JSON.stringify(json)).qcdw && JSON.parse(JSON.stringify(json)).qcdw !== '[]' ? JSON.parse(JSON.stringify(json)).qcdw.split(',') : []
this.form.wssmr = JSON.parse(JSON.stringify(json)).wssmr && JSON.parse(JSON.stringify(json)).wssmr !== '[]' ? JSON.parse(JSON.stringify(json)).wssmr.split(',') : []
this.form.zrgcs = JSON.parse(JSON.stringify(json)).zrgcs && JSON.parse(JSON.stringify(json)).zrgcs !== '[]' ? JSON.parse(JSON.stringify(json)).zrgcs.split(',') : []
@@ -1924,6 +1853,7 @@
this.key3++
this.form.standType = this.form.standInData === '0' ? 'INLAND' : 'FOREIGN'
this.form.standYear = bringData.standYear ? parseInt(bringData.standYear) : ''
this.form.ssrq = this.$moment(this.form.ssrq).format("YYYY-MM-DD")
this.form.prcNum = this.prcNum
this.form.prcName = this.prcName
this.form['id'] = bringData.id
@@ -2868,6 +2798,12 @@
position: relative;
overflow: hidden;
}
.fileClass {
width: 100%;
overflow: hidden;
text-overflow:ellipsis;
white-space: nowrap;
}
.prc-content-border {
/deep/ .el-input__inner {
padding-left: 30px;
@@ -592,6 +592,7 @@ export default {
}
});
});
this.$refs.multipleTable.clearSelection();
}
this.modalshowflag = false;
},
@@ -616,11 +617,16 @@ export default {
if (this.selectList.length > 0) {
this.lsType = type;
this.nodeList = [];
if(row.implementerId){
this.nodeList = row.implementerId.split(",");
}
this.modalshowflag = true;
this.drawerTitle = "批量选择责任人";
this.selectList.forEach(item =>{
if(item.implementerId){
this.nodeList = item.implementerId.split(",");
}
})
// if(row.implementerId){
// this.nodeList = row.implementerId.split(",");
// }
} else {
this.$message.warning("请选择要分发的数据");
}
@@ -135,6 +135,11 @@
<template slot="title">填写信息</template>
</process-title>
<div class="tableTitle">
<div class="tableButton">
<el-button :disabled="acceptShow" class="common-button-primary add-button" type="primary" size="mini"
@click="batchEdit">批量编辑
</el-button>
</div>
</div>
<el-table
ref="multipleTable"
@@ -143,7 +148,7 @@
style="width: 100%"
border
@selection-change="selectStandChange"
height="56%"
height="48%"
:header-cell-style="{background: '#e8e8e8', color: '#333333', fontSize: '16px',
fontWeight: 'bold', fontFamily: 'MicrosoftYaHei-Bold'}">
<el-table-column
@@ -211,10 +216,6 @@
<span>{{ scope.row.zCCSSRQ ? $moment(scope.row.zCCSSRQ).format("YYYY-MM-DD") : "" }}</span>
</template>
</el-table-column>
<!-- <el-table-column-->
<!-- prop="productType"-->
<!-- align="center"-->
<!-- label="在研产品">-->
<el-table-column
prop="researchCompliance"
align="center"
@@ -233,6 +234,7 @@
<el-input
v-else
:disabled="acceptShow"
clearable
v-model="dataList[scope.$index].complianceReasons"
placeholder="请输入合规原因"
>
@@ -306,6 +308,7 @@
:disabled="acceptShow"
class="datePickLen"
clearable
value-format="yyyy-MM-dd HH:mm:ss"
v-model="dataList[scope.$index].completionTime"
type="date"
placeholder="请选择日期">
@@ -313,104 +316,6 @@
</template>
</el-table-column>
</el-table-column>
<!-- </el-table-column>-->
<!-- <el-table-column-->
<!-- align="center"-->
<!-- label="在产产品">-->
<!-- <el-table-column-->
<!-- prop="productionCompliance"-->
<!-- align="center"-->
<!-- width="160"-->
<!-- label="合规(具体情况)">-->
<!-- <template slot-scope="scope">-->
<!-- <el-input-->
<!-- v-if="dataList[scope.$index].zcNoCompliance && dataList[scope.$index].zcNoCompliance.length>0-->
<!-- || dataList[scope.$index].zcCountermeasures && dataList[scope.$index].zcCountermeasures>0-->
<!-- || dataList[scope.$index].zcCompletionTime && dataList[scope.$index].zcCompletionTime !== null"-->
<!-- disabled-->
<!-- v-model="dataList[scope.$index].zcComplianceReasons"-->
<!-- placeholder="请输入合规原因"-->
<!-- >-->
<!-- </el-input>-->
<!-- <el-input-->
<!-- v-else-->
<!-- v-model="dataList[scope.$index].zcComplianceReasons"-->
<!-- placeholder="请输入合规原因"-->
<!-- >-->
<!-- </el-input>-->
<!-- </template>-->
<!-- </el-table-column>-->
<!-- <el-table-column-->
<!-- align="center"-->
<!-- width="160"-->
<!-- label="不合规">-->
<!-- <el-table-column-->
<!-- prop="productionNonCompliance"-->
<!-- align="center"-->
<!-- width="170"-->
<!-- label="不合规项目">-->
<!-- <template slot-scope="scope">-->
<!-- <el-input-->
<!-- v-if="dataList[scope.$index].zcComplianceReasons && dataList[scope.$index].zcComplianceReasons.length>0"-->
<!-- disabled-->
<!-- v-model="dataList[scope.$index].zcNoCompliance"-->
<!-- placeholder="请输入不合规项目"-->
<!-- >-->
<!-- </el-input>-->
<!-- <el-input-->
<!-- v-else-->
<!-- v-model="dataList[scope.$index].zcNoCompliance"-->
<!-- placeholder="请输入不合规项目"-->
<!-- >-->
<!-- </el-input>-->
<!-- </template>-->
<!-- </el-table-column>-->
<!-- <el-table-column-->
<!-- prop="productionCountermeasures"-->
<!-- align="center"-->
<!-- width="160"-->
<!-- label="应对措施">-->
<!-- <template slot-scope="scope">-->
<!-- <el-input-->
<!-- v-if="dataList[scope.$index].zcComplianceReasons && dataList[scope.$index].zcComplianceReasons.length>0"-->
<!-- disabled-->
<!-- v-model="dataList[scope.$index].zcCountermeasures"-->
<!-- placeholder="请输入应对措施"-->
<!-- >-->
<!-- </el-input>-->
<!-- <el-input-->
<!-- v-else-->
<!-- v-model="dataList[scope.$index].zcCountermeasures"-->
<!-- placeholder="请输入应对措施"-->
<!-- >-->
<!-- </el-input>-->
<!-- </template>-->
<!-- </el-table-column>-->
<!-- <el-table-column-->
<!-- prop="productionCompletionTime"-->
<!-- align="center"-->
<!-- width="140"-->
<!-- label="完成时间">-->
<!-- <template slot-scope="scope">-->
<!-- <el-date-picker-->
<!-- v-if="dataList[scope.$index].zcComplianceReasons && dataList[scope.$index].zcComplianceReasons.length>0"-->
<!-- disabled-->
<!-- v-model="dataList[scope.$index].zcCompletionTime"-->
<!-- type="date"-->
<!-- placeholder="请选择日期">-->
<!-- </el-date-picker>-->
<!-- <el-date-picker-->
<!-- v-else-->
<!-- class="datePickLen"-->
<!-- clearable-->
<!-- v-model="dataList[scope.$index].zcCompletionTime"-->
<!-- type="date"-->
<!-- placeholder="请选择日期">-->
<!-- </el-date-picker>-->
<!-- </template>-->
<!-- </el-table-column>-->
<!-- </el-table-column>-->
<!-- </el-table-column>-->
</el-table>
</div>
<div>
@@ -521,6 +426,96 @@
@checkedRole="checkedTransferRole"
:nodeList="nodeList"
></Role-tree>
<!-- 批量编辑弹窗-->
<el-drawer
title="批量填写"
:visible.sync="modalShowFlag"
:wrapperClosable="false"
size="800px">
<div class="demo-drawer-content">
<el-form :model="batchEditForm" class="label-input-form" ref="projectComplianceForm" label-width="150">
<!-- <el-divider><span><b>在研产品</b></span></el-divider>-->
<el-formItem label="合规原因" class="add-form-item">
<el-input
v-if="batchEditForm.noCompliance && batchEditForm.noCompliance.length>0
|| batchEditForm.countermeasures && batchEditForm.countermeasures.length>0
|| batchEditForm.completionTime && batchEditForm.completionTime !== null"
disabled
v-model="batchEditForm.complianceReasons"
placeholder="请输入合规原因"
>
</el-input>
<el-input
v-else
:disabled="acceptShow"
v-model="batchEditForm.complianceReasons"
placeholder="请输入合规原因"
>
</el-input>
</el-formItem>
<el-form-item label="不合规项目" class="add-form-item">
<el-input
v-if="batchEditForm.complianceReasons && batchEditForm.complianceReasons.length>0"
disabled
v-model="batchEditForm.noCompliance"
placeholder="请输入不合规项目"
>
</el-input>
<el-input
v-else
:disabled="acceptShow"
v-model="batchEditForm.noCompliance"
placeholder="请输入不合规项目"
>
</el-input>
</el-form-item>
<el-form-item label="不合规应对措施" class="add-form-item">
<el-input
v-if="batchEditForm.complianceReasons && batchEditForm.complianceReasons.length>0"
disabled
v-model="batchEditForm.countermeasures"
placeholder="请输入不合规应对措施"
>
</el-input>
<el-input
v-else
:disabled="acceptShow"
v-model="batchEditForm.countermeasures"
placeholder="请输入不合规应对措施"
>
</el-input>
</el-form-item>
<el-form-item label="完成时间" class="add-form-item">
<el-date-picker
v-if="batchEditForm.complianceReasons && batchEditForm.complianceReasons.length>0"
disabled
v-model="batchEditForm.completionTime"
type="date"
placeholder="请选择日期">
</el-date-picker>
<el-date-picker
v-else
:disabled="acceptShow"
class="datePickLen"
clearable
value-format="yyyy-MM-dd HH:mm:ss"
v-model="batchEditForm.completionTime"
type="date"
placeholder="请选择日期">
</el-date-picker>
</el-form-item>
<br>
</el-form>
</div>
<div class="demo-drawer-footer">
<el-button class="common-button-primary" size="mini" icon="el-icon-check" type="primary"
@click="saveBatchEditForm">
确定
</el-button>
<el-button class="common-button-default" size="mini" icon="el-icon-close" @click="cancelBatchEditForm">取消
</el-button>
</div>
</el-drawer>
</div>
</template>
@@ -542,11 +537,24 @@ export default {
return {
//折叠的标志,true为折叠,false为不折叠
foldFormFlag: false,
comFlag: 0,
nodeList:[],
drawerTitle:'',
isTransfer: false,
// 调整处理人抽屉状态
drawerModal: false,
modalShowFlag: false, // 批量编辑开关
batchEditForm: {
// 在研产品
// 合规
complianceReasons: "",
// 不合规
noCompliance: "",
// 应对措施
countermeasures: "",
// 完成时间
completionTime: "",
},
detailData: [],
sarProStateTableHeight: null, // 项目列表高度
// 当前流程类型(1待办/2已办)
@@ -720,6 +728,7 @@ export default {
* @description: 动态表单读取
*/
getFormFieldList(item) {
console.log(item);
this.$nextTick(() => {
this.listForm = JSON.parse(JSON.stringify(item));
if (item.form === undefined) {
@@ -729,6 +738,12 @@ export default {
item.implementer = this.$store.getters.userInfo.userName;
});
this.dataList = item.step3DTOS;
this.dataList.forEach(item => {
this.$set(item,'complianceReasons', '')
this.$set(item,'noCompliance', '')
this.$set(item,'countermeasures', '')
this.$set(item,'completionTime', '')
})
} else {
this.dataList = item.dataList;
@@ -792,30 +807,80 @@ export default {
this.isSubmit = false
})
},
handlePrice(){
for (let i = 0; i < this.dataList.length; i++) {
if (this.dataList[i].complianceReasons !== '' || (this.dataList[i].noCompliance !== '' && this.dataList[i].countermeasures !== '' && this.dataList[i].completionTime !== '') || (this.dataList[i].complianceReasons === '' && this.dataList[i].noCompliance === '' && this.dataList[i].countermeasures === '' && this.dataList[i].completionTime === '')){
}else {
this.comFlag ++
}
}
},
//提交事件
handleSubmit() {
this.listForm.prcCreateUser = this.$store.getters.userInfo.userId;
this.listForm.commentText = this.commentText;
this.listForm.approvalOpinion = "";
this.listForm.signFlag = "";
this.listForm.dataList = this.dataList;
const json = JSON.stringify(this.listForm);
this.isSubmit = true;
this.$http.post("lawss/activiti/completeTask", {
taskIds: this.taskIds,
userId: this.userId,
json: json
}, {
_this: this
}, res => {
if (res.success) {
this.$message.success(res.message);
this.$router.push("/processCenter");
}
this.isSubmit = false;
}, e => {
this.handlePrice()
if(this.comFlag > 0) {
this.$message.warning('请填写完整的不符合项信息')
this.comFlag = 0
}else{
this.listForm.prcCreateUser = this.$store.getters.userInfo.userId;
this.listForm.commentText = this.commentText;
this.listForm.approvalOpinion = "";
this.listForm.signFlag = "";
this.listForm.dataList = this.dataList;
const json = JSON.stringify(this.listForm);
this.isSubmit = true;
this.$http.post("lawss/activiti/completeTask", {
taskIds: this.taskIds,
userId: this.userId,
json: json
}, {
_this: this
}, res => {
if (res.success) {
this.$message.success(res.message);
this.$router.push("/processCenter");
}
this.isSubmit = false;
}, e => {
});
}
},
//批量编辑
batchEdit() {
if (this.selectList.length > 0) {
//合规
this.batchEditForm.complianceReasons = "";
//不合规
this.batchEditForm.noCompliance = "";
//应对措施
this.batchEditForm.countermeasures = "";
//完成时间
this.batchEditForm.completionTime = "";
this.modalShowFlag = true;
} else {
this.$message.warning("请选择要编辑的数据");
}
},
//批量编辑确定按钮事件
saveBatchEditForm() {
this.dataList.forEach(item => {
this.selectList.forEach(items => {
if (item.id === items) {
item.complianceReasons = this.batchEditForm.complianceReasons;
//不合规
item.noCompliance = this.batchEditForm.noCompliance;
//应对措施
item.countermeasures = this.batchEditForm.countermeasures;
//完成时间
item.completionTime = this.batchEditForm.completionTime;
}
});
});
this.modalShowFlag = false;
},
cancelBatchEditForm() {
this.modalShowFlag = false;
},
//标准表格选择框改变
selectStandChange(data) {
@@ -110,10 +110,6 @@
<span>{{ scope.row.zccssrqgj ? $moment(scope.row.zccssrqgj).format("YYYY-MM-DD") : "" }}</span>
</template>
</el-table-column>
<el-table-column
prop="productType"
align="center"
label="在研产品">
<el-table-column
prop="complianceReasons"
align="center"
@@ -147,43 +143,6 @@
</template>
</el-table-column>
</el-table-column>
</el-table-column>
<el-table-column
align="center"
label="在产产品">
<el-table-column
prop="zcComplianceReasons"
align="center"
width="160"
label="合规(具体情况)">
</el-table-column>
<el-table-column
align="center"
width="160"
label="不合规">
<el-table-column
prop="zcNoCompliance"
align="center"
width="170"
label="不合规项目">
</el-table-column>
<el-table-column
prop="zcCountermeasures"
align="center"
width="160"
label="应对措施">
</el-table-column>
<el-table-column
prop="zcCompletionTime"
align="center"
width="120"
label="完成时间">
<template slot-scope="scope">
<span>{{ scope.row.zcCompletionTime ? $moment(scope.row.zcCompletionTime).format('YYYY-MM-DD') : '' }}</span>
</template>
</el-table-column>
</el-table-column>
</el-table-column>
<el-table-column
prop="workPeople"
align="center"
@@ -439,11 +439,13 @@ export default {
if (this.selectList.length > 0) {
this.zrType = type;
this.nodeList = [];
if (row.workPeopleId) {
this.nodeList = row.workPeopleId.split(",");
}
this.modalshowflag = true;
this.drawerTitle = "批量选择责任人";
this.selectList.forEach(item =>{
if(item.workPeopleId){
this.nodeList = item.workPeopleId.split(",");
}
})
} else {
this.$message.warning("请选择要分发的数据");
}
@@ -142,7 +142,6 @@
>
</el-input>
<el-input
@click.native="handlePrice(scope.row)"
v-else
:disabled="acceptShow"
v-model="scope.row.complianceReasons"
@@ -172,7 +171,6 @@
<el-input
v-else
:disabled="acceptShow"
@click.native="handlePrice(scope.row)"
v-model="scope.row.noCompliance"
placeholder="请输入不合规项目"
>
@@ -195,7 +193,6 @@
<el-input
v-else
:disabled="acceptShow"
@click.native="handlePrice(scope.row)"
v-model="scope.row.countermeasures"
placeholder="请输入应对措施"
>
@@ -220,7 +217,6 @@
:disabled="acceptShow"
class="datePickLen"
clearable
@click.native="handlePrice(scope.row)"
v-model="scope.row.completionTime"
type="date"
value-format="yyyy-MM-dd HH:mm:ss"
@@ -456,7 +452,7 @@
></Role-tree>
<el-drawer
title="批量填写"
:visible.sync="modalshowflag"
:visible.sync="modalShowFlag"
:wrapperClosable="false"
size="800px">
<div class="demo-drawer-content">
@@ -527,36 +523,11 @@
clearable
v-model="batchEditForm.completionTime"
type="date"
value-format="yyyy-MM-dd HH:mm:ss"
placeholder="请选择日期">
</el-date-picker>
</el-form-item>
<br>
<!-- <el-divider><span><b>在产产品</b></span></el-divider>-->
<!-- <el-formItem label="合规原因" class="add-form-item">-->
<!-- <el-input-->
<!-- v-model="batchEditForm.zcComplianceReasons"-->
<!-- placeholder="请输入合规原因"-->
<!-- ></el-input>-->
<!-- </el-formItem>-->
<!-- <el-form-item label="不合规项目" class="add-form-item">-->
<!-- <el-input-->
<!-- v-model="batchEditForm.zcNoCompliance"-->
<!-- placeholder="请输入不合规项目"-->
<!-- ></el-input>-->
<!-- </el-form-item>-->
<!-- <el-form-item label="不合规应对措施" class="add-form-item">-->
<!-- <el-input-->
<!-- v-model="batchEditForm.zcCountermeasures"-->
<!-- placeholder="请输入不合规应对措施"-->
<!-- ></el-input>-->
<!-- </el-form-item>-->
<!-- <el-form-item label="完成时间" class="add-form-item">-->
<!-- <el-date-picker-->
<!-- v-model="batchEditForm.zcCompletionTime"-->
<!-- type="date"-->
<!-- placeholder="选择日期">-->
<!-- </el-date-picker>-->
<!-- </el-form-item>-->
</el-form>
</div>
<div class="demo-drawer-footer">
@@ -587,7 +558,7 @@ export default {
},
data() {
return {
comFlag: true,
comFlag: 0,
total: 0,
currentPage: 1,
pageSize: 20,
@@ -628,7 +599,7 @@ export default {
todoId: "",
showColumn: true,
drawerTitle: "", //drawer标题
modalshowflag: false, // drawer开关
modalShowFlag: false, // drawer开关
selectList: [],
treeData: [], // 人员数据
roleForm: {
@@ -723,10 +694,10 @@ export default {
}
});
});
this.modalshowflag = false;
this.modalShowFlag = false;
},
cancelBatchEditForm() {
this.modalshowflag = false;
this.modalShowFlag = false;
},
//批量编辑
batchEdit() {
@@ -739,15 +710,7 @@ export default {
this.batchEditForm.countermeasures = "";
//完成时间
this.batchEditForm.completionTime = "";
//合规
this.batchEditForm.zcComplianceReasons = "";
//不合规
this.batchEditForm.zcNoCompliance = "";
//应对措施
this.batchEditForm.zcCountermeasures = "";
//完成时间
this.batchEditForm.zcCompletionTime = "";
this.modalshowflag = true;
this.modalShowFlag = true;
} else {
this.$message.warning("请选择要编辑的数据");
}
@@ -932,17 +895,20 @@ export default {
this.isSubmit = false;
});
},
handlePrice(row){
if(row.complianceReasons !== '' || (row.noCompliance !== '' && row.countermeasures !== '' && row.completionTime !== '') || (row.complianceReasons === '' && row.noCompliance === '' && row.countermeasures === '' && row.completionTime === '')){
this.comFlag = true
}else{
this.comFlag = false
handlePrice(){
for (let i = 0; i < this.dataList.length; i++) {
if (this.dataList[i].complianceReasons !== '' || (this.dataList[i].noCompliance !== '' && this.dataList[i].countermeasures !== '' && this.dataList[i].completionTime !== undefined) || (this.dataList[i].complianceReasons === '' && this.dataList[i].noCompliance === '' && this.dataList[i].countermeasures === '' && this.dataList[i].completionTime === undefined)){
}else {
this.comFlag ++
}
}
},
//提交事件
handleSubmit() {
if(!this.comFlag){
this.handlePrice()
if(this.comFlag > 0) {
this.$message.warning('请填写完整的不符合项信息')
this.comFlag = 0
}else{
this.isSubmit = true;
this.listForm.commentText = this.commentText;
@@ -698,7 +698,6 @@
:disabled="formdisableflag"
></custom-textarea>
</template>
<!-- 起草单位-->
<template v-else-if="field.attrType === 'SEL_OPTION'">
<template>
<custom-select
@@ -717,7 +716,6 @@
class="add-form-item"
>
<template slot="label">责任部门</template>
<el-input
:key="field.attrField"
:config="field"
@@ -766,6 +764,34 @@
<!-- </el-input>-->
</el-form-item>
</template>
<template v-else-if="field.attrField === 'QCDW'">
<el-form-item
prop="QCDW"
label-width="150px"
class="add-form-item"
>
<template slot="label">起草单位</template>
<div style="display: flex;justify-content: space-between;align-items: center;">
<el-tooltip class="item" effect="dark" :content="sarStandardsInfoEO['QCDW']" placement="top-start">
<el-input
:key="field.attrField"
:config="field"
clearable
v-model="sarStandardsInfoEO['QCDW']"
:disabled="formdisableflag" placeholder="选择或输入起草单位">
</el-input>
</el-tooltip>
<div>
<el-button
size="mini"
type="primary"
@click="QCDWClick(field.options)"
class="common-button-primary">手动查找</el-button>
</div>
</div>
<!-- @click.native="choiceZRBM('QCDWId', '起草单位', sarStandardsInfoEO.QCDWId)">-->
</el-form-item>
</template>
<template v-else>
<custom-select-array
:key="field.attrField"
@@ -1891,6 +1917,27 @@
</div>
</div>
</el-drawer>
<el-dialog
:visible.sync="QCDWmodal"
width="500px"
title="选择起草部门"
destroy-on-close
:close-on-click-modal="false"
@closed="QCDWmodal = false">
<el-select v-model="QCDWValue" multiple filterable placeholder="请选择" style="width: 100%;">
<el-option
v-for="item in QCDWList"
:key="item.value"
:label="item.label"
:value="item.label">
</el-option>
</el-select>
<div slot="footer" class="demo-drawer-footer">
<el-button size="mini" type="primary" class="common-button-default" icon="el-icon-check"
@click="QCDWOK">确认
</el-button>
</div>
</el-dialog>
</div>
</template>
@@ -1947,6 +1994,9 @@ export default {
},
data() {
return {
QCDWValue: [],
QCDWmodal: false,
QCDWList: [],
OCRSubmitLoading: false,
OCRSubmitButton: '',
OCRType: '',
@@ -2651,6 +2701,21 @@ export default {
}
},
methods: {
QCDWOK() {
let arr1 = []
if (this.sarStandardsInfoEO['QCDW']) {
let str = this.sarStandardsInfoEO['QCDW'].replace(//g, ',')
arr1 = str.split(',')
}
let arr2 = arr1.concat(this.QCDWValue)
this.sarStandardsInfoEO['QCDW'] = Array.from(new Set(arr2)).join(',')
this.QCDWmodal = false
},
QCDWClick(row) {
this.QCDWValue = []
this.QCDWmodal = true
this.QCDWList = row
},
setWBType(type) {
let text = ''
for (let a = 0; a < this.OCRoptions.length; a++) {
@@ -3248,6 +3313,7 @@ export default {
})
})
this.dynamicFormField = displayLocation
console.log(this.dynamicFormField);
this.loading = false
})
})
@@ -510,12 +510,12 @@
</el-form-item>
<el-form-item
label="企标编号"
prop="standCode"
prop="standNumber"
label-width="150px"
class="add-form-item"
>
<el-input
v-model="sarBussionessStandEO.standCode"
v-model="sarBussionessStandEO.standNumber"
:maxlength="100"
placeholder="请输入企标编号"
clearable
@@ -2993,6 +2993,7 @@ export default {
if (nowstandinfo.firstPutTime != null && nowstandinfo.firstPutTime !== '') {
nowstandinfo.firstPutTime = this.$dateFormat(this.sarBussionessStandEO.firstPutTime, 'yyyy-MM-dd hh:mm:ss')
}
nowstandinfo.standCode = nowstandinfo.standSort + ' ' + nowstandinfo.standNumber + ( nowstandinfo.standYear === '' ? '' : '-' + nowstandinfo.standYear)
this.$http.postData('lawss/sarBussionessStand/updateSarBussionessStand', nowstandinfo, {
_this: this,
loading: 'isSubmit'
@@ -932,14 +932,14 @@
:disabled="formdisableflag"
></custom-SVPPS>
</template>
<template v-else-if="field.attrField === 'XCXSSRQ' || field.attrField === 'ZCCSSRQ'">
<custom-date-pick
<template v-else-if="field.attrField === 'XCXSSRQ' || field.attrField === 'ZCCSSRQ' || field.attrField === 'SSRQ'">
<custom-date-pick-group
v-if="field.attrField !== 'ZCCSSRQGJ' && field.attrField !== 'XCXSSRQGJ' && field.attrField !== 'SSRQGJ' "
:key="field.attrField"
:config="field"
v-model="sarStandardsInfoEO[field.attrField]"
:disabled="formdisableflag"
></custom-date-pick>
></custom-date-pick-group>
</template>
<template v-else-if="field.attrType === 'DATE_PIC_OPTS'">
<custom-date-pick-group
@@ -4894,14 +4894,14 @@ export default {
let idList = ''
let nameList = ''
data.forEach(item => {
if (item.hasChild === '0' && item.children === null) {
// if (item.hasChild === '0' && item.children === null) {
if (nameList.length > 0) {
nameList += ','
idList += ','
}
idList += item.id
nameList += item.name
}
// }
})
this.sarStandardsInfoEO.ZRBMId = idList;
this.sarStandardsInfoEO['ZRBM'] = nameList;
@@ -115,7 +115,7 @@
<el-table-column
prop="standName"
fixed="left"
width="180"
width="200"
show-overflow-tooltip
label="标准名称">
<template slot-scope="scope">
@@ -124,7 +124,7 @@
</el-table-column>
<el-table-column
prop="itemsNum"
width="180"
width="75"
label="条款号">
</el-table-column>
<el-table-column
@@ -135,12 +135,8 @@
</el-table-column>
<el-table-column
prop="productType"
width="180"
width="100"
label="产品类型">
<!-- <template slot-scope="scope">
<div v-if="scope.row.productType === 'research'">在研</div>
<div v-if="scope.row.productType === 'product'">在产</div>
</template>-->
</el-table-column>
<el-table-column
prop="productLine"
@@ -161,11 +157,12 @@
<el-table-column
prop="responsibleUnit"
width="180"
show-overflow-tooltip
label="责任部门">
</el-table-column>
<el-table-column
prop="dutyEngineer"
width="150"
width="100"
label="责任工程师">
</el-table-column>
<el-table-column
@@ -428,6 +425,14 @@
></el-option>
</el-select>
</el-form-item>
<el-form-item prop="projectNumber" label="项目编号" style="width: 100%; margin-right:10px"
class="add-form-item">
<el-input
:disabled="true"
v-model="addForm.projectNumber"
placeholder="请输入项目编号"
/>
</el-form-item>
<el-form-item prop="productType" label="产品类型" style="width: 100%; margin-right:10px"
class="add-form-item">
<el-input
@@ -486,9 +491,9 @@
<el-form-item prop="responsibleUnit" label="责任部门" style="width: 100%; margin-right:10px"
class="add-form-item">
<el-input
:disabled="true"
v-model="addForm.responsibleUnit"
placeholder="请输入责任部门"
@click.native="choiceZRBM"
/>
</el-form-item>
<el-form-item prop="reason" label="不合规项目" style="width: 100%; margin-right:10px"
@@ -543,6 +548,7 @@
class="common-button-primary"
icon="el-icon-check"
type="primary"
:loading="submiting"
@click="submit">提交
</el-button>
<el-button
@@ -566,6 +572,12 @@
:nodeList="nodeListMore"
@checkedRole="drawerMore"
/>
<MechanismTree
is-title="选择部门信息"
:is-visible.sync="modalshowflagZRBM"
:nodeList="nodeListZRBM"
@checkedRole="drawerCheckZRBM"
/>
</div>
</template>
@@ -599,6 +611,7 @@ export default {
itemsNum: "", //条款号
itemsName: "", //条款名称
productType: "",
projectNumber: "",
productLine: "", //产品线
productName: "", //项目名称
reason: "", //不合规项目
@@ -615,12 +628,12 @@ export default {
standName: [
{ required: true, message: "请输入标准名称", trigger: "blur" }
],
itemsNum: [
{ required: true, message: "请输入条款号", trigger: "blur" }
],
itemsName: [
{ required: true, message: "请输入条款名称", trigger: "blur" }
],
// itemsNum: [
// { required: true, message: "请输入条款号", trigger: "blur" }
// ],
// itemsName: [
// { required: true, message: "请输入条款名称", trigger: "blur" }
// ],
productType: [
{ required: true, message: "请输入产品类型", trigger: "blur" }
],
@@ -630,6 +643,9 @@ export default {
productName: [
{ required: true, message: "请输入项目名称", trigger: "change" }
],
projectNumber: [
{ required: true, message: "请输入项目编号", trigger: "change" }
],
reason: [
{ required: true, message: "请输入不合规项目", trigger: "blur" }
],
@@ -671,12 +687,19 @@ export default {
// 新增编辑框的disabled
serialNumber: true,
// 提交按钮loading
submiting: false,
// 选择人(单选)
roleShowflag: false,
nodeList: [],
// 选择人(多选)
titleMore: '',
nodeListMore: [],
roleShowMore: false,
// 选择责任部门
nodeListZRBM: [],
modalshowflagZRBM: false
};
},
methods: {
@@ -877,6 +900,7 @@ export default {
const productType = this.addForm.productType;
const productLine = this.addForm.productLine;
const productName = this.addForm.productName;
const productId = this.addForm.projectNumber;
const reason = this.addForm.reason;
const responsibleUnit = this.addForm.responsibleUnit;
const dutyEngineer = this.addForm.dutyEngineer;
@@ -886,13 +910,15 @@ export default {
if (this.drawerTitle === "新增") {
this.$refs["addForm"].validate((valid) => {
if (valid) {
this.submiting = true
addUn(
closeState, standId, standSerialNumber,
standName, itemsNum, itemsName, productType,
productLine, productName, reason,
productLine, productName, productId,reason,
responsibleUnit, dutyEngineer,
authEngineer, qaEngineer, planCloseTime).then(res => {
if (res.ok) {
this.submiting = false
this.$message.success("新增成功");
this.drawerTable = false;
this.getTableByPage();
@@ -900,11 +926,13 @@ export default {
});
} else {
this.$message.warning("请完善基础信息");
this.submiting = false
}
});
} else {
this.$refs["addForm"].validate((valid) => {
if (valid) {
this.submiting = true
editUn(
closeState, standId, standSerialNumber,
standName, itemsNum, itemsName, productType,
@@ -912,6 +940,7 @@ export default {
dutyEngineer, authEngineer, qaEngineer,
planCloseTime, id).then(res => {
if (res.ok) {
this.submiting = false
this.$message.success("编辑成功");
this.drawerTable = false;
this.getTableByPage();
@@ -919,6 +948,7 @@ export default {
});
} else {
this.$message.warning("请完善基础信息");
this.submiting = false
}
});
}
@@ -954,7 +984,7 @@ export default {
}
});
this.dataList = res.data.records;
this.dataList.forEach(item => {
/*this.dataList.forEach(item => {
// 责任部门转换
if (item.zrbm !== null || item.zrbm !== "") {
let k = (item.zrbm || "").split(",");
@@ -967,7 +997,7 @@ export default {
}
}
}
});
});*/
});
},
//新增事件
@@ -1063,12 +1093,13 @@ export default {
/** 项目名称change事件 */
handleChange(val) {
console.log(val);
if (this.drawerTitle === '编辑') {
this.addForm.standName = ''
this.addForm.standSerialNumber = ''
this.addForm.responsibleUnit = ''
}
this.addForm.productId = val.id
this.addForm.projectNumber = val.projectNumber
this.addForm.productLine = val.productLine
this.addForm.productName = val.projectName
this.addForm.productType = val.projectPlatfor
@@ -1080,7 +1111,6 @@ export default {
standChange(item) {
this.addForm.standName = item.standName
this.addForm.standSerialNumber = item.standSort + '-' + item.standNumber + '-' + item.standYear
this.addForm.responsibleUnit = item.zrbm || "--";
},
/** 责任工程师选择 */
choiceZRR(type, title, id) {
@@ -1120,6 +1150,27 @@ export default {
this.roleShowMore = true
},
/** 选择责任部门 */
choiceZRBM(type, title, id) {
this.nodeListZRBM = []
this.nodeListZRBM.push(id)
this.modalshowflagZRBM = true
},
drawerCheckZRBM(data) {
let idList = ''
let nameList = ''
data.forEach(item => {
if (nameList.length > 0) {
nameList += ','
idList += ','
}
idList += item.id
nameList += item.name
})
this.addForm.responsibleUnit = nameList;
},
},
mounted() {
//查询已维护的项目