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

This commit is contained in:
Superman_Main
2021-12-10 11:15:22 +08:00
56 changed files with 7447 additions and 482 deletions
@@ -32,12 +32,12 @@
>
</el-table-column>
<el-table-column
prop="researchImplementationTime"
prop="researchCompletionTime"
label="完成时间"
align="center"
>
<template slot-scope="scope">
<span>{{ scope.row.researchImplementationTime ? $moment(scope.row.researchImplementationTime).format('YYYY-MM-DD') : '' }}</span>
<span>{{ scope.row.researchCompletionTime ? $moment(scope.row.researchCompletionTime).format("YYYY-MM-DD") : "" }}</span>
</template>
</el-table-column>
<el-table-column
@@ -23,65 +23,66 @@
<div class="modular-header" style="height: 50px;">
<div class="modular-header-btn">
<el-button type="warning" icon="el-icon-edit" @click="businessCommentDialog = true">企标评价</el-button>
<el-dialog title="企业标准动态评价" :visible.sync="businessCommentDialog" width="54%" :close-on-click-modal="false">
<el-table ref="businessCommentTable" :data="businessCommentTable.filter((v) => v.code !== '3U9lb')" border style="width: 100%; flex: auto;margin-bottom: 2%"
class="comment-table"
:header-cell-style="{background: '#E8E8E8', color: '#333333', fontSize: '16px',
<el-dialog title="企业标准评价" :visible.sync="businessCommentDialog" :width="(commentAverageScoreTag === '1' && commentActiveName !== 'dynamicComment')?'90%':'65%'" :close-on-click-modal="false">
<el-tabs v-model="commentActiveName" @tab-click="tabsClick">
<el-tab-pane label="动态评价" name="dynamicComment">
<el-table ref="businessCommentTable" :data="businessCommentTable.filter((v) => v.code !== '3U9lb')" border style="width: 100%; flex: auto;margin-bottom: 2%"
class="comment-table"
:header-cell-style="{background: '#E8E8E8', color: '#333333', fontSize: '16px',
fontWeight: 'bold', height: '48px'}">
<el-table-column
type="index"
label="序号"
width="55"
align="center"
/>
<el-table-column prop="threeIndexTitle" label="评价指标" width="300">
<!--commentTarget-->
<template slot-scope="scope">
<span>{{scope.row.threeIndexTitle}}</span>
</template>
</el-table-column>
<el-table-column prop="targetScore" label="指标分值" width="165">
<template slot-scope="scope">
<el-col :span="20">
<el-rate
v-model="scope.row.targetScore"
@change="targetScoreChange(scope.row)"
allow-half>
</el-rate>
</el-col>
<b style="margin-left: 5px;font-size: 12px;">{{ scope.row.targetScore * 2 }}</b>
</template>
</el-table-column>
<el-table-column property="reason" label="简述理由">
<template slot-scope="scope">
<el-input clearable size="mini" placeholder="请简述评分理由" @change="commentReasonChange(scope.row)" v-model="scope.row.commentReason" />
</template>
</el-table-column>
</el-table>
<el-form :model="businessCommentForm">
<el-form-item label="动态评价分值">
<el-col :span="4">
<el-rate
v-model="businessCommentForm.averageScore"
disabled
style="margin-top: 12px"
text-color="#ff9900">
</el-rate>
</el-col>
<b style="margin-top: 5px">{{ businessCommentForm.averageScore * 2 }}</b>
</el-form-item>
<el-form-item label="对标准的意见和建议,是否需要修订">
<template>
<el-radio v-model="businessCommentForm.revise" label="1"></el-radio>
<el-radio v-model="businessCommentForm.revise" label="0"></el-radio>
<el-input v-show="businessCommentForm.revise === '1'"
v-model="businessCommentForm.reviseReason"
placeholder="请填写修订理由"
type="textarea"
:rows="2"></el-input>
</template>
</el-form-item>
</el-form>
<el-table-column
type="index"
label="序号"
width="55"
align="center"
/>
<el-table-column prop="threeIndexTitle" label="评价指标" width="300">
<!--commentTarget-->
<template slot-scope="scope">
<span>{{scope.row.threeIndexTitle}}</span>
</template>
</el-table-column>
<el-table-column prop="targetScore" label="指标分值" width="165">
<template slot-scope="scope">
<el-col :span="20">
<el-rate
v-model="scope.row.targetScore"
@change="targetScoreChange(scope.row)"
allow-half>
</el-rate>
</el-col>
<b style="margin-left: 5px;font-size: 12px;color: #ff9900">{{ scope.row.targetScore * 2 }}</b>
</template>
</el-table-column>
<el-table-column property="reason" label="简述理由">
<template slot-scope="scope">
<el-input clearable size="mini" placeholder="请简述评分理由" @change="commentReasonChange(scope.row)" v-model="scope.row.commentReason" />
</template>
</el-table-column>
</el-table>
<el-form :model="businessCommentForm">
<el-form-item label="动态评价分值">
<el-col :span="4">
<el-rate
v-model="businessCommentForm.averageScore"
disabled
style="margin-top: 12px">
</el-rate>
</el-col>
<b style="margin-top: 5px;margin-left: -2%;color: #ff9900">{{ businessCommentForm.averageScore * 2 }}</b>
</el-form-item>
<el-form-item label="对标准的意见和建议,是否需要修订">
<template>
<el-radio v-model="businessCommentForm.revise" label="1"></el-radio>
<el-radio v-model="businessCommentForm.revise" label="0"></el-radio>
<el-input v-show="businessCommentForm.revise === '1'"
v-model="businessCommentForm.reviseReason"
placeholder="请填写修订理由"
type="textarea"
:rows="2"></el-input>
</template>
</el-form-item>
</el-form>
<div style="padding-left: 80%">
<el-button
type="primary"
@@ -100,6 +101,230 @@
>取消
</el-button>
</div>
</el-tab-pane>
<el-tab-pane label="历史评价" name="historyComment">
<el-form>
<el-row>
<el-col :span="10" :offset="4">
<el-form-item>
<el-radio v-model="commentAverageScoreTag" label="1" border @change="tabsClick">质量评价总平均分</el-radio>
<b style="margin-top: 30px;margin-left: 5px;font-size: 20px;color: #ff9900">{{
qualityCommentScore * 2
}}</b>
</el-form-item>
</el-col>
<el-col :span="8" :offset="2">
<el-form-item>
<el-radio v-model="commentAverageScoreTag" label="2" border @change="tabsClick">动态评价总平均分</el-radio>
<b style="margin-top: 30px;margin-left: 5px;font-size: 20px;color: #ff9900">{{
dynamicCommentScore * 2
}}</b>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="4">
<el-table
v-if="commentAverageScoreTag === '1'"
:data="qualityHistoryPeopleTable"
style="width: 100%"
height="345px"
:header-cell-style="{background: '#e8e8e8', color: '#333333', fontSize: '16px',
fontWeight: 'bold', height: '48px'}">
<el-table-column
prop="historyPeopleName"
align="center"
label="质量评价人"
width="130px"
show-overflow-tooltip>
<template slot-scope="scope">
<el-button type="default"
style="width: 100px;" size="mini" @click="historyPeopleChange(scope.row)">
{{ scope.row.userName }}
</el-button>
</template>
</el-table-column>
</el-table>
<el-table
v-else-if="commentAverageScoreTag === '2'"
:data="dynamicHistoryPeopleTable"
style="width: 100%"
height="345px"
:header-cell-style="{background: '#e8e8e8', color: '#333333', fontSize: '16px',
fontWeight: 'bold', height: '48px'}">
<el-table-column
prop="historyPeopleName"
align="center"
label="动态评价人"
width="130px"
show-overflow-tooltip>
<template slot-scope="scope">
<el-button type="default"
style="width: 100px;" size="mini" @click="historyPeopleChange(scope.row)">
{{ scope.row.userName }}
</el-button>
</template>
</el-table-column>
</el-table>
</el-col>
<el-col :span="20" >
<div style="width: 100%;padding: 0 1% 2% 0" v-loading="historyInfoLoading" v-show="commentAverageScoreTag === '1'">
<el-table
:data="qualityHistoryCommentTable"
:summary-method="getSummaries"
show-summary
:span-method="(({row, column, rowIndex, columnIndex})=>objectSpanMethod({row, column, rowIndex, columnIndex},qualityHistoryCommentTable))"
style="width: 100%">
<el-table-column label="企业标准编写质量评价表" align="center" label-class-name="column1">
<el-table-column
label="标准代号"
>
<el-table-column
prop="oneIndexTitle"
align="center"
label="一级指标"
width = '120'
>
</el-table-column>
</el-table-column>
<el-table-column
:label="sarStandardsInfoEO.standCode"
>
<el-table-column
prop="twoIndexTitle"
align="center"
label="二级指标"
width = '120'
>
</el-table-column>
<el-table-column
prop="threeIndexTitle"
label="三级指标"
width="300"
>
</el-table-column>
</el-table-column>
<el-table-column
label="标准名称"
>
<el-table-column
prop="weight"
align="center"
label="指标权重 %"
width = '100'
>
<template slot-scope="scope">
{{scope.row.valueType === 'number' ? scope.row.weight * 100 : '加分项('+scope.row.weight+'分)'}}
</template>
</el-table-column>
</el-table-column>
<el-table-column
:label="sarStandardsInfoEO.standName"
>
<el-table-column
prop="targetScore"
align="center"
label="指标分值10分制8合格68不合格6"
width = '200'
>
<template slot-scope="scope">
<el-form-item
:prop="'qualityHistoryCommentTable.'+scope.$index + '.targetScore'">
<el-input v-model.number="scope.row.targetScore" placeholder="请填写分值" />
</el-form-item>
</template>
</el-table-column>
<el-table-column
prop="scoreMin"
align="center"
label="分值小计"
width = '80'
>
<template slot-scope="scope">
{{setScoreMin(scope.row)}}
</template>
</el-table-column>
<el-table-column
prop="commentReason"
align="center"
label="简述扣分理由不合格6必填"
>
<template slot-scope="scope" v-if="scope.row.valueType !== 'add'">
<el-form-item
:prop="'qualityHistoryCommentTable.'+scope.$index + '.commentReason'">
<el-input v-model="scope.row.commentReason" placeholder="请填写扣分理由" />
</el-form-item>
</template>
</el-table-column>
</el-table-column>
</el-table-column>
</el-table>
</div>
<div style="width: 100%" v-loading="historyInfoLoading" v-show="commentAverageScoreTag === '2'">
<el-table ref="businessCommentTable" :data="dynamicHistoryCommentTable.filter((v) => v.code !== '3U9lb')" border style="width: 100%; flex: auto;margin-bottom: 2%"
class="comment-table"
:header-cell-style="{background: '#E8E8E8', color: '#333333', fontSize: '16px',
fontWeight: 'bold', height: '48px'}">
<el-table-column
type="index"
label="序号"
width="55"
align="center"
/>
<el-table-column prop="threeIndexTitle" label="评价指标" width="300">
<!--commentTarget-->
<template slot-scope="scope">
<span>{{scope.row.indexTitle}}</span>
</template>
</el-table-column>
<el-table-column prop="targetScore" label="指标分值" width="165">
<template slot-scope="scope">
<el-col :span="20">
<el-rate
v-model="scope.row.targetScore / 2"
disabled
allow-half>
</el-rate>
</el-col>
<b style="margin-left: 5px;font-size: 12px;color: #ff9900">{{ parseInt(scope.row.targetScore) }}</b>
</template>
</el-table-column>
<el-table-column property="reason" label="简述理由">
<template slot-scope="scope">
<el-input clearable size="mini" placeholder="该用户没有填写评分理由" disabled v-model="scope.row.commentReason" />
</template>
</el-table-column>
</el-table>
<el-form :model="historyCommentForm">
<el-form-item label="动态评价分值">
<el-col :span="5">
<el-rate
v-model="historyCommentForm.averageScore / 2"
disabled
style="margin-top: 12px;">
</el-rate>
</el-col>
<b style="margin-top: 5px;margin-left: -2%;color: #ff9900">{{ historyCommentForm.averageScore }}</b>
</el-form-item>
<el-form-item label="对标准的意见和建议是否需要修订">
<template>
<el-radio v-model="historyCommentForm.revise" label="1" disabled>是</el-radio>
<el-radio v-model="historyCommentForm.revise" label="0" disabled>否</el-radio>
<el-input v-show="historyCommentForm.revise === '1'"
v-model="historyCommentForm.reviseReason"
disabled
placeholder="请填写修订理由"
type="textarea"
:rows="2"></el-input>
</template>
</el-form-item>
</el-form>
</div>
</el-col>
</el-row>
</el-form>
</el-tab-pane>
</el-tabs>
</el-dialog>
<el-button v-if="sarStandardsInfoEO.collectId" @click="collectClick(sarStandardsInfoEO.collectId)" title="取消收藏" class="collection-btn" icon="el-icon-star-on" :loading="isSubmit"></el-button>
<el-button v-else @click="collectClick()" title="收藏" class="collection-btn" icon="el-icon-star-off" :loading="isSubmit"></el-button>
@@ -1066,6 +1291,21 @@ export default {
},
data () {
return {
commentAverageScoreTag: '1',
firstHistoryPeopleId: '',//最新评价的人的id
historyInfoLoading: false,//历史评价信息的loading
historyCommentForm: {
averageScore: 0, // 平均分值
revise: '',
reviseReason: '', // 修订理由
}, // 历史评价表单
dynamicHistoryCommentTable: [], // 动态评价历史评价表格
qualityHistoryCommentTable: [], // 质量评价历史评价表格
dynamicHistoryPeopleTable: [], // 动态评价历史评价人表格
qualityHistoryPeopleTable: [], // 质量评价历史评价人表格
dynamicCommentScore: 0,// 动态评价总平均分
qualityCommentScore: 0,// 质量评价总平均分
commentActiveName: 'dynamicComment',
indexType: 'dynamic',
commentReason: '', // 评价理由
commentReason1: '', // 评价理由
@@ -1293,6 +1533,108 @@ export default {
watch: {
},
methods: {
historyPeopleChange(row){
this.historyInfoLoading = true
const allData = {
lawId: this.sarStandardsInfoEO.id,
userId: row.userId,
evaluationType: this.indexType
}
if (this.indexType === 'quality'){
this.$http.get('sarEnterpriseStandardEvaluation/quality-evaluation/getEvaluationForm', allData , {
_this: this
}, res => {
this.qualityHistoryCommentTable = res.data
this.historyInfoLoading = false
}, e => {
this.historyInfoLoading = false
})
}else if (this.indexType === 'dynamic'){
this.$http.get('sarEnterpriseStandardEvaluation/quality-evaluation/getEvaluationForm', allData , {
_this: this
}, res => {
this.dynamicHistoryCommentTable = res.data
this.historyCommentForm.revise = res.data[0].targetScore
this.historyCommentForm.reviseReason = res.data[0].commentReason
let averageScore = 0
res.data.forEach(item => {
if (item.valueType === 'number'){
averageScore += parseInt(item.targetScore)
}
})
averageScore = averageScore / 4
this.historyCommentForm.averageScore = averageScore
this.historyInfoLoading = false
}, e => {
this.historyInfoLoading = false
})
}
},
tabsClick(tab, event){
this.historyInfoLoading = true
if (this.commentAverageScoreTag === '1'){
this.indexType = 'quality'
//查询评分表
const allData = {
lawId: this.sarStandardsInfoEO.id,
userId: this.firstHistoryPeopleId,
evaluationType: this.indexType
}
this.$http.get('sarEnterpriseStandardEvaluation/quality-evaluation/getEvaluationForm', allData , {
_this: this
}, res => {
this.qualityHistoryCommentTable = res.data
this.historyInfoLoading = false
}, e => {
this.historyInfoLoading = false
})
}
else if (this.commentAverageScoreTag === '2'){
this.indexType = 'dynamic'
//查询评分表
const allData = {
lawId: this.sarStandardsInfoEO.id,
userId: this.firstHistoryPeopleId,
evaluationType: this.indexType
}
this.$http.get('sarEnterpriseStandardEvaluation/quality-evaluation/getEvaluationForm', allData , {
_this: this
}, res => {
this.dynamicHistoryCommentTable = res.data
this.historyCommentForm.revise = res.data[0].targetScore
this.historyCommentForm.reviseReason = res.data[0].commentReason
let averageScore = 0
res.data.forEach(item => {
if (item.valueType === 'number'){
averageScore += parseInt(item.targetScore)
}
})
averageScore = averageScore / 4
this.historyCommentForm.averageScore = averageScore
this.historyInfoLoading = false
}, e => {
this.historyInfoLoading = false
})
}
//查询动态评价总平均分和质量评价总平均分
let standId = this.sarStandardsInfoEO.id
this.$http.get('sarEnterpriseStandardEvaluation/quality-evaluation/getScore', {lawId:standId}, {
_this: this
}, res => {
this.qualityCommentScore = res.data.quality.toFixed(3)/2
this.dynamicCommentScore = res.data.dynamic.toFixed(3)/2
}, e => {
})
},
targetScoreChange(row){
if (this.targetScore1 === '') {
this.targetScore1 = 0
@@ -1368,26 +1710,120 @@ export default {
this.$message.warning('请填写修订理由')
}
if (submitFlag === true) {
this.$message.success('通过')
this.commentSubmitLoading = true
const allData = {
tableData: this.businessCommentTable,
formData: JSON.stringify(this.businessCommentForm),
standId: this.sarStandardsInfoEO.id,
userId: this.$store.getters.userInfo.userId
userId: this.$store.getters.userInfo.userId,
evaluationType: this.indexType
}
console.log(allData)
this.$http.postData('sarEnterpriseStandardEvaluation/quality-evaluation/submitEvaluationForm', allData, {
_this: this
}, res => {
console.log(res)
if (res.ok){
this.$message.success('提交成功')
this.commentSubmitLoading = false
//重新评分之后刷新历史评分人
let standId = this.sarStandardsInfoEO.id
this.$http.get('sarEnterpriseStandardEvaluation/quality-evaluation/getHistory', {lawId:standId}, {
_this: this
}, res => {
this.dynamicHistoryPeopleTable = []
this.dynamicHistoryPeopleTable = res.data.records
this.firstHistoryPeopleId = res.data.records[0].userId
// for (let i = 0; i < res.data.records.length; i++) {
// this.dynamicHistoryPeopleTable.push(res.data.records[i].userName)
// }
}, e => {
})
}
}, e => {
})
}
},
getSummaries(param) {
const { columns, data } = param;
const sums = [];
columns.forEach((column, index) => {
if (index === 3) {
sums[index] = '合计:';
return;
}else if(index === 6){
sums[index] = '';
return;
}
const values = data.map(item => Number(item[column.property]));
if (!values.every(value => isNaN(value))) {
sums[index] = values.reduce((prev, curr) => {
const value = Number(curr);
if (!isNaN(value)) {
return prev + curr;
} else {
return prev;
}
}, 0);
sums[index] += ' ';
} else {
sums[index] = '';
}
if(sums[index] !== '' && sums[index].indexOf(".") !== -1){
sums[index] = parseFloat(sums[index]).toFixed(1);
}
});
return sums;
},
objectSpanMethod({ row, column, rowIndex, columnIndex },value) {
if (columnIndex === 0) {
if (rowIndex === 0) {
return {
rowspan: value.length,
colspan: 1
};
} else {
return {
rowspan: 0,
colspan: 0
};
}
}else if(columnIndex === 1 ) {
const _row = (this.filterData2(this.qualityHistoryCommentTable).one)[rowIndex]
const _col = _row > 0 ? 1 : 0
return {
rowspan: _row,
colspan: _col
}
}
},
setScoreMin(row){
return row.scoreMin = ((row.targetScore === undefined || row.targetScore === '') ? '' : row.valueType === 'add' ? row.targetScore : (row.targetScore / 10).toFixed(1))
},
filterData2(){
let spanOneArr = []
let concatOne = 0
this.qualityHistoryCommentTable.forEach((item,index)=>{//循环后端查询出来的数据(orderdata)
if(index === 0){
spanOneArr.push(1)
}else{
//name 修改
if(item.twoIndexTitle === this.qualityHistoryCommentTable[index - 1].twoIndexTitle){ //第一列需合并相同内容的字段
spanOneArr[concatOne] += 1
spanOneArr.push(0)
}else{
spanOneArr.push(1)
concatOne = index
}
}
})
return {
one: spanOneArr,
}
},
child1Func(child1){
const list = []
if(child1 && child1.length > 1){
@@ -2383,12 +2819,34 @@ export default {
// }
},
async mounted () {
const qualityRequest = {
lawId: this.sarStandardsInfoEO.id,
evaluationType: 'quality'
}
this.$http.get('sarEnterpriseStandardEvaluation/quality-evaluation/getHistory', qualityRequest, {
_this: this
}, res => {
this.qualityHistoryPeopleTable = res.data.records
this.firstHistoryPeopleId = res.data.records[0].userId
}, e => {
})
const dynamicRequest = {
lawId: this.sarStandardsInfoEO.id,
evaluationType: 'dynamic'
}
this.$http.get('sarEnterpriseStandardEvaluation/quality-evaluation/getHistory', dynamicRequest, {
_this: this
}, res => {
this.dynamicHistoryPeopleTable = res.data.records
this.firstHistoryPeopleId = res.data.records[0].userId
}, e => {
})
this.$http.get('sarEnterpriseStandardEvaluation/evaluation-index/getEvaluationIndex', {indexType:this.indexType}, {
_this: this
}, res => {
console.log('2371',res)
this.businessCommentTable = res.data
console.log(this.businessCommentTable)
}, e => {
})
this.sarStandardsInfoEO.id = this.$route.params.id
@@ -722,17 +722,11 @@
prop="xccssrq"
label="新车型实施日期(文本)"
width="180">
<template slot-scope="scope">
<span>{{ scope.row.xccssrq ? $moment(scope.row.xccssrq).format('YYYY-MM-DD') : '' }}</span>
</template>
</el-table-column>
<el-table-column
prop="zccssrq"
label="在产车实施日期(文本)"
width="170">
<template slot-scope="scope">
<span>{{ scope.row.zccssrq ? $moment(scope.row.zccssrq).format('YYYY-MM-DD') : '' }}</span>
</template>
</el-table-column>
<el-table-column
show-overflow-tooltip
+51 -1
View File
@@ -113,6 +113,9 @@
</el-row>
</el-form>
</div>
<div style="float: right;margin: 0 3% 10px 0">
<el-button type="primary" size="mini" @click="exportExcelBtn">导出Excel</el-button>
</div>
<div class="content">
<!-- <el-divider content-position="left" class="dynamic-child-title">实施日期预警</el-divider>-->
<el-table
@@ -123,7 +126,13 @@
:resizable="false"
:header-cell-style="{background: '#f8f8f9', color: '#515a6e'}"
v-loading="warningTableLoading"
@selection-change="selectChange"
>
<el-table-column
type="selection"
width="55"
align="center">
</el-table-column>
<el-table-column prop="standType" label="类型" width="100" align="center">
<template slot-scope="scope">
<div v-if="scope.row.sortName === 'BUSINESS_STAND'">企业标准</div>
@@ -199,17 +208,33 @@
</div>
</div>
<adc-back-top scroll-bind="dynamicInformation"></adc-back-top>
<!--导出模态框区域-->
<el-dialog :visible.sync="exportModelFlag" title="导出文件" width="300px">
<el-form :inline="true" class="label-input-form search-area">
<el-form-item label="导出名称" class="search-item">
<el-input v-model="exportName" placeholder="请输入导出文件名称" :maxlength="30" clearable label="导出名称"/>
</el-form-item>
</el-form>
<span slot="footer" class="demo-drawer-footer">
<el-button size="mini" class="common-button-default" icon="el-icon-close" @click="cancal">取消</el-button>
<el-button type="primary" size="mini" class="common-button-primary" icon="el-icon-check"
@click="exportExcel">提交</el-button>
</span>
</el-dialog>
</div>
</template>
<script>
import {mapMutations} from "vuex";
import {interfaceUrl} from "@/sysConfig";
export default {
name: "standardWarning",
data() {
return {
//
selectedList: [],
exportName: '',
exportModelFlag: false,
warningTableDatas:[],
warningTableHeight: '',
applyArcticOptions: [], // 适用车型下拉框
@@ -259,6 +284,31 @@ export default {
};
},
methods: {
//取消导出
cancal() {
this.exportModelFlag = false
},
//确认导出
exportExcel() {
console.log('293',this.selectedList)
const exportURL = interfaceUrl + 'sys/EarlyWarning/exportWarning?' +
'&ids=' + this.selectedList.join(',') + '&exportName=' + this.exportName
window.open(exportURL)
this.$message.success('导出信息成功')
this.exportModelFlag = false
},
exportExcelBtn(){
console.log('302',this.selectedList)
this.exportName = ''
this.exportModelFlag = true
},
selectChange(alldata){
console.log('307',alldata)
this.selectedList = []
for (let i = 0; i < alldata.length; i++) {
this.selectedList.push(alldata[i]['id'])
}
},
// 获取标准预警数据 (type用于区别分页器切换)
getEarlyDate() {
this.warningTableLoading = true
@@ -303,7 +303,7 @@
<h4>标准法规部人员</h4>
<div style="margin-top: 10px;width: 300px;">
<el-input v-model="roleForm.startUser" style="display: none;"></el-input>
<el-input v-model="roleForm.startUserName" :disabled="true" placeholder="选择标准法规部人员" @click.native="choiceZRR('dockUser', '选择标准法规部人员', roleForm.dockUser)">
<el-input v-model="roleForm.startUserName" :disabled="true" placeholder="选择标准法规部人员">
</el-input>
</div>
</el-form-item>
@@ -351,7 +351,7 @@
<h4>总院技术委员会主任</h4>
<div style="margin-top: 10px;width: 300px;">
<el-input v-model="roleForm.startUser" style="display: none;"></el-input>
<el-input v-model="roleForm.startUserName" :disabled="true" placeholder="选择总院技术委员会主任" @click.native="choiceZRROne('startUser', '选择总院技术委员会主任', roleForm.startUser)">
<el-input v-model="roleForm.startUserName" :disabled="true" placeholder="选择总院技术委员会主任">
</el-input>
</div>
</el-form-item>
@@ -68,7 +68,10 @@
<el-form-item class="add-form-item" label="信息来源:" prop="infoSources">
<span v-if="infoSourcesLength === 0">{{ '-' }}</span>
<span v-for="item in rh_pageData.infoSources" :key="item.id" style="color: #409EFF;" @click="previews(item.id)">
{{ item.name }} {{ ';' }}
<a v-if="item.name.length > 30">
{{ item.name.slice(0,30) + '...' }} {{ ';' }}
</a>
<a v-else>{{ item.name }} {{ ';' }}</a>
</span>
</el-form-item>
</el-col>
@@ -256,7 +259,8 @@ export default {
taskIds: this.$route.query.taskIds,
pId: this.$route.query.prcId,
infoSourcesLength: ''
infoSourcesLength: '',
showHover: false
}
},
computed: {
@@ -68,7 +68,10 @@
<el-form-item class="add-form-item" label="信息来源:" prop="infoSources">
<span v-if="infoSourcesLength < 1">{{ '-' }}</span>
<span v-for="item in rh_pageData.infoSources" :key="item.id" style="color: #409EFF;" @click="previews(item.id)">
{{ item.name }} {{ ';' }}
<a v-if="item.name.length > 30">
{{ item.name.slice(0,30) + '...' }} {{ ';' }}
</a>
<a v-else>{{ item.name }} {{ ';' }}</a>
</span>
</el-form-item>
</el-col>
@@ -68,7 +68,10 @@
<el-form-item class="add-form-item" label="信息来源:" prop="infoSources">
<span v-if="infoSourcesLength === 0">{{ '-' }}</span>
<span v-for="item in rh_pageData.infoSources" :key="item.id" style="color: #409EFF;" @click="previews(item.id)">
{{ item.name }} {{ ';' }}
<a v-if="item.name.length > 30">
{{ item.name.slice(0,30) + '...' }} {{ ';' }}
</a>
<a v-else>{{ item.name }} {{ ';' }}</a>
</span>
</el-form-item>
</el-col>
@@ -68,7 +68,10 @@
<el-form-item class="add-form-item" label="信息来源:" prop="infoSources">
<span v-if="infoSourcesLength === 0">{{ '-' }}</span>
<span v-for="item in rh_pageData.infoSources" :key="item.id" style="color: #409EFF;" @click="previews(item.id)">
{{ item.name }} {{ ';' }}
<a v-if="item.name.length > 30">
{{ item.name.slice(0,30) + '...' }} {{ ';' }}
</a>
<a v-else>{{ item.name }} {{ ';' }}</a>
</span>
</el-form-item>
</el-col>
@@ -68,7 +68,10 @@
<el-form-item class="add-form-item" label="信息来源:" prop="infoSources">
<span v-if="infoSourcesLength < 1">{{ '-' }}</span>
<span v-for="item in rh_pageData.infoSources" :key="item.id" style="color: #409EFF;" @click="previews(item.id)">
{{ item.name }} {{ ';'}}
<a v-if="item.name.length > 30">
{{ item.name.slice(0,30) + '...' }} {{ ';' }}
</a>
<a v-else>{{ item.name }} {{ ';' }}</a>
</span>
</el-form-item>
</el-col>
@@ -71,7 +71,10 @@
<el-form-item class="add-form-item" label="信息来源:" prop="infoSources">
<span v-if="infoSourcesLength < 1">{{ '-' }}</span>
<span v-for="item in rh_pageData.infoSources" :key="item.id" style="color: #409EFF;" @click="previews(item.id)">
{{ item.name }} {{ ';' }}
<a v-if="item.name.length > 30">
{{ item.name.slice(0,30) + '...' }} {{ ';' }}
</a>
<a v-else>{{ item.name }} {{ ';' }}</a>
</span>
</el-form-item>
</el-col>
@@ -625,6 +625,8 @@ export default {
})
}
})
} else {
this.$message.warning('请完成流程信息的人员选择')
}
})
}
@@ -645,6 +645,8 @@ export default {
this.isSubmit = false
})
})
} else {
this.$message.warning('请完成流程信息的人员选择')
}
})
}
@@ -61,7 +61,12 @@
<el-form-item class="add-form-item" label="上传附件:" prop="uploadFile">
<span v-if="uploadFileLength < 1">{{ '-' }}</span>
<span v-for="item in ch_pageData.fileTextList" :key="item.id" style="color: #409EFF;" @click="previews(item.id)">
{{ item.name }} {{ ';' }}
<a v-if="item.name.length > 30">
{{ item.name.slice(0,30) + '...' }} {{ ';' }}
</a>
<a v-else>
{{ item.name }} {{ ';' }}
</a>
</span>
</el-form-item>
</el-col>
@@ -6,7 +6,7 @@
</ProcessHeader>
<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 === '3' ? 'active' : ''" @click="handleTabs('3')">流程信息</div>
</div>
<div class="content" v-show="active === '1'">
<div style="flex: auto; overflow: auto;">
@@ -61,7 +61,12 @@
<el-form-item class="add-form-item" label="上传附件:" prop="uploadFile">
<span v-if="uploadFileLength < 1">{{ '-' }}</span>
<span v-for="item in ch_pageData.fileTextList" :key="item.id" style="color: #409EFF;" @click="previews(item.id)">
{{ item.name }} {{ ';' }}
<a v-if="item.name.length > 30">
{{ item.name.slice(0,30) + '...' }} {{ ';' }}
</a>
<a v-else>
{{ item.name }} {{ ';' }}
</a>
</span>
</el-form-item>
</el-col>
@@ -352,9 +357,9 @@ export default {
this.$nextTick(() => {
this.ch_pageData = JSON.parse(JSON.stringify(item)).ch_pageData
this.uploadFileLength = this.ch_pageData.fileTextList.length
this.rh_pageData.fillDept = this.$store.getters.userInfo.institutionName
this.rh_pageData.fillUnit = this.$store.getters.userInfo.upDeptName
this.rh_pageData.fillTel = this.$store.getters.userInfo.phone
this.ch_pageData.fillDept = this.$store.getters.userInfo.institutionName
this.ch_pageData.fillUnit = this.$store.getters.userInfo.upDeptName
this.ch_pageData.fillTel = this.$store.getters.userInfo.phone
this.ch_pageData.fillPeopleId = this.$store.getters.userInfo.userId
this.ch_pageData.fillPeople = this.$store.getters.userInfo.userName
this.roleForm = JSON.parse(JSON.stringify(item)).roleList
@@ -61,7 +61,12 @@
<el-form-item class="add-form-item" label="上传附件:" prop="uploadFile">
<span v-if="uploadFileLength < 1">{{ '-' }}</span>
<span v-for="item in ch_pageData.fileTextList" :key="item.id" style="color: #409EFF;" @click="previews(item.id)">
{{ item.name }} {{ ';' }}
<a v-if="item.name.length > 30">
{{ item.name.slice(0,30) + '...' }} {{ ';' }}
</a>
<a v-else>
{{ item.name }} {{ ';' }}
</a>
</span>
</el-form-item>
</el-col>
@@ -61,7 +61,12 @@
<el-form-item class="add-form-item" label="上传附件:" prop="uploadFile">
<span v-if="uploadFileLength < 1">{{ '-' }}</span>
<span v-for="item in ch_pageData.fileTextList" :key="item.id" style="color: #409EFF;" @click="previews(item.id)">
{{ item.name }} {{ ';' }}
<a v-if="item.name.length > 30">
{{ item.name.slice(0,30) + '...' }} {{ ';' }}
</a>
<a v-else>
{{ item.name }} {{ ';' }}
</a>
</span>
</el-form-item>
</el-col>
@@ -61,7 +61,12 @@
<el-form-item class="add-form-item" label="上传附件:" prop="uploadFile">
<span v-if="uploadFileLength < 1">{{ '-' }}</span>
<span v-for="item in ch_pageData.fileTextList" :key="item.id" style="color: #409EFF;" @click="previews(item.id)">
{{ item.name }} {{ ';'}}
<a v-if="item.name.length > 30">
{{ item.name.slice(0,30) + '...' }} {{ ';' }}
</a>
<a v-else>
{{ item.name }} {{ ';' }}
</a>
</span>
</el-form-item>
</el-col>
@@ -64,7 +64,12 @@
<el-form-item class="add-form-item" label="上传附件:" prop="uploadFile">
<span v-if="uploadFileLength < 1">{{ '-' }}</span>
<span v-for="item in ch_pageData.fileTextList" :key="item.id" style="color: #409EFF;" @click="previews(item.id)">
{{ item.name }} {{ ';' }}
<a v-if="item.name.length > 30">
{{ item.name.slice(0,30) + '...' }} {{ ';' }}
</a>
<a v-else>
{{ item.name }} {{ ';' }}
</a>
</span>
</el-form-item>
</el-col>
@@ -171,7 +171,7 @@
</el-table-column>
<el-table-column
show-overflow-tooltip
v-if="sarType === 'INLAND'"
v-if="sarType === 'INLAND' && form.itemsNum1"
prop="changePoint"
width="150"
label="基于上一版本差异"
@@ -205,30 +205,31 @@
<el-table-column
prop="newData"
width="150"
show-overflow-tooltip
label="新车型实施日期"
align="center">
<template slot-scope="scope">
<div>{{ scope.row.newData ? $moment(scope.row.newData).format('YYYY-MM-DD') : scope.row.newData }}</div>
</template>
</el-table-column>
<el-table-column
prop="onlineData"
width="150"
show-overflow-tooltip
label="在产车型实施日期"
align="center">
<template slot-scope="scope">
<div>{{ scope.row.onlineData ? $moment(scope.row.onlineData).format('YYYY-MM-DD') : scope.row.onlineData }}</div>
</template>
</el-table-column>
<el-table-column
prop="applyArctic"
width="150"
show-overflow-tooltip
label="适用车型"
align="center">
<template slot-scope="scope">
{{ scope.row.applyArctic.toString() }}
</template>
</el-table-column>
<el-table-column
prop="unitDeptName"
label="责任部门"
show-overflow-tooltip
width="170"
align="center">
</el-table-column>
@@ -171,12 +171,8 @@
prop="technicalRequir"
width="200"
label="核心技术要求"
show-overflow-tooltip
align="center">
<template slot-scope="scope">
<div class="el-input">
<input class="el-input__inner" type="text" v-model.lazy="scope.row.technicalRequir" placeholder="请输入核心技术要求" maxlength="500">
</div>
</template>
</el-table-column>
<el-table-column
:disabled="acceptShow"
@@ -184,94 +180,80 @@
width="150"
v-if="form.itemsNum1"
label="基于上一版本差异"
show-overflow-tooltip
align="center">
<template slot-scope="scope">
<div class="el-input">
<input :disabled="acceptShow" class="el-input__inner" type="text" v-model.lazy="scope.row.changePoint" placeholder="请输入基于上一版本差异" maxlength="500">
</div>
</template>
</el-table-column>
<el-table-column
v-if="sarType === 'FOREIGN' && form.itemsNum1"
prop="changePoint"
width="150"
label="相对于国行标差异点"
show-overflow-tooltip
align="center">
<template slot-scope="scope">
<div class="el-input">
<input :disabled="acceptShow" class="el-input__inner" type="text" v-model.lazy="scope.row.changePoint" placeholder="请输入相对于国行标差异点" maxlength="500" >
</div>
</template>
</el-table-column>
<el-table-column
prop="complianceRequir"
width="150"
label="符合项状态"
show-overflow-tooltip
align="center">
<template slot-scope="scope">
<My-select :disabled="acceptShow" v-model="scope.row.complianceRequir" :options="fhList"></My-select>
{{ scope.row.complianceRequir === '1' ? '符合' : '不符合' }}
</template>
</el-table-column>
<el-table-column
prop="complianceState"
width="200"
label="合规性分析"
show-overflow-tooltip
align="center">
<template slot-scope="scope">
<div class="el-input">
<input :disabled="acceptShow" class="el-input__inner" type="text" v-model.lazy="scope.row.complianceState" placeholder="请输入合规性分析" maxlength="500">
</div>
</template>
</el-table-column>
<el-table-column
prop="newData"
width="150"
width="180"
show-overflow-tooltip
label="新车型实施日期"
align="center">
<template slot-scope="scope">
<el-date-picker
:disabled="acceptShow"
v-model.lazy="scope.row.newData"
type="date"
placeholder="选择新车型实施日期">
</el-date-picker>
</template>
</el-table-column>
<el-table-column
prop="onlineData"
width="150"
width="180"
show-overflow-tooltip
label="在产车型实施日期"
align="center">
<template slot-scope="scope">
<el-date-picker
:disabled="acceptShow"
v-model.lazy="scope.row.onlineData"
type="date"
placeholder="选择新车型实施日期">
</el-date-picker>
</template>
</el-table-column>
<el-table-column
prop="applyArctic"
width="150"
width="200"
label="适用车型"
show-overflow-tooltip
align="center">
<template slot-scope="scope">
<My-select :disabled="acceptShow" v-model="scope.row.applyArctic" :options="cxList"></My-select>
{{ scope.row.applyArctic.toString() }}
</template>
</el-table-column>
<el-table-column
prop="unitDeptName"
label="责任部门"
width="170"
width="200"
show-overflow-tooltip
align="center">
</el-table-column>
<el-table-column
label="责任人"
width="170"
prop="zrUserIdName"
show-overflow-tooltip
align="center">
</el-table-column>
<el-table-column
label="操作"
width="100"
align="center">
<template slot-scope="scope">
<el-button class="common-button-primary" size="mini" type="primary" @click="itemEdit(scope.row)">编辑</el-button>
</template>
</el-table-column>
</el-table>
<el-collapse accordion>
<el-collapse-item title="回执说明">
@@ -410,21 +392,21 @@
></el-input>
</el-form-item>
<el-form-item label="新车型实施日期" prop="newData" class="add-form-item" >
<el-date-picker
<custom-date-pick-group
class="myDataPick"
:config="plForm"
v-model="plForm.newData"
type="date"
placeholder="选择新车型实施日期">
</el-date-picker>
></custom-date-pick-group>
</el-form-item>
<el-form-item label="在产车实施日期" prop="onlineData" class="add-form-item" >
<el-date-picker
<custom-date-pick-group
class="myDataPick"
:config="plForm"
v-model="plForm.onlineData"
type="date"
placeholder="选择在产车实施日期">
</el-date-picker>
></custom-date-pick-group>
</el-form-item>
<el-form-item label="适用车型" prop="applyArctic" class="add-form-item" >
<el-select v-model="plForm.applyArctic">
<el-select multiple v-model="plForm.applyArctic">
<el-option v-for="(item,index) in cxList" :value="item.label" :label="item.label" :key="index"></el-option>
</el-select>
</el-form-item>
@@ -435,6 +417,75 @@
<el-button class="common-button-default" size="mini" icon="el-icon-close" @click="cancleUserInfo">取消</el-button>
</div>
</el-drawer>
<el-drawer
title="编辑"
:visible.sync="modalshowflag2"
:wrapperClosable="false"
size="800px">
<div class="demo-drawer-content">
<el-form :model="editForm" class="label-input-form" ref="plForm" label-width=150>
<el-form-item label="核心技术要求" prop="technicalRequir" class="add-form-item" v-if="!form.itemsNum1">
<el-input
v-model="editForm.technicalRequir"
placeholder="请输入核心技术要求"
maxlength="500"
></el-input>
</el-form-item>
<el-form-item label="国内标准的差异点" prop="changePoint" class="add-form-item" v-if="sarType !== 'INLAND' && form.itemsNum1">
<el-input
v-model="editForm.changePoint"
placeholder="请输入国内标准的差异点"
maxlength="500"
></el-input>
</el-form-item>
<el-form-item label="上一版本差异点" prop="changePoint" class="add-form-item" v-if="sarType === 'INLAND' && form.itemsNum1">
<el-input
v-model="editForm.changePoint"
placeholder="请输入上一版本差异点"
maxlength="500"
></el-input>
</el-form-item>
<el-form-item label="符合性要求" prop="complianceRequir" class="add-form-item" >
<el-select
v-model="editForm.complianceRequir"
placeholder="请选择符合性要求">
<el-option value="1" label="符合"></el-option>
<el-option value="2" label="不符合"></el-option>
</el-select>
</el-form-item>
<el-form-item label="合规性分析" prop="complianceState" class="add-form-item" >
<el-input
v-model="editForm.complianceState"
placeholder="请输入合规性分析"
maxlength="500"
></el-input>
</el-form-item>
<el-form-item label="新车型实施日期" prop="newData" class="add-form-item" >
<custom-date-pick-group
class="myDataPick"
:config="editForm"
v-model="editForm.newData"
></custom-date-pick-group>
</el-form-item>
<el-form-item label="在产车实施日期" prop="onlineData" class="add-form-item" >
<custom-date-pick-group
class="myDataPick"
:config="editForm"
v-model="editForm.onlineData"
></custom-date-pick-group>
</el-form-item>
<el-form-item label="适用车型" prop="applyArctic" class="add-form-item" >
<el-select multiple v-model="editForm.applyArctic">
<el-option v-for="(item,index) in cxList" :value="item.label" :label="item.label" :key="index"></el-option>
</el-select>
</el-form-item>
</el-form>
</div>
<div id="roleFormButton3" class="demo-drawer-footer">
<el-button class="common-button-primary" size="mini" icon="el-icon-check" type="primary" @click="saveUserInfo2">确定</el-button>
<el-button class="common-button-default" size="mini" icon="el-icon-close" @click="cancleUserInfo2">取消</el-button>
</div>
</el-drawer>
<el-dialog
title="查看条款内容"
:visible.sync="itermsConditionsFlag"
@@ -449,6 +500,7 @@
</template>
<script>
import CustomDatePickGroup from '@/components/CustomFormComponents/DatePickerGroup'
import ProcessHeader from '../../components/ProcessHeader'
import ProcessFooter from '../../components/ProcessFooter'
import ProcessTitle from '../../components/ProcessTitle'
@@ -459,6 +511,8 @@
name: "bzjdStep3",
data() {
return {
modalshowflag2: false,
itemId: '',
drawerModal: false,
//折叠的标志,true为折叠,false为不折叠
foldFormFlag: false,
@@ -485,6 +539,15 @@
onlineData: '', // 在产车实施日期
applyArctic: '', // 适用车型
},
editForm: {
technicalRequir: '', // 核心技术要求
changePoint: '', // 国内标准的差异点
complianceRequir: '1', // 符合性要求
complianceState: '', // 合规性分析
newData: '', // 新车型实施日期
onlineData: '', // 在产车实施日期
applyArctic: '', // 适用车型
},
modalshowflag: false,
sarType: '',
itemList: [],
@@ -510,11 +573,42 @@
}
},
components: {
CustomDatePickGroup,
ProcessHeader,
ProcessFooter,
ProcessTitle
},
methods: {
itemEdit (row) {
this.itemId = row.id
this.modalshowflag2 = true
this.editForm = {
technicalRequir: row.technicalRequir, // 核心技术要求
changePoint: row.changePoint, // 国内标准的差异点
complianceRequir: row.complianceRequir || '1', // 符合性要求
complianceState: row.complianceState, // 合规性分析
newData: row.newData, // 新车型实施日期
onlineData: row.onlineData, // 在产车实施日期
applyArctic: row.applyArctic, // 适用车型
}
},
saveUserInfo2 () {
for( let a = 0; a < this.itemList.length; a++) {
if (this.itemList[a].id === this.itemId) {
this.itemList[a].technicalRequir = this.editForm.technicalRequir
this.itemList[a].changePoint = this.editForm.changePoint
this.itemList[a].complianceRequir = this.editForm.complianceRequir
this.itemList[a].complianceState = this.editForm.complianceState
this.itemList[a].newData = this.editForm.newData
this.itemList[a].onlineData = this.editForm.onlineData
this.itemList[a].applyArctic = this.editForm.applyArctic
}
}
this.modalshowflag2 = false
},
cancleUserInfo2 () {
this.modalshowflag2 = false
},
handleTransfer() {
this.drawerModal = true
},
@@ -742,7 +836,7 @@
itemList = data.itemList
}
itemList.forEach(item => {
item.unitDeptName = this.$store.getters.userInfo.orgName
item.unitDeptName = this.$store.getters.userInfo.institutionName
item.onlineData = item.onlineData || ''
item.newData = item.newData || ''
item.complianceState = item.complianceState || ''
@@ -751,8 +845,10 @@
item.changePoint = item.changePoint || ''
item.technicalRequir = item.technicalRequir || ''
item.itemsTitle = item.itermsConditions
item.applyArctic = item.applyArctic || ''
item.applyArctic = item.applyArctic || []
})
this.itemList = itemList
this.loading = false
}).catch(e => {
@@ -784,6 +880,11 @@
padding: 0 20px 0;
}
}
.myDataPick {
/deep/.el-form-item__content {
margin-left: 0px !important;
}
}
.fileClass {
cursor: pointer;
}
@@ -170,7 +170,7 @@
</el-table-column>
<el-table-column
show-overflow-tooltip
v-if="sarType === 'INLAND'"
v-if="sarType === 'INLAND' && form.itemsNum1"
prop="changePoint"
width="150"
label="基于上一版本差异"
@@ -203,27 +203,27 @@
</el-table-column>
<el-table-column
prop="newData"
show-overflow-tooltip
width="150"
label="新车型实施日期"
align="center">
<template slot-scope="scope">
<div>{{ scope.row.newData ? $moment(scope.row.newData).format('YYYY-MM-DD') : scope.row.newData }}</div>
</template>
</el-table-column>
<el-table-column
prop="onlineData"
show-overflow-tooltip
width="150"
label="在产车型实施日期"
align="center">
<template slot-scope="scope">
<div>{{ scope.row.onlineData ? $moment(scope.row.onlineData).format('YYYY-MM-DD') : scope.row.onlineData }}</div>
</template>
</el-table-column>
<el-table-column
prop="applyArctic"
width="150"
label="适用车型"
show-overflow-tooltip
align="center">
<template slot-scope="scope">
{{ scope.row.applyArctic.toString() }}
</template>
</el-table-column>
<el-table-column
prop="unitDeptName"
@@ -170,7 +170,7 @@
</el-table-column>
<el-table-column
show-overflow-tooltip
v-if="sarType === 'INLAND'"
v-if="sarType === 'INLAND' && form.itemsNum1"
prop="changePoint"
width="150"
label="基于上一版本差异"
@@ -202,28 +202,28 @@
align="center">
</el-table-column>
<el-table-column
show-overflow-tooltip
prop="newData"
width="150"
label="新车型实施日期"
align="center">
<template slot-scope="scope">
<div>{{ scope.row.newData ? $moment(scope.row.newData).format('YYYY-MM-DD') : scope.row.newData }}</div>
</template>
</el-table-column>
<el-table-column
show-overflow-tooltip
prop="onlineData"
width="150"
label="在产车型实施日期"
align="center">
<template slot-scope="scope">
<div>{{ scope.row.onlineData ? $moment(scope.row.onlineData).format('YYYY-MM-DD') : scope.row.onlineData }}</div>
</template>
</el-table-column>
<el-table-column
prop="applyArctic"
width="150"
label="适用车型"
show-overflow-tooltip
align="center">
<template slot-scope="scope">
{{ scope.row.applyArctic.toString() }}
</template>
</el-table-column>
<el-table-column
prop="unitDeptName"
@@ -171,7 +171,7 @@
</el-table-column>
<el-table-column
show-overflow-tooltip
v-if="sarType === 'INLAND'"
v-if="sarType === 'INLAND' && form.itemsNum1"
prop="changePoint"
width="150"
label="基于上一版本差异"
@@ -205,26 +205,26 @@
<el-table-column
prop="newData"
width="150"
show-overflow-tooltip
label="新车型实施日期"
align="center">
<template slot-scope="scope">
<div>{{ scope.row.newData ? $moment(scope.row.newData).format('YYYY-MM-DD') : scope.row.newData }}</div>
</template>
</el-table-column>
<el-table-column
prop="onlineData"
width="150"
show-overflow-tooltip
label="在产车型实施日期"
align="center">
<template slot-scope="scope">
<div>{{ scope.row.onlineData ? $moment(scope.row.onlineData).format('YYYY-MM-DD') : scope.row.onlineData }}</div>
</template>
</el-table-column>
<el-table-column
prop="applyArctic"
width="150"
label="适用车型"
show-overflow-tooltip
align="center">
<template slot-scope="scope">
{{ scope.row.applyArctic.toString() }}
</template>
</el-table-column>
<el-table-column
prop="unitDeptName"
@@ -134,18 +134,12 @@
prop="XCXSSRQ"
align="center"
label="新车型实施日期">
<template slot-scope="scope">
<span>{{ scope.row.XCXSSRQ ? $moment(scope.row.XCXSSRQ).format("YYYY-MM-DD") : "" }}</span>
</template>
</el-table-column>
<el-table-column
show-overflow-tooltip
prop="ZCCSSRQ"
align="center"
label="在产车实施日期">
<template slot-scope="scope">
<span>{{ scope.row.ZCCSSRQ ? $moment(scope.row.ZCCSSRQ).format("YYYY-MM-DD") : "" }}</span>
</template>
</el-table-column>
<el-table-column
show-overflow-tooltip
@@ -645,18 +639,12 @@
prop="XCXSSRQ"
align="center"
label="新车型实施日期">
<template slot-scope="scope">
<span>{{ scope.row.XCXSSRQ ? $moment(scope.row.XCXSSRQ).format("YYYY-MM-DD") : "" }}</span>
</template>
</el-table-column>
<el-table-column
show-overflow-tooltip
prop="ZCCSSRQ"
align="center"
label="在产车实施日期">
<template slot-scope="scope">
<span>{{ scope.row.ZCCSSRQ ? $moment(scope.row.ZCCSSRQ).format("YYYY-MM-DD") : "" }}</span>
</template>
</el-table-column>
<el-table-column
show-overflow-tooltip
@@ -1052,7 +1040,7 @@ export default {
this.getStandData();
},
getStandData() {
this.$http.get("sarStandardsInfo/sar-standards-info/getSarStandardsInfoPage", {
this.$http.get("sarStandardsInfo/sar-standards-info/getSarStandardsInfoPageByWk1", {
standType: this.standardSearch.standType,
standNumber: this.standardSearch.standNumber,
page: this.pageNo,
@@ -1062,9 +1050,9 @@ export default {
}, res => {
this.standardData = res.data.list;
this.standardData.forEach(item => {
this.$set(item, "ZCCSSRQ", item.attrInfoMap.ZCCSSRQ);
this.$set(item, "XCXSSRQ", item.attrInfoMap.XCXSSRQ);
});
this.$set(item, "ZCCSSRQ", item.zccssrq);
this.$set(item, "XCXSSRQ", item.xcxssrq);
})
this.totalNo = res.data.count;
}, e => {
});
@@ -134,18 +134,12 @@
prop="XCXSSRQ"
align="center"
label="新车型实施日期">
<template slot-scope="scope">
<span>{{ scope.row.XCXSSRQ ? $moment(scope.row.XCXSSRQ).format("YYYY-MM-DD") : "" }}</span>
</template>
</el-table-column>
<el-table-column
show-overflow-tooltip
prop="ZCCSSRQ"
align="center"
label="在产车实施日期">
<template slot-scope="scope">
<span>{{ scope.row.ZCCSSRQ ? $moment(scope.row.ZCCSSRQ).format("YYYY-MM-DD") : "" }}</span>
</template>
</el-table-column>
<el-table-column
show-overflow-tooltip
@@ -615,18 +609,12 @@
prop="XCXSSRQ"
align="center"
label="新车型实施日期">
<template slot-scope="scope">
<span>{{ scope.row.XCXSSRQ ? $moment(scope.row.XCXSSRQ).format("YYYY-MM-DD") : "" }}</span>
</template>
</el-table-column>
<el-table-column
show-overflow-tooltip
prop="ZCCSSRQ"
align="center"
label="在产车实施日期">
<template slot-scope="scope">
<span>{{ scope.row.ZCCSSRQ ? $moment(scope.row.ZCCSSRQ).format("YYYY-MM-DD") : "" }}</span>
</template>
</el-table-column>
<el-table-column
show-overflow-tooltip
@@ -984,7 +972,7 @@ export default {
},
//
getStandData() {
this.$http.get("sarStandardsInfo/sar-standards-info/getSarStandardsInfoPage", {
this.$http.get("sarStandardsInfo/sar-standards-info/getSarStandardsInfoPageByWk1", {
standType: this.standardSearch.standType,
standNumber: this.standardSearch.standNumber,
page: this.pageNo,
@@ -994,13 +982,8 @@ export default {
}, res => {
this.standardData = res.data.list;
this.standardData.forEach(item => {
if (item.attrInfoMap === null) {
this.$set(item, "ZCCSSRQ", '');
this.$set(item, "XCXSSRQ", '');
} else {
this.$set(item, "ZCCSSRQ", item.attrInfoMap.ZCCSSRQ);
this.$set(item, "XCXSSRQ", item.attrInfoMap.XCXSSRQ);
}
this.$set(item, "ZCCSSRQ", item.zccssrq);
this.$set(item, "XCXSSRQ", item.xcxssrq);
})
this.totalNo = res.data.count;
}, e => {
@@ -97,12 +97,24 @@
</el-date-picker>
</el-form-item>
<el-form-item label="起草责任单位" prop="unit" class="add-form-item form-item-disabled">
<el-input
readonly
v-model="qbfsForm.unit"
placeholder="请输入起草责任单位"
clearable
></el-input>
<div v-if="qbfsForm.unit.length > 0">
<el-tooltip class="item" effect="dark" :content="qbfsForm.unit" placement="top-start">
<el-input
readonly
v-model="qbfsForm.unit"
placeholder="请输入起草责任单位"
clearable
></el-input>
</el-tooltip>
</div>
<div v-else>
<el-input
readonly
v-model="qbfsForm.unit"
placeholder="请输入起草责任单位"
clearable
></el-input>
</div>
</el-form-item>
</el-col>
</el-row>
@@ -105,12 +105,24 @@
</el-date-picker>
</el-form-item>
<el-form-item label="起草责任单位" prop="unit" class="add-form-item form-item-disabled">
<el-input
readonly
v-model="qbfsForm.unit"
placeholder="请输入起草责任单位"
clearable
></el-input>
<div v-if="qbfsForm.unit.length > 0">
<el-tooltip class="item" effect="dark" :content="qbfsForm.unit" placement="top-start">
<el-input
readonly
v-model="qbfsForm.unit"
placeholder="请输入起草责任单位"
clearable
></el-input>
</el-tooltip>
</div>
<div v-else>
<el-input
readonly
v-model="qbfsForm.unit"
placeholder="请输入起草责任单位"
clearable
></el-input>
</div>
</el-form-item>
<el-form-item label="延期后标准发布时间" prop="yqReleaseTime" class="add-form-item form-item-disabled">
<el-date-picker
@@ -64,33 +64,33 @@
placeholder="请选择计划标准发布时间">
</el-date-picker>
</el-form-item>
<el-form-item label="起草责任单位" style="width: 100%; margin-right:10px" class="add-form-item" prop="unit" >
<div style="display: flex;justify-content: space-between;align-items: center;">
<el-input
clearable
v-model="qbfsForm.unit"
placeholder="选择或输入起草单位">
</el-input>
<div>
<el-button
size="mini"
type="primary"
@click="QCDWClick"
class="common-button-primary">手动查找</el-button>
</div>
</div>
</el-form-item>
<!-- <el-form-item label="起草责任单位" style="width: 100%; margin-right:10px" prop="unit" class="add-form-item form-item-disabled">-->
<!-- <el-select v-model="qbfsForm.unit" filterable multiple clearable>-->
<!-- <el-option-->
<!-- v-for="item in qcdwOptions"-->
<!-- placeholder="请选择起草责任单位"-->
<!-- :key="item.value"-->
<!-- :value="item.label"-->
<!-- :label="item.label"-->
<!-- ></el-option>-->
<!-- </el-select>-->
<!-- <el-form-item label="起草责任单位" style="width: 100%; margin-right:10px" class="add-form-item" prop="unit" >-->
<!-- <div style="display: flex;justify-content: space-between;align-items: center;">-->
<!-- <el-input-->
<!-- clearable-->
<!-- v-model="qbfsForm.unit"-->
<!-- placeholder="选择或输入起草单位">-->
<!-- </el-input>-->
<!-- <div>-->
<!-- <el-button-->
<!-- size="mini"-->
<!-- type="primary"-->
<!-- @click="QCDWClick"-->
<!-- class="common-button-primary">手动查找</el-button>-->
<!-- </div>-->
<!-- </div>-->
<!-- </el-form-item>-->
<el-form-item label="起草责任单位" style="width: 100%; margin-right:10px" prop="unit" class="add-form-item form-item-disabled">
<el-select v-model="qbfsForm.unit" filterable multiple clearable>
<el-option
v-for="item in qcdwOptions"
placeholder="请选择起草责任单位"
:key="item.value"
:value="item.label"
:label="item.label"
></el-option>
</el-select>
</el-form-item>
<el-form-item label="新增原因" style="width: 100%; margin-right:10px" prop="newReason" class="add-form-item form-item-disabled">
<el-input
type="textarea"
@@ -185,7 +185,7 @@ export default {
},
qbfsFormRules: {
unit: [
{required: true, message: '请输入单位', trigger: 'blur'},
{required: true, message: '请选择起草单位', trigger: 'change'},
],
esName: [
{required: true, message: '请输入企标名称', trigger: 'blur'},
@@ -81,22 +81,33 @@
placeholder="请选择初稿完成时间">
</el-date-picker>
</el-form-item>
<el-form-item label="起草责任单位" style="width: 100%; margin-right:10px" class="add-form-item" prop="unit" >
<div style="display: flex;justify-content: space-between;align-items: center;">
<el-input
clearable
v-model="qbfsForm.unit"
placeholder="选择或输入起草单位">
</el-input>
<div>
<el-button
size="mini"
type="primary"
@click="QCDWClick"
class="common-button-primary">手动查找</el-button>
</div>
</div>
<el-form-item label="起草责任单位" style="width: 100%; margin-right:10px" prop="unit" class="add-form-item form-item-disabled">
<el-select v-model="qbfsForm.unit" filterable multiple clearable>
<el-option
v-for="item in qcdwOptions"
placeholder="请选择起草责任单位"
:key="item.value"
:value="item.label"
:label="item.label"
></el-option>
</el-select>
</el-form-item>
<!-- <el-form-item label="起草责任单位" style="width: 100%; margin-right:10px" class="add-form-item" prop="unit" >-->
<!-- <div style="display: flex;justify-content: space-between;align-items: center;">-->
<!-- <el-input-->
<!-- clearable-->
<!-- v-model="qbfsForm.unit"-->
<!-- placeholder="选择或输入起草单位">-->
<!-- </el-input>-->
<!-- <div>-->
<!-- <el-button-->
<!-- size="mini"-->
<!-- type="primary"-->
<!-- @click="QCDWClick"-->
<!-- class="common-button-primary">手动查找</el-button>-->
<!-- </div>-->
<!-- </div>-->
<!-- </el-form-item>-->
</el-col>
<el-col :span="12">
<el-form-item prop="planStatus" label="计划状态" style="width: 100%; margin-right:10px" class="add-form-item form-item-disabled">
@@ -340,7 +351,7 @@ export default {
{required: true, message: '请选择合并计划企标名称', trigger: 'blur'},
],
unit: [
{required: true, message: '请输入单位', trigger: 'blur'},
{required: true, message: '请选择起草单位', trigger: 'change'},
],
esName: [
{required: true, message: '请输入企标名称', trigger: 'blur'},
@@ -96,12 +96,24 @@
</el-date-picker>
</el-form-item>
<el-form-item label="起草责任单位" prop="unit" class="add-form-item form-item-disabled">
<el-input
readonly
v-model="qbfsForm.unit"
placeholder="请输入起草责任单位"
clearable
></el-input>
<div v-if="qbfsForm.unit.length > 0">
<el-tooltip class="item" effect="dark" :content="qbfsForm.unit" placement="top-start">
<el-input
readonly
v-model="qbfsForm.unit"
placeholder="请输入起草责任单位"
clearable
></el-input>
</el-tooltip>
</div>
<div v-else>
<el-input
readonly
v-model="qbfsForm.unit"
placeholder="请输入起草责任单位"
clearable
></el-input>
</div>
</el-form-item>
<el-form-item label="更名原因" prop="renameReason" class="add-form-item form-item-disabled">
<el-input
@@ -367,17 +367,11 @@
<el-table-column
prop="xcxssrqgj"
label="新车型实施日期">
<template slot-scope="scope">
<span>{{ scope.row.xcxssrqgj ? $moment(scope.row.xcxssrqgj).format("YYYY-MM-DD") : "" }}</span>
</template>
</el-table-column>
<el-table-column
show-overflow-tooltip
prop="zccssrqgj"
label="在产车实施日期">
<template slot-scope="scope">
<span>{{ scope.row.zccssrqgj ? $moment(scope.row.zccssrqgj).format("YYYY-MM-DD") : "" }}</span>
</template>
</el-table-column>
<el-table-column
show-overflow-tooltip
@@ -370,17 +370,11 @@
<el-table-column
prop="xcxssrqgj"
label="新车型实施日期">
<template slot-scope="scope">
<span>{{ scope.row.xcxssrqgj ? $moment(scope.row.xcxssrqgj).format("YYYY-MM-DD") : "" }}</span>
</template>
</el-table-column>
<el-table-column
show-overflow-tooltip
prop="zccssrqgj"
label="在产车实施日期">
<template slot-scope="scope">
<span>{{ scope.row.zccssrqgj ? $moment(scope.row.zccssrqgj).format("YYYY-MM-DD") : "" }}</span>
</template>
</el-table-column>
<el-table-column
show-overflow-tooltip
@@ -866,7 +866,7 @@ export default {
saveBatchEditForm() {
this.dataList.forEach(item => {
this.selectList.forEach(items => {
if (item.id === items) {
if (item.itemNum === items.itemNum) {
item.complianceReasons = this.batchEditForm.complianceReasons;
//
item.noCompliance = this.batchEditForm.noCompliance;
@@ -884,10 +884,10 @@ export default {
},
//
selectStandChange(data) {
this.selectList = [];
for (let i = 0; i < data.length; i++) {
this.selectList.push(data[i].id);
}
this.selectList = data;
// for (let i = 0; i < data.length; i++) {
// this.selectList.push(data[i].id);
// }
},
selectThree() {
@@ -118,18 +118,12 @@
align="center"
sortable
label="标准实施日期">
<template slot-scope="scope">
<span>{{ scope.row.ssrq ? $moment(scope.row.ssrq).format("YYYY-MM-DD") : "" }}</span>
</template>
</el-table-column>
<el-table-column
prop="xcxssrq"
width="190px"
align="center"
label="新车型实施日期">
<template slot-scope="scope">
<span>{{ scope.row.xcxssrq ? $moment(scope.row.xcxssrq).format("YYYY-MM-DD") : "" }}</span>
</template>
</el-table-column>
<el-table-column
prop="zccssrq"
@@ -137,9 +131,6 @@
sortable
width="190px"
label="在产车实施日期">
<template slot-scope="scope">
<span>{{ scope.row.zccssrq ? $moment(scope.row.zccssrq).format("YYYY-MM-DD") : "" }}</span>
</template>
</el-table-column>
<el-table-column
prop="zrbm"
@@ -128,18 +128,12 @@
align="center"
sortable
label="标准实施日期">
<template slot-scope="scope">
<span>{{ scope.row.ssrq ? $moment(scope.row.ssrq).format("YYYY-MM-DD") : "" }}</span>
</template>
</el-table-column>
<el-table-column
prop="xcxssrq"
width="190px"
align="center"
label="新车型实施日期">
<template slot-scope="scope">
<span>{{ scope.row.xcxssrq ? $moment(scope.row.xcxssrq).format("YYYY-MM-DD") : "" }}</span>
</template>
</el-table-column>
<el-table-column
prop="zccssrq"
@@ -147,9 +141,6 @@
sortable
width="190px"
label="在产车实施日期">
<template slot-scope="scope">
<span>{{ scope.row.zccssrq ? $moment(scope.row.zccssrq).format("YYYY-MM-DD") : "" }}</span>
</template>
</el-table-column>
<el-table-column
prop="zrbm"
@@ -102,18 +102,12 @@
align="center"
sortable
label="标准实施日期">
<template slot-scope="scope">
<span>{{ scope.row.ssrq ? $moment(scope.row.ssrq).format("YYYY-MM-DD") : "" }}</span>
</template>
</el-table-column>
<el-table-column
prop="xcxssrq"
width="190px"
align="center"
label="新车型实施日期">
<template slot-scope="scope">
<span>{{ scope.row.xcxssrq ? $moment(scope.row.xcxssrq).format("YYYY-MM-DD") : "" }}</span>
</template>
</el-table-column>
<el-table-column
prop="zccssrq"
@@ -121,9 +115,6 @@
sortable
width="190px"
label="在产车实施日期">
<template slot-scope="scope">
<span>{{ scope.row.zccssrq ? $moment(scope.row.zccssrq).format("YYYY-MM-DD") : "" }}</span>
</template>
</el-table-column>
<el-table-column
prop="zrbm"
@@ -115,27 +115,18 @@
width="190px"
align="center"
label="标准实施日期">
<template slot-scope="scope">
<span>{{ scope.row.ssrq ? scope.row.ssrq.substring(0, 10) : '-' }}</span>
</template>
</el-table-column>
<el-table-column
prop="xcxssrq"
width="190px"
align="center"
label="新车型实施日期">
<template slot-scope="scope">
<span>{{ scope.row.xcxssrq ? scope.row.xcxssrq.substring(0, 10) : '-' }}</span>
</template>
</el-table-column>
<el-table-column
prop="zccssrq"
align="center"
width="190px"
label="在产车实施日期">
<template slot-scope="scope">
<span>{{ scope.row.zccssrq ? scope.row.zccssrq.substring(0, 10) : '-' }}</span>
</template>
</el-table-column>
<el-table-column
prop="zrbm"
@@ -311,6 +302,7 @@
width="55"
align="center">
</el-table-column>
<div v-if="handleSelectForm.dataSource === 'INLAND'">
<el-table-column
label="标准号"
@@ -357,7 +349,7 @@
<template slot-scope="scope">
<!-- {{ formatIssueDate(scope.row.putTime) }}-->
<span v-if="textStatusMap[scope.row.textStatus] === '废止' || textStatusMap[scope.row.textStatus] === '被代替'" style="color: #F56C6C">{{ scope.row.SSRQ ? scope.row.SSRQ.substring(0, 10) : '-' }}</span>
<span v-else>{{ scope.row.ssrq ? scope.row.ssrq.substring(0, 10) : '-' }}</span>
<span v-else>{{ scope.row.ssrq }}</span>
</template>
</el-table-column>
@@ -368,7 +360,7 @@
label="新车型实施日期">
<template slot-scope="scope">
<span v-if="textStatusMap[scope.row.textStatus] === '废止' || textStatusMap[scope.row.textStatus] === '被代替'" style="color: #F56C6C">{{ scope.row.XCXSSRQ ? scope.row.XCXSSRQ.substring(0, 10) : '-' }}</span>
<span v-else>{{ scope.row.xcxssrq ? scope.row.xcxssrq.substring(0, 10) : '-' }}</span>
<span v-else>{{ scope.row.xcxssrq }}</span>
</template>
</el-table-column>
<el-table-column
@@ -377,7 +369,7 @@
label="在产车实施日期">
<template slot-scope="scope">
<span v-if="textStatusMap[scope.row.textStatus] === '废止' || textStatusMap[scope.row.textStatus] === '被代替'" style="color: #F56C6C">{{ scope.row.ZCCSSRQ ? scope.row.ZCCSSRQ.substring(0, 10) : '-' }}</span>
<span v-else>{{ scope.row.zccssrq ? scope.row.zccssrq.substring(0, 10) : '-' }}</span>
<span v-else>{{ scope.row.zccssrq }}</span>
</template>
</el-table-column>
<el-table-column
@@ -459,12 +451,12 @@
<template slot-scope="scope">
<!-- {{ formatIssueDate(scope.row.putTime) }}-->
<span v-if="textStatusMap[scope.row.textStatus] === '废止' || textStatusMap[scope.row.textStatus] === '被代替'" style="color: #F56C6C">{{
scope.row.ssrq ? scope.row.ssrq.substring(0, 10) : '-'
scope.row.ssrq
}}</span>
<span v-else-if="textStatusMap[scope.row.textStatus] === '——' " style="color: #409EFF">{{
scope.row.ssrq ? scope.row.ssrq.substring(0, 10) : '-'
scope.row.ssrq
}}</span>
<span v-else style="color: #333333">{{ scope.row.ssrq ? scope.row.ssrq.substring(0, 10) : '-' }}</span>
<span v-else style="color: #333333">{{ scope.row.ssrq }}</span>
</template>
</el-table-column>
@@ -474,13 +466,13 @@
label="新车型实施日期">
<template slot-scope="scope">
<span v-if="textStatusMap[scope.row.textStatus] === '废止' || textStatusMap[scope.row.textStatus] === '被代替'" style="color: #F56C6C">{{
scope.row.xcxssrq ? scope.row.xcxssrq.substring(0, 10) : '-'
scope.row.xcxssrq
}}</span>
<span v-else-if="textStatusMap[scope.row.textStatus] === '——' " style="color: #409EFF">{{
scope.row.xcxssrq ? scope.row.xcxssrq.substring(0, 10) : '-'
scope.row.xcxssrq
}}</span>
<span v-else style="color: #333333">{{
scope.row.xcxssrq ? scope.row.xcxssrq.substring(0, 10) : '-'
scope.row.xcxssrq
}}</span>
</template>
</el-table-column>
@@ -490,13 +482,13 @@
label="在产车实施日期">
<template slot-scope="scope">
<span v-if="textStatusMap[scope.row.textStatus] === '废止' || textStatusMap[scope.row.textStatus] === '被代替'" style="color: #F56C6C">{{
scope.row.zccssrq ? scope.row.zccssrq.substring(0, 10) : '-'
scope.row.zccssrq
}}</span>
<span v-else-if="textStatusMap[scope.row.textStatus] === '——' " style="color: #409EFF">{{
scope.row.zccssrq ? scope.row.zccssrq.substring(0, 10) : '-'
scope.row.zccssrq
}}</span>
<span v-else style="color: #333333">{{
scope.row.zccssrq ? scope.row.zccssrq.substring(0, 10) : '-'
scope.row.zccssrq
}}</span>
</template>
</el-table-column>
@@ -563,9 +555,9 @@
width="120"
>
<template slot-scope="scope">
<span v-if="scope.row.standStatusShow === '作废'" style="color: #F56C6C">{{scope.row.issueTime ? scope.row.issueTime.slice(0, 10) : ''}}</span>
<span v-if="scope.row.standStatusShow === '参考' " style="color: #E6A23C">{{scope.row.issueTime ? scope.row.issueTime.slice(0, 10) : ''}}</span>
<span v-if="scope.row.standStatusShow !== '作废' && scope.row.standStatusShow !== '参考'">{{scope.row.issueTime ? scope.row.issueTime.slice(0, 10) : ''}}</span>
<span v-if="scope.row.standStatusShow === '作废'" style="color: #F56C6C">{{scope.row.issueTime}}</span>
<span v-if="scope.row.standStatusShow === '参考' " style="color: #E6A23C">{{scope.row.issueTime}}</span>
<span v-if="scope.row.standStatusShow !== '作废' && scope.row.standStatusShow !== '参考'">{{scope.row.issueTime}}</span>
</template>
</el-table-column>
<el-table-column
@@ -574,9 +566,9 @@
width="120"
>
<template slot-scope="scope">
<span v-if="scope.row.standStatusShow === '作废'" style="color: #F56C6C">{{scope.row.putTime ? scope.row.putTime.slice(0, 10) : ''}}</span>
<span v-if="scope.row.standStatusShow === '参考'" style="color: #E6A23C">{{scope.row.putTime ? scope.row.putTime.slice(0, 10) : ''}}</span>
<span v-if="scope.row.standStatusShow !== '作废' && scope.row.standStatusShow !== '参考'">{{scope.row.putTime ? scope.row.putTime.slice(0, 10) : ''}}</span>
<span v-if="scope.row.standStatusShow === '作废'" style="color: #F56C6C">{{scope.row.putTime}}</span>
<span v-if="scope.row.standStatusShow === '参考'" style="color: #E6A23C">{{scope.row.putTime}}</span>
<span v-if="scope.row.standStatusShow !== '作废' && scope.row.standStatusShow !== '参考'">{{scope.row.putTime}}</span>
</template>
</el-table-column>
<el-table-column
@@ -599,6 +591,7 @@
</template>
</el-table-column>
</div>
</el-table>
<!--分页-->
<pagination
@@ -874,6 +867,7 @@ export default {
},
//
getFormFieldList(item) {
console.log(item);
this.$nextTick(() => {
if(item.form === undefined){
this.qdform = JSON.parse(JSON.stringify(item));
@@ -918,6 +912,8 @@ export default {
if(item.zrbm === '[]'){
item.zrbm = ''
}
this.$set(item, 'zccssrq', item.zccssrqgj)
this.$set(item, 'xcxssrq', item.xcxssrqgj)
})
});
},
@@ -107,27 +107,18 @@
width="190px"
align="center"
label="标准实施日期">
<template slot-scope="scope">
<span>{{ scope.row.ssrq ? scope.row.ssrq.substring(0, 10) : '-' }}</span>
</template>
</el-table-column>
<el-table-column
prop="xcxssrq"
width="190px"
align="center"
label="新车型实施日期">
<template slot-scope="scope">
<span>{{ scope.row.xcxssrq ? scope.row.xcxssrq.substring(0, 10) : '-' }}</span>
</template>
</el-table-column>
<el-table-column
prop="zccssrq"
align="center"
width="190px"
label="在产车实施日期">
<template slot-scope="scope">
<span>{{ scope.row.zccssrq ? scope.row.zccssrq.substring(0, 10) : '-' }}</span>
</template>
</el-table-column>
<el-table-column
prop="zrbm"
@@ -284,14 +275,6 @@
clearable
:maxlength="100"></el-input>
</el-form-item>
<!-- <el-form-item label="标准名称/政策名称" class="search-item">-->
<!-- <el-input-->
<!-- v-model="handleSelectForm.lawName"-->
<!-- @change="lawNameSearch"-->
<!-- placeholder="根据标准名称/政策名称查找"-->
<!-- clearable-->
<!-- :maxlength="100"></el-input>-->
<!-- </el-form-item>-->
<el-form-item class="search-item btn-box">
<el-button
size="small"
@@ -378,7 +361,7 @@
<template slot-scope="scope">
<!-- {{ formatIssueDate(scope.row.putTime) }}-->
<span v-if="textStatusMap[scope.row.textStatus] === '废止' || textStatusMap[scope.row.textStatus] === '被代替'" style="color: #F56C6C">{{ scope.row.SSRQ ? scope.row.SSRQ.substring(0, 10) : '-' }}</span>
<span v-else>{{ scope.row.ssrq ? scope.row.ssrq.substring(0, 10) : '-' }}</span>
<span v-else>{{ scope.row.ssrq }}</span>
</template>
</el-table-column>
@@ -389,7 +372,7 @@
label="新车型实施日期">
<template slot-scope="scope">
<span v-if="textStatusMap[scope.row.textStatus] === '废止' || textStatusMap[scope.row.textStatus] === '被代替'" style="color: #F56C6C">{{ scope.row.XCXSSRQ ? scope.row.XCXSSRQ.substring(0, 10) : '-' }}</span>
<span v-else>{{ scope.row.xcxssrq ? scope.row.xcxssrq.substring(0, 10) : '-' }}</span>
<span v-else>{{ scope.row.xcxssrq }}</span>
</template>
</el-table-column>
<el-table-column
@@ -398,7 +381,7 @@
label="在产车实施日期">
<template slot-scope="scope">
<span v-if="textStatusMap[scope.row.textStatus] === '废止' || textStatusMap[scope.row.textStatus] === '被代替'" style="color: #F56C6C">{{ scope.row.ZCCSSRQ ? scope.row.ZCCSSRQ.substring(0, 10) : '-' }}</span>
<span v-else>{{ scope.row.zccssrq ? scope.row.zccssrq.substring(0, 10) : '-' }}</span>
<span v-else>{{ scope.row.zccssrq }}</span>
</template>
</el-table-column>
<el-table-column
@@ -480,12 +463,12 @@
<template slot-scope="scope">
<!-- {{ formatIssueDate(scope.row.putTime) }}-->
<span v-if="textStatusMap[scope.row.textStatus] === '废止' || textStatusMap[scope.row.textStatus] === '被代替'" style="color: #F56C6C">{{
scope.row.ssrq ? scope.row.ssrq.substring(0, 10) : '-'
scope.row.ssrq
}}</span>
<span v-else-if="textStatusMap[scope.row.textStatus] === '——' " style="color: #409EFF">{{
scope.row.ssrq ? scope.row.ssrq.substring(0, 10) : '-'
scope.row.ssrq
}}</span>
<span v-else style="color: #333333">{{ scope.row.ssrq ? scope.row.ssrq.substring(0, 10) : '-' }}</span>
<span v-else style="color: #333333">{{ scope.row.ssrq }}</span>
</template>
</el-table-column>
@@ -495,13 +478,13 @@
label="新车型实施日期">
<template slot-scope="scope">
<span v-if="textStatusMap[scope.row.textStatus] === '废止' || textStatusMap[scope.row.textStatus] === '被代替'" style="color: #F56C6C">{{
scope.row.xcxssrq ? scope.row.xcxssrq.substring(0, 10) : '-'
scope.row.xcxssrq
}}</span>
<span v-else-if="textStatusMap[scope.row.textStatus] === '——' " style="color: #409EFF">{{
scope.row.xcxssrq ? scope.row.xcxssrq.substring(0, 10) : '-'
scope.row.xcxssrq
}}</span>
<span v-else style="color: #333333">{{
scope.row.xcxssrq ? scope.row.xcxssrq.substring(0, 10) : '-'
scope.row.xcxssrq
}}</span>
</template>
</el-table-column>
@@ -511,13 +494,13 @@
label="在产车实施日期">
<template slot-scope="scope">
<span v-if="textStatusMap[scope.row.textStatus] === '废止' || textStatusMap[scope.row.textStatus] === '被代替'" style="color: #F56C6C">{{
scope.row.zccssrq ? scope.row.zccssrq.substring(0, 10) : '-'
scope.row.zccssrq
}}</span>
<span v-else-if="textStatusMap[scope.row.textStatus] === '——' " style="color: #409EFF">{{
scope.row.zccssrq ? scope.row.zccssrq.substring(0, 10) : '-'
scope.row.zccssrq
}}</span>
<span v-else style="color: #333333">{{
scope.row.zccssrq ? scope.row.zccssrq.substring(0, 10) : '-'
scope.row.zccssrq
}}</span>
</template>
</el-table-column>
@@ -584,9 +567,9 @@
width="120"
>
<template slot-scope="scope">
<span v-if="scope.row.standStatusShow === '作废'" style="color: #F56C6C">{{scope.row.issueTime ? scope.row.issueTime.slice(0, 10) : ''}}</span>
<span v-if="scope.row.standStatusShow === '参考' " style="color: #E6A23C">{{scope.row.issueTime ? scope.row.issueTime.slice(0, 10) : ''}}</span>
<span v-if="scope.row.standStatusShow !== '作废' && scope.row.standStatusShow !== '参考'">{{scope.row.issueTime ? scope.row.issueTime.slice(0, 10) : ''}}</span>
<span v-if="scope.row.standStatusShow === '作废'" style="color: #F56C6C">{{scope.row.issueTime}}</span>
<span v-if="scope.row.standStatusShow === '参考' " style="color: #E6A23C">{{scope.row.issueTime}}</span>
<span v-if="scope.row.standStatusShow !== '作废' && scope.row.standStatusShow !== '参考'">{{scope.row.issueTime}}</span>
</template>
</el-table-column>
<el-table-column
@@ -595,9 +578,9 @@
width="120"
>
<template slot-scope="scope">
<span v-if="scope.row.standStatusShow === '作废'" style="color: #F56C6C">{{scope.row.putTime ? scope.row.putTime.slice(0, 10) : ''}}</span>
<span v-if="scope.row.standStatusShow === '参考'" style="color: #E6A23C">{{scope.row.putTime ? scope.row.putTime.slice(0, 10) : ''}}</span>
<span v-if="scope.row.standStatusShow !== '作废' && scope.row.standStatusShow !== '参考'">{{scope.row.putTime ? scope.row.putTime.slice(0, 10) : ''}}</span>
<span v-if="scope.row.standStatusShow === '作废'" style="color: #F56C6C">{{scope.row.putTime}}</span>
<span v-if="scope.row.standStatusShow === '参考'" style="color: #E6A23C">{{scope.row.putTime}}</span>
<span v-if="scope.row.standStatusShow !== '作废' && scope.row.standStatusShow !== '参考'">{{scope.row.putTime}}</span>
</template>
</el-table-column>
<el-table-column
@@ -970,13 +953,6 @@ export default {
this.saveLoading = false;
});
},
handleRemark(){
this.dataList.map(item => {
if(item.involve === 'noInvolve'){
comFlag
}
})
},
//
handleSubmit() {
let comFlag = 0
@@ -988,6 +964,9 @@ export default {
if(comFlag > 0){
this.$message.warning('请填写不涉及的备注信息')
}else{
this.dataList.forEach(item => {
this.$set(item, 'standId', item.id)
})
this.isSubmit = true;
this.qdform.currentPerson = this.$store.getters.userInfo.userName;
this.qdform.commentText = this.commentText;
@@ -1050,34 +1029,34 @@ export default {
this.standModel = false;
},
//
okStand() {
if(this.standList.length < 1){
this.$message.warning('请至少选择一条数据进行添加')
}else{
this.standList.forEach(item =>{
if(item.ssrq === "-"){
item.ssrq = ''
}
if(item.zrbm === '[]'){
item.zrbm =''
}
})
this.standList.map(item => {
let addIndex
addIndex = this.dataList.findIndex(items =>{
return items.id === item.id
})
if(addIndex > -1){
this.$message.warning('请勿重复添加数据')
}else{
this.dataList.push(item)
}
})
this.standModel = false
}
},
// okStand() {
// if(this.standList.length < 1){
// this.$message.warning('')
// }else{
// this.standList.forEach(item =>{
// if(item.ssrq === "-"){
// item.ssrq = ''
// }
// if(item.zrbm === '[]'){
// item.zrbm =''
// }
// })
// this.standList.map(item => {
// let addIndex
// addIndex = this.dataList.findIndex(items =>{
// return items.id === item.id
// })
// if(addIndex > -1){
// this.$message.warning('')
// }else{
// this.dataList.push(item)
// }
// })
//
// this.standModel = false
// }
//
// },
//
clearLawBtn(){
this.lawInfoTableLoading = true
@@ -1162,6 +1141,7 @@ export default {
this.$message.warning('请先选择标准/政策来源')
}
},
//
handleSelectConfirm(){
if(this.handleSelectTableList.length < 1){
this.$message.warning('请至少选择一条数据进行添加')
@@ -1175,6 +1155,8 @@ export default {
}
})
this.handleSelectTableList.map(item => {
this.$set(item, 'involve', 'involve')
this.$set(item, 'remarks', '')
let addIndex
addIndex = this.dataList.findIndex(items =>{
return items.id === item.id
@@ -1185,10 +1167,6 @@ export default {
this.dataList.push(item)
}
})
this.dataList.forEach(item => {
this.$set(item, 'involve', 'involve')
this.$set(item, 'remarks', '')
})
this.standModel = false
}
},
@@ -107,27 +107,18 @@
width="190px"
align="center"
label="标准实施日期">
<template slot-scope="scope">
<span>{{ scope.row.ssrq ? scope.row.ssrq.substring(0, 10) : '-' }}</span>
</template>
</el-table-column>
<el-table-column
prop="xcxssrq"
width="190px"
align="center"
label="新车型实施日期">
<template slot-scope="scope">
<span>{{ scope.row.xcxssrq ? scope.row.xcxssrq.substring(0, 10) : '-' }}</span>
</template>
</el-table-column>
<el-table-column
prop="zccssrq"
align="center"
width="190px"
label="在产车实施日期">
<template slot-scope="scope">
<span>{{ scope.row.zccssrq ? scope.row.zccssrq.substring(0, 10) : '-' }}</span>
</template>
</el-table-column>
<el-table-column
prop="zrbm"
@@ -362,7 +353,7 @@
<template slot-scope="scope">
<!-- {{ formatIssueDate(scope.row.putTime) }}-->
<span v-if="textStatusMap[scope.row.textStatus] === '废止' || textStatusMap[scope.row.textStatus] === '被代替'" style="color: #F56C6C">{{ scope.row.SSRQ ? scope.row.SSRQ.substring(0, 10) : '-' }}</span>
<span v-else>{{ scope.row.ssrq ? scope.row.ssrq.substring(0, 10) : '-' }}</span>
<span v-else>{{ scope.row.ssrq }}</span>
</template>
</el-table-column>
@@ -373,7 +364,7 @@
label="新车型实施日期">
<template slot-scope="scope">
<span v-if="textStatusMap[scope.row.textStatus] === '废止' || textStatusMap[scope.row.textStatus] === '被代替'" style="color: #F56C6C">{{ scope.row.XCXSSRQ ? scope.row.XCXSSRQ.substring(0, 10) : '-' }}</span>
<span v-else>{{ scope.row.xcxssrq ? scope.row.xcxssrq.substring(0, 10) : '-' }}</span>
<span v-else>{{ scope.row.xcxssrq }}</span>
</template>
</el-table-column>
<el-table-column
@@ -382,7 +373,7 @@
label="在产车实施日期">
<template slot-scope="scope">
<span v-if="textStatusMap[scope.row.textStatus] === '废止' || textStatusMap[scope.row.textStatus] === '被代替'" style="color: #F56C6C">{{ scope.row.ZCCSSRQ ? scope.row.ZCCSSRQ.substring(0, 10) : '-' }}</span>
<span v-else>{{ scope.row.zccssrq ? scope.row.zccssrq.substring(0, 10) : '-' }}</span>
<span v-else>{{ scope.row.zccssrq }}</span>
</template>
</el-table-column>
<el-table-column
@@ -464,12 +455,12 @@
<template slot-scope="scope">
<!-- {{ formatIssueDate(scope.row.putTime) }}-->
<span v-if="textStatusMap[scope.row.textStatus] === '废止' || textStatusMap[scope.row.textStatus] === '被代替'" style="color: #F56C6C">{{
scope.row.ssrq ? scope.row.ssrq.substring(0, 10) : '-'
scope.row.ssrq
}}</span>
<span v-else-if="textStatusMap[scope.row.textStatus] === '——' " style="color: #409EFF">{{
scope.row.ssrq ? scope.row.ssrq.substring(0, 10) : '-'
scope.row.ssrq
}}</span>
<span v-else style="color: #333333">{{ scope.row.ssrq ? scope.row.ssrq.substring(0, 10) : '-' }}</span>
<span v-else style="color: #333333">{{ scope.row.ssrq }}</span>
</template>
</el-table-column>
@@ -479,13 +470,13 @@
label="新车型实施日期">
<template slot-scope="scope">
<span v-if="textStatusMap[scope.row.textStatus] === '废止' || textStatusMap[scope.row.textStatus] === '被代替'" style="color: #F56C6C">{{
scope.row.xcxssrq ? scope.row.xcxssrq.substring(0, 10) : '-'
scope.row.xcxssrq
}}</span>
<span v-else-if="textStatusMap[scope.row.textStatus] === '——' " style="color: #409EFF">{{
scope.row.xcxssrq ? scope.row.xcxssrq.substring(0, 10) : '-'
scope.row.xcxssrq
}}</span>
<span v-else style="color: #333333">{{
scope.row.xcxssrq ? scope.row.xcxssrq.substring(0, 10) : '-'
scope.row.xcxssrq
}}</span>
</template>
</el-table-column>
@@ -495,13 +486,13 @@
label="在产车实施日期">
<template slot-scope="scope">
<span v-if="textStatusMap[scope.row.textStatus] === '废止' || textStatusMap[scope.row.textStatus] === '被代替'" style="color: #F56C6C">{{
scope.row.zccssrq ? scope.row.zccssrq.substring(0, 10) : '-'
scope.row.zccssrq
}}</span>
<span v-else-if="textStatusMap[scope.row.textStatus] === '——' " style="color: #409EFF">{{
scope.row.zccssrq ? scope.row.zccssrq.substring(0, 10) : '-'
scope.row.zccssrq
}}</span>
<span v-else style="color: #333333">{{
scope.row.zccssrq ? scope.row.zccssrq.substring(0, 10) : '-'
scope.row.zccssrq
}}</span>
</template>
</el-table-column>
@@ -568,9 +559,9 @@
width="120"
>
<template slot-scope="scope">
<span v-if="scope.row.standStatusShow === '作废'" style="color: #F56C6C">{{scope.row.issueTime ? scope.row.issueTime.slice(0, 10) : ''}}</span>
<span v-if="scope.row.standStatusShow === '参考' " style="color: #E6A23C">{{scope.row.issueTime ? scope.row.issueTime.slice(0, 10) : ''}}</span>
<span v-if="scope.row.standStatusShow !== '作废' && scope.row.standStatusShow !== '参考'">{{scope.row.issueTime ? scope.row.issueTime.slice(0, 10) : ''}}</span>
<span v-if="scope.row.standStatusShow === '作废'" style="color: #F56C6C">{{scope.row.issueTime}}</span>
<span v-if="scope.row.standStatusShow === '参考' " style="color: #E6A23C">{{scope.row.issueTime}}</span>
<span v-if="scope.row.standStatusShow !== '作废' && scope.row.standStatusShow !== '参考'">{{scope.row.issueTime}}</span>
</template>
</el-table-column>
<el-table-column
@@ -579,9 +570,9 @@
width="120"
>
<template slot-scope="scope">
<span v-if="scope.row.standStatusShow === '作废'" style="color: #F56C6C">{{scope.row.putTime ? scope.row.putTime.slice(0, 10) : ''}}</span>
<span v-if="scope.row.standStatusShow === '参考'" style="color: #E6A23C">{{scope.row.putTime ? scope.row.putTime.slice(0, 10) : ''}}</span>
<span v-if="scope.row.standStatusShow !== '作废' && scope.row.standStatusShow !== '参考'">{{scope.row.putTime ? scope.row.putTime.slice(0, 10) : ''}}</span>
<span v-if="scope.row.standStatusShow === '作废'" style="color: #F56C6C">{{scope.row.putTime}}</span>
<span v-if="scope.row.standStatusShow === '参考'" style="color: #E6A23C">{{scope.row.putTime}}</span>
<span v-if="scope.row.standStatusShow !== '作废' && scope.row.standStatusShow !== '参考'">{{scope.row.putTime}}</span>
</template>
</el-table-column>
<el-table-column
@@ -974,6 +965,9 @@ export default {
if(comFlag > 0){
this.$message.warning('请填写不涉及的备注信息')
}else{
this.dataList.forEach(item => {
this.$set(item, 'standId', item.id)
})
this.isSubmit = true;
this.qdform.commentText = this.commentText;
this.qdform.dataList = this.dataList
@@ -1160,6 +1154,8 @@ export default {
}
})
this.handleSelectTableList.map(item => {
this.$set(item, 'involve', '涉及')
this.$set(item, 'remarks', '')
let addIndex
addIndex = this.dataList.findIndex(items =>{
return items.id === item.id
@@ -1170,10 +1166,6 @@ export default {
this.dataList.push(item)
}
})
this.dataList.forEach(item => {
this.$set(item, 'involve', 'involve')
this.$set(item, 'remarks', '')
})
this.standModel = false
}
},
@@ -101,27 +101,18 @@
width="190px"
align="center"
label="标准实施日期">
<template slot-scope="scope">
<span>{{ scope.row.ssrq ? scope.row.ssrq.substring(0, 10) : '-' }}</span>
</template>
</el-table-column>
<el-table-column
prop="xcxssrq"
width="190px"
align="center"
label="新车型实施日期">
<template slot-scope="scope">
<span>{{ scope.row.xcxssrq ? scope.row.xcxssrq.substring(0, 10) : '-' }}</span>
</template>
</el-table-column>
<el-table-column
prop="zccssrq"
align="center"
width="190px"
label="在产车实施日期">
<template slot-scope="scope">
<span>{{ scope.row.zccssrq ? scope.row.zccssrq.substring(0, 10) : '-' }}</span>
</template>
</el-table-column>
<el-table-column
prop="zrbm"
@@ -451,13 +442,6 @@ export default {
this.qdform.prcName = this.prcName;
this.qdform["id"] = item.id;
this.dataList = item.dataList
this.dataList.forEach(item => {
if(item.involve === 'involve'){
item.involve = '涉及'
}else if(item.involve === 'noInvolve'){
item.involve = '不涉及'
}
})
// this.projectId = item.projectId;
// //id
// this.detailedId = item.detailedListId;
@@ -529,13 +513,6 @@ export default {
this.saveLoading = false;
});
},
handleRemark(){
this.dataList.map(item => {
if(item.involve === 'noInvolve'){
comFlag
}
})
},
//
beforeBack() {
if (this.commentText === null || this.commentText === undefined || this.commentText === "") {
@@ -134,9 +134,9 @@
tooltip-effect="dark"
style="width: 100%;"
height="100%"
row-key="id"
:header-cell-style="{background: '#e8e8e8', color: '#333333', fontSize: '16px',
fontWeight: 'bold', height: '48px'}"
row-key="id"
>
<el-table-column
prop="itemsNum"
@@ -169,7 +169,7 @@
</el-table-column>
<el-table-column
show-overflow-tooltip
v-if="sarType === 'INLAND'"
v-if="sarType === 'INLAND' && form.itemsNum1"
prop="changePoint"
width="150"
label="基于上一版本差异"
@@ -202,27 +202,27 @@
</el-table-column>
<el-table-column
prop="newData"
width="150"
width="180"
show-overflow-tooltip
label="新车型实施日期"
align="center">
<template slot-scope="scope">
<div>{{ scope.row.newData ? $moment(scope.row.newData).format('YYYY-MM-DD') : scope.row.newData }}</div>
</template>
</el-table-column>
<el-table-column
prop="onlineData"
width="150"
width="180"
show-overflow-tooltip
label="在产车型实施日期"
align="center">
<template slot-scope="scope">
<div>{{ scope.row.onlineData ? $moment(scope.row.onlineData).format('YYYY-MM-DD') : scope.row.onlineData }}</div>
</template>
</el-table-column>
<el-table-column
prop="applyArctic"
width="150"
show-overflow-tooltip
label="适用车型"
align="center">
<template slot-scope="scope">
{{ scope.row.applyArctic.toString() }}
</template>
</el-table-column>
<el-table-column
prop="unitDeptName"
@@ -237,6 +237,7 @@
align="center">
</el-table-column>
</el-table>
<el-button v-if="itemLists.length > 20 && tableIndex * 20 < itemLists.length" style="width: 100%; margin-top: 5px;" icon="el-icon-caret-bottom" @click="tableLoading">加载更多...</el-button>
<el-collapse accordion>
<el-collapse-item title="审批意见">
<div style="margin: 10px 0;">
@@ -341,6 +342,8 @@
name: "phoneBzjdStep4",
data() {
return {
tableIndex: 0,
itemLists: [],
dialogMadal: false,
drawerModal: false,
//truefalse
@@ -374,6 +377,16 @@
ProcessTitle
},
methods: {
tableLoading () {
this.tableIndex++
let index = this.tableIndex * 20
let endIndex = index + 20
if (this.tableIndex * 20 > this.itemLists.length) {
this.$message.warning('没有更多了')
}
let newData = this.itemLists.slice(index, endIndex)
this.itemList = this.itemList.concat(newData)
},
dialogOk () {
this.dialogMadal = false
},
@@ -488,7 +501,8 @@
}
this.sarType = data.standInData || data.sarType
this.json = data
this.itemList = data.itemList
this.itemLists = data.itemList
this.itemList = this.itemLists.slice(this.tableIndex, 20)
this.loading = false
}).catch(e => {
})
@@ -507,6 +521,8 @@
.phoneBzjdStep4 {
/deep/.van-dialog__content {
min-height: 300px;
max-height: 500px;
overflow: auto;
padding: 10px;
}
.prc-content-border {
@@ -0,0 +1,577 @@
<template>
<div class="phoneBzjdStep5 phoneBox">
<ProcessHeaderPhone toggle>
<template slot="proName">标准解读流程</template>
<template slot="proNode">工程师审核</template>
</ProcessHeaderPhone>
<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>
<div class="content" v-show="active === '1'">
<div style="overflow: auto;">
<el-form
ref="bzzqyjForm"
:model="form"
class="label-input-form"
label-width="210px"
>
<ProcessTitle>
<template slot="title">基础信息</template>
</ProcessTitle>
<el-collapse-transition>
<div class="prc-content-border" v-if="foldFormFlag === false">
<el-row :gutter="24">
<el-col :span="24">
<el-form-item label="标准编号" prop="cid" class="add-form-item form-item-disabled">
<el-input
disabled
v-model="form.itemsNum"
placeholder="请输入标准编号"
clearable
></el-input>
</el-form-item>
<el-form-item label="标准名称" prop="cname" class="add-form-item form-item-disabled">
<el-input
disabled
v-model="form.itemsName"
placeholder="请输入标准名称"
clearable
></el-input>
</el-form-item>
<el-form-item label="上一版本标准号/政策号" class="add-form-item form-item-disabled" v-if="sarType === 'INLAND'">
<el-input
disabled
v-model="form.itemsNum1"
clearable
></el-input>
</el-form-item>
<el-form-item label="相对标准号/政策号" class="add-form-item form-item-disabled" v-if="sarType === 'FOREIGN'">
<el-input
disabled
v-model="form.itemsNum1"
clearable
></el-input>
</el-form-item>
<el-form-item label="上一版本标准名称/政策名称" class="add-form-item form-item-disabled" v-if="sarType === 'INLAND'">
<el-input
disabled
v-model="form.itemsName1"
clearable
></el-input>
</el-form-item>
<el-form-item label="相对标准名称/政策名称" class="add-form-item form-item-disabled" v-if="sarType === 'FOREIGN'">
<el-input
disabled
v-model="form.itemsName1"
clearable
></el-input>
</el-form-item>
</el-col>
</el-row>
</div>
</el-collapse-transition>
<el-button v-if="foldFormFlag === false" style="width: 100%" icon="el-icon-caret-top" @click="foldForm">隐藏基础信息</el-button>
<el-button v-if="foldFormFlag === true" style="width: 100%" icon="el-icon-caret-bottom" @click="foldForm">展开基础信息</el-button>
<div class="prc-content-border" v-if="foldFormFlag === true" style="display: none">
<el-row :gutter="24">
<el-col :span="24">
<el-form-item label="标准编号" prop="cid" class="add-form-item form-item-disabled">
<el-input
disabled
v-model="form.itemsNum"
placeholder="请输入标准编号"
clearable
></el-input>
</el-form-item>
<el-form-item label="标准名称" prop="cname" class="add-form-item form-item-disabled">
<el-input
disabled
v-model="form.itemsName"
placeholder="请输入标准名称"
clearable
></el-input>
</el-form-item>
<el-form-item label="上一版本标准号/政策号" class="add-form-item form-item-disabled" v-if="sarType === 'INLAND'">
<el-input
disabled
v-model="form.itemsNum1"
clearable
></el-input>
</el-form-item>
<el-form-item label="相对标准号/政策号" class="add-form-item form-item-disabled" v-if="sarType === 'FOREIGN'">
<el-input
disabled
v-model="form.itemsNum1"
clearable
></el-input>
</el-form-item>
<el-form-item label="上一版本标准名称/政策名称" class="add-form-item form-item-disabled" v-if="sarType === 'INLAND'">
<el-input
disabled
v-model="form.itemsName1"
clearable
></el-input>
</el-form-item>
<el-form-item label="相对标准名称/政策名称" class="add-form-item form-item-disabled" v-if="sarType === 'FOREIGN'">
<el-input
disabled
v-model="form.itemsName1"
clearable
></el-input>
</el-form-item>
</el-col>
</el-row>
</div>
</el-form>
</div>
<ProcessTitle>
<template slot="title">拆分信息</template>
</ProcessTitle>
<el-table border
ref="selection"
:data="itemList"
tooltip-effect="dark"
style="width: 100%;"
height="100%"
row-key="id"
:header-cell-style="{background: '#e8e8e8', color: '#333333', fontSize: '16px',
fontWeight: 'bold', height: '48px'}"
>
<el-table-column
prop="itemsNum"
label="条款号"
width="70"
align="center">
</el-table-column>
<el-table-column
prop="itemsName"
label="条款名称"
show-overflow-tooltip
align="center">
</el-table-column>
<el-table-column
prop="itermsConditions"
label="条款内容"
width="200"
show-overflow-tooltip
align="center">
<template slot-scope="scope">
<el-button size="mini" type="primary" @click="itermsConditionsOpen(scope.row.itermsConditions)" class="common-button-primary">查看条款内容</el-button>
</template>
</el-table-column>
<el-table-column
show-overflow-tooltip
prop="technicalRequir"
width="200"
label="核心技术要求"
align="center">
</el-table-column>
<el-table-column
show-overflow-tooltip
v-if="sarType === 'INLAND' && form.itemsNum1"
prop="changePoint"
width="150"
label="基于上一版本差异"
align="center">
</el-table-column>
<el-table-column
show-overflow-tooltip
v-if="sarType === 'FOREIGN'"
prop="changePoint"
width="150"
label="相对于国行标差异点"
align="center">
</el-table-column>
<el-table-column
prop="complianceRequir"
width="150"
label="符合项状态"
align="center">
<template slot-scope="scope">
<div v-if="scope.row.complianceRequir === '1'">符合</div>
<div v-else>不符合</div>
</template>
</el-table-column>
<el-table-column
show-overflow-tooltip
prop="complianceState"
width="200"
label="合规性分析"
align="center">
</el-table-column>
<el-table-column
prop="newData"
width="180"
show-overflow-tooltip
label="新车型实施日期"
align="center">
</el-table-column>
<el-table-column
prop="onlineData"
width="180"
show-overflow-tooltip
label="在产车型实施日期"
align="center">
</el-table-column>
<el-table-column
prop="applyArctic"
width="150"
show-overflow-tooltip
label="适用车型"
align="center">
<template slot-scope="scope">
{{ scope.row.applyArctic.toString() }}
</template>
</el-table-column>
<el-table-column
prop="unitDeptName"
label="责任部门"
width="170"
align="center">
</el-table-column>
<el-table-column
label="责任人"
width="170"
prop="zrUserIdName"
align="center">
</el-table-column>
</el-table>
<el-button v-if="itemLists.length > 20 && tableIndex * 20 < itemLists.length" style="width: 100%; margin-top: 5px;" icon="el-icon-caret-bottom" @click="tableLoading">加载更多...</el-button>
<el-collapse accordion>
<el-collapse-item title="审批意见">
<div style="margin: 10px 0;">
<el-input
type="textarea"
:rows="3"
resize="none"
placeholder="请输入意见"
v-model="commentText">
</el-input>
</div>
</el-collapse-item>
</el-collapse>
</div>
<div class="content" v-show="active === '2'">
<el-table
height="100%"
ref="selection"
:data="histortData"
tooltip-effect="dark"
style="width: 100%"
border
row-key="id"
:header-cell-style="{background: '#f8f8f9', color: '#515a6e'}">
<el-table-column
prop="name"
label="任务步骤"
align="center"
width="130"
>
</el-table-column>
<el-table-column
prop="assignee"
label="任务受理人"
align="center"
width="130"
>
</el-table-column>
<el-table-column
prop="createTime"
label="创建时间"
width="130"
align="center">
<template slot-scope="scope">
<span>{{ scope.row.createTime ? $moment(scope.row.createTime).format('YYYY-MM-DD') : '' }}</span>
</template>
</el-table-column>
<el-table-column
prop="endTime"
label="完成时间"
width="130"
align="center">
<template slot-scope="scope">
<span>{{ scope.row.endTime ? $moment(scope.row.endTime).format('YYYY-MM-DD') : '' }}</span>
</template>
</el-table-column>
<el-table-column
prop="comment"
label="流程信息"
width="130"
align="center">
<template slot-scope="scope">
<span>{{ scope.row.commentText }}</span>
</template>
</el-table-column>
<el-table-column
prop="completeFlag"
label="状态"
align="center">
<template slot-scope="scope">
<span>{{ scope.row.endTime ? '已完成' : '未完成'}}</span>
</template>
</el-table-column>
</el-table>
</div>
<ProcessFooter
show-submit
:submitLoading="isSubmit"
:saveLoading="saveLoading"
@save="handleSave"
@submit="handleSubmit"
show-back
@back="handleSubmitNo"
submitBTNText="同意"
>
</ProcessFooter>
<van-dialog v-model="dialogMadal" title="条款内容" @confirm="dialogOk">
<div v-html="itermsConditionsTitle"></div>
</van-dialog>
</div>
</template>
<script>
import { Dialog } from 'vant';
import ProcessHeaderPhone from '../../components/ProcessHeaderPhone'
import ProcessFooter from '../../components/ProcessFooter'
import ProcessTitle from '../../components/ProcessTitle'
import {inboundLiaisonDetail,processCreateStand,changeAssigneeNew} from 'api/process'
import axios from "axios";
export default {
name: "phoneBzjdStep5",
data() {
return {
tableIndex: 0,
itemLists: [],
dialogMadal: false,
drawerModal: false,
//truefalse
foldFormFlag: false,
itermsConditionsFlag: false,
itermsConditionsTitle: '',
histortData: [],
sarType: '',
itemList: [],
loading: true,
commentText: '',
taskIds: this.$route.query.taskIds,
pId: this.$route.query.prcId,
textarea: '', //
active: '1', //
isSubmit: false,
saveLoading: false,
form: {
itemsNum: '',
itemsName: '',
itemsNum1: '',
itemsName1: '',
},
json: {},
}
},
components: {
[Dialog.Component.name]: Dialog.Component,
ProcessHeaderPhone,
ProcessFooter,
ProcessTitle
},
methods: {
tableLoading () {
this.tableIndex++
let index = this.tableIndex * 20
let endIndex = index + 20
if (this.tableIndex * 20 > this.itemLists.length) {
this.$message.warning('没有更多了')
}
let newData = this.itemLists.slice(index, endIndex)
this.itemList = this.itemList.concat(newData)
},
dialogOk () {
this.dialogMadal = false
},
handleTransfer() {
this.drawerModal = true
},
checkedRole (data) {
changeAssigneeNew({
taskId: this.$route.query.taskIds, // id
userId:this.$store.getters.userInfo.userId, //
assignee: data[0].id, //
pId: this.$route.query.prcId, //
}).then(res => {
if (res.success) {
this.drawerModal = false
this.$message.success('调整成功')
this.processNum()
this.$router.push({path:'/processCenter?tabsName=ProcessCenter'})
} else {
this.$message.warning(res.message)
}
})
},
//
processNum (row) {
axios.request({
url: '/api/lawss/activiti/getImg?_t=' + new Date().getTime(),
responseType: 'blob',
method: 'get',
params: {
prcNum: this.$route.query.prcNum
}
}).then(res => {
this.processStep = window.URL.createObjectURL(res.data)
})
},
///
foldForm() {
this.foldFormFlag = !this.foldFormFlag
},
itermsConditionsClose () {
this.itermsConditionsFlag = false
},
itermsConditionsOpen (row) {
this.dialogMadal = true
this.itermsConditionsTitle = row
},
getHistoryData () {
this.$http.get('lawss/activiti/get_list_by_instance', {
prcNum: this.$route.query.prcNum,
}, {}, res => {
this.histortData = res
}, e => {})
},
handleTabs(name) {
this.active = name
},
handleSave() {},
handleSubmit() {
this.isSubmit = true
var json = this.json
json.resolveFlag = 1
json.commentText = this.commentText
this.$http.post('lawss/activiti/completeTask', {
json: JSON.stringify(json),
taskId: this.taskIds,
userId: this.$store.getters.userInfo.userId
}, {}, res => {
if (res.success) {
this.$message.success('提交成功')
this.$router.push('/processCenter')
}
this.isSubmit = false
})
},
handleSubmitNo () {
if (this.commentText) {
this.isSubmit = true
var json = this.json
json.resolveFlag = 2
json.commentText = this.commentText
this.$http.post('lawss/activiti/completeTask', {
json: JSON.stringify(json),
taskId: this.taskIds,
userId: this.$store.getters.userInfo.userId
}, {}, res => {
if (res.success) {
this.$message.success('驳回成功')
this.$router.push('/processCenter')
}
this.isSubmit = false
})
} else {
this.$message.warning('请输入反馈意见')
}
},
getData() {
return new Promise((resolve, reject) => {
inboundLiaisonDetail({
taskIds: this.taskIds,
pId: this.pId
}).then(res => {
let data = JSON.parse(res.mesg)
this.form.itemsNum = data.itemsNum || data.form.itemsNum
this.form.itemsName = data.itemsName || data.form.itemsName
if (data.form) {
this.form.itemsName1 = data.form.itemsName1 || ''
this.form.itemsNum1 = data.form.itemsNum1 || ''
} else {
this.form.itemsName1 = data.itemsName1 || ''
this.form.itemsNum1 = data.itemsNum1 || ''
}
this.sarType = data.standInData || data.sarType
this.json = data
this.itemLists = data.itemList
this.itemList = this.itemLists.slice(this.tableIndex, 20)
this.loading = false
}).catch(e => {
})
})
},
},
mounted () {
this.getHistoryData()
this.getData()
},
}
</script>
<style lang="less" scoped>
@import '~@/assets/styles/phone';
.phoneBzjdStep5 {
/deep/.van-dialog__content {
min-height: 300px;
max-height: 500px;
overflow: auto;
padding: 10px;
}
.prc-content-border {
overflow: auto;
}
/deep/.prc-content-border .el-form-item__content {
width: 270px;
}
.headerTabs {
height: 52px;
display: flex;
align-items: center;
position: absolute;
top: 52px;
right: 10px;
.headerTabsItem {
border: 1px solid #c1c1c1;
padding: 0 5px;
height: 30px;
line-height: 30px;
cursor: pointer;
}
.active {
border: 1px solid #E6A23C;
color: #fff;
background: #E6A23C;
}
}
.content {
border-top: 1px solid #DCDFE6;
display: flex;
flex-direction: column;
justify-content: space-between;
margin-top: 52px;
height: calc(~'100% - 155px');
overflow: auto;
.tableTitle {
margin-bottom: 10px;
height: 30px;
line-height: 30px;
position: relative;
font-size: 13px;
font-weight: bold;
.tableButton {
position: absolute;
right: 0;
top: 0;
}
}
}
}
</style>
@@ -0,0 +1,577 @@
<template>
<div class="phoneBzjdStep6 phoneBox">
<ProcessHeaderPhone toggle>
<template slot="proName">标准解读流程</template>
<template slot="proNode">部长审批</template>
</ProcessHeaderPhone>
<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>
<div class="content" v-show="active === '1'">
<div style="overflow: auto;">
<el-form
ref="bzzqyjForm"
:model="form"
class="label-input-form"
label-width="210px"
>
<ProcessTitle>
<template slot="title">基础信息</template>
</ProcessTitle>
<el-collapse-transition>
<div class="prc-content-border" v-if="foldFormFlag === false">
<el-row :gutter="24">
<el-col :span="24">
<el-form-item label="标准编号" prop="cid" class="add-form-item form-item-disabled">
<el-input
disabled
v-model="form.itemsNum"
placeholder="请输入标准编号"
clearable
></el-input>
</el-form-item>
<el-form-item label="标准名称" prop="cname" class="add-form-item form-item-disabled">
<el-input
disabled
v-model="form.itemsName"
placeholder="请输入标准名称"
clearable
></el-input>
</el-form-item>
<el-form-item label="上一版本标准号/政策号" class="add-form-item form-item-disabled" v-if="sarType === 'INLAND'">
<el-input
disabled
v-model="form.itemsNum1"
clearable
></el-input>
</el-form-item>
<el-form-item label="相对标准号/政策号" class="add-form-item form-item-disabled" v-if="sarType === 'FOREIGN'">
<el-input
disabled
v-model="form.itemsNum1"
clearable
></el-input>
</el-form-item>
<el-form-item label="上一版本标准名称/政策名称" class="add-form-item form-item-disabled" v-if="sarType === 'INLAND'">
<el-input
disabled
v-model="form.itemsName1"
clearable
></el-input>
</el-form-item>
<el-form-item label="相对标准名称/政策名称" class="add-form-item form-item-disabled" v-if="sarType === 'FOREIGN'">
<el-input
disabled
v-model="form.itemsName1"
clearable
></el-input>
</el-form-item>
</el-col>
</el-row>
</div>
</el-collapse-transition>
<el-button v-if="foldFormFlag === false" style="width: 100%" icon="el-icon-caret-top" @click="foldForm">隐藏基础信息</el-button>
<el-button v-if="foldFormFlag === true" style="width: 100%" icon="el-icon-caret-bottom" @click="foldForm">展开基础信息</el-button>
<div class="prc-content-border" v-if="foldFormFlag === true" style="display: none">
<el-row :gutter="24">
<el-col :span="24">
<el-form-item label="标准编号" prop="cid" class="add-form-item form-item-disabled">
<el-input
disabled
v-model="form.itemsNum"
placeholder="请输入标准编号"
clearable
></el-input>
</el-form-item>
<el-form-item label="标准名称" prop="cname" class="add-form-item form-item-disabled">
<el-input
disabled
v-model="form.itemsName"
placeholder="请输入标准名称"
clearable
></el-input>
</el-form-item>
<el-form-item label="上一版本标准号/政策号" class="add-form-item form-item-disabled" v-if="sarType === 'INLAND'">
<el-input
disabled
v-model="form.itemsNum1"
clearable
></el-input>
</el-form-item>
<el-form-item label="相对标准号/政策号" class="add-form-item form-item-disabled" v-if="sarType === 'FOREIGN'">
<el-input
disabled
v-model="form.itemsNum1"
clearable
></el-input>
</el-form-item>
<el-form-item label="上一版本标准名称/政策名称" class="add-form-item form-item-disabled" v-if="sarType === 'INLAND'">
<el-input
disabled
v-model="form.itemsName1"
clearable
></el-input>
</el-form-item>
<el-form-item label="相对标准名称/政策名称" class="add-form-item form-item-disabled" v-if="sarType === 'FOREIGN'">
<el-input
disabled
v-model="form.itemsName1"
clearable
></el-input>
</el-form-item>
</el-col>
</el-row>
</div>
</el-form>
</div>
<ProcessTitle>
<template slot="title">拆分信息</template>
</ProcessTitle>
<el-table border
ref="selection"
:data="itemList"
tooltip-effect="dark"
style="width: 100%;"
height="100%"
row-key="id"
:header-cell-style="{background: '#e8e8e8', color: '#333333', fontSize: '16px',
fontWeight: 'bold', height: '48px'}"
>
<el-table-column
prop="itemsNum"
label="条款号"
width="70"
align="center">
</el-table-column>
<el-table-column
prop="itemsName"
label="条款名称"
show-overflow-tooltip
align="center">
</el-table-column>
<el-table-column
prop="itermsConditions"
label="条款内容"
width="200"
show-overflow-tooltip
align="center">
<template slot-scope="scope">
<el-button size="mini" type="primary" @click="itermsConditionsOpen(scope.row.itermsConditions)" class="common-button-primary">查看条款内容</el-button>
</template>
</el-table-column>
<el-table-column
show-overflow-tooltip
prop="technicalRequir"
width="200"
label="核心技术要求"
align="center">
</el-table-column>
<el-table-column
show-overflow-tooltip
v-if="sarType === 'INLAND' && form.itemsNum1"
prop="changePoint"
width="150"
label="基于上一版本差异"
align="center">
</el-table-column>
<el-table-column
show-overflow-tooltip
v-if="sarType === 'FOREIGN'"
prop="changePoint"
width="150"
label="相对于国行标差异点"
align="center">
</el-table-column>
<el-table-column
prop="complianceRequir"
width="150"
label="符合项状态"
align="center">
<template slot-scope="scope">
<div v-if="scope.row.complianceRequir === '1'">符合</div>
<div v-else>不符合</div>
</template>
</el-table-column>
<el-table-column
show-overflow-tooltip
prop="complianceState"
width="200"
label="合规性分析"
align="center">
</el-table-column>
<el-table-column
prop="newData"
width="180"
show-overflow-tooltip
label="新车型实施日期"
align="center">
</el-table-column>
<el-table-column
prop="onlineData"
width="180"
show-overflow-tooltip
label="在产车型实施日期"
align="center">
</el-table-column>
<el-table-column
prop="applyArctic"
width="150"
show-overflow-tooltip
label="适用车型"
align="center">
<template slot-scope="scope">
{{ scope.row.applyArctic.toString() }}
</template>
</el-table-column>
<el-table-column
prop="unitDeptName"
label="责任部门"
width="170"
align="center">
</el-table-column>
<el-table-column
label="责任人"
width="170"
prop="zrUserIdName"
align="center">
</el-table-column>
</el-table>
<el-button v-if="itemLists.length > 20 && tableIndex * 20 < itemLists.length" style="width: 100%; margin-top: 5px;" icon="el-icon-caret-bottom" @click="tableLoading">加载更多...</el-button>
<el-collapse accordion>
<el-collapse-item title="审批意见">
<div style="margin: 10px 0;">
<el-input
type="textarea"
:rows="3"
resize="none"
placeholder="请输入意见"
v-model="commentText">
</el-input>
</div>
</el-collapse-item>
</el-collapse>
</div>
<div class="content" v-show="active === '2'">
<el-table
height="100%"
ref="selection"
:data="histortData"
tooltip-effect="dark"
style="width: 100%"
border
row-key="id"
:header-cell-style="{background: '#f8f8f9', color: '#515a6e'}">
<el-table-column
prop="name"
label="任务步骤"
align="center"
width="130"
>
</el-table-column>
<el-table-column
prop="assignee"
label="任务受理人"
align="center"
width="130"
>
</el-table-column>
<el-table-column
prop="createTime"
label="创建时间"
width="130"
align="center">
<template slot-scope="scope">
<span>{{ scope.row.createTime ? $moment(scope.row.createTime).format('YYYY-MM-DD') : '' }}</span>
</template>
</el-table-column>
<el-table-column
prop="endTime"
label="完成时间"
width="130"
align="center">
<template slot-scope="scope">
<span>{{ scope.row.endTime ? $moment(scope.row.endTime).format('YYYY-MM-DD') : '' }}</span>
</template>
</el-table-column>
<el-table-column
prop="comment"
label="流程信息"
width="130"
align="center">
<template slot-scope="scope">
<span>{{ scope.row.commentText }}</span>
</template>
</el-table-column>
<el-table-column
prop="completeFlag"
label="状态"
align="center">
<template slot-scope="scope">
<span>{{ scope.row.endTime ? '已完成' : '未完成'}}</span>
</template>
</el-table-column>
</el-table>
</div>
<ProcessFooter
show-submit
:submitLoading="isSubmit"
:saveLoading="saveLoading"
@save="handleSave"
@submit="handleSubmit"
show-back
@back="handleSubmitNo"
submitBTNText="同意"
>
</ProcessFooter>
<van-dialog v-model="dialogMadal" title="条款内容" @confirm="dialogOk">
<div v-html="itermsConditionsTitle"></div>
</van-dialog>
</div>
</template>
<script>
import { Dialog } from 'vant';
import ProcessHeaderPhone from '../../components/ProcessHeaderPhone'
import ProcessFooter from '../../components/ProcessFooter'
import ProcessTitle from '../../components/ProcessTitle'
import {inboundLiaisonDetail,processCreateStand,changeAssigneeNew} from 'api/process'
import axios from "axios";
export default {
name: "phoneBzjdStep6",
data() {
return {
tableIndex: 0,
itemLists: [],
dialogMadal: false,
drawerModal: false,
//truefalse
foldFormFlag: false,
itermsConditionsFlag: false,
itermsConditionsTitle: '',
histortData: [],
sarType: '',
itemList: [],
loading: true,
commentText: '',
taskIds: this.$route.query.taskIds,
pId: this.$route.query.prcId,
textarea: '', //
active: '1', //
isSubmit: false,
saveLoading: false,
form: {
itemsNum: '',
itemsName: '',
itemsNum1: '',
itemsName1: '',
},
json: {},
}
},
components: {
[Dialog.Component.name]: Dialog.Component,
ProcessHeaderPhone,
ProcessFooter,
ProcessTitle
},
methods: {
tableLoading () {
this.tableIndex++
let index = this.tableIndex * 20
let endIndex = index + 20
if (this.tableIndex * 20 > this.itemLists.length) {
this.$message.warning('没有更多了')
}
let newData = this.itemLists.slice(index, endIndex)
this.itemList = this.itemList.concat(newData)
},
dialogOk () {
this.dialogMadal = false
},
handleTransfer() {
this.drawerModal = true
},
checkedRole (data) {
changeAssigneeNew({
taskId: this.$route.query.taskIds, // id
userId:this.$store.getters.userInfo.userId, //
assignee: data[0].id, //
pId: this.$route.query.prcId, //
}).then(res => {
if (res.success) {
this.drawerModal = false
this.$message.success('调整成功')
this.processNum()
this.$router.push({path:'/processCenter?tabsName=ProcessCenter'})
} else {
this.$message.warning(res.message)
}
})
},
//
processNum (row) {
axios.request({
url: '/api/lawss/activiti/getImg?_t=' + new Date().getTime(),
responseType: 'blob',
method: 'get',
params: {
prcNum: this.$route.query.prcNum
}
}).then(res => {
this.processStep = window.URL.createObjectURL(res.data)
})
},
///
foldForm() {
this.foldFormFlag = !this.foldFormFlag
},
itermsConditionsClose () {
this.itermsConditionsFlag = false
},
itermsConditionsOpen (row) {
this.dialogMadal = true
this.itermsConditionsTitle = row
},
getHistoryData () {
this.$http.get('lawss/activiti/get_list_by_instance', {
prcNum: this.$route.query.prcNum,
}, {}, res => {
this.histortData = res
}, e => {})
},
handleTabs(name) {
this.active = name
},
handleSave() {},
handleSubmit() {
this.isSubmit = true
var json = this.json
json.resolveFlag = 1
json.commentText = this.commentText
this.$http.post('lawss/activiti/completeTask', {
json: JSON.stringify(json),
taskId: this.taskIds,
userId: this.$store.getters.userInfo.userId
}, {}, res => {
if (res.success) {
this.$message.success('提交成功')
this.$router.push('/processCenter')
}
this.isSubmit = false
})
},
handleSubmitNo () {
if (this.commentText) {
this.isSubmit = true
var json = this.json
json.resolveFlag = 2
json.commentText = this.commentText
this.$http.post('lawss/activiti/completeTask', {
json: JSON.stringify(json),
taskId: this.taskIds,
userId: this.$store.getters.userInfo.userId
}, {}, res => {
if (res.success) {
this.$message.success('驳回成功')
this.$router.push('/processCenter')
}
this.isSubmit = false
})
} else {
this.$message.warning('请输入反馈意见')
}
},
getData() {
return new Promise((resolve, reject) => {
inboundLiaisonDetail({
taskIds: this.taskIds,
pId: this.pId
}).then(res => {
let data = JSON.parse(res.mesg)
this.form.itemsNum = data.itemsNum || data.form.itemsNum
this.form.itemsName = data.itemsName || data.form.itemsName
if (data.form) {
this.form.itemsName1 = data.form.itemsName1 || ''
this.form.itemsNum1 = data.form.itemsNum1 || ''
} else {
this.form.itemsName1 = data.itemsName1 || ''
this.form.itemsNum1 = data.itemsNum1 || ''
}
this.sarType = data.standInData || data.sarType
this.json = data
this.itemLists = data.itemList
this.itemList = this.itemLists.slice(this.tableIndex, 20)
this.loading = false
}).catch(e => {
})
})
},
},
mounted () {
this.getHistoryData()
this.getData()
},
}
</script>
<style lang="less" scoped>
@import '~@/assets/styles/phone';
.phoneBzjdStep6 {
/deep/.van-dialog__content {
min-height: 300px;
max-height: 500px;
overflow: auto;
padding: 10px;
}
.prc-content-border {
overflow: auto;
}
/deep/.prc-content-border .el-form-item__content {
width: 270px;
}
.headerTabs {
height: 52px;
display: flex;
align-items: center;
position: absolute;
top: 52px;
right: 10px;
.headerTabsItem {
border: 1px solid #c1c1c1;
padding: 0 5px;
height: 30px;
line-height: 30px;
cursor: pointer;
}
.active {
border: 1px solid #E6A23C;
color: #fff;
background: #E6A23C;
}
}
.content {
border-top: 1px solid #DCDFE6;
display: flex;
flex-direction: column;
justify-content: space-between;
margin-top: 52px;
height: calc(~'100% - 155px');
overflow: auto;
.tableTitle {
margin-bottom: 10px;
height: 30px;
line-height: 30px;
position: relative;
font-size: 13px;
font-weight: bold;
.tableButton {
position: absolute;
right: 0;
top: 0;
}
}
}
}
</style>
@@ -0,0 +1,657 @@
<!-- 加入标准化协会信息备案流程-->
<template>
<div class="phoneGrbzhxhStep3 phoneBox">
<ProcessHeaderPhone toggle>
<template slot="proName">加入标准化协会备案流程</template>
<template slot="proNode">标准法规工程师审核</template>
</ProcessHeaderPhone>
<div class="headerTabs">
<div class="headerTabsItem" :class="active === '1' ? 'active' : ''" @click="handleTabs('1')">基础信息</div>
<div class="headerTabsItem" :class="active === '3' ? 'active' : '' " @click="handleTabs('3')">审批历史</div>
</div>
<div class="content" v-show="active === '1'">
<div>
<el-form
ref="wbbzForm"
:model="wbbzform"
:rules="formRules"
class="label-input-form"
label-width="210px"
>
<ProcessTitle>
<template slot="title">基础信息</template>
</ProcessTitle>
<div class="prc-content-border" v-if="foldFormFlag">
<el-row :gutter="24">
<el-col :gutter="24">
<el-form-item label="提报单位" prop="reportingUnit" class="add-form-item ">
<el-input
v-model="wbbzform.reportingUnit"
placeholder="请输入提报单位"
readonly>
</el-input>
</el-form-item>
<el-form-item label="协会名称" prop="associationName" class="add-form-item ">
<div class="form-select">
<el-select v-model="wbbzform.associationName" placeholder="请选择协会名称">
<el-option
v-for="item in associationOptions"
:key="item.value"
:label="item.label"
:value="item.value">
</el-option>
</el-select>
<el-select v-model="wbbzform.committee" placeholder="请选择分标委">
<el-option
v-for="item in associationOptions"
:key="item.value"
:label="item.label"
:value="item.value">
</el-option>
</el-select>
<el-select v-model="wbbzform.workingGroup" placeholder="请选择工作组">
<el-option
v-for="item in associationOptions"
:key="item.value"
:label="item.label"
:value="item.value">
</el-option>
</el-select>
</div>
</el-form-item>
<el-form-item label="人员角色" prop="personnelRole" class="add-form-item ">
<div class="form-select">
<el-select v-model="wbbzform.personnelRole" placeholder="请选择会员角色">
<el-option
v-for="item in associationOptions"
:key="item.value"
:label="item.label"
:value="item.value">
</el-option>
</el-select>
<el-date-picker
v-model="wbbzform.membershipTime"
type="date"
placeholder="请选择入会时间">
</el-date-picker>
</div>
</el-form-item>
<el-form-item label="证书" prop="fileName" class="add-form-item form-item-disabled">
<div class="file-box" v-if="fileList.length > 0">
<p v-for="item in fileList"
:key="item.id"> {{ item.name }}
<i
title="下载"
@click="downloadFile(item.id)"
class="icon-download"
v-btn-permission="''"
/>
<i
title="下载带水印"
@click="downloadFileByWater(item.id, item.name)"
class="icon-download2"
v-btn-permission="''"
/>
</p>
</div>
<div v-else>
暂无数据
</div>
</el-form-item>
</el-col>
</el-row>
</div>
<el-button style="width: 100%" :icon=" foldFormFlag ? 'el-icon-caret-top': 'el-icon-caret-bottom'" @click="foldForm">{{ foldFormFlag ? '隐藏基础信息' : '展开基础信息' }}</el-button>
</el-form>
<ProcessTitle>
<template slot="title">参与人信息</template>
</ProcessTitle>
<div class="tableTitle">
<div class="tableButton">
<!-- <el-button plain class="common-button-primary" size="mini" @click="addPeople">添加</el-button>-->
<!-- <el-button plain class="common-button-primary" size="mini" @click="deletePeople">批量删除</el-button>-->
</div>
</div>
<el-table border
ref="selection"
:data="participantsData"
tooltip-effect="dark"
style="width: 100%;"
:header-cell-style="{background: '#e8e8e8', color: '#333333', fontSize: '16px',
fontWeight: 'bold', height: '48px'}"
row-key="id">
<el-table-column type="selection" width="55" align="center"/>
<el-table-column
prop="workPeople"
label="参与人"
width="150"
align="center">
</el-table-column>
<el-table-column
prop="duties"
label="职务"
align="center">
</el-table-column>
<el-table-column
prop="institutionName"
label="所在部门"
width="200"
align="center">
</el-table-column>
<el-table-column
prop="email"
label="联系方式"
width="350"
align="center">
</el-table-column>
<el-table-column
prop="tenure"
label="任期"
align="center">
</el-table-column>
<el-table-column
prop="account"
label="账户"
width="200"
align="center">
</el-table-column>
<el-table-column
prop="password"
label="密码"
width="350"
align="center">
</el-table-column>
</el-table>
<ProcessTitle>
<template slot="title">协会信息</template>
</ProcessTitle>
<div class="tableTitle">
<div class="tableButton">
<!-- <el-button plain class="common-button-primary" size="mini" @click="addPeople">添加</el-button>-->
<!-- <el-button plain class="common-button-primary" size="mini" @click="deletePeople">批量删除</el-button>-->
</div>
</div>
<el-table border
ref="selection"
:data="associationData"
tooltip-effect="dark"
style="width: 100%;"
:header-cell-style="{background: '#e8e8e8', color: '#333333', fontSize: '16px',
fontWeight: 'bold', height: '48px'}"
row-key="id">
<el-table-column type="selection" width="55" align="center"/>
<el-table-column
prop="contactPerson"
label="协会联络人"
align="center">
</el-table-column>
<el-table-column
prop="telephone"
label="电话"
align="center">
</el-table-column>
<el-table-column
prop="mailbox"
label="邮箱"
align="center">
</el-table-column>
</el-table>
</div>
<el-collapse accordion>
<el-collapse-item title="回执说明">
<div style="margin: 10px 0;">
<el-input
type="textarea"
:rows="3"
resize="none"
placeholder="请输入意见"
v-model="commentText">
</el-input>
</div>
</el-collapse-item>
</el-collapse>
</div>
<div class="content" v-show="active === '3'">
<el-table
height="100%"
ref="selection"
:data="histortData"
tooltip-effect="dark"
style="width: 100%"
border
row-key="id"
:header-cell-style="{background: '#f8f8f9', color: '#515a6e'}">
<el-table-column
prop="name"
label="任务步骤"
align="center"
width="130"
>
</el-table-column>
<el-table-column
prop="assignee"
label="任务受理人"
align="center"
width="130"
>
</el-table-column>
<el-table-column
prop="createTime"
label="创建时间"
width="130"
align="center">
<template slot-scope="scope">
<span>{{ scope.row.createTime ? $moment(scope.row.createTime).format('YYYY-MM-DD') : '' }}</span>
</template>
</el-table-column>
<el-table-column
prop="endTime"
label="完成时间"
width="130"
align="center">
<template slot-scope="scope">
<span>{{ scope.row.endTime ? $moment(scope.row.endTime).format('YYYY-MM-DD') : '' }}</span>
</template>
</el-table-column>
<el-table-column
prop="comment"
label="流程信息"
width="130"
align="center">
<template slot-scope="scope">
<span>{{ scope.row.commentText }}</span>
</template>
</el-table-column>
<el-table-column
prop="completeFlag"
label="状态"
align="center">
<template slot-scope="scope">
<span>{{ scope.row.endTime ? '已完成' : '未完成'}}</span>
</template>
</el-table-column>
</el-table>
</div>
<ProcessFooter
show-back
show-submit
:submitLoading="isSubmit"
:transfer-loading="isTransfer"
:saveLoading="saveLoading"
:approval="true"
@back="beforeBack"
@transfer="handleTransfer"
@submit="handleSubmit"
>
</ProcessFooter>
<Role-tree
check-box
:is-title="drawerTitle"
:is-visible.sync="modalshowflag"
@checkedRole="checkedRole"
:nodeList="nodeList"
></Role-tree>
<!-- 福田全公司选人解决方案 -->
<Role-tree
check-box
:is-title="drawerTitle"
:is-visible.sync="drawerModal"
@checkedRole="checkedTransferRole"
:nodeList="nodeList"
></Role-tree>
</div>
</template>
<script>
import { Dialog } from 'vant';
import ProcessHeaderPhone from '../../components/ProcessHeaderPhone'
import ProcessHeader from "../../components/ProcessHeader";
import ProcessTitle from "process/components/ProcessTitle";
import ProcessFooter from "process/components/ProcessFooter";
import { changeAssigneeNew,inboundLiaisonDetail } from "api/process";
export default {
name: "phoneGrbzhxhStep3",
components: {
ProcessHeader,
ProcessTitle,
ProcessHeaderPhone,
ProcessFooter
},
data() {
return {
//tab
active: "1",
foldFormFlag: true,
isSubmit: false,
isTransfer: false,
saveLoading: false,
loading: false,
modalshowflag: false,
drawerModal: false,
drawerTitle: '',
nodeList: [],
fileList:[],
commentText: '',
uploadFileListPath: "api/att/attFile/upload", //
fileInfoList: [], //
userId: this.$store.getters.userInfo.userId,
taskIds: this.$route.query.taskIds,
signFlag:'',
wbbzform: {
reportingUnit:'',
associationName: '',
committee:'',
workingGroup:'',
personnelRole:'',
membershipTime:'',
userId: this.$store.getters.userInfo.userId,
taskIds: this.$route.query.taskIds,
pId: this.$route.query.prcId,
participantsData: [{
name: '', //
duties: '', //
institutionName: '', //
email: '', //
tenure:'', //
account:'', //
password:'', //
}],
associationData: [{
contactPerson: '', //
telephone: '', //
mailbox:'', //
}],
},
selectList2: [],
selectList1: [],
formRules: {},
participantsData: [], //
associationData: [], //
detailData: [], //
selectedId: "",
associationOptions: [{
value: '选项1',
label: '1'
}, {
value: '选项2',
label: '2'
},{
value: '选项3',
label: '3'
}],
};
},
methods: {
//
checkedTransferRole (data) {
this.assigneeNewLoading = true
changeAssigneeNew({
taskId: this.$route.query.taskIds, // id
assignee: data[0].id, //
userId: this.$store.getters.userInfo.userId, //
pId: this.$route.query.prcId //
}).then(res => {
this.isTransfer = false
if (res.success) {
this.drawerModal = false
this.$message.success('调整成功')
this.$router.push("/processCenter");
this.processNum()
} else {
this.$message.warning(res.message)
}
})
},
processTable() {
this.$http.get("lawss/activiti/get_list_by_instance", {
prcNum: this.$route.query.prcNum,
sortWord: this.shunxu ? this.paixu : "",
shunxu: this.shunxu
}, {
loading: "loading",
_this: this
}, res => {
this.detailData = res;
}, e => {
});
},
choiceZRRS(row, index) {
this.selectedId = index;
this.drawerTitle = "选择责任人";
this.nodeList = [];
this.zrIndex = index;
this.nodeList.push(row);
this.modalshowflag = true;
},
checkedRole(data) {
if (this.participantsData.length > 1) {
let parList = data
this.participantsData.forEach(item => {
parList.forEach(items => {
if (items.name === item.workPeople) {
this.$message.warning('请勿重复添加参与人')
return
} else {
console.log(items);
}
})
})
} else {
this.participantsData = data
this.participantsData.forEach(item => {
this.$set(item, "workPeople", item.name)
});
this.participantsData = JSON.parse(JSON.stringify(this.participantsData));
}
},
handleTabs(type) {
this.active = type;
},
foldForm() {
this.foldFormFlag = !this.foldFormFlag
},
//
handleRecord() {
},
getData() {
return new Promise((resolve, reject) => {
inboundLiaisonDetail({
taskIds: this.$route.query.taskIds,
pId: this.$route.query.prcId
}).then(res => {
if (res) {
const processForm = JSON.parse(res.mesg);
this.getFormFieldList(processForm);
}
}).catch(e => {
});
});
},
/**
* @description: 动态表单读取
*/
getFormFieldList(item) {
console.log(item);
this.$nextTick(() => {
this.wbbzform = JSON.parse(JSON.stringify(item));
this.associationData = item.associationData
this.participantsData = item.participantsData
item.fileName.forEach(itemId => {
this.fileIds = itemId.id
this.getFileInfo();
});
});
},
//
getFileInfo() {
this.$http.get("att/attFile/getMultiFileInfos", {
fileIds: this.fileIds
}, {
_this: this
}, res => {
this.$nextTick(() => {
res.data.map(item => {
//
this.fileList.push({
name: item.oldFileName,
uid: item.uid,
status: item.status,
id: item.id
});
});
});
}, e => {
});
},
/**
* @Description: 点击下载
*/
downloadFile(attId) {
if (attId != null && attId !== "") {
window.location.href = "/api/att/attFile/downloadFileForSar?fileId=" + attId;
} else {
this.$message.error("请选择要下载的文件");
}
},
downloadFileByWater(attId, fileSuffix) {
let fileExtension = fileSuffix.substring(fileSuffix.lastIndexOf(".") + 1);
if (fileExtension !== "pdf" && fileExtension !== "PDF") {
this.$message.error("水印下载仅支持PDF,pdf格式文件");
} else {
if (attId != null && attId !== "") {
window.location.href = "/api/att/attFile/downloadFileForSarWaterMark?fileId=" + attId;
} else {
this.$message.error("请选择要下载的文件");
}
}
},
//
handleTransfer(){
this.drawerModal = true
this.drawerTitle = '转办处理人'
this.selectPeople = row
},
//
handleSubmit() {
this.isSubmit = true
this.wbbzform.signFlag = '1',
this.wbbzform.passUser = this.$store.getters.userInfo.userId,
this.wbbzform.commentText = this.commentText;
this.wbbzform.participantsData = this.participantsData
this.wbbzform.associationData = this.associationData
var json = JSON.stringify( this.wbbzform)
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 => {
});
},
//
beforeBack(){
this.isSubmit = true
this.wbbzform.signFlag = '0',
this.wbbzform.passUser = this.$store.getters.userInfo.userId,
this.wbbzform.commentText = this.commentText;
this.wbbzform.participantsData = this.participantsData
this.wbbzform.associationData = this.associationData
var json = JSON.stringify( this.wbbzform)
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 => {
});
},
},
mounted() {
this.getData()
this.processTable()
},
computed: {
listNoDataText() {
return this.processType === 1 ? "暂无待办流程" : "暂无已办流程";
}
},
};
</script>
<style lang="less" scoped>
@import '~@/assets/styles/phone';
.phoneGrbzhxhStep3 {
/deep/.van-dialog__content {
min-height: 300px;
padding: 10px;
}
.prc-content-border {
overflow: auto;
}
/deep/.prc-content-border .el-form-item__content {
width: 270px;
}
.headerTabs {
height: 52px;
display: flex;
align-items: center;
position: absolute;
top: 52px;
right: 10px;
.headerTabsItem {
border: 1px solid #c1c1c1;
padding: 0 5px;
height: 30px;
line-height: 30px;
cursor: pointer;
}
.active {
border: 1px solid #E6A23C;
color: #fff;
background: #E6A23C;
}
}
.content {
border-top: 1px solid #DCDFE6;
display: flex;
flex-direction: column;
justify-content: space-between;
margin-top: 52px;
height: calc(~'100% - 155px');
overflow: auto;
.tableTitle {
margin-bottom: 10px;
height: 30px;
line-height: 30px;
position: relative;
font-size: 13px;
font-weight: bold;
.tableButton {
position: absolute;
right: 0;
top: 0;
}
}
}
}
</style>
@@ -0,0 +1,657 @@
<!-- 加入标准化协会信息备案流程-->
<template>
<div class="phoneGrbzhxhStep4 phoneBox">
<ProcessHeaderPhone toggle>
<template slot="proName">加入标准化协会备案流程</template>
<template slot="proNode">标准法规工程师审核</template>
</ProcessHeaderPhone>
<div class="headerTabs">
<div class="headerTabsItem" :class="active === '1' ? 'active' : ''" @click="handleTabs('1')">基础信息</div>
<div class="headerTabsItem" :class="active === '3' ? 'active' : '' " @click="handleTabs('3')">审批历史</div>
</div>
<div class="content" v-show="active === '1'">
<div>
<el-form
ref="wbbzForm"
:model="wbbzform"
:rules="formRules"
class="label-input-form"
label-width="210px"
>
<ProcessTitle>
<template slot="title">基础信息</template>
</ProcessTitle>
<div class="prc-content-border" v-if="foldFormFlag">
<el-row :gutter="24">
<el-col :gutter="24">
<el-form-item label="提报单位" prop="reportingUnit" class="add-form-item ">
<el-input
v-model="wbbzform.reportingUnit"
placeholder="请输入提报单位"
readonly>
</el-input>
</el-form-item>
<el-form-item label="协会名称" prop="associationName" class="add-form-item ">
<div class="form-select">
<el-select v-model="wbbzform.associationName" placeholder="请选择协会名称">
<el-option
v-for="item in associationOptions"
:key="item.value"
:label="item.label"
:value="item.value">
</el-option>
</el-select>
<el-select v-model="wbbzform.committee" placeholder="请选择分标委">
<el-option
v-for="item in associationOptions"
:key="item.value"
:label="item.label"
:value="item.value">
</el-option>
</el-select>
<el-select v-model="wbbzform.workingGroup" placeholder="请选择工作组">
<el-option
v-for="item in associationOptions"
:key="item.value"
:label="item.label"
:value="item.value">
</el-option>
</el-select>
</div>
</el-form-item>
<el-form-item label="人员角色" prop="personnelRole" class="add-form-item ">
<div class="form-select">
<el-select v-model="wbbzform.personnelRole" placeholder="请选择会员角色">
<el-option
v-for="item in associationOptions"
:key="item.value"
:label="item.label"
:value="item.value">
</el-option>
</el-select>
<el-date-picker
v-model="wbbzform.membershipTime"
type="date"
placeholder="请选择入会时间">
</el-date-picker>
</div>
</el-form-item>
<el-form-item label="证书" prop="fileName" class="add-form-item form-item-disabled">
<div class="file-box" v-if="fileList.length > 0">
<p v-for="item in fileList"
:key="item.id"> {{ item.name }}
<i
title="下载"
@click="downloadFile(item.id)"
class="icon-download"
v-btn-permission="''"
/>
<i
title="下载带水印"
@click="downloadFileByWater(item.id, item.name)"
class="icon-download2"
v-btn-permission="''"
/>
</p>
</div>
<div v-else>
暂无数据
</div>
</el-form-item>
</el-col>
</el-row>
</div>
<el-button style="width: 100%" :icon=" foldFormFlag ? 'el-icon-caret-top': 'el-icon-caret-bottom'" @click="foldForm">{{ foldFormFlag ? '隐藏基础信息' : '展开基础信息' }}</el-button>
</el-form>
<ProcessTitle>
<template slot="title">参与人信息</template>
</ProcessTitle>
<div class="tableTitle">
<div class="tableButton">
<!-- <el-button plain class="common-button-primary" size="mini" @click="addPeople">添加</el-button>-->
<!-- <el-button plain class="common-button-primary" size="mini" @click="deletePeople">批量删除</el-button>-->
</div>
</div>
<el-table border
ref="selection"
:data="participantsData"
tooltip-effect="dark"
style="width: 100%;"
:header-cell-style="{background: '#e8e8e8', color: '#333333', fontSize: '16px',
fontWeight: 'bold', height: '48px'}"
row-key="id">
<el-table-column type="selection" width="55" align="center"/>
<el-table-column
prop="workPeople"
label="参与人"
width="150"
align="center">
</el-table-column>
<el-table-column
prop="duties"
label="职务"
align="center">
</el-table-column>
<el-table-column
prop="institutionName"
label="所在部门"
width="200"
align="center">
</el-table-column>
<el-table-column
prop="email"
label="联系方式"
width="350"
align="center">
</el-table-column>
<el-table-column
prop="tenure"
label="任期"
align="center">
</el-table-column>
<el-table-column
prop="account"
label="账户"
width="200"
align="center">
</el-table-column>
<el-table-column
prop="password"
label="密码"
width="350"
align="center">
</el-table-column>
</el-table>
<ProcessTitle>
<template slot="title">协会信息</template>
</ProcessTitle>
<div class="tableTitle">
<div class="tableButton">
<!-- <el-button plain class="common-button-primary" size="mini" @click="addPeople">添加</el-button>-->
<!-- <el-button plain class="common-button-primary" size="mini" @click="deletePeople">批量删除</el-button>-->
</div>
</div>
<el-table border
ref="selection"
:data="associationData"
tooltip-effect="dark"
style="width: 100%;"
:header-cell-style="{background: '#e8e8e8', color: '#333333', fontSize: '16px',
fontWeight: 'bold', height: '48px'}"
row-key="id">
<el-table-column type="selection" width="55" align="center"/>
<el-table-column
prop="contactPerson"
label="协会联络人"
align="center">
</el-table-column>
<el-table-column
prop="telephone"
label="电话"
align="center">
</el-table-column>
<el-table-column
prop="mailbox"
label="邮箱"
align="center">
</el-table-column>
</el-table>
</div>
<el-collapse accordion>
<el-collapse-item title="回执说明">
<div style="margin: 10px 0;">
<el-input
type="textarea"
:rows="3"
resize="none"
placeholder="请输入意见"
v-model="commentText">
</el-input>
</div>
</el-collapse-item>
</el-collapse>
</div>
<div class="content" v-show="active === '3'">
<el-table
height="100%"
ref="selection"
:data="histortData"
tooltip-effect="dark"
style="width: 100%"
border
row-key="id"
:header-cell-style="{background: '#f8f8f9', color: '#515a6e'}">
<el-table-column
prop="name"
label="任务步骤"
align="center"
width="130"
>
</el-table-column>
<el-table-column
prop="assignee"
label="任务受理人"
align="center"
width="130"
>
</el-table-column>
<el-table-column
prop="createTime"
label="创建时间"
width="130"
align="center">
<template slot-scope="scope">
<span>{{ scope.row.createTime ? $moment(scope.row.createTime).format('YYYY-MM-DD') : '' }}</span>
</template>
</el-table-column>
<el-table-column
prop="endTime"
label="完成时间"
width="130"
align="center">
<template slot-scope="scope">
<span>{{ scope.row.endTime ? $moment(scope.row.endTime).format('YYYY-MM-DD') : '' }}</span>
</template>
</el-table-column>
<el-table-column
prop="comment"
label="流程信息"
width="130"
align="center">
<template slot-scope="scope">
<span>{{ scope.row.commentText }}</span>
</template>
</el-table-column>
<el-table-column
prop="completeFlag"
label="状态"
align="center">
<template slot-scope="scope">
<span>{{ scope.row.endTime ? '已完成' : '未完成'}}</span>
</template>
</el-table-column>
</el-table>
</div>
<ProcessFooter
show-back
show-submit
:submitLoading="isSubmit"
:transfer-loading="isTransfer"
:saveLoading="saveLoading"
:approval="true"
@back="beforeBack"
@transfer="handleTransfer"
@submit="handleSubmit"
>
</ProcessFooter>
<Role-tree
check-box
:is-title="drawerTitle"
:is-visible.sync="modalshowflag"
@checkedRole="checkedRole"
:nodeList="nodeList"
></Role-tree>
<!-- 福田全公司选人解决方案 -->
<Role-tree
check-box
:is-title="drawerTitle"
:is-visible.sync="drawerModal"
@checkedRole="checkedTransferRole"
:nodeList="nodeList"
></Role-tree>
</div>
</template>
<script>
import { Dialog } from 'vant';
import ProcessHeaderPhone from '../../components/ProcessHeaderPhone'
import ProcessHeader from "../../components/ProcessHeader";
import ProcessTitle from "process/components/ProcessTitle";
import ProcessFooter from "process/components/ProcessFooter";
import { changeAssigneeNew,inboundLiaisonDetail } from "api/process";
export default {
name: "phoneGrbzhxhStep4",
components: {
ProcessHeader,
ProcessTitle,
ProcessHeaderPhone,
ProcessFooter
},
data() {
return {
//tab
active: "1",
foldFormFlag: true,
isSubmit: false,
isTransfer: false,
saveLoading: false,
loading: false,
modalshowflag: false,
drawerModal: false,
drawerTitle: '',
nodeList: [],
fileList:[],
commentText: '',
uploadFileListPath: "api/att/attFile/upload", //
fileInfoList: [], //
userId: this.$store.getters.userInfo.userId,
taskIds: this.$route.query.taskIds,
signFlag:'',
wbbzform: {
reportingUnit:'',
associationName: '',
committee:'',
workingGroup:'',
personnelRole:'',
membershipTime:'',
userId: this.$store.getters.userInfo.userId,
taskIds: this.$route.query.taskIds,
pId: this.$route.query.prcId,
participantsData: [{
name: '', //
duties: '', //
institutionName: '', //
email: '', //
tenure:'', //
account:'', //
password:'', //
}],
associationData: [{
contactPerson: '', //
telephone: '', //
mailbox:'', //
}],
},
selectList2: [],
selectList1: [],
formRules: {},
participantsData: [], //
associationData: [], //
detailData: [], //
selectedId: "",
associationOptions: [{
value: '选项1',
label: '1'
}, {
value: '选项2',
label: '2'
},{
value: '选项3',
label: '3'
}],
};
},
methods: {
//
checkedTransferRole (data) {
this.assigneeNewLoading = true
changeAssigneeNew({
taskId: this.$route.query.taskIds, // id
assignee: data[0].id, //
userId: this.$store.getters.userInfo.userId, //
pId: this.$route.query.prcId //
}).then(res => {
this.isTransfer = false
if (res.success) {
this.drawerModal = false
this.$message.success('调整成功')
this.$router.push("/processCenter");
this.processNum()
} else {
this.$message.warning(res.message)
}
})
},
processTable() {
this.$http.get("lawss/activiti/get_list_by_instance", {
prcNum: this.$route.query.prcNum,
sortWord: this.shunxu ? this.paixu : "",
shunxu: this.shunxu
}, {
loading: "loading",
_this: this
}, res => {
this.detailData = res;
}, e => {
});
},
choiceZRRS(row, index) {
this.selectedId = index;
this.drawerTitle = "选择责任人";
this.nodeList = [];
this.zrIndex = index;
this.nodeList.push(row);
this.modalshowflag = true;
},
checkedRole(data) {
if (this.participantsData.length > 1) {
let parList = data
this.participantsData.forEach(item => {
parList.forEach(items => {
if (items.name === item.workPeople) {
this.$message.warning('请勿重复添加参与人')
return
} else {
console.log(items);
}
})
})
} else {
this.participantsData = data
this.participantsData.forEach(item => {
this.$set(item, "workPeople", item.name)
});
this.participantsData = JSON.parse(JSON.stringify(this.participantsData));
}
},
handleTabs(type) {
this.active = type;
},
foldForm() {
this.foldFormFlag = !this.foldFormFlag
},
//
handleRecord() {
},
getData() {
return new Promise((resolve, reject) => {
inboundLiaisonDetail({
taskIds: this.$route.query.taskIds,
pId: this.$route.query.prcId
}).then(res => {
if (res) {
const processForm = JSON.parse(res.mesg);
this.getFormFieldList(processForm);
}
}).catch(e => {
});
});
},
/**
* @description: 动态表单读取
*/
getFormFieldList(item) {
console.log(item);
this.$nextTick(() => {
this.wbbzform = JSON.parse(JSON.stringify(item));
this.associationData = item.associationData
this.participantsData = item.participantsData
item.fileName.forEach(itemId => {
this.fileIds = itemId.id
this.getFileInfo();
});
});
},
//
getFileInfo() {
this.$http.get("att/attFile/getMultiFileInfos", {
fileIds: this.fileIds
}, {
_this: this
}, res => {
this.$nextTick(() => {
res.data.map(item => {
//
this.fileList.push({
name: item.oldFileName,
uid: item.uid,
status: item.status,
id: item.id
});
});
});
}, e => {
});
},
/**
* @Description: 点击下载
*/
downloadFile(attId) {
if (attId != null && attId !== "") {
window.location.href = "/api/att/attFile/downloadFileForSar?fileId=" + attId;
} else {
this.$message.error("请选择要下载的文件");
}
},
downloadFileByWater(attId, fileSuffix) {
let fileExtension = fileSuffix.substring(fileSuffix.lastIndexOf(".") + 1);
if (fileExtension !== "pdf" && fileExtension !== "PDF") {
this.$message.error("水印下载仅支持PDF,pdf格式文件");
} else {
if (attId != null && attId !== "") {
window.location.href = "/api/att/attFile/downloadFileForSarWaterMark?fileId=" + attId;
} else {
this.$message.error("请选择要下载的文件");
}
}
},
//
handleTransfer(){
this.drawerModal = true
this.drawerTitle = '转办处理人'
this.selectPeople = row
},
//
handleSubmit() {
this.isSubmit = true
this.wbbzform.bzFlag = '1',
this.wbbzform.passUser = this.$store.getters.userInfo.userId,
this.wbbzform.commentText = this.commentText;
this.wbbzform.participantsData = this.participantsData
this.wbbzform.associationData = this.associationData
var json = JSON.stringify( this.wbbzform)
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 => {
});
},
//
beforeBack(){
this.isSubmit = true
this.wbbzform.bzFlag = '2',
this.wbbzform.passUser = this.$store.getters.userInfo.userId,
this.wbbzform.commentText = this.commentText;
this.wbbzform.participantsData = this.participantsData
this.wbbzform.associationData = this.associationData
var json = JSON.stringify( this.wbbzform)
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 => {
});
},
},
mounted() {
this.getData()
this.processTable()
},
computed: {
listNoDataText() {
return this.processType === 1 ? "暂无待办流程" : "暂无已办流程";
}
},
};
</script>
<style lang="less" scoped>
@import '~@/assets/styles/phone';
.phoneGrbzhxhStep4 {
/deep/.van-dialog__content {
min-height: 300px;
padding: 10px;
}
.prc-content-border {
overflow: auto;
}
/deep/.prc-content-border .el-form-item__content {
width: 270px;
}
.headerTabs {
height: 52px;
display: flex;
align-items: center;
position: absolute;
top: 52px;
right: 10px;
.headerTabsItem {
border: 1px solid #c1c1c1;
padding: 0 5px;
height: 30px;
line-height: 30px;
cursor: pointer;
}
.active {
border: 1px solid #E6A23C;
color: #fff;
background: #E6A23C;
}
}
.content {
border-top: 1px solid #DCDFE6;
display: flex;
flex-direction: column;
justify-content: space-between;
margin-top: 52px;
height: calc(~'100% - 155px');
overflow: auto;
.tableTitle {
margin-bottom: 10px;
height: 30px;
line-height: 30px;
position: relative;
font-size: 13px;
font-weight: bold;
.tableButton {
position: absolute;
right: 0;
top: 0;
}
}
}
}
</style>
@@ -0,0 +1,13 @@
<template>
</template>
<script>
export default {
name: "step3"
};
</script>
<style scoped>
</style>
@@ -0,0 +1,715 @@
<template>
<div class="phoneXmqdqrStep5 phoneBox">
<ProcessHeaderPhone toggle>
<template slot="proName">项目清单确认流程</template>
<template slot="proNode">法规部经理审批</template>
</ProcessHeaderPhone>
<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>
<div class="content" v-show="active === '1'">
<div style="overflow: auto;">
<el-form
:model="qdform"
class="label-input-form"
label-width="210px"
>
<ProcessTitle>
<template slot="title">基础信息</template>
</ProcessTitle>
<el-collapse-transition>
<div class="prc-content-border" v-if="foldFormFlag === false">
<el-row :gutter="24">
<el-col :span="24">
<el-form-item label="项目编号" prop="projectNumber" class="add-form-item form-item-disabled">
<el-input
v-model="qdform.projectNumber"
placeholder="请输入项目编号"
disabled
clearable
></el-input>
</el-form-item>
<el-form-item label="项目名称" prop="projectName" class="add-form-item form-item-disabled">
<el-input
v-model="qdform.projectName"
placeholder="请输入项目名称"
disabled
clearable
></el-input>
</el-form-item>
<el-form-item label="清单名称" prop="detailedListName" class="add-form-item form-item-disabled">
<el-input
v-model="qdform.detailedListName"
placeholder="请输入清单名称"
disabled
clearable
></el-input>
</el-form-item>
</el-col>
</el-row>
</div>
</el-collapse-transition>
<el-button v-if="foldFormFlag === false" style="width: 100%" icon="el-icon-caret-top" @click="foldForm">隐藏基础信息</el-button>
<el-button v-if="foldFormFlag === true" style="width: 100%" icon="el-icon-caret-bottom" @click="foldForm">展开基础信息</el-button>
<div class="prc-content-border" v-if="foldFormFlag === true" style="display: none">
<el-row :gutter="24">
<el-col :span="24">
<el-form-item label="项目编号" prop="projectNumber" class="add-form-item form-item-disabled">
<el-input
v-model="qdform.projectNumber"
placeholder="请输入项目编号"
disabled
clearable
></el-input>
</el-form-item>
<el-form-item label="项目名称" prop="projectName" class="add-form-item form-item-disabled">
<el-input
v-model="qdform.projectName"
placeholder="请输入项目名称"
disabled
clearable
></el-input>
</el-form-item>
<el-form-item label="清单名称" prop="detailedListName" class="add-form-item form-item-disabled">
<el-input
v-model="qdform.detailedListName"
placeholder="请输入清单名称"
disabled
clearable
></el-input>
</el-form-item>
</el-col>
</el-row>
</div>
</el-form>
</div>
<ProcessTitle>
<template slot="title">填写信息</template>
</ProcessTitle>
<el-table
:data="dataList"
border
ref="selection"
height="100%"
@selection-change="selectStandChange"
style="width: 100%; border:1px solid #ccc"
:header-cell-style="{background: '#e8e8e8', color: '#333333', fontSize: '16px',
fontWeight: 'bold', height: '48px'}">
<el-table-column
align="center"
width="200px"
label="标准号"
>
<template slot-scope="scope">
<a v-if="scope.row.standYear" class="table-jump" @click="handlePreview(scope.row)">{{ scope.row.standSort
}} {{ scope.row.standNumber }}-{{ scope.row.standYear }}</a>
<a v-else @click="handlePreview(scope.row)" class="table-jump">{{ scope.row.standSort }}
{{ scope.row.standNumber }}</a>
</template>
</el-table-column>
<el-table-column
prop="standName"
align="center"
min-width="300"
label="中文名称"
>
<template slot-scope="scope">
<a @click="handlePreview(scope.row)" class="table-jump">{{ scope.row.standName }}</a>
</template>
</el-table-column>
<el-table-column
prop="standEnName"
label="英文名称"
min-width="300"
align="center"
>
<template slot-scope="scope">
<a @click="handlePreview(scope.row)" class="table-jump">{{ scope.row.standEnName }}</a>
</template>
</el-table-column>
<el-table-column
prop="ssrq"
width="190px"
align="center"
label="标准实施日期">
<template slot-scope="scope">
<span>{{ scope.row.ssrq ? scope.row.ssrq.substring(0, 10) : '-' }}</span>
</template>
</el-table-column>
<el-table-column
prop="xcxssrq"
width="190px"
align="center"
label="新车型实施日期">
<template slot-scope="scope">
<span>{{ scope.row.xcxssrq ? scope.row.xcxssrq.substring(0, 10) : '-' }}</span>
</template>
</el-table-column>
<el-table-column
prop="zccssrq"
align="center"
width="190px"
label="在产车实施日期">
<template slot-scope="scope">
<span>{{ scope.row.zccssrq ? scope.row.zccssrq.substring(0, 10) : '-' }}</span>
</template>
</el-table-column>
<el-table-column
prop="zrbm"
label="责任部门"
align="center"
width="180px"
>
</el-table-column>
<el-table-column
prop="involve"
width="160px"
align="center"
label="标准是否涉及">
</el-table-column>
<el-table-column
prop="remarks"
align="center"
width="180"
label="备注">
</el-table-column>
</el-table>
<el-collapse accordion>
<el-collapse-item title="审批意见">
<div style="margin: 10px 0;">
<el-input
type="textarea"
:rows="3"
resize="none"
placeholder="请输入意见"
v-model="commentText">
</el-input>
</div>
</el-collapse-item>
</el-collapse>
</div>
<div class="content" v-show="active === '2'">
<el-table
height="100%"
ref="selection"
:data="histortData"
tooltip-effect="dark"
style="width: 100%"
border
row-key="id"
:header-cell-style="{background: '#f8f8f9', color: '#515a6e'}">
<el-table-column
prop="name"
label="任务步骤"
align="center"
width="130"
>
</el-table-column>
<el-table-column
prop="assignee"
label="任务受理人"
align="center"
width="130"
>
</el-table-column>
<el-table-column
prop="createTime"
label="创建时间"
width="130"
align="center">
<template slot-scope="scope">
<span>{{ scope.row.createTime ? $moment(scope.row.createTime).format('YYYY-MM-DD') : '' }}</span>
</template>
</el-table-column>
<el-table-column
prop="endTime"
label="完成时间"
width="130"
align="center">
<template slot-scope="scope">
<span>{{ scope.row.endTime ? $moment(scope.row.endTime).format('YYYY-MM-DD') : '' }}</span>
</template>
</el-table-column>
<el-table-column
prop="comment"
label="流程信息"
width="130"
align="center">
<template slot-scope="scope">
<span>{{ scope.row.commentText }}</span>
</template>
</el-table-column>
<el-table-column
prop="completeFlag"
label="状态"
align="center">
<template slot-scope="scope">
<span>{{ scope.row.endTime ? '已完成' : '未完成'}}</span>
</template>
</el-table-column>
</el-table>
</div>
<ProcessFooter
show-back
show-submit
:transfer-loading="isTransfer"
:submitLoading="isSubmit"
:saveLoading="saveLoading"
:approval="true"
@transfer="handleTransfer"
@back="beforeBack"
@submit="handleSubmit"
>
</ProcessFooter>
</div>
</template>
<script>
import { Dialog } from 'vant';
import ProcessHeaderPhone from '../../components/ProcessHeaderPhone'
import ProcessFooter from '../../components/ProcessFooter'
import ProcessTitle from '../../components/ProcessTitle'
import { inboundLiaisonDetail, processCreateStand, changeAssigneeNew, execTask, saveTaskForPub } from "api/process";
import axios from "axios";
import ProcessHeader from "process/components/ProcessHeader";
export default {
name: "phoneXmqdqrStep5",
components: {
ProcessTitle,
ProcessHeader,
ProcessHeaderPhone,
ProcessFooter
},
data() {
return {
//truefalse
foldFormFlag: false,
lawInfoTableLoading: true,
lawInfoTable:[],
isTransfer: false,
//
drawerModal: false,
drawerTitle:'',
active: "1",
nodeList: [],
nodeList2: [],
loading: false,
// (1/2)
processType: 1,
isSubmit: false,
saveLoading: false,
submitShow: false,
acceptShow: false,
todoId: '',
projectId: "",
detailedId: "",
standSortOptions: [],
standList: [],
projectStand:[],
standardData: [],
handleSelectTableList: [], //
page: 1,
pageSize: this.$store.getters.userInfo.configContent,
total: 0,
//
standCommonlySearch: {
standSort: "",
standNumber: "",
standType: "",
page: 1,
Size: this.$store.getters.userInfo.configContent
},
//
qdform: {
BZFlag: " ", //1
projectNumber: "", //
projectName: "", //
dataList: [], //
breakdownList: [] //
},
dataList: [], //
commentText: "", //
detailData: [],//
userId: this.$store.getters.userInfo.userId,
taskIds: this.$route.query.taskIds,
pId: this.$route.query.prcId,
standMap: new Map(),
textStatusMap: {},// idname
};
},
mounted() {
this.processTable();
this.getData();
//
this.$http.get("sys/dictype/getDicTypeListCode", {}, {
_this: this,
loading: "loading"
}, res => {
this.energyKindOptions = res.data.ENERGYTYPES; //
this.standSortOptions = res.data.STANDCLASSIFY; //
this.setMap(res.data.WBZTCLASS);//
this.setMap(this.zrbmMap, res.data.ZRBMCLASS);
this.showLocalProductData(this.getLocalPro);
}, e => {
});
},
methods: {
///
foldForm() {
this.foldFormFlag = !this.foldFormFlag
},
formatIssueDate(str) {
const momentDate = this.$moment(str)
if (momentDate.isValid()) {
return this.$moment(str).format('YYYY-MM-DD')
} else {
return str
}
},
//
checkedTransferRole (data) {
this.assigneeNewLoading = true
changeAssigneeNew({
taskId: this.$route.query.taskIds, // id
assignee: data[0].id, //
userId: this.$store.getters.userInfo.userId, //
pId: this.$route.query.prcId //
}).then(res => {
this.isTransfer = false
if (res.success) {
this.drawerModal = false
this.$message.success('调整成功')
this.$router.push("/processCenter");
this.processNum()
} else {
this.$message.warning(res.message)
}
})
},
//
processNum (row) {
axios.request({
url: '/api/lawss/activiti/getImg?_t=' + new Date().getTime(),
responseType: 'blob',
method: 'get',
params: {
prcNum: this.$route.query.prcNum
}
}).then(res => {
// let blob = new Blob([res.data], {type: 'image/jpg'})
// let url = window.URL.createObjectURL(res.data)
this.processStep = window.URL.createObjectURL(res.data)
})
},
//
handleTransfer(){
this.drawerModal = true
this.drawerTitle = '转办处理人'
this.selectPeople = row
},
// idname
setMap(data) {
data.forEach(item => {
this.$set(this.textStatusMap, item.value, item.label)
})
},
processTable() {
this.$http.get("lawss/activiti/get_list_by_instance", {
prcNum: this.$route.query.prcNum,
sortWord: this.shunxu ? this.paixu : "",
shunxu: this.shunxu
}, {
loading: "loading",
_this: this
}, res => {
this.detailData = res;
}, e => {
});
},
//tab
handleTabs(type) {
this.active = type;
},
//
handlePreview(item) {
let routeUrl = this.$router.resolve({
name: "OtherStandardDetails",
params: {
id: item.id,
pageType: "INLAND_STAND"
}
});
window.open(routeUrl.href, "_blank");
},
//
getData() {
return new Promise((resolve, reject) => {
inboundLiaisonDetail({
taskIds: this.taskIds,
pId: this.pId
}).then(res => {
if (res) {
const processForm = JSON.parse(res.mesg);
let commitStatus = res.commitStatus
if(commitStatus && commitStatus > 0){
this.acceptShow = true
this.submitShow = false
}else {
this.acceptShow = false
this.submitShow = true
}
this.todoId = res.id
this.getFormFieldList(processForm);
}
}).catch(e => {
});
});
},
//
getFormFieldList(item) {
this.$nextTick(() => {
if(item.form === undefined){
this.qdform = JSON.parse(JSON.stringify(item));
this.qdform.prcNum = this.prcNum;
this.qdform.prcName = this.prcName;
this.qdform["id"] = item.id;
this.dataList = item.dataList
this.dataList.forEach(item => {
if(item.involve === 'involve'){
item.involve = '涉及'
}else if(item.involve === 'noInvolve'){
item.involve = '不涉及'
}
})
// this.projectId = item.projectId;
// //id
// this.detailedId = item.detailedListId;
// this.getStandData();
}else{
this.qdform = item.form
this.dataList =item.form.dataList
this.detailedId = item.form.detailedListId;
}
});
},
//
getStandData() {
this.$http.get("sarStandProjectLibrary/queryStandInfo", { id: this.projectId, cars: '1', }, {
_this: this
}, res => {
this.dataList = res.data.records;
this.dataList.forEach(item => {
//
if (item.zrbm !== null || item.zrbm !== "" ) {
let k = (item.zrbm || "").split(",");
for (let i in this.zrbmOptions) {
for (let m = 0; m < k.length; m++) {
if (this.zrbmOptions[i].value === k[m]) {
k[m] = this.zrbmOptions[i].label;
}
item.zrbm = k.join(",");
}
}
}
});
this.dataList.map(item => {
if(item.zrbm === '[]'){
item.zrbm = ''
}
})
});
},
//
handleAccept(){
this.isSubmit = true
execTask({
todoId: this.todoId // ID
}).then(res => {
if (res.sign && res.sign === '0') {
this.$message.success('接收成功')
this.$router.push('/processCenter')
}
this.isSubmit = false
})
},
//
handleSave() {
this.saveLoading = true;
let _formData = new FormData();
this.qdform.dataList = this.dataList
_formData.append("id", this.bpnId || "");
_formData.append("prcType", "10");
_formData.append('taskIds', this.taskIds)
_formData.append("json", JSON.stringify({
form: this.qdform,
commentText: this.commentText
}));
saveTaskForPub(_formData).then(res => {
this.saveLoading = false;
this.$message.success("保存成功");
this.bpnId = res.result;
}).catch(e => {
this.saveLoading = false;
});
},
handleRemark(){
this.dataList.map(item => {
if(item.involve === 'noInvolve'){
comFlag
}
})
},
//
beforeBack() {
if (this.commentText === null || this.commentText === undefined || this.commentText === "") {
this.$message.warning("请填写审批意见");
} else {
this.qdform.passFlag = "1";
this.qdform.commentText = this.commentText;
const json = JSON.stringify(this.qdform);
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");
}
}, e => {
});
}
},
//
handleSubmit() {
this.isSubmit = true;
this.qdform.passFlag = "0";
this.qdform.commentText = this.commentText;
this.qdform.dataList = this.dataList
const json = JSON.stringify(this.qdform);
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 => {
});
},
//
handleSelectTableChange (data) {
this.handleSelectTableList = data
console.log(this.handleSelectTableList);
},
selectStandChange(data){
this.projectStand = data
},
cancelStand() {
this.standModel = false;
},
//
okStand() {
if(this.standList.length < 1){
this.$message.warning('请至少选择一条数据进行添加')
}else{
this.standList.forEach(item =>{
if(item.ssrq === "-"){
item.ssrq = ''
}
if(item.zrbm === '[]'){
item.zrbm =''
}
})
this.standList.map(item => {
let addIndex
addIndex = this.dataList.findIndex(items =>{
return items.id === item.id
})
if(addIndex > -1){
this.$message.warning('请勿重复添加数据')
}else{
this.dataList.push(item)
}
})
this.standModel = false
}
},
},
computed: {
listNoDataText() {
return this.processType === 1 ? "暂无待办流程" : "暂无已办流程";
}
},
};
</script>
<style lang="less" scoped>
@import '~@/assets/styles/phone';
.phoneXmqdqrStep5 {
/deep/.van-dialog__content {
min-height: 300px;
padding: 10px;
}
.prc-content-border {
overflow: auto;
}
/deep/.prc-content-border .el-form-item__content {
width: 270px;
}
.headerTabs {
height: 52px;
display: flex;
align-items: center;
position: absolute;
top: 52px;
right: 10px;
.headerTabsItem {
border: 1px solid #c1c1c1;
padding: 0 5px;
height: 30px;
line-height: 30px;
cursor: pointer;
}
.active {
border: 1px solid #E6A23C;
color: #fff;
background: #E6A23C;
}
}
.content {
border-top: 1px solid #DCDFE6;
display: flex;
flex-direction: column;
justify-content: space-between;
margin-top: 52px;
height: calc(~'100% - 155px');
overflow: auto;
.tableTitle {
margin-bottom: 10px;
height: 30px;
line-height: 30px;
position: relative;
font-size: 13px;
font-weight: bold;
.tableButton {
position: absolute;
right: 0;
top: 0;
}
}
}
}
</style>
@@ -0,0 +1,457 @@
<template>
<div class="phoneZczqyjStep4">
<ProcessHeaderPhone toggle>
<template slot="proName">政策征求意见流程</template>
<template slot="proNode">责任对接人审核</template>
</ProcessHeaderPhone>
<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>
<div class="content" v-show="active === '1'">
<div style="flex: auto; overflow: auto;">
<el-form
ref="zczqyjForm"
:model="form"
:rules="formRules"
class="label-input-form"
label-width="210px"
>
<ProcessTitle>
<template slot="title">基础信息</template>
</ProcessTitle>
<div class="prc-content-border">
<el-row :gutter="24">
<el-col :span="24">
<el-form-item label="政策编号" prop="lawsNumber" class="add-form-item form-item-disabled">
<el-input
disabled
v-model="form.lawsNumber"
placeholder="请输入政策编号"
clearable
></el-input>
</el-form-item>
<el-form-item label="政策名称" prop="lawsName" class="add-form-item form-item-disabled">
<el-input
disabled
v-model="form.lawsName"
placeholder="请输入政策名称"
clearable
></el-input>
</el-form-item>
</el-col>
</el-row>
</div>
</el-form>
<ProcessTitle>
<template slot="title">征求意见列表</template>
</ProcessTitle>
<el-table
ref="multipleTable"
:data="data"
tooltip-effect="dark"
border
style="width: 100%; flex: auto;"
class="drag-table"
:default-sort = "{prop: 'chapterNumber', order: 'ascending'}"
:header-cell-style="{background: '#E8E8E8', color: '#333333', fontSize: '16px',
fontWeight: 'bold', height: '48px'}">
<el-table-column
type="index"
label="序号"
width="55"
align="center">
</el-table-column>
<el-table-column
prop="chapterNumber"
align="center"
sortable
label="章条编号"
width="101px">
</el-table-column>
<el-table-column
prop="chapterName"
align="center"
label="章节名称"
width="200px">
</el-table-column>
<el-table-column
align="center"
prop="commentText"
label="修改意见内容(包括理由或依据)">
<el-table-column
prop="oldText"
align="center"
label="修改前">
</el-table-column>
<el-table-column
prop="newText"
align="center"
label="修改后">
</el-table-column>
<el-table-column
prop="changeReason"
align="center"
label="修改理由">
</el-table-column>
</el-table-column>
<el-table-column
prop="reason"
align="center"
label="原因"
width="200px">
</el-table-column>
<el-table-column
prop="department"
align="center"
label="提出部门">
</el-table-column>
<el-table-column
prop="responUserName"
align="center"
label="提出人">
</el-table-column>
</el-table>
</div>
<el-collapse accordion>
<el-collapse-item title="审批意见">
<div style="margin: 10px 0;">
<el-input
type="textarea"
:rows="3"
resize="none"
placeholder="请输入意见"
v-model="commentText">
</el-input>
</div>
</el-collapse-item>
</el-collapse>
</div>
<div class="content" v-show="active === '2'">
<el-table
height="100%"
ref="selection"
:data="histortData"
tooltip-effect="dark"
style="width: 100%"
border
row-key="id"
:header-cell-style="{background: '#f8f8f9', color: '#515a6e'}">
<el-table-column
prop="name"
label="任务步骤"
min-width="130"
align="center"
sortable="custom"
>
</el-table-column>
<el-table-column
prop="assignee"
label="任务受理人"
min-width="130"
align="center"
sortable="custom"
>
</el-table-column>
<el-table-column
prop="createTime"
label="创建时间"
min-width="130"
sortable="custom"
align="center">
<template slot-scope="scope">
<span>{{ scope.row.createTime ? $moment(scope.row.createTime).format('YYYY-MM-DD') : '' }}</span>
</template>
</el-table-column>
<el-table-column
prop="endTime"
min-width="130"
label="完成时间"
align="center">
<template slot-scope="scope">
<span>{{ scope.row.endTime ? $moment(scope.row.endTime).format('YYYY-MM-DD') : '' }}</span>
</template>
</el-table-column>
<el-table-column
prop="comment"
label="流程信息"
align="center">
<template slot-scope="scope">
<span>{{ scope.row.commentText }}</span>
</template>
</el-table-column>
<el-table-column
prop="completeFlag"
label="状态"
align="center">
<template slot-scope="scope">
<span>{{ scope.row.endTime ? '已完成' : '未完成' }}</span>
</template>
</el-table-column>
</el-table>
</div>
<ProcessFooter
show-submit
:submitLoading="isSubmit"
:saveLoading="saveLoading"
show-transfer
@transfer="handleTransfer"
@save="handleSave"
@submit="handleSubmit"
show-back
@back="handleSubmitNo"
approval
submitBTNText="同意"
>
</ProcessFooter>
<Role-tree
check-box
is-title="转办处理人"
:is-visible.sync="drawerModal"
@checkedRole="checkedRole"
></Role-tree>
</div>
</template>
<script>
import { Dialog } from 'vant';
import ProcessHeaderPhone from "process/components/ProcessHeaderPhone";
import ProcessHeader from '../../components/ProcessHeader'
import ProcessFooter from '../../components/ProcessFooter'
import ProcessTitle from '../../components/ProcessTitle'
import {inboundLiaisonDetail, processCreateStand,changeAssigneeNew} from 'api/process'
import axios from "axios";
export default {
name: "phoneZczqyjStep4",
data() {
return {
drawerModal: false,
histortData: [],
data: [],
commentText: '',
taskIds: this.$route.query.taskIds,
pId: this.$route.query.prcId,
roleRow: {},
nodeList: [],
type: '',
defaultProps: {
children: 'children',
label: 'name'
},
treeData: [], //
modalshowflag: false, // drawer
drawerTitle: '', //drawer
textarea: '', //
ListModel: false, //
active: '1', //
isSubmit: false,
saveLoading: false,
form: {
lawsNumber: '', //
lawsName: '', //
endTime: '', //
cname: '', //
fjList: [],
fjListId: '',
},
formRules: {
responUserList: [
{required: true, message: '请选择责任人', trigger: 'change'},
]
},
json: {}
}
},
components: {
ProcessHeaderPhone,
ProcessHeader,
ProcessFooter,
ProcessTitle
},
methods: {
handleTransfer() {
this.drawerModal = true
},
checkedRole (data) {
changeAssigneeNew({
taskId: this.$route.query.taskIds, // id
userId:this.$store.getters.userInfo.userId, //
assignee: data[0].id, //
pId: this.$route.query.prcId, //
}).then(res => {
if (res.success) {
this.drawerModal = false
this.$message.success('调整成功')
this.processNum()
this.$router.push({path:'/processCenter?tabsName=ProcessCenter'})
} else {
this.$message.warning(res.message)
}
})
},
//
processNum (row) {
axios.request({
url: '/api/lawss/activiti/getImg?_t=' + new Date().getTime(),
responseType: 'blob',
method: 'get',
params: {
prcNum: this.$route.query.prcNum
}
}).then(res => {
this.processStep = window.URL.createObjectURL(res.data)
})
},
getHistoryData() {
this.$http.get('lawss/activiti/get_list_by_instance', {
prcNum: this.$route.query.prcNum,
}, {}, res => {
this.histortData = res
}, e => {
})
},
handleTabs(name) {
this.active = name
},
handleSave() {
},
handleSubmit() {
this.isSubmit = true
var json = this.json
//actionFlag
json.actionFlag = 0
json.commentText = this.commentText
this.$http.post('lawss/activiti/completeTask', {
json: JSON.stringify(json),
taskId: this.taskIds,
userId: this.$store.getters.userInfo.userId
}, {}, res => {
if (res.success) {
this.$message.success('提交成功')
this.$router.push('/processCenter')
}
this.isSubmit = false
})
},
handleSubmitNo() {
if (this.commentText) {
var json = this.json
//actionFlag
json.actionFlag = 1
json.commentText = this.commentText
this.$http.post('lawss/activiti/completeTask', {
json: JSON.stringify(json),
taskId: this.taskIds,
userId: this.$store.getters.userInfo.userId
}, {}, res => {
if (res.success) {
this.$message.success('提交成功')
this.$router.push('/processCenter')
}
})
} else {
this.$message.warning('请输入反馈意见')
}
},
getData() {
return new Promise((resolve, reject) => {
inboundLiaisonDetail({
taskIds: this.taskIds,
pId: this.pId
}).then(res => {
if (res) {
const processForm = JSON.parse(res.mesg)
this.getFormFieldList(processForm)
}
let data = JSON.parse(res.mesg)
this.form.fjList = data.fjList || data.form.fjList
this.form.fjListId = data.fjListId || data.form.fjListId
this.form.lawsNumber = data.lawsNumber || data.form.lawsNumber
this.form.lawsName = data.lawsName || data.form.lawsName
this.form.endTime = data.endTime || data.form.endTime
this.form.cname = data.cname || data.form.cname
this.json = data
this.data = data.info || data.data
}).catch(e => {
})
})
},
/**
* @description: 动态表单读取
*/
getFormFieldList(item) {
this.$nextTick(() => {
this.form = JSON.parse(JSON.stringify(item));
this.form.lawsNumber = item.form.lawsNumber
this.form.lawsName = item.form.lawsName
});
},
},
mounted() {
this.getHistoryData()
this.getData()
}
}
</script>
<style lang="less" scoped>
@import '~@/assets/styles/style';
.phoneZczqyjStep4 {
/deep/.van-dialog__content {
min-height: 300px;
padding: 10px;
}
.prc-content-border {
overflow: auto;
}
/deep/.prc-content-border .el-form-item__content {
width: 270px;
}
.headerTabs {
height: 52px;
display: flex;
align-items: center;
position: absolute;
top: 52px;
right: 10px;
.headerTabsItem {
border: 1px solid #c1c1c1;
padding: 0 5px;
height: 30px;
line-height: 30px;
cursor: pointer;
}
.active {
border: 1px solid #E6A23C;
color: #fff;
background: #E6A23C;
}
}
.content {
border-top: 1px solid #DCDFE6;
display: flex;
flex-direction: column;
justify-content: space-between;
margin-top: 52px;
height: calc(~'100% - 155px');
overflow: auto;
.tableTitle {
margin-bottom: 10px;
height: 30px;
line-height: 30px;
position: relative;
font-size: 13px;
font-weight: bold;
.tableButton {
position: absolute;
right: 0;
top: 0;
}
}
}
}
</style>
@@ -0,0 +1,629 @@
<template>
<div class="phoneZczqyjStep5">
<!-- 标准调研流程-->
<ProcessHeaderPhone toggle>
<template slot="proName">政策征求意见流程</template>
<template slot="proNode">法规认证工程师单条批准</template>
</ProcessHeaderPhone>
<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>
<div class="content" v-show="active === '1'">
<div style="flex: auto; overflow: auto;">
<el-form
ref="zczqyjForm"
:model="form"
:rules="formRules"
class="label-input-form"
label-width="210px"
>
<ProcessTitle>
<template slot="title">基础信息</template>
</ProcessTitle>
<div class="prc-content-border">
<el-row :gutter="24">
<el-col :span="24">
<el-form-item label="政策编号" prop="lawsNumber" class="add-form-item form-item-disabled">
<el-input
disabled
v-model="form.lawsNumber"
placeholder="请输入政策编号"
clearable
></el-input>
</el-form-item>
<el-form-item label="政策名称" prop="lawsName" class="add-form-item form-item-disabled">
<el-input
disabled
v-model="form.lawsName"
placeholder="请输入政策名称"
clearable
></el-input>
</el-form-item>
</el-col>
</el-row>
</div>
</el-form>
<ProcessTitle>
<template slot="title">征求意见列表</template>
</ProcessTitle>
<div class="button-list">
<el-button type="primary"
class="common-button-primary add-button"
:disabled="acceptShow"
@click="addModal"
size="mini">新增
</el-button>
<el-button type="primary"
class="common-button-primary add-button"
@click="upload(data, '汇总单.xls')"
size="mini">导出Excel
</el-button>
<!-- <el-button type="primary"-->
<!-- class="common-button-primary add-button"-->
<!-- @click="upload(oldData, '上报意见.xls')"-->
<!-- size="mini">导出Word-->
<!-- </el-button>-->
</div>
<el-table
ref="multipleTable"
:data="data"
tooltip-effect="dark"
border
style="width: 100%; flex: auto;"
class="drag-table"
:default-sort = "{prop: 'chapterNumber', order: 'ascending'}"
:header-cell-style="{background: '#E8E8E8', color: '#333333', fontSize: '16px',
fontWeight: 'bold', height: '48px'}">
<el-table-column
type="index"
label="序号"
width="55"
align="center">
</el-table-column>
<el-table-column
prop="chapterNumber"
align="center"
sortable
label="章条编号"
width="101px">
<template slot-scope="scope">
<el-input style="margin: 10px 0;background-color: red" v-model="scope.row.chapterNumber" v-if="changeFlag && scope.row.chapterNumber === ''"></el-input>
<el-input style="margin: 10px 0;background-color: orange" v-model="scope.row.chapterNumber" v-else-if="changeFlag && scope.row.addFlag"></el-input>
<el-input style="margin: 10px 0;background-color: orange" v-model="scope.row.chapterNumber" v-else-if="changeFlag && !scope.row.addFlag" readonly></el-input>
<el-input style="margin: 10px 0;" v-model="scope.row.chapterNumber" v-else readonly></el-input>
</template>
</el-table-column>
<el-table-column
prop="chapterName"
align="center"
width="200px"
label="章节名称">
<template slot-scope="scope">
<el-input style="margin: 10px 0;background-color: red" v-model="scope.row.chapterName" v-if="changeFlag && scope.row.chapterName === ''"></el-input>
<el-input style="margin: 10px 0;background-color: orange" v-model="scope.row.chapterName" v-else-if="changeFlag && scope.row.addFlag"></el-input>
<el-input style="margin: 10px 0;background-color: orange" v-model="scope.row.chapterName" v-else-if="changeFlag && !scope.row.addFlag" readonly></el-input>
<el-input style="margin: 10px 0;" v-model="scope.row.chapterName" v-else readonly></el-input>
</template>
</el-table-column>
<el-table-column
prop="commentText"
align="center"
label="修改意见内容(包括理由或依据)">
<el-table-column
prop="oldText"
align="center"
label="修改前">
<template slot-scope="scope">
<el-input style="margin: 10px 0;background-color: red" v-model="scope.row.oldText" v-if="changeFlag && scope.row.oldText === ''"></el-input>
<el-input style="margin: 10px 0;background-color: #409eff" v-model="scope.row.oldText" v-else-if="changeFlag"></el-input>
<el-input style="margin: 10px 0;" v-model="scope.row.oldText" v-else readonly></el-input>
</template>
</el-table-column>
<el-table-column
prop="newText"
align="center"
label="修改后">
<template slot-scope="scope">
<el-input style="margin: 10px 0;background-color: red" v-model="scope.row.newText" v-if="changeFlag && scope.row.newText === ''"></el-input>
<el-input style="margin: 10px 0;background-color: #409eff" v-model="scope.row.newText" v-else-if="changeFlag"></el-input>
<el-input style="margin: 10px 0;" v-model="scope.row.newText" v-else readonly></el-input>
</template>
</el-table-column>
<el-table-column
prop="changeReason"
align="center"
label="修改理由">
<template slot-scope="scope">
<el-input style="margin: 10px 0;background-color: red" v-model="scope.row.changeReason" v-if="changeFlag && scope.row.changeReason === ''"></el-input>
<el-input style="margin: 10px 0;background-color: #409eff" v-model="scope.row.changeReason" v-else-if="changeFlag"></el-input>
<el-input style="margin: 10px 0;" v-model="scope.row.changeReason" v-else readonly></el-input>
</template>
</el-table-column>
</el-table-column>
<el-table-column
prop="reason"
align="center"
label="原因"
width="200px">
<template slot-scope="scope">
<el-input style="margin: 10px 0;background-color: red" v-model="scope.row.reason" v-if="changeFlag && scope.row.reason === ''"></el-input>
<el-input style="margin: 10px 0;background-color: #409eff" v-model="scope.row.reason" v-else-if="changeFlag"></el-input>
<el-input style="margin: 10px 0;" v-model="scope.row.reason" v-else readonly></el-input>
</template>
</el-table-column>
<el-table-column
prop="department"
align="center"
label="提出部门">
</el-table-column>
<el-table-column
prop="responUserName"
align="center"
label="提出人">
</el-table-column>
<el-table-column
prop="operation"
align="center"
width="150px"
label="操作">
<template slot-scope="scope">
<el-button type="primary"
class="common-button-primary add-button"
@click="changeOpinion"
size="mini">{{changeFlag?'完成':'修订'}}</el-button>
<el-button type="primary"
class="common-button-primary add-button"
@click="addDelete(scope.$index, scope.row)"
size="mini">删除</el-button>
<div>{{ stateText(scope.row.state) }}</div>
</template>
</el-table-column>
</el-table>
</div>
<el-collapse accordion>
<el-collapse-item title="审批意见">
<div style="margin: 10px 0;">
<el-input
type="textarea"
:rows="3"
resize="none"
placeholder="请输入意见"
v-model="commentText">
</el-input>
</div>
</el-collapse-item>
</el-collapse>
</div>
<div class="content" v-show="active === '2'">
<el-table
height="100%"
ref="selection"
:data="histortData"
tooltip-effect="dark"
style="width: 100%"
border
row-key="id"
:header-cell-style="{background: '#f8f8f9', color: '#515a6e'}">
<el-table-column
prop="name"
label="任务步骤"
align="center"
min-width="130"
sortable="custom"
>
</el-table-column>
<el-table-column
prop="assignee"
label="任务受理人"
min-width="130"
align="center"
sortable="custom"
>
</el-table-column>
<el-table-column
prop="createTime"
label="创建时间"
min-width="130"
sortable="custom"
align="center">
<template slot-scope="scope">
<span>{{ scope.row.createTime ? $moment(scope.row.createTime).format("YYYY-MM-DD") : "" }}</span>
</template>
</el-table-column>
<el-table-column
prop="endTime"
label="完成时间"
min-width="130"
align="center">
<template slot-scope="scope">
<span>{{ scope.row.endTime ? $moment(scope.row.endTime).format("YYYY-MM-DD") : "" }}</span>
</template>
</el-table-column>
<el-table-column
prop="comment"
label="流程信息"
align="center">
<template slot-scope="scope">
<span>{{ scope.row.commentText }}</span>
</template>
</el-table-column>
<el-table-column
prop="completeFlag"
label="状态"
align="center">
<template slot-scope="scope">
<span>{{ scope.row.endTime ? "已完成" : "未完成" }}</span>
</template>
</el-table-column>
</el-table>
</div>
<ProcessFooter
show-submit
:submitLoading="isSubmit"
:saveLoading="saveLoading"
@save="handleSave"
@submit="handleSubmit"
show-back
@back="handleSubmitNo"
show-transfer
@transfer="handleTransfer"
approval
submitBTNText="同意"
>
</ProcessFooter>
<Role-tree
check-box
is-title="转办处理人"
:is-visible.sync="drawerModal"
@checkedRole="checkedRole"
></Role-tree>
</div>
</template>
<script>
import { Dialog } from 'vant';
import ProcessHeaderPhone from "process/components/ProcessHeaderPhone";
import ProcessHeader from "../../components/ProcessHeader";
import ProcessFooter from "../../components/ProcessFooter";
import ProcessTitle from "../../components/ProcessTitle";
import { inboundLiaisonDetail, processCreateStand, changeAssigneeNew } from "api/process";
import axios from "axios";
export default {
name: "phoneZczqyjStep5",
data() {
return {
//
changeFlag:false,
acceptShow: false,
drawerModal: false,
histortData: [],
oldData: [],
data: [],
commentText: "",
oldText: "",
newText: "",
reason: "",
taskIds: this.$route.query.taskIds,
pId: this.$route.query.prcId,
roleRow: {},
nodeList: [],
type: "",
defaultProps: {
children: "children",
label: "name"
},
treeData: [], //
modalshowflag: false, // drawer
drawerTitle: "", //drawer
textarea: "", //
ListModel: false, //
active: "1", //
isSubmit: false,
saveLoading: false,
form: {
lawsNumber: '', //
lawsName: '', //
department: '',//
endTime: "", //
cname: "", //
fjList: [],
fjListId: '',
},
formRules: {
responUserList: [
{required: true, message: "请选择责任人", trigger: "change"}
]
},
json: {}
};
},
components: {
ProcessHeader,
ProcessHeaderPhone,
ProcessFooter,
ProcessTitle
},
methods: {
changeOpinion() {
this.changeFlag = !this.changeFlag
},
addDelete(index, row) {
console.log('362',index, row);
this.$confirm('此操作将删除该数据, 是否继续?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
this.data.splice(index, 1)
this.$message({
type: 'success',
message: '删除成功!'
});
}).catch(() => {
this.$message({
type: 'info',
message: '已取消删除'
});
});
console.log('379',this.data)
},
addModal() {
console.log('318',this.form.form.department)
this.changeFlag = true
var id = Number(Math.random().toString().substr(3, 3) + Date.now()).toString(36);
var json = {
chapterNumber: '',
chapterName: '',
commentText: '',
oldText: '',
newText: '',
changeReason: '',
reason: '',
department: this.form.form.department,
id: id,
responUserName: this.$store.getters.userInfo.userName,
responUser: this.$store.getters.userInfo.userId,
addFlag:true,
// department: this.$store.getters.userInfo.orgName
}
this.data.unshift(json)
},
handleTransfer() {
this.drawerModal = true
},
checkedRole (data) {
changeAssigneeNew({
taskId: this.$route.query.taskIds, // id
userId:this.$store.getters.userInfo.userId, //
assignee: data[0].id, //
pId: this.$route.query.prcId, //
}).then(res => {
if (res.success) {
this.drawerModal = false
this.$message.success('调整成功')
this.processNum()
this.$router.push({path:'/processCenter?tabsName=ProcessCenter'})
} else {
this.$message.warning(res.message)
}
})
},
//
processNum (row) {
axios.request({
url: '/api/lawss/activiti/getImg?_t=' + new Date().getTime(),
responseType: 'blob',
method: 'get',
params: {
prcNum: this.$route.query.prcNum
}
}).then(res => {
this.processStep = window.URL.createObjectURL(res.data)
})
},
getHistoryData() {
this.$http.get("lawss/activiti/get_list_by_instance", {
prcNum: this.$route.query.prcNum
}, {}, res => {
this.histortData = res;
}, e => {
});
},
stateText(row) {
if (row === "1") {
return "上报";
} else if (row === "2") {
return "处理后上报";
}
},
upload(row, title) {
var params = {
columnName: {
chapterNumber: "章条编号",
chapterName: "章节名称",
commentText: "修改意见内容(包括理由或依据)",
oldText: "修改前",
newText: "修改后",
changeReason: "修改理由",
reason:"原因",
department: "提出部门",
responUserName: "提出人",
},
dataList: []
};
params.dataList = JSON.parse(JSON.stringify(row));
this.$http.downloadFile("/api/policy/activiti/exportExcel", params, title, res => {
});
},
handleTabs(name) {
this.active = name;
},
handleSave() {
},
handleSubmit() {
if (this.data.length < 1) {
this.$message.warning("请输入征求意见稿");
} else {
this.isSubmit = true;
var json = this.json;
json.actionFlag = 0;
json.commentText = this.commentText;
json.info = this.data
json.form = this.form
this.$http.post("lawss/activiti/completeTask", {
json: JSON.stringify(json),
taskId: this.taskIds,
userId: this.$store.getters.userInfo.userId
}, {}, res => {
if (res.success) {
this.$message.success("提交成功");
this.$router.push("/processCenter");
}
this.isSubmit = false;
});
}
},
handleSubmitNo() {
if (this.commentText) {
this.isSubmit = true;
var json = this.json;
json.actionFlag = 1;
json.commentText = this.commentText;
this.$http.post("lawss/activiti/completeTask", {
json: JSON.stringify(json),
taskIds: this.taskIds,
userId: this.$store.getters.userInfo.userId
}, {}, res => {
if (res.success) {
this.$message.success("驳回成功");
this.$router.push("/processCenter");
}
this.isSubmit = false;
});
} else {
this.$message.warning("请输入反馈意见");
}
},
getData() {
return new Promise((resolve, reject) => {
inboundLiaisonDetail({
taskIds: this.taskIds,
pId: this.pId
}).then(res => {
if (res) {
const processForm = JSON.parse(res.mesg)
this.getFormFieldList(processForm)
}
let data = JSON.parse(res.mesg);
this.form.department = data.form.department
console.log(this.form.department,'517')
//
this.form.responUserAndInstitutionNameMap = data.form.responUserAndInstitutionNameMap
this.form.fjList = data.fjList || data.form.fjList
this.form.fjListId = data.fjListId || data.form.fjListId
this.form.lawsNumber = data.lawsNumber || data.form.lawsNumber
this.form.lawsName = data.lawsName || data.form.lawsName
this.form.endTime = data.endTime || data.form.endTime;
this.form.cname = data.cname || data.form.cname;
this.oldData = JSON.parse(JSON.stringify(data.info))
var arr = []
data.info.forEach(item => {
if (item.state != '3') {
arr.push(item)
}
})
// for (let i = 0; i < this.data.length; i++) {
// this.data[i].department = data.department
// }
this.json = data
this.data = arr
this.oldData = data.oldinfo
}).catch(e => {
});
});
},
/**
* @description: 动态表单读取
*/
getFormFieldList(item) {
this.$nextTick(() => {
this.form = JSON.parse(JSON.stringify(item));
this.form.lawsNumber = item.form.lawsNumber
this.form.lawsName = item.form.lawsName
});
},
},
mounted() {
this.getHistoryData();
this.getData();
}
};
</script>
<style lang="less" scoped>
@import '~@/assets/styles/style';
.phoneZczqyjStep5 {
/deep/.van-dialog__content {
min-height: 300px;
padding: 10px;
}
.prc-content-border {
overflow: auto;
}
/deep/.prc-content-border .el-form-item__content {
width: 270px;
}
.headerTabs {
height: 52px;
display: flex;
align-items: center;
position: absolute;
top: 52px;
right: 10px;
.headerTabsItem {
border: 1px solid #c1c1c1;
padding: 0 5px;
height: 30px;
line-height: 30px;
cursor: pointer;
}
.active {
border: 1px solid #E6A23C;
color: #fff;
background: #E6A23C;
}
}
.content {
border-top: 1px solid #DCDFE6;
display: flex;
flex-direction: column;
justify-content: space-between;
margin-top: 52px;
height: calc(~'100% - 155px');
overflow: auto;
.tableTitle {
margin-bottom: 10px;
height: 30px;
line-height: 30px;
position: relative;
font-size: 13px;
font-weight: bold;
.tableButton {
position: absolute;
right: 0;
top: 0;
}
}
}
}
</style>
@@ -0,0 +1,494 @@
<template>
<div class="phoneZczqyjStep6">
<ProcessHeaderPhone toggle>
<template slot="proName">政策征求意见流程</template>
<template slot="proNode">法规认证工程师汇总修订</template>
</ProcessHeaderPhone>
<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>
<div class="content" v-show="active === '1'">
<div style="flex: auto; overflow: auto;">
<el-form
ref="zczqyjForm"
:model="form"
:rules="formRules"
class="label-input-form"
label-width="210px"
>
<ProcessTitle>
<template slot="title">基础信息</template>
</ProcessTitle>
<div class="prc-content-border">
<el-row :gutter="24">
<el-col :span="24">
<el-form-item label="政策编号" prop="lawsNumber" class="add-form-item form-item-disabled">
<el-input
disabled
v-model="form.lawsNumber"
placeholder="请输入政策编号"
clearable
></el-input>
</el-form-item>
<el-form-item label="政策名称" prop="lawsName" class="add-form-item form-item-disabled">
<el-input
disabled
v-model="form.lawsName"
placeholder="请输入政策名称"
clearable
></el-input>
</el-form-item>
</el-col>
</el-row>
</div>
</el-form>
<ProcessTitle>
<template slot="title">征求意见列表</template>
</ProcessTitle>
<el-table
ref="multipleTable"
:data="data"
tooltip-effect="dark"
border
style="width: 100%; flex: auto;"
class="drag-table"
:default-sort = "{prop: 'chapterNumber', order: 'ascending'}"
:header-cell-style="{background: '#E8E8E8', color: '#333333', fontSize: '16px',
fontWeight: 'bold', height: '48px'}">
<el-table-column
type="index"
label="序号"
width="55"
align="center">
</el-table-column>
<el-table-column
prop="chapterNumber"
align="center"
sortable
label="章条编号"
width="101px">
</el-table-column>
<el-table-column
prop="chapterName"
align="center"
width="200px"
label="章节名称">
</el-table-column>
<el-table-column
align="center"
prop="commentText"
label="修改意见内容(包括理由或依据)">
<el-table-column
prop="oldText"
align="center"
label="修改前">
</el-table-column>
<el-table-column
prop="newText"
align="center"
label="修改后">
</el-table-column>
<el-table-column
prop="changeReason"
align="center"
label="修改理由">
</el-table-column>
</el-table-column>
<el-table-column
prop="reason"
align="center"
label="原因"
width="200px">
</el-table-column>
<el-table-column
prop="department"
align="center"
label="提出部门">
</el-table-column>
<el-table-column
prop="responUserName"
align="center"
label="提出人">
</el-table-column>
<!-- <el-table-column-->
<!-- prop="dealComment"-->
<!-- align="center"-->
<!-- label="处理意见">-->
<!-- <template slot-scope="scope">-->
<!-- <div>{{ stateText(scope.row.state) }}</div>-->
<!-- </template>-->
<!-- </el-table-column>-->
</el-table>
</div>
<el-collapse accordion>
<el-collapse-item title="审批意见">
<div style="margin: 10px 0;">
<el-input
type="textarea"
:rows="3"
resize="none"
placeholder="请输入意见"
v-model="commentText">
</el-input>
</div>
</el-collapse-item>
</el-collapse>
</div>
<div class="content" v-show="active === '2'">
<el-table
height="100%"
ref="selection"
:data="histortData"
tooltip-effect="dark"
style="width: 100%"
border
row-key="id"
:header-cell-style="{background: '#f8f8f9', color: '#515a6e'}">
<el-table-column
prop="name"
label="任务步骤"
min-width="130"
align="center"
sortable="custom"
>
</el-table-column>
<el-table-column
prop="assignee"
min-width="130"
label="任务受理人"
align="center"
sortable="custom"
>
</el-table-column>
<el-table-column
prop="createTime"
label="创建时间"
min-width="130"
sortable="custom"
align="center">
<template slot-scope="scope">
<span>{{ scope.row.createTime ? $moment(scope.row.createTime).format("YYYY-MM-DD") : "" }}</span>
</template>
</el-table-column>
<el-table-column
prop="endTime"
min-width="130"
label="完成时间"
align="center">
<template slot-scope="scope">
<span>{{ scope.row.endTime ? $moment(scope.row.endTime).format("YYYY-MM-DD") : "" }}</span>
</template>
</el-table-column>
<el-table-column
prop="comment"
label="流程信息"
align="center">
<template slot-scope="scope">
<span>{{ scope.row.commentText }}</span>
</template>
</el-table-column>
<el-table-column
prop="completeFlag"
label="状态"
align="center">
<template slot-scope="scope">
<span>{{ scope.row.endTime ? "已完成" : "未完成" }}</span>
</template>
</el-table-column>
</el-table>
</div>
<ProcessFooter
show-submit
:submitLoading="isSubmit"
:saveLoading="saveLoading"
@save="handleSave"
@submit="handleSubmit"
show-back
@back="handleSubmitNo"
approval
submitBTNText="同意"
show-transfer
@transfer="handleTransfer"
>
</ProcessFooter>
<Role-tree
check-box
is-title="转办处理人"
:is-visible.sync="drawerModal"
@checkedRole="checkedRole"
></Role-tree>
</div>
</template>
<script>
import { Dialog } from 'vant';
import ProcessHeaderPhone from "process/components/ProcessHeaderPhone";
import ProcessHeader from "../../components/ProcessHeader";
import ProcessFooter from "../../components/ProcessFooter";
import ProcessTitle from "../../components/ProcessTitle";
import { inboundLiaisonDetail, processCreateStand, changeAssigneeNew } from "api/process";
import axios from "axios";
export default {
name: "phoneZczqyjStep6",
data() {
return {
drawerModal: false,
histortData: [],
oldData: [],
data: [],
commentText: "",
taskIds: this.$route.query.taskIds,
pId: this.$route.query.prcId,
roleRow: {},
nodeList: [],
type: "",
defaultProps: {
children: "children",
label: "name"
},
treeData: [], //
modalshowflag: false, // drawer
drawerTitle: "", //drawer
textarea: "", //
ListModel: false, //
active: "1", //
isSubmit: false,
saveLoading: false,
form: {
lawsNumber: '', //
lawsName: '', //
endTime: "", //
cname: "", //
fjList: [],
fjListId: '',
},
formRules: {
responUserList: [
{required: true, message: "请选择责任人", trigger: "change"}
]
},
json: {}
};
},
components: {
ProcessHeader,
ProcessHeaderPhone,
ProcessFooter,
ProcessTitle
},
methods: {
handleTransfer() {
this.drawerModal = true
},
checkedRole (data) {
changeAssigneeNew({
taskId: this.$route.query.taskIds, // id
userId:this.$store.getters.userInfo.userId, //
assignee: data[0].id, //
pId: this.$route.query.prcId, //
}).then(res => {
if (res.success) {
this.drawerModal = false
this.$message.success('调整成功')
this.processNum()
this.$router.push({path:'/processCenter?tabsName=ProcessCenter'})
} else {
this.$message.warning(res.message)
}
})
},
//
processNum (row) {
axios.request({
url: '/api/lawss/activiti/getImg?_t=' + new Date().getTime(),
responseType: 'blob',
method: 'get',
params: {
prcNum: this.$route.query.prcNum
}
}).then(res => {
this.processStep = window.URL.createObjectURL(res.data)
})
},
getHistoryData() {
this.$http.get("lawss/activiti/get_list_by_instance", {
prcNum: this.$route.query.prcNum
}, {}, res => {
this.histortData = res;
}, e => {
});
},
upload(row, title) {
var params = {
columnName: {
chapterNumber: "章条编号",
chapterName: "章节名称",
commentText: "修改意见内容(包括理由或依据)",
department: "提出部门",
responUserName: "提出人",
stateText: "处理意见"
},
dataList: []
};
params.dataList = JSON.parse(JSON.stringify(row));
params.dataList.forEach(item => {
if (item.state === "1") {
item.stateText = "上报";
} else if (item.state === "2") {
item.stateText = "处理后上报";
} else {
item.stateText = "不上报";
}
});
this.$http.downloadFile("/api/lawss/activiti/export_excel", params, title, res => {
});
},
stateText(row) {
if (row === "1") {
return "上报";
} else if (row === "2") {
return "处理后上报";
}
},
handleTabs(name) {
this.active = name;
},
handleSave() {
},
handleSubmit() {
if (this.data.length < 1) {
this.$message.warning("请输入征求意见搞");
} else {
this.isSubmit = true;
var json = this.json;
json.actionFlag = 0;
json.commentText = this.commentText;
this.$http.post("lawss/activiti/completeTask", {
json: JSON.stringify(json),
taskId: this.taskIds,
userId: this.$store.getters.userInfo.userId
}, {}, res => {
if (res.success) {
this.$message.success("提交成功");
this.$router.push("/processCenter");
}
this.isSubmit = false;
});
}
},
handleSubmitNo() {
if (this.commentText) {
this.isSubmit = true;
var json = this.json;
json.actionFlag = 1;
json.commentText = this.commentText;
this.$http.post("lawss/activiti/completeTask", {
json: JSON.stringify(json),
taskIds: this.taskIds,
userId: this.$store.getters.userInfo.userId
}, {}, res => {
if (res.success) {
this.$message.success("驳回成功");
this.$router.push("/processCenter");
}
this.isSubmit = false;
});
} else {
this.$message.warning("请输入反馈意见");
}
},
getData() {
return new Promise((resolve, reject) => {
inboundLiaisonDetail({
taskIds: this.taskIds,
pId: this.pId
}).then(res => {
let data = JSON.parse(res.mesg)
this.form.fjList = data.fjList || data.form.fjList
this.form.fjListId = data.fjListId || data.form.fjListId
this.form.lawsNumber = data.lawsNumber || data.form.lawsNumber
this.form.lawsName = data.lawsName || data.form.lawsName
this.form.endTime = data.endTime || data.form.endTime;
this.form.cname = data.cname || data.form.cname;
this.oldData = JSON.parse(JSON.stringify(data.info))
var arr = []
data.info.forEach(item => {
if (item.state != '3') {
arr.push(item)
}
})
this.json = data
this.data = arr
this.oldData = data.oldinfo
}).catch(e => {
});
});
}
},
mounted() {
this.getHistoryData();
this.getData();
}
};
</script>
<style lang="less" scoped>
@import '~@/assets/styles/style';
.phoneZczqyjStep6 {
/deep/.van-dialog__content {
min-height: 300px;
padding: 10px;
}
.prc-content-border {
overflow: auto;
}
/deep/.prc-content-border .el-form-item__content {
width: 270px;
}
.headerTabs {
height: 52px;
display: flex;
align-items: center;
position: absolute;
top: 52px;
right: 10px;
.headerTabsItem {
border: 1px solid #c1c1c1;
padding: 0 5px;
height: 30px;
line-height: 30px;
cursor: pointer;
}
.active {
border: 1px solid #E6A23C;
color: #fff;
background: #E6A23C;
}
}
.content {
border-top: 1px solid #DCDFE6;
display: flex;
flex-direction: column;
justify-content: space-between;
margin-top: 52px;
height: calc(~'100% - 155px');
overflow: auto;
.tableTitle {
margin-bottom: 10px;
height: 30px;
line-height: 30px;
position: relative;
font-size: 13px;
font-weight: bold;
.tableButton {
position: absolute;
right: 0;
top: 0;
}
}
}
}
</style>
@@ -0,0 +1,495 @@
<template>
<div class="phoneZczqyjStep7">
<ProcessHeaderPhone toggle>
<template slot="proName">政策征求意见流程</template>
<template slot="proNode">法规认证部部长审核</template>
</ProcessHeaderPhone>
<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>
<div class="content" v-show="active === '1'">
<div style="flex: auto; overflow: auto;">
<el-form
ref="zczqyjForm"
:model="form"
:rules="formRules"
class="label-input-form"
label-width="210px"
>
<ProcessTitle>
<template slot="title">基础信息</template>
</ProcessTitle>
<div class="prc-content-border">
<el-row :gutter="24">
<el-col :span="24">
<el-form-item label="政策编号" prop="lawsNumber" class="add-form-item form-item-disabled">
<el-input
disabled
v-model="form.lawsNumber"
placeholder="请输入政策编号"
clearable
></el-input>
</el-form-item>
<el-form-item label="政策名称" prop="lawsName" class="add-form-item form-item-disabled">
<el-input
disabled
v-model="form.lawsName"
placeholder="请输入政策名称"
clearable
></el-input>
</el-form-item>
</el-col>
</el-row>
</div>
</el-form>
<ProcessTitle>
<template slot="title">征求意见列表</template>
</ProcessTitle>
<el-table
ref="multipleTable"
:data="data"
tooltip-effect="dark"
border
style="width: 100%; flex: auto;"
class="drag-table"
:default-sort = "{prop: 'chapterNumber', order: 'ascending'}"
:header-cell-style="{background: '#E8E8E8', color: '#333333', fontSize: '16px',
fontWeight: 'bold', height: '48px'}">
<el-table-column
type="index"
label="序号"
width="55"
align="center">
</el-table-column>
<el-table-column
prop="chapterNumber"
align="center"
sortable
label="章条编号"
width="101px">
</el-table-column>
<el-table-column
prop="chapterName"
align="center"
width="200px"
label="章节名称">
</el-table-column>
<el-table-column
align="center"
prop="commentText"
label="修改意见内容(包括理由或依据)">
<el-table-column
prop="oldText"
align="center"
label="修改前">
</el-table-column>
<el-table-column
prop="newText"
align="center"
label="修改后">
</el-table-column>
<el-table-column
prop="changeReason"
align="center"
label="修改理由">
</el-table-column>
</el-table-column>
<el-table-column
prop="reason"
align="center"
label="原因"
width="200px">
</el-table-column>
<el-table-column
prop="department"
align="center"
label="提出部门">
</el-table-column>
<el-table-column
prop="responUserName"
align="center"
label="提出人">
</el-table-column>
<!-- <el-table-column-->
<!-- prop="dealComment"-->
<!-- align="center"-->
<!-- label="处理意见">-->
<!-- <template slot-scope="scope">-->
<!-- <div>{{ stateText(scope.row.state) }}</div>-->
<!-- </template>-->
<!-- </el-table-column>-->
</el-table>
</div>
<el-collapse accordion>
<el-collapse-item title="审批意见">
<div style="margin: 10px 0;">
<el-input
type="textarea"
:rows="3"
resize="none"
placeholder="请输入意见"
v-model="commentText">
</el-input>
</div>
</el-collapse-item>
</el-collapse>
</div>
<div class="content" v-show="active === '2'">
<el-table
height="100%"
ref="selection"
:data="histortData"
tooltip-effect="dark"
style="width: 100%"
border
row-key="id"
:header-cell-style="{background: '#f8f8f9', color: '#515a6e'}">
<el-table-column
prop="name"
min-width="130"
label="任务步骤"
align="center"
sortable="custom"
>
</el-table-column>
<el-table-column
prop="assignee"
label="任务受理人"
min-width="130"
align="center"
sortable="custom"
>
</el-table-column>
<el-table-column
prop="createTime"
label="创建时间"
min-width="130"
sortable="custom"
align="center">
<template slot-scope="scope">
<span>{{ scope.row.createTime ? $moment(scope.row.createTime).format("YYYY-MM-DD") : "" }}</span>
</template>
</el-table-column>
<el-table-column
prop="endTime"
label="完成时间"
min-width="130"
align="center">
<template slot-scope="scope">
<span>{{ scope.row.endTime ? $moment(scope.row.endTime).format("YYYY-MM-DD") : "" }}</span>
</template>
</el-table-column>
<el-table-column
prop="comment"
label="流程信息"
align="center">
<template slot-scope="scope">
<span>{{ scope.row.commentText }}</span>
</template>
</el-table-column>
<el-table-column
prop="completeFlag"
label="状态"
align="center">
<template slot-scope="scope">
<span>{{ scope.row.endTime ? "已完成" : "未完成" }}</span>
</template>
</el-table-column>
</el-table>
</div>
<ProcessFooter
show-submit
:submitLoading="isSubmit"
:saveLoading="saveLoading"
@save="handleSave"
@submit="handleSubmit"
show-back
@back="handleSubmitNo"
approval
submitBTNText="同意"
show-transfer
@transfer="handleTransfer"
>
</ProcessFooter>
<Role-tree
check-box
is-title="转办处理人"
:is-visible.sync="drawerModal"
@checkedRole="checkedRole"
></Role-tree>
</div>
</template>
<script>
import { Dialog } from 'vant';
import ProcessHeaderPhone from "process/components/ProcessHeaderPhone";
import ProcessHeader from "../../components/ProcessHeader";
import ProcessFooter from "../../components/ProcessFooter";
import ProcessTitle from "../../components/ProcessTitle";
import { inboundLiaisonDetail, processCreateStand, changeAssigneeNew } from "api/process";
import axios from "axios";
export default {
name: "phoneZczqyjStep7",
data() {
return {
drawerModal: false,
histortData: [],
oldData: [],
data: [],
commentText: "",
taskIds: this.$route.query.taskIds,
pId: this.$route.query.prcId,
roleRow: {},
nodeList: [],
type: "",
defaultProps: {
children: "children",
label: "name"
},
treeData: [], //
modalshowflag: false, // drawer
drawerTitle: "", //drawer
textarea: "", //
ListModel: false, //
active: "1", //
isSubmit: false,
saveLoading: false,
form: {
lawsNumber: '', //
lawsName: '', //
endTime: "", //
cname: "", //
fjList: [],
fjListId: '',
},
formRules: {
responUserList: [
{required: true, message: "请选择责任人", trigger: "change"}
]
},
json: {}
};
},
components: {
ProcessHeaderPhone,
ProcessHeader,
ProcessFooter,
ProcessTitle
},
methods: {
handleTransfer() {
this.drawerModal = true
},
checkedRole (data) {
changeAssigneeNew({
taskId: this.$route.query.taskIds, // id
userId:this.$store.getters.userInfo.userId, //
assignee: data[0].id, //
pId: this.$route.query.prcId, //
}).then(res => {
if (res.success) {
this.drawerModal = false
this.$message.success('调整成功')
this.processNum()
this.$router.push({path:'/processCenter?tabsName=ProcessCenter'})
} else {
this.$message.warning(res.message)
}
})
},
//
processNum (row) {
axios.request({
url: '/api/lawss/activiti/getImg?_t=' + new Date().getTime(),
responseType: 'blob',
method: 'get',
params: {
prcNum: this.$route.query.prcNum
}
}).then(res => {
this.processStep = window.URL.createObjectURL(res.data)
})
},
getHistoryData() {
this.$http.get("lawss/activiti/get_list_by_instance", {
prcNum: this.$route.query.prcNum
}, {}, res => {
this.histortData = res;
}, e => {
});
},
upload(row, title) {
var params = {
columnName: {
chapterNumber: "章条编号",
chapterName: "章节名称",
commentText: "修改意见内容(包括理由或依据)",
department: "提出部门",
responUserName: "提出人",
stateText: "处理意见"
},
dataList: []
};
params.dataList = JSON.parse(JSON.stringify(row));
params.dataList.forEach(item => {
if (item.state === "1") {
item.stateText = "上报";
} else if (item.state === "2") {
item.stateText = "处理后上报";
} else {
item.stateText = "不上报";
}
});
this.$http.downloadFile("/api/lawss/activiti/export_excel", params, title, res => {
});
},
stateText(row) {
if (row === "1") {
return "上报";
} else if (row === "2") {
return "处理后上报";
}
},
handleTabs(name) {
this.active = name;
},
handleSave() {
},
handleSubmit() {
if (this.data.length < 1) {
this.$message.warning("请输入征求意见搞");
} else {
this.isSubmit = true;
var json = this.json;
json.actionFlag = 0;
json.commentText = this.commentText;
this.$http.post("lawss/activiti/completeTask", {
json: JSON.stringify(json),
taskId: this.taskIds,
userId: this.$store.getters.userInfo.userId
}, {}, res => {
if (res.success) {
this.$message.success("提交成功");
this.$router.push("/processCenter");
}
this.isSubmit = false;
});
}
},
handleSubmitNo() {
if (this.commentText) {
this.isSubmit = true;
var json = this.json;
json.actionFlag = 1;
json.commentText = this.commentText;
this.$http.post("lawss/activiti/completeTask", {
json: JSON.stringify(json),
taskIds: this.taskIds,
userId: this.$store.getters.userInfo.userId
}, {}, res => {
if (res.success) {
this.$message.success("驳回成功");
this.$router.push("/processCenter");
}
this.isSubmit = false;
});
} else {
this.$message.warning("请输入反馈意见");
}
},
getData() {
return new Promise((resolve, reject) => {
inboundLiaisonDetail({
taskIds: this.taskIds,
pId: this.pId
}).then(res => {
let data = JSON.parse(res.mesg)
this.form.fjList = data.fjList || data.form.fjList
this.form.fjListId = data.fjListId || data.form.fjListId
this.form.lawsNumber = data.lawsNumber || data.form.lawsNumber
this.form.lawsName = data.lawsName || data.form.lawsName
this.form.endTime = data.endTime || data.form.endTime;
this.form.cname = data.cname || data.form.cname;
this.oldData = JSON.parse(JSON.stringify(data.info))
var arr = []
data.info.forEach(item => {
if (item.state != '3') {
arr.push(item)
}
})
this.json = data
this.data = arr
this.oldData = data.oldinfo
}).catch(e => {
});
});
}
},
mounted() {
this.getHistoryData();
this.getData();
}
};
</script>
<style lang="less" scoped>
@import '~@/assets/styles/style';
.phoneZczqyjStep7 {
/deep/.van-dialog__content {
min-height: 300px;
padding: 10px;
}
.prc-content-border {
overflow: auto;
}
/deep/.prc-content-border .el-form-item__content {
width: 270px;
}
.headerTabs {
height: 52px;
display: flex;
align-items: center;
position: absolute;
top: 52px;
right: 10px;
.headerTabsItem {
border: 1px solid #c1c1c1;
padding: 0 5px;
height: 30px;
line-height: 30px;
cursor: pointer;
}
.active {
border: 1px solid #E6A23C;
color: #fff;
background: #E6A23C;
}
}
.content {
border-top: 1px solid #DCDFE6;
display: flex;
flex-direction: column;
justify-content: space-between;
margin-top: 52px;
height: calc(~'100% - 155px');
overflow: auto;
.tableTitle {
margin-bottom: 10px;
height: 30px;
line-height: 30px;
position: relative;
font-size: 13px;
font-weight: bold;
.tableButton {
position: absolute;
right: 0;
top: 0;
}
}
}
}
</style>
@@ -0,0 +1,494 @@
<template>
<div class="phoneZczqyjStep8">
<ProcessHeaderPhone toggle>
<template slot="proName">政策征求意见流程</template>
<template slot="proNode">法规认证部副总监审核</template>
</ProcessHeaderPhone>
<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>
<div class="content" v-show="active === '1'">
<div style="flex: auto; overflow: auto;">
<el-form
ref="zczqyjForm"
:model="form"
:rules="formRules"
class="label-input-form"
label-width="210px"
>
<ProcessTitle>
<template slot="title">基础信息</template>
</ProcessTitle>
<div class="prc-content-border">
<el-row :gutter="24">
<el-col :span="24">
<el-form-item label="政策编号" prop="lawsNumber" class="add-form-item form-item-disabled">
<el-input
disabled
v-model="form.lawsNumber"
placeholder="请输入政策编号"
clearable
></el-input>
</el-form-item>
<el-form-item label="政策名称" prop="lawsName" class="add-form-item form-item-disabled">
<el-input
disabled
v-model="form.lawsName"
placeholder="请输入政策名称"
clearable
></el-input>
</el-form-item>
</el-col>
</el-row>
</div>
</el-form>
<ProcessTitle>
<template slot="title">征求意见列表</template>
</ProcessTitle>
<el-table
ref="multipleTable"
:data="data"
tooltip-effect="dark"
border
style="width: 100%; flex: auto;"
class="drag-table"
:default-sort = "{prop: 'chapterNumber', order: 'ascending'}"
:header-cell-style="{background: '#E8E8E8', color: '#333333', fontSize: '16px',
fontWeight: 'bold', height: '48px'}">
<el-table-column
type="index"
label="序号"
width="55"
align="center">
</el-table-column>
<el-table-column
prop="chapterNumber"
align="center"
sortable
label="章条编号"
width="101px">
</el-table-column>
<el-table-column
prop="chapterName"
align="center"
width="200px"
label="章节名称">
</el-table-column>
<el-table-column
align="center"
prop="commentText"
label="修改意见内容(包括理由或依据)">
<el-table-column
prop="oldText"
align="center"
label="修改前">
</el-table-column>
<el-table-column
prop="newText"
align="center"
label="修改后">
</el-table-column>
<el-table-column
prop="changeReason"
align="center"
label="修改理由">
</el-table-column>
</el-table-column>
<el-table-column
prop="reason"
align="center"
label="原因"
width="200px">
</el-table-column>
<el-table-column
prop="department"
align="center"
label="提出部门">
</el-table-column>
<el-table-column
prop="responUserName"
align="center"
label="提出人">
</el-table-column>
<!-- <el-table-column-->
<!-- prop="dealComment"-->
<!-- align="center"-->
<!-- label="处理意见">-->
<!-- <template slot-scope="scope">-->
<!-- <div>{{ stateText(scope.row.state) }}</div>-->
<!-- </template>-->
<!-- </el-table-column>-->
</el-table>
</div>
<el-collapse accordion>
<el-collapse-item title="审批意见">
<div style="margin: 10px 0;">
<el-input
type="textarea"
:rows="3"
resize="none"
placeholder="请输入意见"
v-model="commentText">
</el-input>
</div>
</el-collapse-item>
</el-collapse>
</div>
<div class="content" v-show="active === '2'">
<el-table
height="100%"
ref="selection"
:data="histortData"
tooltip-effect="dark"
style="width: 100%"
border
row-key="id"
:header-cell-style="{background: '#f8f8f9', color: '#515a6e'}">
<el-table-column
prop="name"
label="任务步骤"
min-width="130"
align="center"
sortable="custom"
>
</el-table-column>
<el-table-column
prop="assignee"
min-width="130"
label="任务受理人"
align="center"
sortable="custom"
>
</el-table-column>
<el-table-column
prop="createTime"
label="创建时间"
min-width="130"
sortable="custom"
align="center">
<template slot-scope="scope">
<span>{{ scope.row.createTime ? $moment(scope.row.createTime).format("YYYY-MM-DD") : "" }}</span>
</template>
</el-table-column>
<el-table-column
prop="endTime"
label="完成时间"
min-width="130"
align="center">
<template slot-scope="scope">
<span>{{ scope.row.endTime ? $moment(scope.row.endTime).format("YYYY-MM-DD") : "" }}</span>
</template>
</el-table-column>
<el-table-column
prop="comment"
label="流程信息"
align="center">
<template slot-scope="scope">
<span>{{ scope.row.commentText }}</span>
</template>
</el-table-column>
<el-table-column
prop="completeFlag"
label="状态"
align="center">
<template slot-scope="scope">
<span>{{ scope.row.endTime ? "已完成" : "未完成" }}</span>
</template>
</el-table-column>
</el-table>
</div>
<ProcessFooter
show-submit
:submitLoading="isSubmit"
:saveLoading="saveLoading"
@save="handleSave"
@submit="handleSubmit"
show-back
@back="handleSubmitNo"
approval
submitBTNText="同意"
show-transfer
@transfer="handleTransfer"
>
</ProcessFooter>
<Role-tree
check-box
is-title="转办处理人"
:is-visible.sync="drawerModal"
@checkedRole="checkedRole"
></Role-tree>
</div>
</template>
<script>
import { Dialog } from 'vant';
import ProcessHeaderPhone from "process/components/ProcessHeaderPhone";
import ProcessHeader from "../../components/ProcessHeader";
import ProcessFooter from "../../components/ProcessFooter";
import ProcessTitle from "../../components/ProcessTitle";
import { inboundLiaisonDetail, processCreateStand, changeAssigneeNew } from "api/process";
import axios from "axios";
export default {
name: "phoneZczqyjStep8",
data() {
return {
drawerModal: false,
histortData: [],
oldData: [],
data: [],
commentText: "",
taskIds: this.$route.query.taskIds,
pId: this.$route.query.prcId,
roleRow: {},
nodeList: [],
type: "",
defaultProps: {
children: "children",
label: "name"
},
treeData: [], //
modalshowflag: false, // drawer
drawerTitle: "", //drawer
textarea: "", //
ListModel: false, //
active: "1", //
isSubmit: false,
saveLoading: false,
form: {
lawsNumber: '', //
lawsName: '', //
endTime: "", //
cname: "", //
fjList: [],
fjListId: '',
},
formRules: {
responUserList: [
{required: true, message: "请选择责任人", trigger: "change"}
]
},
json: {}
};
},
components: {
ProcessHeaderPhone,
ProcessHeader,
ProcessFooter,
ProcessTitle
},
methods: {
handleTransfer() {
this.drawerModal = true
},
checkedRole (data) {
changeAssigneeNew({
taskId: this.$route.query.taskIds, // id
userId:this.$store.getters.userInfo.userId, //
assignee: data[0].id, //
pId: this.$route.query.prcId, //
}).then(res => {
if (res.success) {
this.drawerModal = false
this.$message.success('调整成功')
this.processNum()
this.$router.push({path:'/processCenter?tabsName=ProcessCenter'})
} else {
this.$message.warning(res.message)
}
})
},
//
processNum (row) {
axios.request({
url: '/api/lawss/activiti/getImg?_t=' + new Date().getTime(),
responseType: 'blob',
method: 'get',
params: {
prcNum: this.$route.query.prcNum
}
}).then(res => {
this.processStep = window.URL.createObjectURL(res.data)
})
},
getHistoryData() {
this.$http.get("lawss/activiti/get_list_by_instance", {
prcNum: this.$route.query.prcNum
}, {}, res => {
this.histortData = res;
}, e => {
});
},
upload(row, title) {
var params = {
columnName: {
chapterNumber: "章条编号",
chapterName: "章节名称",
commentText: "修改意见内容(包括理由或依据)",
department: "提出部门",
responUserName: "提出人",
stateText: "处理意见"
},
dataList: []
};
params.dataList = JSON.parse(JSON.stringify(row));
params.dataList.forEach(item => {
if (item.state === "1") {
item.stateText = "上报";
} else if (item.state === "2") {
item.stateText = "处理后上报";
} else {
item.stateText = "不上报";
}
});
this.$http.downloadFile("/api/lawss/activiti/export_excel", params, title, res => {
});
},
stateText(row) {
if (row === "1") {
return "上报";
} else if (row === "2") {
return "处理后上报";
}
},
handleTabs(name) {
this.active = name;
},
handleSave() {
},
handleSubmit() {
if (this.data.length < 1) {
this.$message.warning("请输入征求意见搞");
} else {
this.isSubmit = true;
var json = this.json;
json.actionFlag = 0;
json.commentText = this.commentText;
this.$http.post("lawss/activiti/completeTask", {
json: JSON.stringify(json),
taskId: this.taskIds,
userId: this.$store.getters.userInfo.userId
}, {}, res => {
if (res.success) {
this.$message.success("提交成功");
this.$router.push("/processCenter");
}
this.isSubmit = false;
});
}
},
handleSubmitNo() {
if (this.commentText) {
this.isSubmit = true;
var json = this.json;
json.actionFlag = 1;
json.commentText = this.commentText;
this.$http.post("lawss/activiti/completeTask", {
json: JSON.stringify(json),
taskIds: this.taskIds,
userId: this.$store.getters.userInfo.userId
}, {}, res => {
if (res.success) {
this.$message.success("驳回成功");
this.$router.push("/processCenter");
}
this.isSubmit = false;
});
} else {
this.$message.warning("请输入反馈意见");
}
},
getData() {
return new Promise((resolve, reject) => {
inboundLiaisonDetail({
taskIds: this.taskIds,
pId: this.pId
}).then(res => {
let data = JSON.parse(res.mesg)
this.form.fjList = data.fjList || data.form.fjList
this.form.fjListId = data.fjListId || data.form.fjListId
this.form.lawsNumber = data.lawsNumber || data.form.lawsNumber
this.form.lawsName = data.lawsName || data.form.lawsName
this.form.endTime = data.endTime || data.form.endTime;
this.form.cname = data.cname || data.form.cname;
this.oldData = JSON.parse(JSON.stringify(data.info))
var arr = []
data.info.forEach(item => {
if (item.state != '3') {
arr.push(item)
}
})
this.json = data
this.data = arr
this.oldData = data.oldinfo
}).catch(e => {
});
});
}
},
mounted() {
this.getHistoryData();
this.getData();
}
};
</script>
<style lang="less" scoped>
@import '~@/assets/styles/style';
.phoneZczqyjStep8 {
/deep/.van-dialog__content {
min-height: 300px;
padding: 10px;
}
.prc-content-border {
overflow: auto;
}
/deep/.prc-content-border .el-form-item__content {
width: 270px;
}
.headerTabs {
height: 52px;
display: flex;
align-items: center;
position: absolute;
top: 52px;
right: 10px;
.headerTabsItem {
border: 1px solid #c1c1c1;
padding: 0 5px;
height: 30px;
line-height: 30px;
cursor: pointer;
}
.active {
border: 1px solid #E6A23C;
color: #fff;
background: #E6A23C;
}
}
.content {
border-top: 1px solid #DCDFE6;
display: flex;
flex-direction: column;
justify-content: space-between;
margin-top: 52px;
height: calc(~'100% - 155px');
overflow: auto;
.tableTitle {
margin-bottom: 10px;
height: 30px;
line-height: 30px;
position: relative;
font-size: 13px;
font-weight: bold;
.tableButton {
position: absolute;
right: 0;
top: 0;
}
}
}
}
</style>
@@ -0,0 +1,494 @@
<template>
<div class="phoneZczqyjStep9">
<ProcessHeaderPhone toggle>
<template slot="proName">政策征求意见流程</template>
<template slot="proNode">法规认证部总监批准</template>
</ProcessHeaderPhone>
<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>
<div class="content" v-show="active === '1'">
<div style="flex: auto; overflow: auto;">
<el-form
ref="zczqyjForm"
:model="form"
:rules="formRules"
class="label-input-form"
label-width="210px"
>
<ProcessTitle>
<template slot="title">基础信息</template>
</ProcessTitle>
<div class="prc-content-border">
<el-row :gutter="24">
<el-col :span="24">
<el-form-item label="政策编号" prop="lawsNumber" class="add-form-item form-item-disabled">
<el-input
disabled
v-model="form.lawsNumber"
placeholder="请输入政策编号"
clearable
></el-input>
</el-form-item>
<el-form-item label="政策名称" prop="lawsName" class="add-form-item form-item-disabled">
<el-input
disabled
v-model="form.lawsName"
placeholder="请输入政策名称"
clearable
></el-input>
</el-form-item>
</el-col>
</el-row>
</div>
</el-form>
<ProcessTitle>
<template slot="title">征求意见列表</template>
</ProcessTitle>
<el-table
ref="multipleTable"
:data="data"
tooltip-effect="dark"
border
style="width: 100%; flex: auto;"
class="drag-table"
:default-sort = "{prop: 'chapterNumber', order: 'ascending'}"
:header-cell-style="{background: '#E8E8E8', color: '#333333', fontSize: '16px',
fontWeight: 'bold', height: '48px'}">
<el-table-column
type="index"
label="序号"
width="55"
align="center">
</el-table-column>
<el-table-column
prop="chapterNumber"
align="center"
sortable
label="章条编号"
width="101px">
</el-table-column>
<el-table-column
prop="chapterName"
align="center"
width="200px"
label="章节名称">
</el-table-column>
<el-table-column
align="center"
prop="commentText"
label="修改意见内容(包括理由或依据)">
<el-table-column
prop="oldText"
align="center"
label="修改前">
</el-table-column>
<el-table-column
prop="newText"
align="center"
label="修改后">
</el-table-column>
<el-table-column
prop="changeReason"
align="center"
label="修改理由">
</el-table-column>
</el-table-column>
<el-table-column
prop="reason"
align="center"
label="原因"
width="200px">
</el-table-column>
<el-table-column
prop="department"
align="center"
label="提出部门">
</el-table-column>
<el-table-column
prop="responUserName"
align="center"
label="提出人">
</el-table-column>
<!-- <el-table-column-->
<!-- prop="dealComment"-->
<!-- align="center"-->
<!-- label="处理意见">-->
<!-- <template slot-scope="scope">-->
<!-- <div>{{ stateText(scope.row.state) }}</div>-->
<!-- </template>-->
<!-- </el-table-column>-->
</el-table>
</div>
<el-collapse accordion>
<el-collapse-item title="审批意见">
<div style="margin: 10px 0;">
<el-input
type="textarea"
:rows="3"
resize="none"
placeholder="请输入意见"
v-model="commentText">
</el-input>
</div>
</el-collapse-item>
</el-collapse>
</div>
<div class="content" v-show="active === '2'">
<el-table
height="100%"
ref="selection"
:data="histortData"
tooltip-effect="dark"
style="width: 100%"
border
row-key="id"
:header-cell-style="{background: '#f8f8f9', color: '#515a6e'}">
<el-table-column
prop="name"
label="任务步骤"
align="center"
min-width="130"
sortable="custom"
>
</el-table-column>
<el-table-column
prop="assignee"
label="任务受理人"
align="center"
min-width="130"
sortable="custom"
>
</el-table-column>
<el-table-column
prop="createTime"
label="创建时间"
min-width="130"
sortable="custom"
align="center">
<template slot-scope="scope">
<span>{{ scope.row.createTime ? $moment(scope.row.createTime).format("YYYY-MM-DD") : "" }}</span>
</template>
</el-table-column>
<el-table-column
prop="endTime"
label="完成时间"
min-width="130"
align="center">
<template slot-scope="scope">
<span>{{ scope.row.endTime ? $moment(scope.row.endTime).format("YYYY-MM-DD") : "" }}</span>
</template>
</el-table-column>
<el-table-column
prop="comment"
label="流程信息"
align="center">
<template slot-scope="scope">
<span>{{ scope.row.commentText }}</span>
</template>
</el-table-column>
<el-table-column
prop="completeFlag"
label="状态"
align="center">
<template slot-scope="scope">
<span>{{ scope.row.endTime ? "已完成" : "未完成" }}</span>
</template>
</el-table-column>
</el-table>
</div>
<ProcessFooter
show-submit
:submitLoading="isSubmit"
:saveLoading="saveLoading"
@save="handleSave"
@submit="handleSubmit"
show-back
@back="handleSubmitNo"
approval
submitBTNText="同意"
show-transfer
@transfer="handleTransfer"
>
</ProcessFooter>
<Role-tree
check-box
is-title="转办处理人"
:is-visible.sync="drawerModal"
@checkedRole="checkedRole"
></Role-tree>
</div>
</template>
<script>
import { Dialog } from 'vant';
import ProcessHeaderPhone from "process/components/ProcessHeaderPhone";
import ProcessHeader from "../../components/ProcessHeader";
import ProcessFooter from "../../components/ProcessFooter";
import ProcessTitle from "../../components/ProcessTitle";
import { inboundLiaisonDetail, processCreateStand, changeAssigneeNew } from "api/process";
import axios from "axios";
export default {
name: "phoneZczqyjStep9",
data() {
return {
drawerModal: false,
histortData: [],
oldData: [],
data: [],
commentText: "",
taskIds: this.$route.query.taskIds,
pId: this.$route.query.prcId,
roleRow: {},
nodeList: [],
type: "",
defaultProps: {
children: "children",
label: "name"
},
treeData: [], //
modalshowflag: false, // drawer
drawerTitle: "", //drawer
textarea: "", //
ListModel: false, //
active: "1", //
isSubmit: false,
saveLoading: false,
form: {
lawsNumber: '', //
lawsName: '', //
endTime: "", //
cname: "", //
fjList: [],
fjListId: '',
},
formRules: {
responUserList: [
{required: true, message: "请选择责任人", trigger: "change"}
]
},
json: {}
};
},
components: {
ProcessHeaderPhone,
ProcessHeader,
ProcessFooter,
ProcessTitle
},
methods: {
handleTransfer() {
this.drawerModal = true
},
checkedRole (data) {
changeAssigneeNew({
taskId: this.$route.query.taskIds, // id
userId:this.$store.getters.userInfo.userId, //
assignee: data[0].id, //
pId: this.$route.query.prcId, //
}).then(res => {
if (res.success) {
this.drawerModal = false
this.$message.success('调整成功')
this.processNum()
this.$router.push({path:'/processCenter?tabsName=ProcessCenter'})
} else {
this.$message.warning(res.message)
}
})
},
//
processNum (row) {
axios.request({
url: '/api/lawss/activiti/getImg?_t=' + new Date().getTime(),
responseType: 'blob',
method: 'get',
params: {
prcNum: this.$route.query.prcNum
}
}).then(res => {
this.processStep = window.URL.createObjectURL(res.data)
})
},
getHistoryData() {
this.$http.get("lawss/activiti/get_list_by_instance", {
prcNum: this.$route.query.prcNum
}, {}, res => {
this.histortData = res;
}, e => {
});
},
upload(row, title) {
var params = {
columnName: {
chapterNumber: "章条编号",
chapterName: "章节名称",
commentText: "修改意见内容(包括理由或依据)",
department: "提出部门",
responUserName: "提出人",
stateText: "处理意见"
},
dataList: []
};
params.dataList = JSON.parse(JSON.stringify(row));
params.dataList.forEach(item => {
if (item.state === "1") {
item.stateText = "上报";
} else if (item.state === "2") {
item.stateText = "处理后上报";
} else {
item.stateText = "不上报";
}
});
this.$http.downloadFile("/api/lawss/activiti/export_excel", params, title, res => {
});
},
stateText(row) {
if (row === "1") {
return "上报";
} else if (row === "2") {
return "处理后上报";
}
},
handleTabs(name) {
this.active = name;
},
handleSave() {
},
handleSubmit() {
if (this.data.length < 1) {
this.$message.warning("请输入征求意见搞");
} else {
this.isSubmit = true;
var json = this.json;
json.actionFlag = 0;
json.commentText = this.commentText;
this.$http.post("lawss/activiti/completeTask", {
json: JSON.stringify(json),
taskId: this.taskIds,
userId: this.$store.getters.userInfo.userId
}, {}, res => {
if (res.success) {
this.$message.success("提交成功");
this.$router.push("/processCenter");
}
this.isSubmit = false;
});
}
},
handleSubmitNo() {
if (this.commentText) {
this.isSubmit = true;
var json = this.json;
json.actionFlag = 1;
json.commentText = this.commentText;
this.$http.post("lawss/activiti/completeTask", {
json: JSON.stringify(json),
taskIds: this.taskIds,
userId: this.$store.getters.userInfo.userId
}, {}, res => {
if (res.success) {
this.$message.success("驳回成功");
this.$router.push("/processCenter");
}
this.isSubmit = false;
});
} else {
this.$message.warning("请输入反馈意见");
}
},
getData() {
return new Promise((resolve, reject) => {
inboundLiaisonDetail({
taskIds: this.taskIds,
pId: this.pId
}).then(res => {
let data = JSON.parse(res.mesg)
this.form.fjList = data.fjList || data.form.fjList
this.form.fjListId = data.fjListId || data.form.fjListId
this.form.lawsNumber = data.lawsNumber || data.form.lawsNumber
this.form.lawsName = data.lawsName || data.form.lawsName
this.form.endTime = data.endTime || data.form.endTime;
this.form.cname = data.cname || data.form.cname;
this.oldData = JSON.parse(JSON.stringify(data.info))
var arr = []
data.info.forEach(item => {
if (item.state != '3') {
arr.push(item)
}
})
this.json = data
this.data = arr
this.oldData = data.oldinfo
}).catch(e => {
});
});
}
},
mounted() {
this.getHistoryData();
this.getData();
}
};
</script>
<style lang="less" scoped>
@import '~@/assets/styles/style';
.phoneZczqyjStep9 {
/deep/.van-dialog__content {
min-height: 300px;
padding: 10px;
}
.prc-content-border {
overflow: auto;
}
/deep/.prc-content-border .el-form-item__content {
width: 270px;
}
.headerTabs {
height: 52px;
display: flex;
align-items: center;
position: absolute;
top: 52px;
right: 10px;
.headerTabsItem {
border: 1px solid #c1c1c1;
padding: 0 5px;
height: 30px;
line-height: 30px;
cursor: pointer;
}
.active {
border: 1px solid #E6A23C;
color: #fff;
background: #E6A23C;
}
}
.content {
border-top: 1px solid #DCDFE6;
display: flex;
flex-direction: column;
justify-content: space-between;
margin-top: 52px;
height: calc(~'100% - 155px');
overflow: auto;
.tableTitle {
margin-bottom: 10px;
height: 30px;
line-height: 30px;
position: relative;
font-size: 13px;
font-weight: bold;
.tableButton {
position: absolute;
right: 0;
top: 0;
}
}
}
}
</style>
@@ -1262,7 +1262,8 @@ export default {
});
}).catch(() => {
//
this.selectedList = [];
// console.log(this.selectedList)
// this.selectedList = [];
})
}
},
+110
View File
@@ -1984,6 +1984,26 @@ const routes = [
title: '标准解读流程'
}
},
{
path: '/phoneBzjdStep5',
name: 'phoneBzjdStep5',
component: () => import('@/pages/processCenter/pages/phone/bzjd/step5.vue'),
meta: {
isBoolean: true,
requireAuth: true,
title: '标准解读流程'
}
},
{
path: '/phoneBzjdStep6',
name: 'phoneBzjdStep6',
component: () => import('@/pages/processCenter/pages/phone/bzjd/step6.vue'),
meta: {
isBoolean: true,
requireAuth: true,
title: '标准解读流程'
}
},
{
path: '/phoneBzqdfbStep4',
name: 'phoneBzqdfbStep4',
@@ -2054,6 +2074,36 @@ const routes = [
title: '项目合规评估流程'
}
},
{
path: '/phoneXmqdqrStep5',
name: 'phoneXmqdqrStep5',
component: () => import('@/pages/processCenter/pages/phone/xmqdqr/step5.vue'),
meta: {
isBoolean: true,
requireAuth: true,
title: '项目清单确认流程'
}
},
{
path: '/phoneGrbzhxhStep3',
name: 'phoneGrbzhxhStep3',
component: () => import('@/pages/processCenter/pages/phone/jrbzhxh/step3.vue'),
meta: {
isBoolean: true,
requireAuth: true,
title: '加入标准化协会信息提报流程'
}
},
{
path: '/phoneGrbzhxhStep4',
name: 'phoneGrbzhxhStep4',
component: () => import('@/pages/processCenter/pages/phone/jrbzhxh/step4.vue'),
meta: {
isBoolean: true,
requireAuth: true,
title: '加入标准化协会信息提报流程'
}
},
{
path: '/phoneWfhxStep5',
name: 'phoneWfhxStep5',
@@ -2064,6 +2114,66 @@ const routes = [
title: '未符合项整改流程'
}
},
{
path: '/phoneZczqyjStep4',
name: 'phoneZczqyjStep4',
component: () => import('@/pages/processCenter/pages/phone/zczqyj/step4.vue'),
meta: {
isBoolean: true,
requireAuth: true,
title: '政策征求意见流程'
}
},
{
path: '/phoneZczqyjStep5',
name: 'phoneZczqyjStep5',
component: () => import('@/pages/processCenter/pages/phone/zczqyj/step5.vue'),
meta: {
isBoolean: true,
requireAuth: true,
title: '政策征求意见流程'
}
},
{
path: '/phoneZczqyjStep6',
name: 'phoneZczqyjStep6',
component: () => import('@/pages/processCenter/pages/phone/zczqyj/step6.vue'),
meta: {
isBoolean: true,
requireAuth: true,
title: '政策征求意见流程'
}
},
{
path: '/phoneZczqyjStep7',
name: 'phoneZczqyjStep7',
component: () => import('@/pages/processCenter/pages/phone/zczqyj/step7.vue'),
meta: {
isBoolean: true,
requireAuth: true,
title: '政策征求意见流程'
}
},
{
path: '/phoneZczqyjStep8',
name: 'phoneZczqyjStep8',
component: () => import('@/pages/processCenter/pages/phone/zczqyj/step8.vue'),
meta: {
isBoolean: true,
requireAuth: true,
title: '政策征求意见流程'
}
},
{
path: '/phoneZczqyjStep9',
name: 'phoneZczqyjStep9',
component: () => import('@/pages/processCenter/pages/phone/zczqyj/step9.vue'),
meta: {
isBoolean: true,
requireAuth: true,
title: '政策征求意见流程'
}
},
]
},