Merge branch 'develop' into 'FOTON'

Develop

See merge request LAWS/laws-system-front-FOTON!218
This commit is contained in:
王夏晖
2021-12-05 21:11:25 +08:00
76 changed files with 40716 additions and 957 deletions
+41 -18
View File
@@ -6648,8 +6648,8 @@ var PDFPageView = function () {
var defaultSettings = {
watermark_txt: msg,
watermark_x: 50,//水印起始位置x轴坐标
watermark_y: 0,//水印起始位置Y轴坐标
watermark_rows: 15,//水印行数
watermark_y: -100,//水印起始位置Y轴坐标
watermark_rows: 13,//水印行数
watermark_cols: 7,//水印列数
watermark_x_space: 18,//水印x轴间隔
watermark_y_space: 20,//水印y轴间隔
@@ -6661,6 +6661,28 @@ var PDFPageView = function () {
watermark_height: 80,//水印长度
watermark_angle: 40//水印倾斜度数
};
//判断分辨率
if (screen.width+"*"+screen.height === '800*600' ){
defaultSettings = {
watermark_txt: msg,
watermark_x: 80,//水印起始位置x轴坐标
watermark_y: -100,//水印起始位置Y轴坐标
watermark_rows: 11,//水印行数
watermark_cols: 6,//水印列数
watermark_x_space: 2,//水印x轴间隔
watermark_y_space: 27,//水印y轴间隔
watermark_color: 'rgba(192, 192, 192)',//水印字体颜色
watermark_alpha: 0.3,//水印透明度
watermark_fontsize: '40px',//水印字体大小
watermark_font: '微软雅黑',//水印字体
watermark_width: 120,//水印宽度
watermark_height: 80,//水印长度
watermark_angle: 40//水印倾斜度数
};
}
var oTemp = document.createDocumentFragment();
//获取页面最大宽度
@@ -6670,23 +6692,24 @@ var PDFPageView = function () {
//获取页面最大长度
var page_height = Math.max(document.body.scrollHeight, document.body.clientHeight+350);
var pdf_page =document.getElementById("viewer");
//2021/12/5 分辨率不同的情况会出现问题
//如果将水印列数设置为0,或水印列数设置过大,超过页面最大宽度,则重新计算水印列数和水印x轴间隔
if (defaultSettings.watermark_cols == 0 || (parseInt(defaultSettings.watermark_x + defaultSettings.watermark_width * defaultSettings.watermark_cols + defaultSettings.watermark_x_space * (defaultSettings.watermark_cols - 1)) > page_width)) {
defaultSettings.watermark_cols = parseInt((page_width - defaultSettings.watermark_x + defaultSettings.watermark_x_space) / (defaultSettings.watermark_width + defaultSettings.watermark_x_space))-1;
console.log("------------------------------------")
console.log(defaultSettings.watermark_cols)
defaultSettings.watermark_x_space = parseInt((page_width - defaultSettings.watermark_x - defaultSettings.watermark_width * defaultSettings.watermark_cols) / (defaultSettings.watermark_cols - 1));
console.log(defaultSettings.watermark_x_space)
}
//如果将水印行数设置为0,或水印行数设置过大,超过页面最大长度,则重新计算水印行数和水印y轴间隔
if (defaultSettings.watermark_rows == 0 || (parseInt(defaultSettings.watermark_y + defaultSettings.watermark_height * defaultSettings.watermark_rows + defaultSettings.watermark_y_space * (defaultSettings.watermark_rows - 1)) > page_height)) {
defaultSettings.watermark_rows = parseInt((defaultSettings.watermark_y_space + page_height - defaultSettings.watermark_y) / (defaultSettings.watermark_height + defaultSettings.watermark_y_space))-3;
defaultSettings.watermark_y_space = parseInt(((page_height - defaultSettings.watermark_y) - defaultSettings.watermark_height * defaultSettings.watermark_rows) / (defaultSettings.watermark_rows - 1));
console.log("------------------------------------")
console.log(defaultSettings.watermark_rows+10)
console.log(defaultSettings.watermark_y_space)
}
// if (defaultSettings.watermark_cols == 0 || (parseInt(defaultSettings.watermark_x + defaultSettings.watermark_width * defaultSettings.watermark_cols + defaultSettings.watermark_x_space * (defaultSettings.watermark_cols - 1)) > page_width)) {
// defaultSettings.watermark_cols = parseInt((page_width - defaultSettings.watermark_x + defaultSettings.watermark_x_space) / (defaultSettings.watermark_width + defaultSettings.watermark_x_space))-1;
// console.log("------------------------------------")
// console.log(defaultSettings.watermark_cols)
// defaultSettings.watermark_x_space = parseInt((page_width - defaultSettings.watermark_x - defaultSettings.watermark_width * defaultSettings.watermark_cols) / (defaultSettings.watermark_cols - 1));
// console.log(defaultSettings.watermark_x_space)
// }
// //如果将水印行数设置为0,或水印行数设置过大,超过页面最大长度,则重新计算水印行数和水印y轴间隔
// if (defaultSettings.watermark_rows == 0 || (parseInt(defaultSettings.watermark_y + defaultSettings.watermark_height * defaultSettings.watermark_rows + defaultSettings.watermark_y_space * (defaultSettings.watermark_rows - 1)) > page_height)) {
// defaultSettings.watermark_rows = parseInt((defaultSettings.watermark_y_space + page_height - defaultSettings.watermark_y) / (defaultSettings.watermark_height + defaultSettings.watermark_y_space))-3;
// defaultSettings.watermark_y_space = parseInt(((page_height - defaultSettings.watermark_y) - defaultSettings.watermark_height * defaultSettings.watermark_rows) / (defaultSettings.watermark_rows - 1));
// console.log("------------------------------------")
// console.log(defaultSettings.watermark_rows+10)
// console.log(defaultSettings.watermark_y_space)
//
// }
var x;
var y;
for (var i = 0; i < defaultSettings.watermark_rows; i++) {
@@ -16,6 +16,7 @@
multiple
@change="handleChange"
>
<!-- <el-option value="全选" label="全选" @click.native="clickOption"></el-option>-->
<el-option
v-for="opt in options"
:key="opt.value"
@@ -73,6 +74,7 @@ export default {
handleChange (event) {
// const value = event.target.value
this.$emit('input', event)
}
},
watch: {
@@ -468,8 +468,9 @@ export default {
(data, byte) => data + String.fromCharCode(byte), "")
)
item.icon = src
})
this.Loading = false
}, setTimeout(()=>{
this.Loading = false
},1200))
}
})
this.initSortable()
@@ -466,8 +466,9 @@ export default {
(data, byte) => data + String.fromCharCode(byte), "")
)
item.icon = src
})
this.Loading = false
}, setTimeout(()=>{
this.Loading = false
},1200))
}
})
this.initSortable()
@@ -23,9 +23,9 @@
<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="80%">
<el-table ref="businessCommentTable" :data="businessCommentTable" border style="width: 100%; flex: auto;margin-bottom: 2%"
class="drag-table"
<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',
fontWeight: 'bold', height: '48px'}">
<el-table-column
@@ -34,43 +34,72 @@
width="55"
align="center"
/>
<el-table-column property="commentTarget" label="评价指标" width="300">
</el-table-column>
<el-table-column prop="targetScore" label="指标分值" width="160">
<el-table-column prop="threeIndexTitle" label="评价指标" width="300">
<!--commentTarget-->
<template slot-scope="scope">
<el-rate
v-model="scope.row.targetScore"
@change="targetScoreChange"
allow-half>
</el-rate>
<span>{{scope.row.threeIndexTitle}}</span>
</template>
</el-table-column>
<el-table-column property="averageScore" label="动态评价分值">
<el-table-column prop="targetScore" label="指标分值" width="165">
<template slot-scope="scope">
<el-col :span="20">
<el-rate
v-model="value"
disabled
show-score
text-color="#ff9900"
score-template="{value}">
v-model="scope.row.targetScore"
@change="targetScoreChange(scope.row)"
allow-half>
</el-rate>
<el-input v-model="scope.row.averageScore" style="margin: 10px 0;" />
</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-column property="address" label="简述理由"></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="revise" label="1"></el-radio>
<el-radio v-model="revise" label="0"></el-radio>
<el-input v-show="revise === '1'"
<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"
class="common-button-primary"
size="mini"
:loading="commentSubmitLoading"
icon="el-icon-check"
@click="commentSubmit"
>提交
</el-button>
<el-button
size="mini"
icon="el-icon-close"
class="common-button-default"
@click="businessCommentDialog = false"
>取消
</el-button>
</div>
</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>
@@ -1037,19 +1066,26 @@ export default {
},
data () {
return {
targetScore: '',
indexType: 'dynamic',
commentReason: '', // 评价理由
commentReason1: '', // 评价理由
commentReason2: '', // 评价理由
commentReason3: '', // 评价理由
commentReason4: '', // 评价理由
commentSubmitLoading: false,
targetScore: '', // 指标分值
targetScore1: '',
targetScore2: '',
targetScore3: '',
targetScore4: '',
businessCommentDialog: false,
businessCommentForm: {},
revise: '',
businessCommentTable: [{
commentTarget: '企业标准内容完整、要求合理(指标、流程等。)',
}, {
commentTarget: '企业标准便于实施应用',
}, {
commentTarget: '标准编写规范,内容清晰易理解',
}, {
commentTarget: '标准对我的实际工作很有帮助',
}],
businessCommentForm: {
averageScore: '', // 平均分值
revise: '',
reviseReason: '', // 修订理由
},
businessCommentTable: [],
commentTarget: '', // 评价指标
activeNames: ['基础信息','过程稿件','实施日期'],
activeState: true,
visiblePlanCheck: false,
@@ -1258,7 +1294,99 @@ export default {
},
methods: {
targetScoreChange(row){
console.log('1234',row)
if (this.targetScore1 === '') {
this.targetScore1 = 0
}
if (this.targetScore2 === '') {
this.targetScore2 = 0
}
if (this.targetScore3 === '') {
this.targetScore3 = 0
}
if (this.targetScore4 === '') {
this.targetScore4 = 0
}
switch (row.threeIndexTitle){
case "企业标准内容完整、要求合理(指标、流程等。)":
this.targetScore1 = 0
this.targetScore1 = row.targetScore
break
case "企业标准便于实施应用":
this.targetScore2 = 0
this.targetScore2 = row.targetScore
break
case "标准编写规范,内容清晰易理解":
this.targetScore3 = 0
this.targetScore3 = row.targetScore
break
case "标准对我的实际工作很有帮助":
this.targetScore4 = 0
this.targetScore4 = row.targetScore
break
}
this.businessCommentForm.averageScore = (this.targetScore1 + this.targetScore2 + this.targetScore3 +this.targetScore4)/4
},
commentReasonChange(row){
if (row.threeIndexTitle === '企业标准内容完整、要求合理(指标、流程等。)'){
this.commentReason1 = row.commentReason
}
if (row.threeIndexTitle === '企业标准便于实施应用'){
this.commentReason2 = row.commentReason
}
if (row.threeIndexTitle === '标准编写规范,内容清晰易理解'){
this.commentReason3 = row.commentReason
}
if (row.threeIndexTitle === '标准对我的实际工作很有帮助'){
this.commentReason4 = row.commentReason
}
},
commentSubmit(){
//验证必填
let submitFlag = true
if (this.targetScore1 === '' || this.targetScore1 === 0 ||
this.targetScore2 === '' || this.targetScore2 === 0 ||
this.targetScore3 === '' || this.targetScore3 === 0 ||
this.targetScore4 === '' || this.targetScore4 === 0) {
submitFlag = false
this.$message.warning('请评价指标分值')
}else if (
(this.commentReason1 === '' && this.targetScore1 < 3) ||
(this.commentReason2 === '' && this.targetScore2 < 3) ||
(this.commentReason3 === '' && this.targetScore3 < 3) ||
(this.commentReason4 === '' && this.targetScore4 < 3)
) {
submitFlag = false
this.$message.warning('请简述低分理由')
} else if (this.businessCommentForm.revise === ''){
submitFlag = false
this.$message.warning('请选择是否需要修订')
}else if (this.businessCommentForm.revise === '1' && this.businessCommentForm.reviseReason === ''){
submitFlag = false
this.$message.warning('请填写修订理由')
}
if (submitFlag === true) {
this.$message.success('通过')
const allData = {
tableData: this.businessCommentTable,
formData: JSON.stringify(this.businessCommentForm),
standId: this.sarStandardsInfoEO.id,
userId: this.$store.getters.userInfo.userId
}
console.log(allData)
this.$http.postData('sarEnterpriseStandardEvaluation/quality-evaluation/submitEvaluationForm', allData, {
_this: this
}, res => {
console.log(res)
}, e => {
})
}
},
child1Func(child1){
const list = []
@@ -2255,6 +2383,14 @@ export default {
// }
},
async mounted () {
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
this.getOrgTreeSource()
this.standItemEO.standId = this.$route.params.id
+1 -1
View File
@@ -140,7 +140,7 @@ export default {
}
::v-deep {
.el-tabs__item {
font-size: 14px;
font-size: 15px;
font-weight: 600;
/*color: #333333;*/
}
+14 -3
View File
@@ -50,6 +50,7 @@
<el-table-column
prop="showNumber"
label="标准号/政策号"
width="150"
align="center">
<template slot-scope="scope">
<a class="table-jump"
@@ -59,6 +60,7 @@
<el-table-column
prop="standName"
label="标准名称/政策名称"
width="300"
show-overflow-tooltip
align="center">
<template slot-scope="scope">
@@ -69,6 +71,7 @@
<el-table-column
prop="fileTypeShow"
label="文本状态"
width="110"
align="center">
</el-table-column>
<el-table-column
@@ -80,6 +83,7 @@
<el-table-column
prop="splitStatus"
label="拆分状态"
width="120"
align="center">
<template slot-scope="scope">
<span v-if="scope.row.splitStatus == '0'">编辑中</span>
@@ -92,6 +96,7 @@
<el-table-column
prop="creationTime"
label="拆分时间"
width="120"
sortable
align="center">
<template slot-scope="scope">
@@ -108,15 +113,21 @@
<el-tag type="danger" size="small" v-else>失败</el-tag>
</template>
</el-table-column>
<el-table-column label="操作" align="center" width="50">
<el-table-column label="操作" align="center" width="80">
<template slot-scope="scope">
<el-dropdown trigger="click" @command="handleCommand">
<el-button
v-btn-permission="'17ba4598eb411d6feed468a2e446a301'"
type="primary"
size="mini"
@click="showUser(scope.row)"
>查看</el-button>
<!-- <el-dropdown trigger="click" @command="handleCommand">
<i class="iconfont">&#xe61e;</i>
<el-dropdown-menu slot="dropdown">
<el-dropdown-item :command="[scope.row, '查看']" v-btn-permission="'17ba4598eb411d6feed468a2e446a301'">查看</el-dropdown-item>
<el-dropdown-item :command="[scope.row, '删除']" v-btn-permission="'10ba28487876990927f653a66e1eeb98'">删除</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
</el-dropdown>-->
</template>
</el-table-column>
</el-table>
+28 -7
View File
@@ -153,24 +153,24 @@
<a @click="handlePreview(scope.row)">{{ scope.row.itemsName }}</a>
</template>
</el-table-column>
<el-table-column prop="putTime" label="发布日期" width="120" align="center" sortable>
<el-table-column prop="putTime" label="发布日期" width="120" align="center">
<template slot-scope="scope">
<span>{{ scope.row.putTime ? scope.row.putTime.substring(0, 10) : '' }}</span>
</template>
</el-table-column>
<el-table-column prop="ssrq" label="实施日期" width="120" align="center" sortable>
<el-table-column prop="ssrq" label="实施日期" width="120" align="center">
<template slot-scope="scope">
<span>{{ scope.row.ssrq ? scope.row.ssrq.substring(0,10) : '' }}</span>
<span>{{ scope.row.ssrq }}</span>
</template>
</el-table-column>
<el-table-column prop="xcxssrq" label="新车型实施日期" width="150" align="center" sortable>
<el-table-column prop="xcxssrq" label="新车型实施日期" width="150" align="center">
<template slot-scope="scope">
<span>{{ scope.row.xcxssrq ? scope.row.xcxssrq.substring(0,10) : '' }}</span>
<span>{{ scope.row.xcxssrq }}</span>
</template>
</el-table-column>
<el-table-column prop="zccssrq" label="在产车实施日期" width="150" align="center" sortable>
<el-table-column prop="zccssrq" label="在产车实施日期" width="150" align="center">
<template slot-scope="scope">
<span>{{ scope.row.zccssrq ? scope.row.zccssrq.substring(0,10) : '' }}</span>
<span>{{ scope.row.zccssrq }}</span>
</template>
</el-table-column>
<el-table-column prop="applyType" label="适用车型" align="center">
@@ -440,6 +440,7 @@ export default {
_this: this,
}, res => {
console.log('608',res)
// console.log('608',res.data.records[0].zccssrq.replace(' 00:00:00',''))
// 适用车型转换
for (let a = 0; a < res.data.records.length; a++) {
if (res.data.records[a].applyType !== null) {
@@ -454,6 +455,26 @@ export default {
}
}
}
for (let i = 0; i < res.data.records.length; i++) {
let putTimeReplaceTimes = res.data.records[i].putTime.length/19
let ssrqReplaceTimes = res.data.records[i].ssrq.length/19
let xcxssrqReplaceTimes = res.data.records[i].xcxssrq.length/19
let zccssrqReplaceTimes = res.data.records[i].zccssrq.length/19
for (let j = 0; j < putTimeReplaceTimes; j++) {
res.data.records[i].putTime = res.data.records[i].putTime.replace(' 00:00:00','')
}
for (let j = 0; j < ssrqReplaceTimes; j++) {
res.data.records[i].ssrq = res.data.records[i].ssrq.replace(' 00:00:00','')
}
for (let j = 0; j < xcxssrqReplaceTimes; j++) {
res.data.records[i].xcxssrq = res.data.records[i].xcxssrq.replace(' 00:00:00','')
}
for (let j = 0; j < zccssrqReplaceTimes; j++) {
res.data.records[i].zccssrq = res.data.records[i].zccssrq.replace(' 00:00:00','')
}
}
this.warningTableDatas = res.data.records
this.pageConfig.page = res.data.current
if ((this.warningTableDatas.length === 0 || this.warningTableDatas === []) && this.pageConfig.page !== 1) {
@@ -21,6 +21,10 @@ export default {
label: "政策入库流程",
value: "laws1"
},
{
label: "企标制修订流程及企业标准库流程",
value: "buss1"
},
{
label: "标准征求意见流程",
value: "3"
@@ -241,6 +241,15 @@ export default {
comityTel: [],
comityOpRole: '',
comityInRoleId: '',
fillPeople: '',
fillPeopleId: '',
fillUnit: '',
fillDept: '',
fillPost: '',
fillTel: '',
fillMail: '',
fillLeader: '',
fillLeaderId: '',
},
roleForm: {},
commentText: '',
@@ -165,11 +165,27 @@
</el-col>
<el-col :span="8">
<el-form-item class="add-form-item" label="资料:">
<el-input
<el-upload
style="width: 100%"
placeholder="请填写"
v-model="rh_pageData.fillFile"
/>
class="upload_style"
:disabled="acceptShow"
multiple
ref="uploadFile"
:action="uploadPath"
name="file"
:file-list="fillFileList"
accept=".ZIP, .zip, .docx, .DOCX, .xls, .xlsx"
:before-upload="handleBeforeUpload"
:before-remove="handleBeforeRemove"
:on-success="handleOnsuccess"
>
<el-button
type="primary"
class="common-button-primary"
size="mini">
点击上传
</el-button>
</el-upload>
</el-form-item>
</el-col>
</el-row>
@@ -323,7 +339,7 @@ export default {
fillMail: '',
fillLeader: '',
fillLeaderId: '',
fillFile: '',
fillFile: [],
},
rh_rules: {
fillLeader: [
@@ -345,7 +361,15 @@ export default {
taskIds: this.$route.query.taskIds,
pId: this.$route.query.prcId,
commentText: '',
infoSourcesLength: ''
infoSourcesLength: '',
/** 上传相关 */
acceptShow: false,
// 上传路径
uploadPath: 'api/att/attFile/upload',
// 上传所储存文件数组
fillFileList: [],
newDataList: [],
}
},
computed: {
@@ -385,11 +409,12 @@ export default {
getFormFieldList(item) {
this.$nextTick(() => {
this.rh_pageData = JSON.parse(JSON.stringify(item)).rh_pageData
this.rh_pageData.fillLeader = ''
this.rh_pageData.fillPeople = this.$store.getters.userInfo.userName
this.rh_pageData.fillPeopleId = this.$store.getters.userInfo.userId
this.roleForm = JSON.parse(JSON.stringify(item)).roleList
this.infoSourcesLength = this.rh_pageData.infoSources.length
// this.rh_pageData.comityFileNum = this.fileTextList
// this.rh_pageData.comityFileNum = this.fillFileList
})
},
// 右上标签页面切换
@@ -437,6 +462,7 @@ export default {
roleList: this.roleForm,
selfUser: this.$store.getters.userInfo.userId,
charge: this.rh_pageData.fillLeaderId,
commentText: this.commentText,
rh_pageData: this.rh_pageData,
}
this.$refs['rh_pageData'].validate((valid) => {
@@ -457,6 +483,65 @@ export default {
})
},
// 文件上传限制条件
handleBeforeUpload(file) {
var filename = file.name
var index1 = filename.lastIndexOf('.')
var index2 = filename.length
var fileSuffix = filename.substring(index1, index2)
// const fileSuffix = file.name.split('.')[1] // 后缀名
// 判断上传文件格式
if (fileSuffix === '.ZIP' || fileSuffix === '.docx' || fileSuffix === '.DOCX' || fileSuffix === '.zip' || fileSuffix === '.xls' || fileSuffix === '.xlsx') {
return true
} else {
this.spinShow = false
this.$message.error('文件' + file.name + '格式不正确,请上传ZIP/DOCX或XLS文件')
return false
}
// 判断文件上传大小
// eslint-disable-next-line no-unreachable
if (file.size / 1024 / 1024 <= 200) {
return true
} else {
this.$message.error('文件' + file.name + '大小不超过200M')
return false
}
return true
},
// 移除上传的文件
handleBeforeRemove(file, fileList) {
this.fileData = fileList
this.fillFileList.forEach((item, index) => {
if (item.name === file.name || item.id === file.id) {
this.fillFileList.splice(index, 1)
}
})
this.rh_pageData.fillFile = this.fillFileList
},
// 文件上传成功
handleOnsuccess(res, file, fileList) {
if (res.ok) {
if (this.fillFileList !== null) {
this.newDataList = this.fillFileList
this.newDataList.push({
id: res.data.attId,
name: res.data.standName
})
} else {
this.newDataList.push({
id: res.data.attId,
name: res.data.standName
})
}
this.rh_pageData.fillFile = this.newDataList
this.$message({
showClose: true,
message: res.message,
type: 'success'
})
this.fileMadel = false
}
},
/** 点击对应附件进行下载*/
previews(val) {
let attId = val
@@ -107,7 +107,14 @@
<el-table-column prop="fillPost" align="center" label="身份"/>
<el-table-column prop="fillTel" align="center" label="电话"/>
<el-table-column prop="fillMail" align="center" label="邮箱"/>
<el-table-column prop="fillFile" align="center" label="资料"/>
<el-table-column prop="fillFile" align="center" label="资料" show-overflow-tooltip>
<template slot-scope="scope">
<span v-if="scope.row.fillFile.length === 0">{{ '-' }}</span>
<span v-for="item in scope.row.fillFile" :key="item.id" style="color: #409EFF;" @click="previews(item.id)">
{{ item.name }} {{ ';' }}
</span>
</template>
</el-table-column>
</el-table>
</el-form-item>
</el-form>
@@ -146,7 +146,14 @@
<el-table-column prop="fillPost" align="center" label="身份"/>
<el-table-column prop="fillTel" align="center" label="电话"/>
<el-table-column prop="fillMail" align="center" label="邮箱"/>
<el-table-column prop="fillFile" align="center" label="资料"/>
<el-table-column prop="fillFile" align="center" label="资料" show-overflow-tooltip>
<template slot-scope="scope">
<span v-if="scope.row.fillFile.length === 0">{{ '-' }}</span>
<span v-for="item in scope.row.fillFile" :key="item.id" style="color: #409EFF;" @click="previews(item.id)">
{{ item.name }} {{ ';' }}
</span>
</template>
</el-table-column>
</el-table>
</el-form-item>
</el-form>
@@ -109,7 +109,14 @@
<el-table-column prop="fillPost" align="center" label="身份"/>
<el-table-column prop="fillTel" align="center" label="电话"/>
<el-table-column prop="fillMail" align="center" label="邮箱"/>
<el-table-column prop="fillFile" align="center" label="资料"/>
<el-table-column prop="fillFile" align="center" label="资料" show-overflow-tooltip>
<template slot-scope="scope">
<span v-if="scope.row.fillFile.length === 0">{{ '-' }}</span>
<span v-for="item in scope.row.fillFile" :key="item.id" style="color: #409EFF;" @click="previews(item.id)">
{{ item.name }} {{ ';' }}
</span>
</template>
</el-table-column>
</el-table>
</el-form-item>
</el-form>
@@ -112,7 +112,14 @@
<el-table-column prop="fillPost" align="center" label="身份"/>
<el-table-column prop="fillTel" align="center" label="电话"/>
<el-table-column prop="fillMail" align="center" label="邮箱"/>
<el-table-column prop="fillFile" align="center" label="资料"/>
<el-table-column prop="fillFile" align="center" label="资料" show-overflow-tooltip>
<template slot-scope="scope">
<span v-if="scope.row.fillFile.length === 0">{{ '-' }}</span>
<span v-for="item in scope.row.fillFile" :key="item.id" style="color: #409EFF;" @click="previews(item.id)">
{{ item.name }} {{ ';' }}
</span>
</template>
</el-table-column>
</el-table>
</el-form-item>
</el-form>
@@ -79,7 +79,8 @@
</el-table-column>
<el-table-column prop="material" label="资料" align="center">
<template slot-scope="scope">
<el-button type="primary" size="mini" @click="uploadTable(scope.row)">点击上传</el-button>
<el-button v-if="scope.row.material.length === 0" type="primary" size="mini" @click="uploadTable(scope.row)">点击上传</el-button>
<el-button v-else type="primary" size="mini" @click="uploadTable(scope.row)">查看附件</el-button>
</template>
</el-table-column>
</el-table>
@@ -97,7 +98,8 @@
<el-table-column label="议题" align="center" prop="meetingTheme"/>
<el-table-column label="资料" align="center" prop="meetingFile" width="200">
<template slot-scope="scope">
<el-button type="primary" size="mini" @click="uploadThemeTable(scope.row)">点击上传</el-button>
<el-button v-if="scope.row.meetingFile.length === 0" type="primary" size="mini" @click="uploadThemeTable(scope.row)">点击上传</el-button>
<el-button v-else type="primary" size="mini" @click="uploadThemeTable(scope.row)">查看附件</el-button>
</template>
</el-table-column>
</el-table>
@@ -603,7 +605,7 @@ export default {
handleSubmit() {
let json = {
hh_pageData: this.hh_pageData,
// director: this.roleForm.engineerUserId,
director: this.roleForm.engineerUserId,
}
this.$refs['hh_pageData'].validate((valid) => {
if (valid) {
@@ -102,7 +102,7 @@
</div>
</div>
<el-collapse accordion>
<el-collapse-item title="回执说明">
<el-collapse-item title="审批意见">
<div style="margin: 10px 0;">
<el-input
type="textarea"
@@ -317,7 +317,7 @@ export default {
},
/** 议题列表查看按钮 */
meetingFileBtn(val) {
this.themeFileList = val.material
this.themeFileList = val.meetingFile
this.meetingFileDialog = true
},
handleClose() {
@@ -348,27 +348,31 @@ export default {
// 退回按钮
handleSubmitNo() {
let json = {
passFlag: '0',
commentText: this.commentText,
hh_pageData: this.hh_pageData,
}
this.$refs['hh_pageData'].validate((valid) => {
if (valid) {
this.isBack = true
const params = new FormData();
params.set('json', JSON.stringify(json))
params.set('userId', this.$store.getters.userInfo.userId)
params.set('taskId', this.taskIds)
completeTask(params).then(res => {
if (res.success === true) {
this.$message.success('退回成功')
this.$router.push("/processCenter");
}
this.isBack = false
});
if (this.commentText === '') {
this.$message.warning('请输入审批意见')
} else {
let json = {
passFlag: '0',
commentText: this.commentText,
hh_pageData: this.hh_pageData,
}
})
this.$refs['hh_pageData'].validate((valid) => {
if (valid) {
this.isBack = true
const params = new FormData();
params.set('json', JSON.stringify(json))
params.set('userId', this.$store.getters.userInfo.userId)
params.set('taskId', this.taskIds)
completeTask(params).then(res => {
if (res.success === true) {
this.$message.success('退回成功')
this.$router.push("/processCenter");
}
this.isBack = false
});
}
})
}
},
// 提交按钮
handleSubmit() {
@@ -214,7 +214,17 @@ export default {
active: '1',
acceptShow: false,
ch_pageData: {},
ch_pageData: {
fillPeopleId: '',
fillPeople: '',
fillUnit: '',
fillDept: '',
fillPost: '',
fillTel: '',
fillMail: '',
fillLeader: '',
fillFile: '',
},
ch_rules: {},
nodeList: [],
commentText: '',
@@ -335,7 +345,14 @@ export default {
}
})
}
},
/** 点击对应附件进行下载*/
previews(val) {
let attId = val
if (attId != null && attId !== "") {
window.location.href = "/api/att/attFile/downloadFileForSar?fileId=" + attId;
}
},
}
}
</script>
@@ -127,7 +127,7 @@
<el-input
style="width: 100%"
readonly
placeholder="请选择"
placeholder="请选择参与人部门领导"
v-model="ch_pageData.fillLeader"
@click.native="choiceZRR"
/>
@@ -418,7 +418,14 @@ export default {
}
})
}
},
/** 点击对应附件进行下载*/
previews(val) {
let attId = val
if (attId != null && attId !== "") {
window.location.href = "/api/att/attFile/downloadFileForSar?fileId=" + attId;
}
},
}
}
</script>
@@ -349,7 +349,14 @@ export default {
});
}
})
}
},
/** 点击对应附件进行下载*/
previews(val) {
let attId = val
if (attId != null && attId !== "") {
window.location.href = "/api/att/attFile/downloadFileForSar?fileId=" + attId;
}
},
}
}
</script>
@@ -127,7 +127,7 @@
</div>
</div>
<el-collapse accordion>
<el-collapse-item title="审批意见">
<el-collapse-item title="回执说明">
<div style="margin: 10px 0;">
<el-input
type="textarea"
@@ -318,7 +318,7 @@ export default {
this.deleteDataList.map(item => {
let index;
index = this.ch_pageData.myPartRole.findIndex(items => {
return items.id === item;
return items === item;
});
if (index > -1) {
this.ch_pageData.myPartRole.splice(index, 1);
@@ -377,7 +377,14 @@ export default {
}
})
}
},
/** 点击对应附件进行下载*/
previews(val) {
let attId = val
if (attId != null && attId !== "") {
window.location.href = "/api/att/attFile/downloadFileForSar?fileId=" + attId;
}
},
}
}
</script>
@@ -414,7 +414,14 @@ export default {
}
})
}
},
/** 点击对应附件进行下载*/
previews(val) {
let attId = val
if (attId != null && attId !== "") {
window.location.href = "/api/att/attFile/downloadFileForSar?fileId=" + attId;
}
},
}
}
</script>
@@ -264,7 +264,7 @@
></el-input>
<div style="display: flex;justify-content: space-between">
<div style="width: 80%;">
<div v-for="(item,index) in xgdFileList" :key="index" class="fileClass">{{ item.name }}</div>
<div v-for="(item,index) in xgdFileList" :key="index" @click="filePreview(item)" style="color: #409eff;cursor:pointer" class="fileClass">{{ item.name }}</div>
</div>
<div style="width: 20%;">
<el-button
@@ -287,7 +287,7 @@
></el-input>
<div style="display: flex;justify-content: space-between">
<div style="width: 80%;">
<div v-for="(item,index) in FBGBJBDFileList" :key="index" class="fileClass">{{ item.name }}</div>
<div v-for="(item,index) in FBGBJBDFileList" :key="index" @click="filePreview(item)" style="color: #409eff;cursor:pointer" class="fileClass">{{ item.name }}</div>
</div>
<div style="width: 20%;">
<el-button
@@ -310,7 +310,7 @@
></el-input>
<div style="display: flex;justify-content: space-between">
<div style="width: 80%;">
<div v-for="(item,index) in ssgFileList" :key="index" class="fileClass">{{ item.name }}</div>
<div v-for="(item,index) in ssgFileList" :key="index" @click="filePreview(item)" style="color: #409eff;cursor:pointer" class="fileClass">{{ item.name }}</div>
</div>
<div style="width: 20%;">
<el-button
@@ -333,7 +333,7 @@
></el-input>
<div style="display: flex;justify-content: space-between">
<div style="width: 80%;">
<div v-for="(item,index) in caFileList" :key="index" class="fileClass">{{ item.name }}</div>
<div v-for="(item,index) in caFileList" :key="index" @click="filePreview(item)" style="color: #409eff;cursor:pointer" class="fileClass">{{ item.name }}</div>
</div>
<div style="width: 20%;">
<el-button
@@ -356,7 +356,7 @@
></el-input>
<div style="display: flex;justify-content: space-between">
<div style="width: 80%;">
<div v-for="(item,index) in zbjbdFileList" :key="index" class="fileClass">{{ item.name }}</div>
<div v-for="(item,index) in zbjbdFileList" :key="index" @click="filePreview(item)" style="color: #409eff;cursor:pointer" class="fileClass">{{ item.name }}</div>
</div>
<div style="width: 20%;">
<el-button
@@ -381,7 +381,7 @@
></el-input>
<div style="display: flex;justify-content: space-between">
<div style="width: 80%;">
<div v-for="(item,index) in kwjFileList" :key="index" class="fileClass">{{ item.name }}</div>
<div v-for="(item,index) in kwjFileList" :key="index" @click="filePreview(item)" style="color: #409eff;cursor:pointer" class="fileClass">{{ item.name }}</div>
</div>
<div style="width: 20%;">
<el-button
@@ -406,7 +406,7 @@
></el-input>
<div style="display: flex;justify-content: space-between">
<div style="width: 80%;">
<div v-for="(item,index) in jdwjFileList" :key="index" class="fileClass">{{ item.name }}</div>
<div v-for="(item,index) in jdwjFileList" :key="index" @click="filePreview(item)" style="color: #409eff;cursor:pointer" class="fileClass">{{ item.name }}</div>
</div>
<div style="width: 20%;">
<el-button
@@ -429,7 +429,7 @@
></el-input>
<div style="display: flex;justify-content: space-between">
<div style="width: 80%;">
<div v-for="(item,index) in bpgFileList" :key="index" class="fileClass">{{ item.name }}</div>
<div v-for="(item,index) in bpgFileList" :key="index" @click="filePreview(item)" style="color: #409eff;cursor:pointer" class="fileClass">{{ item.name }}</div>
</div>
<div style="width: 20%;">
<el-button
@@ -452,7 +452,7 @@
></el-input>
<div style="display: flex;justify-content: space-between">
<div style="width: 80%;">
<div v-for="(item,index) in zqyjgFileList" :key="index" class="fileClass">{{ item.name }}</div>
<div v-for="(item,index) in zqyjgFileList" :key="index" @click="filePreview(item)" style="color: #409eff;cursor:pointer" class="fileClass">{{ item.name }}</div>
</div>
<div style="width: 20%;">
<el-button
@@ -710,7 +710,7 @@
></el-input>
<div style="display: flex;justify-content: space-between">
<div style="width: 80%;">
<div v-for="(item,index) in glwjFileList" :key="index" class="fileClass">{{ item.name }}</div>
<div v-for="(item,index) in glwjFileList" :key="index" @click="filePreview(item)" style="color: #409eff;cursor:pointer" class="fileClass">{{ item.name }}</div>
</div>
<div style="width: 20%;">
<el-button
@@ -1208,7 +1208,7 @@
import ProcessHeader from '../../components/ProcessHeader'
import ProcessFooter from '../../components/ProcessFooter'
import ProcessTitle from '../../components/ProcessTitle'
import {saveTaskFirst, queryTaskFirst} from "api/process";
import {saveTaskFirst, queryTaskFirst, getBusStandFileByAttId} from "api/process";
import TreeSelect from '@/components/treeSelect/treeSelect.vue';
import TreeSelectNew from '@/components/treeSelect/treeSelectNew.vue';
import TreeSelectModule from "@/components/treeSelect/treeSelectModule.vue";
@@ -1679,6 +1679,56 @@
},
},
methods: {
getBusStandFileByAttId(attId) {
return new Promise((resolve, reject) => {
getBusStandFileByAttId({
attId
}).then(res => {
if (res.ok) {
resolve(res.data)
} else {
reject()
}
}).catch(e => {
reject(e)
})
})
},
// 文件预览
filePreview(item) {
const attId = item.response.data.id
this.getBusStandFileByAttId(attId)
.then(res => {
console.log(res)
if(res){
const editFileInfo = res
console.log(editFileInfo)
if(editFileInfo.fileSuffix === 'pdg' || editFileInfo.fileSuffix === 'PDG'){
window.open('book://ssreader/e0?url='+editFileInfo.downLoadUrl)
}else {
const nowTime = new Date().getTime()
// window.open('http://127.0.0.1:8012/onlinePreview?url='+encodeURIComponent(Base64.encode(editFileInfo.downLoadUrl)));
window.open('/static/onlyOffice/onlinePreview.html?oldFileName=' + editFileInfo.oldFileName + '&fileType=' + editFileInfo.fileSuffix + '&attId=' + editFileInfo.id + '&fileUrl=' + editFileInfo.downLoadUrl + '&key=' + editFileInfo.id + nowTime+'&filePath='+editFileInfo.filePath+'&fileName='+editFileInfo.fileName)
}
// window.open('/static/pdf/web/viewer.html?file=' + encodeURIComponent('/api/att/attFile/getFileInfo?fileId=' + editFileInfo.id))
}
// switch (res.convertState) {
// case 'ERROR':
// this.$message.warning('文档转换失败')
// break
// case 'LODING':
// this.$message.info('文档转换中,请稍后查看')
// break
// case 'SUCCESS':
// const { convertFileInfo } = res
// window.open('/static/pdf/web/viewer.html?file=' + encodeURIComponent('/api/att/attFile/getFileInfo?fileId=' + convertFileInfo.id))
// break
// }
}).catch(e => {
console.log(e)
this.$message.warning('文件不存在,预览失败')
})
},
// choiceZRRS () {
// if (this.userType === 'zrUserId') {
// this.roleForm.zrUserId = this.zrUserIds.map(item => item.id).join(",")
@@ -375,27 +375,20 @@
v-model="form.xgdName"
clearable
></el-input>
<div v-if="xgdFileList.length>0">
<!-- {{ form.xgdName }}-->
<el-button
type="primary"
class="common-button-primary"
size="mini"
style="margin-left: 10px"
@click="fileUpload('xgd')">
<i class="el-icon-upload el-icon--right"></i>
查看已上传的文件
</el-button>
</div>
<div v-else>
<el-button
type="primary"
class="common-button-primary"
size="mini"
@click="fileUpload('xgd')">
<i class="el-icon-upload el-icon--right"></i>
点击上传
</el-button>
<div style="display: flex;justify-content: space-between">
<div style="width: 80%;">
<div v-for="(item,index) in xgdFileList" :key="index" @click="filePreview(item)" style="color: #409eff;cursor:pointer" class="fileClass">{{ item.name }}</div>
</div>
<div style="width: 20%;">
<el-button
type="primary"
class="common-button-primary"
size="mini"
style="margin-left: 10px; margin-top: 11px; float: right;"
@click="fileUpload('xgd')">
<i class="el-icon-upload el-icon--right"></i>
</el-button>
</div>
</div>
</el-form-item>
<el-form-item label="发布稿" prop="fbgbjbdName" class="add-form-item form-item-disabled">
@@ -405,27 +398,20 @@
v-model="form.fbgbjbdName"
clearable
></el-input>
<div v-if="FBGBJBDFileList.length>0">
<!-- {{ form.fbgbjbdName }}-->
<el-button
type="primary"
class="common-button-primary"
size="mini"
style="margin-left: 10px"
@click="fileUpload('fbgbjbd')">
<i class="el-icon-upload el-icon--right"></i>
查看已上传的文件
</el-button>
</div>
<div v-else>
<el-button
type="primary"
class="common-button-primary"
size="mini"
@click="fileUpload('fbgbjbd')">
<i class="el-icon-upload el-icon--right"></i>
点击上传
</el-button>
<div style="display: flex;justify-content: space-between">
<div style="width: 80%;">
<div v-for="(item,index) in FBGBJBDFileList" :key="index" @click="filePreview(item)" style="color: #409eff;cursor:pointer" class="fileClass">{{ item.name }}</div>
</div>
<div style="width: 20%;">
<el-button
type="primary"
class="common-button-primary"
size="mini"
style="margin-left: 10px; margin-top: 11px; float: right;"
@click="fileUpload('fbgbjbd')">
<i class="el-icon-upload el-icon--right"></i>
</el-button>
</div>
</div>
</el-form-item>
<el-form-item v-show="form.standInData === '0'" label="送审稿" prop="ssg" class="add-form-item form-item-disabled">
@@ -435,27 +421,20 @@
v-model="form.ssgName"
clearable
></el-input>
<div v-if="ssgFileList.length>0">
<!-- {{ form.ssgName }}-->
<el-button
type="primary"
class="common-button-primary"
size="mini"
style="margin-left: 10px"
@click="fileUpload('ssg')">
<i class="el-icon-upload el-icon--right"></i>
查看已上传的文件
</el-button>
</div>
<div v-else>
<el-button
type="primary"
class="common-button-primary"
size="mini"
@click="fileUpload('ssg')">
<i class="el-icon-upload el-icon--right"></i>
点击上传
</el-button>
<div style="display: flex;justify-content: space-between">
<div style="width: 80%;">
<div v-for="(item,index) in ssgFileList" :key="index" @click="filePreview(item)" style="color: #409eff;cursor:pointer" class="fileClass">{{ item.name }}</div>
</div>
<div style="width: 20%;">
<el-button
type="primary"
class="common-button-primary"
size="mini"
style="margin-left: 10px; margin-top: 11px; float: right;"
@click="fileUpload('ssg')">
<i class="el-icon-upload el-icon--right"></i>
</el-button>
</div>
</div>
</el-form-item>
<el-form-item label="草案" prop="ca" class="add-form-item form-item-disabled">
@@ -465,27 +444,20 @@
v-model="form.caName"
clearable
></el-input>
<div v-if="caFileList.length>0">
<!-- {{ form.caName }}-->
<el-button
type="primary"
class="common-button-primary"
size="mini"
style="margin-left: 10px"
@click="fileUpload('ca')">
<i class="el-icon-upload el-icon--right"></i>
查看已上传的文件
</el-button>
</div>
<div v-else>
<el-button
type="primary"
class="common-button-primary"
size="mini"
@click="fileUpload('ca')">
<i class="el-icon-upload el-icon--right"></i>
点击上传
</el-button>
<div style="display: flex;justify-content: space-between">
<div style="width: 80%;">
<div v-for="(item,index) in caFileList" :key="index" @click="filePreview(item)" style="color: #409eff;cursor:pointer" class="fileClass">{{ item.name }}</div>
</div>
<div style="width: 20%;">
<el-button
type="primary"
class="common-button-primary"
size="mini"
style="margin-left: 10px; margin-top: 11px; float: right;"
@click="fileUpload('ca')">
<i class="el-icon-upload el-icon--right"></i>
</el-button>
</div>
</div>
</el-form-item>
<el-form-item v-show="form.standInData === '1'" label="增补件" prop="zbjbd" class="add-form-item form-item-disabled">
@@ -495,27 +467,20 @@
v-model="form.zbjbdName"
clearable
></el-input>
<div v-if="zbjbdFileList.length>0">
<!-- {{ form.zbjbdName }}-->
<el-button
type="primary"
class="common-button-primary"
size="mini"
style="margin-left: 10px"
@click="fileUpload('zbjbd')">
<i class="el-icon-upload el-icon--right"></i>
查看已上传的文件
</el-button>
</div>
<div v-else>
<el-button
type="primary"
class="common-button-primary"
size="mini"
@click="fileUpload('zbjbd')">
<i class="el-icon-upload el-icon--right"></i>
点击上传
</el-button>
<div style="display: flex;justify-content: space-between">
<div style="width: 80%;">
<div v-for="(item,index) in zbjbdFileList" :key="index" @click="filePreview(item)" style="color: #409eff;cursor:pointer" class="fileClass">{{ item.name }}</div>
</div>
<div style="width: 20%;">
<el-button
type="primary"
class="common-button-primary"
size="mini"
style="margin-left: 10px; margin-top: 11px; float: right;"
@click="fileUpload('zbjbd')">
<i class="el-icon-upload el-icon--right"></i>
</el-button>
</div>
</div>
</el-form-item>
</el-col>
@@ -643,27 +608,20 @@
v-model="form.kwjName"
clearable
></el-input>
<div v-if="kwjFileList.length>0">
<!-- {{ form.kwjName }}-->
<el-button
type="primary"
class="common-button-primary"
size="mini"
style="margin-left: 10px"
@click="fileUpload('kwj')">
<i class="el-icon-upload el-icon--right"></i>
查看已上传的文件
</el-button>
</div>
<div v-else>
<el-button
type="primary"
class="common-button-primary"
size="mini"
@click="fileUpload('kwj')">
<i class="el-icon-upload el-icon--right"></i>
点击上传
</el-button>
<div style="display: flex;justify-content: space-between">
<div style="width: 80%;">
<div v-for="(item,index) in kwjFileList" :key="index" @click="filePreview(item)" style="color: #409eff;cursor:pointer" class="fileClass">{{ item.name }}</div>
</div>
<div style="width: 20%;">
<el-button
type="primary"
class="common-button-primary"
size="mini"
style="margin-left: 10px; margin-top: 11px; float: right;"
@click="fileUpload('kwj')">
<i class="el-icon-upload el-icon--right"></i>
</el-button>
</div>
</div>
</el-form-item>
<!-- ************************************* 2021/11/9 "解读文件"改为"相关文件"*************************************-->
@@ -675,27 +633,20 @@
v-model="form.jdwjName"
clearable
></el-input>
<div v-if="jdwjFileList.length>0">
<!-- {{ form.jdwjName }}-->
<el-button
type="primary"
class="common-button-primary"
size="mini"
style="margin-left: 10px"
@click="fileUpload('jdwj')">
<i class="el-icon-upload el-icon--right"></i>
查看已上传的文件
</el-button>
</div>
<div v-else>
<el-button
type="primary"
class="common-button-primary"
size="mini"
@click="fileUpload('jdwj')">
<i class="el-icon-upload el-icon--right"></i>
点击上传
</el-button>
<div style="display: flex;justify-content: space-between">
<div style="width: 80%;">
<div v-for="(item,index) in jdwjFileList" :key="index" @click="filePreview(item)" style="color: #409eff;cursor:pointer" class="fileClass">{{ item.name }}</div>
</div>
<div style="width: 20%;">
<el-button
type="primary"
class="common-button-primary"
size="mini"
style="margin-left: 10px; margin-top: 11px; float: right;"
@click="fileUpload('jdwj')">
<i class="el-icon-upload el-icon--right"></i>
</el-button>
</div>
</div>
</el-form-item>
<el-form-item v-show="form.standInData === '0'" label="报批稿" prop="bpg" class="add-form-item form-item-disabled">
@@ -705,27 +656,20 @@
v-model="form.bpgName"
clearable
></el-input>
<div v-if="bpgFileList.length>0">
<!-- {{ form.bpgName }}-->
<el-button
type="primary"
class="common-button-primary"
size="mini"
style="margin-left: 10px"
@click="fileUpload('bpg')">
<i class="el-icon-upload el-icon--right"></i>
查看已上传的文件
</el-button>
</div>
<div v-else>
<el-button
type="primary"
class="common-button-primary"
size="mini"
@click="fileUpload('bpg')">
<i class="el-icon-upload el-icon--right"></i>
点击上传
</el-button>
<div style="display: flex;justify-content: space-between">
<div style="width: 80%;">
<div v-for="(item,index) in bpgFileList" :key="index" @click="filePreview(item)" style="color: #409eff;cursor:pointer" class="fileClass">{{ item.name }}</div>
</div>
<div style="width: 20%;">
<el-button
type="primary"
class="common-button-primary"
size="mini"
style="margin-left: 10px; margin-top: 11px; float: right;"
@click="fileUpload('bpg')">
<i class="el-icon-upload el-icon--right"></i>
</el-button>
</div>
</div>
</el-form-item>
<el-form-item v-show="form.standInData === '0'" label="征求意见稿" prop="zqyjg" class="add-form-item form-item-disabled">
@@ -735,27 +679,20 @@
v-model="form.zqyjgName"
clearable
></el-input>
<div v-if="zqyjgFileList.length>0">
<!-- {{ form.zqyjgName }}-->
<el-button
type="primary"
class="common-button-primary"
size="mini"
style="margin-left: 10px"
@click="fileUpload('zqyjg')">
<i class="el-icon-upload el-icon--right"></i>
查看已上传的文件
</el-button>
</div>
<div v-else>
<el-button
type="primary"
class="common-button-primary"
size="mini"
@click="fileUpload('zqyjg')">
<i class="el-icon-upload el-icon--right"></i>
点击上传
</el-button>
<div style="display: flex;justify-content: space-between">
<div style="width: 80%;">
<div v-for="(item,index) in zqyjgFileList" :key="index" @click="filePreview(item)" style="color: #409eff;cursor:pointer" class="fileClass">{{ item.name }}</div>
</div>
<div style="width: 20%;">
<el-button
type="primary"
class="common-button-primary"
size="mini"
style="margin-left: 10px; margin-top: 11px; float: right;"
@click="fileUpload('zqyjg')">
<i class="el-icon-upload el-icon--right"></i>
</el-button>
</div>
</div>
</el-form-item>
</el-col>
@@ -999,26 +936,20 @@
v-model="form.glwjName"
clearable
></el-input>
<div v-if="glwjFileList.length>0">
<!-- {{ form.fbgbjbdName }}-->
<el-button
type="primary"
class="common-button-primary"
size="mini"
style="margin-left: 10px"
@click="fileUpload('glwj')">
<i class="el-icon-upload el-icon--right"></i>
查看已上传的文件
</el-button>
</div>
<div v-else>
<el-button
type="primary"
class="common-button-primary"
size="mini"
@click="fileUpload('glwj')">
点击上传
</el-button>
<div style="display: flex;justify-content: space-between">
<div style="width: 80%;">
<div v-for="(item,index) in glwjFileList" :key="index" @click="filePreview(item)" style="color: #409eff;cursor:pointer" class="fileClass">{{ item.name }}</div>
</div>
<div style="width: 20%;">
<el-button
type="primary"
class="common-button-primary"
size="mini"
style="margin-left: 10px; margin-top: 11px; float: right;"
@click="fileUpload('glwj')">
<i class="el-icon-upload el-icon--right"></i>
</el-button>
</div>
</div>
</el-form-item>
</el-col>
@@ -1251,7 +1182,7 @@
:on-remove="removeOneFile"
:show-file-list="true"
>
<div style="padding: 20px 0">
<div>
<i class="el-icon-upload" style="color: #3399ff"></i>
<p>点击或拖拽上传文件</p>
</div>
@@ -1386,7 +1317,7 @@ import {
changeAssigneeNew,
saveTaskForPub,
queryTaskFirst,
saveTaskFirst
saveTaskFirst, getBusStandFileByAttId
} from 'api/process'
import TreeSelect from '@/components/treeSelect/treeSelect.vue';
import TreeSelectNew from '@/components/treeSelect/treeSelectNew.vue';
@@ -1649,6 +1580,56 @@ export default {
},
},
methods: {
getBusStandFileByAttId(attId) {
return new Promise((resolve, reject) => {
getBusStandFileByAttId({
attId
}).then(res => {
if (res.ok) {
resolve(res.data)
} else {
reject()
}
}).catch(e => {
reject(e)
})
})
},
// 文件预览
filePreview(item) {
const attId = item.response.data.id
this.getBusStandFileByAttId(attId)
.then(res => {
console.log(res)
if(res){
const editFileInfo = res
console.log(editFileInfo)
if(editFileInfo.fileSuffix === 'pdg' || editFileInfo.fileSuffix === 'PDG'){
window.open('book://ssreader/e0?url='+editFileInfo.downLoadUrl)
}else {
const nowTime = new Date().getTime()
// window.open('http://127.0.0.1:8012/onlinePreview?url='+encodeURIComponent(Base64.encode(editFileInfo.downLoadUrl)));
window.open('/static/onlyOffice/onlinePreview.html?oldFileName=' + editFileInfo.oldFileName + '&fileType=' + editFileInfo.fileSuffix + '&attId=' + editFileInfo.id + '&fileUrl=' + editFileInfo.downLoadUrl + '&key=' + editFileInfo.id + nowTime+'&filePath='+editFileInfo.filePath+'&fileName='+editFileInfo.fileName)
}
// window.open('/static/pdf/web/viewer.html?file=' + encodeURIComponent('/api/att/attFile/getFileInfo?fileId=' + editFileInfo.id))
}
// switch (res.convertState) {
// case 'ERROR':
// this.$message.warning('文档转换失败')
// break
// case 'LODING':
// this.$message.info('文档转换中,请稍后查看')
// break
// case 'SUCCESS':
// const { convertFileInfo } = res
// window.open('/static/pdf/web/viewer.html?file=' + encodeURIComponent('/api/att/attFile/getFileInfo?fileId=' + convertFileInfo.id))
// break
// }
}).catch(e => {
console.log(e)
this.$message.warning('文件不存在,预览失败')
})
},
checkedRole (data) {
this.assigneeNewLoading = true
changeAssigneeNew({
@@ -2560,6 +2541,29 @@ export default {
<style lang="less" scoped>
@import '~@/assets/styles/style';
.bzrkStep4 {
/deep/ .el-upload-list__item-name {
white-space: inherit;
}
/deep/ .el-upload-dragger {
background-color: #fff;
border: 1px dashed #d9d9d9;
border-radius: 6px;
box-sizing: border-box;
width: 360px;
height: 90px;
text-align: center;
position: relative;
overflow: hidden;
}
/deep/ .el-dialog__body {
padding: 0 20px 10px;
color: #606266;
font-size: 14px;
word-break: break-all;
}
/deep/ .el-upload-dragger .el-icon-upload {
margin: 10px 0 0 0;
}
/deep/.el-drawer__container {
.prc-content-border {
border: none;
@@ -1697,6 +1697,11 @@
let mes = JSON.parse(res.mes)
mes.form.date = new Date(this.$moment(mes.form.date).format('YYYY-MM-DD'))
this.form = mes.form
this.FBGBUSSFileList=this.assemble(this.form.FBGBUSS,this.form.FBGBUSSName);
this.BZSMBUSSFileList=this.assemble(this.form.BZSMBUSS,this.form.BZSMBUSSName);
this.LSBBBUSSFileList=this.assemble(this.form.LSBBBUSS,this.form.LSBBBUSSName);
this.QTWJBUSSFileList=this.assemble(this.form.QTWJBUSS,this.form.QTWJBUSSName);
this.GLWJBUSSFileList=this.assemble(this.form.GLWJBUSS,this.form.GLWJBUSSName);
this.roleForm = mes.roleForm
this.commentText = mes.commentText
})
@@ -2498,16 +2503,10 @@
// _formData.append('id', this.bpnId)
_formData.append('createUser', this.$store.getters.userInfo.userId)
_formData.append('createUserName', this.$store.getters.userInfo.uName)
_formData.append('prcType', 'laws1')
_formData.append('prcName', '政策入库流程')
_formData.append('prcType', 'buss1')
_formData.append('prcName', '企标制修订流程及企业标准库流程')
_formData.append('json', JSON.stringify({
// prcForm: this.prcForm,
// sarAccessInfoList: this.sarAccessInfoList,
// sarAccessInfoListADMIN: this.sarAccessInfoListADMIN,
// bzqdForm: this.bzqdForm,
// listInfo: this.listInfo,
// id: this.id
taskInfo: '申请人发起',
taskInfo: '发起企标制修订流程',
form: this.form,
roleForm: this.roleForm,
commentText: this.commentText
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
@@ -37,10 +37,10 @@
<el-option label="未制定" value="未制定"></el-option>
</el-select>
</el-form-item>
<el-form-item label="评审责任人" prop="resPerson" class="add-form-item form-item-disabled">
<el-form-item label="评审责任人" prop="resPersonName" class="add-form-item form-item-disabled">
<el-input
readonly
v-model="qbfsForm.resPerson"
v-model="qbfsForm.resPersonName"
placeholder="请输入评审责任人"
clearable
></el-input>
@@ -70,18 +70,18 @@
<el-option label="完成" value="完成"></el-option>
</el-select>
</el-form-item>
<el-form-item label="起草人" prop="drafter" class="add-form-item form-item-disabled">
<el-form-item label="起草人" prop="drafterName" class="add-form-item form-item-disabled">
<el-input
readonly
v-model="qbfsForm.drafter"
v-model="qbfsForm.drafterName"
placeholder="请输入起草人"
clearable
></el-input>
</el-form-item>
<el-form-item label="工作组组长" prop="wgLeader" class="add-form-item form-item-disabled">
<el-form-item label="工作组组长" prop="wgLeaderName" class="add-form-item form-item-disabled">
<el-input
readonly
v-model="qbfsForm.wgLeader"
v-model="qbfsForm.wgLeaderName"
placeholder="请输入工作组组长"
clearable
></el-input>
@@ -181,17 +181,17 @@
label="制修订状态">
</el-table-column>
<el-table-column
prop="drafter"
prop="drafterName"
align="center"
label="起草人">
</el-table-column>
<el-table-column
prop="resPerson"
prop="resPersonName"
align="center"
label="评审责任人">
</el-table-column>
<el-table-column
prop="wgLeader"
prop="wgLeaderName"
align="center"
label="工作组组长">
</el-table-column>
@@ -339,13 +339,13 @@ export default {
this.qbfsForm.esId = this.selectList[0].id
this.qbfsForm.esName = this.selectList[0].esName
this.qbfsForm.draftTime = this.selectList[0].draftTime
this.qbfsForm.drafter = this.selectList[0].drafter
this.qbfsForm.drafterName = this.selectList[0].drafterName
this.qbfsForm.planStatus = this.selectList[0].planStatus
this.qbfsForm.releaseTime = this.selectList[0].releaseTime
this.qbfsForm.resPerson = this.selectList[0].resPerson
this.qbfsForm.resPersonName = this.selectList[0].resPersonName
this.qbfsForm.reviseStatus = this.selectList[0].reviseStatus
this.qbfsForm.unit = this.selectList[0].unit
this.qbfsForm.wgLeader = this.selectList[0].wgLeader
this.qbfsForm.wgLeaderName = this.selectList[0].wgLeaderName
this.ListModel = false
}
},
@@ -37,10 +37,10 @@
<el-option label="未制定" value="未制定"></el-option>
</el-select>
</el-form-item>
<el-form-item label="评审责任人" prop="resPerson" class="add-form-item form-item-disabled">
<el-form-item label="评审责任人" prop="resPersonName" class="add-form-item form-item-disabled">
<el-input
readonly
v-model="qbfsForm.resPerson"
v-model="qbfsForm.resPersonName"
placeholder="请输入评审责任人"
clearable
></el-input>
@@ -78,18 +78,18 @@
<el-option label="完成" value="完成"></el-option>
</el-select>
</el-form-item>
<el-form-item label="起草人" prop="drafter" class="add-form-item form-item-disabled">
<el-form-item label="起草人" prop="drafterName" class="add-form-item form-item-disabled">
<el-input
readonly
v-model="qbfsForm.drafter"
v-model="qbfsForm.drafterName"
placeholder="请输入起草人"
clearable
></el-input>
</el-form-item>
<el-form-item label="工作组组长" prop="wgLeader" class="add-form-item form-item-disabled">
<el-form-item label="工作组组长" prop="wgLeaderName" class="add-form-item form-item-disabled">
<el-input
readonly
v-model="qbfsForm.wgLeader"
v-model="qbfsForm.wgLeaderName"
placeholder="请输入工作组组长"
clearable
></el-input>
@@ -197,17 +197,17 @@
label="制修订状态">
</el-table-column>
<el-table-column
prop="drafter"
prop="drafterName"
align="center"
label="起草人">
</el-table-column>
<el-table-column
prop="resPerson"
prop="resPersonName"
align="center"
label="评审责任人">
</el-table-column>
<el-table-column
prop="wgLeader"
prop="wgLeaderName"
align="center"
label="工作组组长">
</el-table-column>
@@ -361,13 +361,13 @@ export default {
this.qbfsForm.esId = this.selectList[0].id
this.qbfsForm.esName = this.selectList[0].esName
this.qbfsForm.draftTime = this.selectList[0].draftTime
this.qbfsForm.drafter = this.selectList[0].drafter
this.qbfsForm.drafterName = this.selectList[0].drafterName
this.qbfsForm.planStatus = this.selectList[0].planStatus
this.qbfsForm.releaseTime = this.selectList[0].releaseTime
this.qbfsForm.resPerson = this.selectList[0].resPerson
this.qbfsForm.resPersonName = this.selectList[0].resPersonName
this.qbfsForm.reviseStatus = this.selectList[0].reviseStatus
this.qbfsForm.unit = this.selectList[0].unit
this.qbfsForm.wgLeader = this.selectList[0].wgLeader
this.qbfsForm.wgLeaderName = this.selectList[0].wgLeaderName
this.ListModel = false
}
},
@@ -64,17 +64,33 @@
placeholder="请选择计划标准发布时间">
</el-date-picker>
</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.value"
: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"
@@ -103,6 +119,27 @@
@checkedRole="checkedRole"
:nodeList="nodeList"
></Role-tree>
<el-dialog
:visible.sync="QCDWmodal"
width="500px"
title="选择起草部门"
destroy-on-close
:close-on-click-modal="false"
@closed="QCDWmodal = false">
<el-select v-model="QCDWValue" multiple filterable placeholder="请选择" style="width: 100%;">
<el-option
v-for="item in qcdwOptions"
:key="item.value"
:label="item.label"
:value="item.label">
</el-option>
</el-select>
<div slot="footer" class="demo-drawer-footer">
<el-button size="mini" type="primary" class="common-button-default" icon="el-icon-check"
@click="QCDWOK">确认
</el-button>
</div>
</el-dialog>
</div>
</template>
@@ -118,6 +155,9 @@ export default {
props: ['message'],
data(){
return {
QCDWmodal: false,
QCDWValue: [],
QCDWList: [],
drawerTitle2: '',
drawerTitle: '',
roleType: '',
@@ -197,6 +237,20 @@ export default {
})
},
methods: {
QCDWOK () {
let arr1 = []
if (this.qbfsForm.unit.length > 0) {
let str = this.qbfsForm.unit.replace(//g, ',')
arr1 = str.split(',')
}
let arr2 = arr1.concat(this.QCDWValue)
this.qbfsForm.unit = Array.from(new Set(arr2)).join(',')
this.QCDWmodal = false
},
QCDWClick () {
this.QCDWValue = []
this.QCDWmodal = true
},
choiceZRR() {
this.nodeList = [];
this.drawerTitle = '请选择工作组组长';
@@ -67,7 +67,7 @@
<el-option label="未制定" value="未制定"></el-option>
</el-select>
</el-form-item>
<el-form-item label="评审责任人" prop="resPerson" class="add-form-item form-item-disabled">
<el-form-item label="评审责任人" prop="resPersonName" class="add-form-item form-item-disabled">
<el-input v-model="qbfsForm.resPerson" style="display: none;"></el-input>
<el-input v-model="qbfsForm.resPersonName" placeholder="请选择评审责任人"
@click.native="choiceZRRS('2')">
@@ -81,16 +81,21 @@
placeholder="请选择初稿完成时间">
</el-date-picker>
</el-form-item>
<el-form-item label="起草责任单位" 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.value"
: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-col>
<el-col :span="12">
@@ -101,13 +106,13 @@
<el-option label="完成" value="完成"></el-option>
</el-select>
</el-form-item>
<el-form-item label="起草人" prop="drafter" class="add-form-item form-item-disabled">
<el-form-item label="起草人" prop="drafterName" class="add-form-item form-item-disabled">
<el-input v-model="qbfsForm.drafter" style="display: none;"></el-input>
<el-input v-model="qbfsForm.drafterName" placeholder="请选择起草人"
@click.native="choiceZRRS('1')">
</el-input>
</el-form-item>
<el-form-item label="工作组组长" prop="wgLeader" class="add-form-item form-item-disabled">
<el-form-item label="工作组组长" prop="wgLeaderName" class="add-form-item form-item-disabled">
<el-input v-model="qbfsForm.wgLeader" style="display: none;"></el-input>
<el-input v-model="qbfsForm.wgLeaderName" placeholder="请选择工作组组长"
@click.native="choiceZRR"></el-input>
@@ -207,17 +212,17 @@
label="制修订状态">
</el-table-column>
<el-table-column
prop="drafter"
prop="drafterName"
align="center"
label="起草人">
</el-table-column>
<el-table-column
prop="resPerson"
prop="resPersonName"
align="center"
label="评审责任人">
</el-table-column>
<el-table-column
prop="wgLeader"
prop="wgLeaderName"
align="center"
label="工作组组长">
</el-table-column>
@@ -272,6 +277,27 @@
@checkedRole="checkedRole"
:nodeList="nodeList"
></Role-tree>
<el-dialog
:visible.sync="QCDWmodal"
width="500px"
title="选择起草部门"
destroy-on-close
:close-on-click-modal="false"
@closed="QCDWmodal = false">
<el-select v-model="QCDWValue" multiple filterable placeholder="请选择" style="width: 100%;">
<el-option
v-for="item in qcdwOptions"
:key="item.value"
:label="item.label"
:value="item.label">
</el-option>
</el-select>
<div slot="footer" class="demo-drawer-footer">
<el-button size="mini" type="primary" class="common-button-default" icon="el-icon-check"
@click="QCDWOK">确认
</el-button>
</div>
</el-dialog>
</div>
</template>
@@ -286,6 +312,9 @@ export default {
props: ['message'],
data(){
return {
QCDWmodal: false,
QCDWValue: [],
QCDWList: [],
drawerTitle2: '',
drawerTitle: '',
type: '',
@@ -322,10 +351,10 @@ export default {
reviseStatus: [
{required: true, message: '请选择制修订状态', trigger: 'change'},
],
resPerson: [
resPersonName: [
{required: true, message: '请输入评审责任人', trigger: 'blur'},
],
wgLeader: [
wgLeaderName: [
{required: true, message: '请输入工作组组长', trigger: 'blur'},
],
draftTime: [
@@ -334,7 +363,7 @@ export default {
releaseTime: [
{required: true, message: '请输入计划标准发布时间', trigger: 'blur'},
],
drafter: [
drafterName: [
{required: true, message: '请输入起草人', trigger: 'blur'},
],
mergeReason: [
@@ -404,6 +433,20 @@ export default {
}
},
methods: {
QCDWOK () {
let arr1 = []
if (this.qbfsForm.unit !== undefined) {
let str = this.qbfsForm.unit.replace(//g, ',')
arr1 = str.split(',')
}
let arr2 = arr1.concat(this.QCDWValue)
this.qbfsForm.unit = Array.from(new Set(arr2)).join(',')
this.QCDWmodal = false
},
QCDWClick () {
this.QCDWValue = []
this.QCDWmodal = true
},
choiceZRR() {
this.nodeList = [];
this.drawerTitle = '请选择工作组组长';
@@ -37,10 +37,10 @@
<el-option label="未制定" value="未制定"></el-option>
</el-select>
</el-form-item>
<el-form-item label="评审责任人" prop="resPerson" class="add-form-item form-item-disabled">
<el-form-item label="评审责任人" prop="resPersonName" class="add-form-item form-item-disabled">
<el-input
readonly
v-model="qbfsForm.resPerson"
v-model="qbfsForm.resPersonName"
placeholder="请输入评审责任人"
clearable
></el-input>
@@ -69,18 +69,18 @@
<el-option label="完成" value="完成"></el-option>
</el-select>
</el-form-item>
<el-form-item label="起草人" prop="drafter" class="add-form-item form-item-disabled">
<el-form-item label="起草人" prop="drafterName" class="add-form-item form-item-disabled">
<el-input
readonly
v-model="qbfsForm.drafter"
v-model="qbfsForm.drafterName"
placeholder="请输入起草人"
clearable
></el-input>
</el-form-item>
<el-form-item label="工作组组长" prop="wgLeader" class="add-form-item form-item-disabled">
<el-form-item label="工作组组长" prop="wgLeaderName" class="add-form-item form-item-disabled">
<el-input
readonly
v-model="qbfsForm.wgLeader"
v-model="qbfsForm.wgLeaderName"
placeholder="请输入工作组组长"
clearable
></el-input>
@@ -188,17 +188,17 @@
label="制修订状态">
</el-table-column>
<el-table-column
prop="drafter"
prop="drafterName"
align="center"
label="起草人">
</el-table-column>
<el-table-column
prop="resPerson"
prop="resPersonName"
align="center"
label="评审责任人">
</el-table-column>
<el-table-column
prop="wgLeader"
prop="wgLeaderName"
align="center"
label="工作组组长">
</el-table-column>
@@ -346,15 +346,16 @@ export default {
}else if(this.selectList.length < 1){
this.$message.warning('请至少选择一条数据进行带入')
}else{
this.qbfsForm.esId = this.selectList[0].id
this.qbfsForm.esName = this.selectList[0].esName
this.qbfsForm.draftTime = this.selectList[0].draftTime
this.qbfsForm.drafter = this.selectList[0].drafter
this.qbfsForm.drafterName = this.selectList[0].drafterName
this.qbfsForm.planStatus = this.selectList[0].planStatus
this.qbfsForm.releaseTime = this.selectList[0].releaseTime
this.qbfsForm.resPerson = this.selectList[0].resPerson
this.qbfsForm.resPersonName = this.selectList[0].resPersonName
this.qbfsForm.reviseStatus = this.selectList[0].reviseStatus
this.qbfsForm.unit = this.selectList[0].unit
this.qbfsForm.wgLeader = this.selectList[0].wgLeader
this.qbfsForm.wgLeaderName = this.selectList[0].wgLeaderName
this.ListModel = false
}
},
@@ -381,7 +381,7 @@ export default {
toggleComName(name) {
this.comName = name;
if(this.comName === 'merge'){
this.$refs["childForm"].qbfsForm = '1'
this.$refs["childForm"].qbfsForm.type = '1'
}else if(this.comName === 'delay'){
this.$refs["childForm"].qbfsForm.type = '2'
}else if(this.comName === 'cancel'){
@@ -391,7 +391,6 @@ export default {
}else if(this.comName === 'establish'){
this.$refs["childForm"].qbfsForm.type = '5'
}
},
//
handleSave() {
@@ -432,6 +431,9 @@ export default {
},
//
handleSubmit() {
if(this.$refs["childForm"].qbfsForm.type === undefined){
this.$refs["childForm"].qbfsForm.type = '1'
}
this.repeatName()
if(this.comFlag === '0'){
this.$message.warning('请更改企标名称')
@@ -239,7 +239,7 @@
@pageSizeChange="pageSizeChange"/>
<div class="demo-drawer-footer">
<el-button size="mini" @click="closeDrawer">取消</el-button>
<el-button type="primary" size="mini" @click="OkDrawer">带入</el-button>
<el-button type="primary" size="mini" @click="OkDrawer">确认</el-button>
</div>
</el-drawer>
<ProcessFooter
@@ -13,72 +13,6 @@
<ProcessTitle>
<template slot="title">基础信息</template>
</ProcessTitle>
<!-- <el-form :modal="nonSearch" inline class="label-input-form">
<el-form-item label="标准号/标准名称" class="search-item">
<el-input
size="small"
v-model="nonSearch.standId"
placeholder="请输入"
clearable
:maxlength="100"></el-input>
</el-form-item>
<el-form-item label="项目名称" class="search-item">
<el-input
size="small"
v-model="nonSearch.productName"
placeholder="请输入"
clearable
:maxlength="100"></el-input>
</el-form-item>
<el-form-item label="责任部门" class="search-item">
<el-input v-model="nonSearch.responsibleUnit" v-show="false" />
<el-popover
placement="bottom"
popper-class="user-dept-popper"
trigger="click"
:value="false"
>
<el-input
size="small"
slot="reference"
v-model="nonSearch.responseUnitShow"
placeholder="根据责任部门查找"
readonly
clearable
id="searchResp"
/>
<div class="api">
<laws-tree
:zNodes="zNodesSItem"
treeDivId="zNodesSItemSearch"
deptSelect
showRMenu
@treeDblClick="(treeId, treeNode) => treeClickSearch(treeId, treeNode)"
class="ztree" style="width: 200px;height: 400px;overflow: auto">
</laws-tree>
</div>
</el-popover>
</el-form-item>
<el-form-item class="search-item btn-box">
<el-button
type="primary"
class="common-button-primary"
size="mini"
v-btn-permission="'b3aaea6d18f5871b68825d3783eb736a'"
@click="getTableByPage(nonSearch)">
查询
</el-button>
</el-form-item>
<el-form-item class="search-item btn-box">
<el-button
class="common-button-default"
size="mini"
v-btn-permission="'5905d0743c3504799aee83ac9697f8c5'"
@click="clearAllSearch">
清空
</el-button>
</el-form-item>
</el-form>-->
<div class="content-center">
<el-button
style="text-align: end"
@@ -301,6 +235,9 @@ export default {
}
},
methods: {
phoneClick () {
this.$router.push('/phoneWfhxStep4')
},
processTable() {
this.$http.get("lawss/activiti/get_list_by_instance", {
prcNum: this.$route.query.prcNum,
@@ -326,14 +263,15 @@ export default {
},
getFormFieldList (item) {
this.$nextTick(() => {
if (item.passInfo !== undefined) {
if (item.passInfo !== 0) {
this.passInfo = JSON.parse(JSON.stringify(item)).passInfo
}
let fileData = JSON.parse(JSON.stringify(item)).dockUserList
for (let i = 0; i<fileData.length; i++) {
if (fileData[i].name === this.$store.getters.userInfo.userName) {
this.dataList = fileData[i].standardInfoList
this.standardInfoList = this.dataList
} else {
let fileData = JSON.parse(JSON.stringify(item)).dockUserList
for (let i = 0; i<fileData.length; i++) {
if (fileData[i].name.slice(0,fileData[i].name.indexOf('(')) === this.$store.getters.userInfo.userName) {
this.dataList = fileData[i].standardInfoList
this.standardInfoList = this.dataList
}
}
}
})
@@ -13,72 +13,6 @@
<ProcessTitle>
<template slot="title">基础信息</template>
</ProcessTitle>
<!-- <el-form :modal="nonSearch" inline class="label-input-form">
<el-form-item label="标准号/标准名称" class="search-item">
<el-input
size="small"
v-model="nonSearch.standId"
placeholder="请输入"
clearable
:maxlength="100"></el-input>
</el-form-item>
<el-form-item label="项目名称" class="search-item">
<el-input
size="small"
v-model="nonSearch.productName"
placeholder="请输入"
clearable
:maxlength="100"></el-input>
</el-form-item>
<el-form-item label="责任部门" class="search-item">
<el-input v-model="nonSearch.responsibleUnit" v-show="false" />
<el-popover
placement="bottom"
popper-class="user-dept-popper"
trigger="click"
:value="false"
>
<el-input
size="small"
slot="reference"
v-model="nonSearch.responseUnitShow"
placeholder="根据责任部门查找"
readonly
clearable
id="searchResp"
/>
<div class="api">
<laws-tree
:zNodes="zNodesSItem"
treeDivId="zNodesSItemSearch"
deptSelect
showRMenu
@treeDblClick="(treeId, treeNode) => treeClickSearch(treeId, treeNode)"
class="ztree" style="width: 200px;height: 400px;overflow: auto">
</laws-tree>
</div>
</el-popover>
</el-form-item>
<el-form-item class="search-item btn-box">
<el-button
type="primary"
class="common-button-primary"
size="mini"
v-btn-permission="'b3aaea6d18f5871b68825d3783eb736a'"
@click="getTableByPage(nonSearch)">
查询
</el-button>
</el-form-item>
<el-form-item class="search-item btn-box">
<el-button
class="common-button-default"
size="mini"
v-btn-permission="'5905d0743c3504799aee83ac9697f8c5'"
@click="clearAllSearch">
清空
</el-button>
</el-form-item>
</el-form>-->
<el-table
:data="dataList"
border
@@ -96,15 +96,15 @@
</el-form-item>
</el-card>
</el-timeline-item>
<el-timeline-item timestamp="选择产品经理" placement="top"
<el-timeline-item timestamp="选择产品工程经理" placement="top"
:color="roleForm.confirmId ? '#66b1ff' : ''">
<el-card>
<el-form-item prop="confirmName" style="margin-bottom: 0">
<h4>产品经理</h4>
<h4>产品工程经理</h4>
<div style="margin-top: 10px;width: 300px;">
<el-input v-model="roleForm.confirmId" style="display: none;"></el-input>
<el-input v-model="roleForm.confirmName" placeholder="选择产品经理"
@click.native="choiceZRR('confirmId', '选择产品经理', roleForm.confirmId)"></el-input>
<el-input v-model="roleForm.confirmName" placeholder="选择产品工程经理"
@click.native="choiceZRR('confirmId', '选择产品工程经理', roleForm.confirmId)"></el-input>
</div>
</el-form-item>
</el-card>
@@ -449,7 +449,7 @@ export default {
//
roleFormRules: {
confirmName: [
{ required: true, message: "请选择产品经理", trigger: "change" }
{ required: true, message: "请选择产品工程经理", trigger: "change" }
]
}
};
@@ -103,15 +103,15 @@
</el-form-item>
</el-card>
</el-timeline-item>
<el-timeline-item timestamp="选择产品经理" placement="top"
<el-timeline-item timestamp="选择产品工程经理" placement="top"
:color="roleForm.confirmId ? '#66b1ff' : ''">
<el-card>
<el-form-item prop="confirmName" style="margin-bottom: 0">
<h4>产品经理</h4>
<h4>产品工程经理</h4>
<div style="margin-top: 10px;width: 300px;">
<el-input v-model="roleForm.confirmId" style="display: none;"></el-input>
<el-input v-model="roleForm.confirmName" placeholder="选择产品经理"
@click.native="choiceZRR('confirmId', '选择产品经理', roleForm.confirmId)"></el-input>
<el-input v-model="roleForm.confirmName" placeholder="选择产品工程经理"
@click.native="choiceZRR('confirmId', '选择产品工程经理', roleForm.confirmId)"></el-input>
</div>
</el-form-item>
</el-card>
@@ -461,7 +461,7 @@ export default {
//
roleFormRules: {
confirmName: [
{ required: true, message: "请选择产品经理", trigger: "change" }
{ required: true, message: "请选择产品工程经理", trigger: "change" }
],
approveName: [
{ required: true, message: "请选择审批人", trigger: "change" }
@@ -528,7 +528,6 @@ export default {
} else {
this.qdform.projectNumber = this.selectProject[0].projectNumber;
this.qdform.projectName = this.selectProject[0].projectName;
this.qdform.projectId = this.selectProject[0].id;
this.projectModel = false;
}
@@ -2,7 +2,7 @@
<div class="xmqdqr-step2">
<ProcessHeader toggle>
<template slot="proName">项目清单确认流程</template>
<template slot="proNode">产品经理分发任务</template>
<template slot="proNode">产品工程经理分发任务</template>
</ProcessHeader>
<div class="headerTabs">
<div class="headerTabsItem" :class="active === '1' ? 'active' : ''" @click="handleTabs('1')">基础信息</div>
@@ -67,7 +67,7 @@
<el-table
:data="dataList"
border
ref="selection"
ref="standSelection"
height="65%"
@selection-change="selectStandChange"
style="width: 100%; border:1px solid #ccc"
@@ -114,29 +114,27 @@
prop="ssrq"
width="190px"
align="center"
sortable
label="标准实施日期">
<template slot-scope="scope">
<span>{{ scope.row.ssrq ? $moment(scope.row.ssrq).format("YYYY-MM-DD") : "" }}</span>
<span>{{ scope.row.ssrq ? scope.row.ssrq.substring(0, 10) : '-' }}</span>
</template>
</el-table-column>
<el-table-column
prop="xcxssrqgj"
prop="xcxssrq"
width="190px"
align="center"
label="新车型实施日期">
<template slot-scope="scope">
<span>{{ scope.row.xcxssrqgj ? $moment(scope.row.xcxssrqgj).format("YYYY-MM-DD") : "" }}</span>
<span>{{ scope.row.xcxssrq ? scope.row.xcxssrq.substring(0, 10) : '-' }}</span>
</template>
</el-table-column>
<el-table-column
prop="zccssrqgj"
prop="zccssrq"
align="center"
sortable
width="190px"
label="在产车实施日期">
<template slot-scope="scope">
<span>{{ scope.row.zccssrqgj ? $moment(scope.row.zccssrqgj).format("YYYY-MM-DD") : "" }}</span>
<span>{{ scope.row.zccssrq ? scope.row.zccssrq.substring(0, 10) : '-' }}</span>
</template>
</el-table-column>
<el-table-column
@@ -197,7 +195,6 @@
<el-table-column
prop="createTime"
label="创建时间"
sortable="custom"
align="center">
<template slot-scope="scope">
<span>{{ scope.row.createTime ? $moment(scope.row.createTime).format("YYYY-MM-DD") : "" }}</span>
@@ -314,7 +311,6 @@
width="55"
align="center">
</el-table-column>
<div v-if="handleSelectForm.dataSource === 'INLAND'">
<el-table-column
label="标准号"
@@ -347,7 +343,6 @@
</el-table-column>
<el-table-column
prop="issueTime"
sortable="custom"
width="120"
label="发布日期">
<template slot-scope="scope">
@@ -356,41 +351,37 @@
</template>
</el-table-column>
<el-table-column
prop="SSRQ"
sortable="custom"
prop="ssrq"
width="120"
label="实施日期">
<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 ? scope.row.ssrq.substring(0, 10) : '-' }}</span>
</template>
</el-table-column>
<el-table-column
prop="XCXSSRQ"
sortable="custom"
prop="xcxssrq"
width="150"
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 ? scope.row.xcxssrq.substring(0, 10) : '-' }}</span>
</template>
</el-table-column>
<el-table-column
prop="ZCCSSRQ"
sortable="custom"
prop="zccssrq"
width="150"
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 ? scope.row.zccssrq.substring(0, 10) : '-' }}</span>
</template>
</el-table-column>
<el-table-column
prop="textStatus"
sortable="custom"
width="110"
label="文本状态">
<!-- <template slot="header" slot-scope="scope">-->
@@ -447,7 +438,6 @@
</el-table-column>
<el-table-column
prop="issueTime"
sortable="custom"
width="120"
label="发布日期">
<template slot-scope="scope">
@@ -463,59 +453,55 @@
</template>
</el-table-column>
<el-table-column
prop="SSRQ"
sortable="custom"
prop="ssrq"
width="120"
label="实施日期">
<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 ? scope.row.ssrq.substring(0, 10) : '-'
}}</span>
<span v-else-if="textStatusMap[scope.row.textStatus] === '——' " style="color: #409EFF">{{
scope.row.SSRQ ? scope.row.SSRQ.substring(0, 10) : '-'
scope.row.ssrq ? scope.row.ssrq.substring(0, 10) : '-'
}}</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 ? scope.row.ssrq.substring(0, 10) : '-' }}</span>
</template>
</el-table-column>
<el-table-column
prop="XCXSSRQ"
sortable="custom"
prop="xcxssrq"
width="150"
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 ? scope.row.xcxssrq.substring(0, 10) : '-'
}}</span>
<span v-else-if="textStatusMap[scope.row.textStatus] === '——' " style="color: #409EFF">{{
scope.row.XCXSSRQ ? scope.row.XCXSSRQ.substring(0, 10) : '-'
scope.row.xcxssrq ? scope.row.xcxssrq.substring(0, 10) : '-'
}}</span>
<span v-else style="color: #333333">{{
scope.row.XCXSSRQ ? scope.row.XCXSSRQ.substring(0, 10) : '-'
scope.row.xcxssrq ? scope.row.xcxssrq.substring(0, 10) : '-'
}}</span>
</template>
</el-table-column>
<el-table-column
prop="ZCCSSRQ"
sortable="custom"
prop="zccssrq"
width="150"
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 ? scope.row.zccssrq.substring(0, 10) : '-'
}}</span>
<span v-else-if="textStatusMap[scope.row.textStatus] === '——' " style="color: #409EFF">{{
scope.row.ZCCSSRQ ? scope.row.ZCCSSRQ.substring(0, 10) : '-'
scope.row.zccssrq ? scope.row.zccssrq.substring(0, 10) : '-'
}}</span>
<span v-else style="color: #333333">{{
scope.row.ZCCSSRQ ? scope.row.ZCCSSRQ.substring(0, 10) : '-'
scope.row.zccssrq ? scope.row.zccssrq.substring(0, 10) : '-'
}}</span>
</template>
</el-table-column>
<el-table-column
prop="textStatus"
sortable="custom"
width="110"
label="文本状态">
<!-- <template slot="header" slot-scope="scope">-->
@@ -574,7 +560,6 @@
<el-table-column
prop="issueTime"
label="发布日期"
sortable
width="120"
>
<template slot-scope="scope">
@@ -586,7 +571,6 @@
<el-table-column
prop="putTime"
label="实施日期"
sortable
width="120"
>
<template slot-scope="scope">
@@ -597,7 +581,6 @@
</el-table-column>
<el-table-column
show-overflow-tooltip
sortable
prop="standStatusShow"
label="文本状态"
width="110"
@@ -616,7 +599,6 @@
</template>
</el-table-column>
</div>
</el-table>
<!--分页-->
<pagination
@@ -898,7 +880,6 @@ export default {
this.qdform.prcNum = this.prcNum;
this.qdform.prcName = this.prcName;
this.qdform["id"] = item.id;
this.projectId = item.projectId;
//id
this.detailedId = item.detailedListId;
this.getStandData();
@@ -911,7 +892,11 @@ export default {
},
//
getStandData() {
this.$http.get("sarStandProjectLibrary/queryStandInfo", { id: this.projectId, cars: '1', }, {
this.$http.get("sarLawsAttrDetailedList/sar-laws-attr-detailed-list/selectLawsById", {
id: this.detailedId,
page: 1,
Size: 100
}, {
_this: this
}, res => {
this.dataList = res.data.records;
@@ -971,24 +956,31 @@ export default {
},
//
handleSubmit() {
this.isSubmit = true;
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 => {
});
this.dataList.forEach(item => {
this.$set(item, 'standId', item.id)
})
if(this.qdform.detailPeople === undefined){
this.$message.warning('请选择确认人')
}else{
this.isSubmit = true;
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 => {
});
}
},
addList() {
this.searchLawBtn()
@@ -1008,12 +1000,13 @@ export default {
this.projectStand.map(item => {
let index;
index = this.dataList.findIndex(items => {
return items.standId === item.standId;
return items.id === item.id;
});
if (index > -1) {
this.dataList.splice(index, 1);
}
});
this.$refs.standSelection.clearSelection()
}).catch(() => {
});
}
@@ -59,8 +59,8 @@
<el-table
:data="dataList"
border
ref="selection"
height="59%"
ref="standSelection"
height="65%"
@selection-change="selectStandChange"
style="width: 100%; border:1px solid #ccc"
:header-cell-style="{background: '#e8e8e8', color: '#333333', fontSize: '16px',
@@ -85,8 +85,8 @@
<el-table-column
prop="standName"
align="center"
label="中文名称"
min-width="300"
label="中文名称"
>
<template slot-scope="scope">
<a @click="handlePreview(scope.row)" class="table-jump">{{ scope.row.standName }}</a>
@@ -95,8 +95,8 @@
<el-table-column
prop="standEnName"
label="英文名称"
align="center"
min-width="300"
align="center"
>
<template slot-scope="scope">
<a @click="handlePreview(scope.row)" class="table-jump">{{ scope.row.standEnName }}</a>
@@ -106,29 +106,27 @@
prop="ssrq"
width="190px"
align="center"
sortable
label="标准实施日期">
<template slot-scope="scope">
<span>{{ scope.row.ssrq ? $moment(scope.row.ssrq).format("YYYY-MM-DD") : "" }}</span>
<span>{{ scope.row.ssrq ? scope.row.ssrq.substring(0, 10) : '-' }}</span>
</template>
</el-table-column>
<el-table-column
prop="xcxssrqgj"
prop="xcxssrq"
width="190px"
align="center"
label="新车型实施日期">
<template slot-scope="scope">
<span>{{ scope.row.xcxssrqgj ? $moment(scope.row.xcxssrqgj).format("YYYY-MM-DD") : "" }}</span>
<span>{{ scope.row.xcxssrq ? scope.row.xcxssrq.substring(0, 10) : '-' }}</span>
</template>
</el-table-column>
<el-table-column
prop="zccssrqgj"
prop="zccssrq"
align="center"
sortable
width="190px"
label="在产车实施日期">
<template slot-scope="scope">
<span>{{ scope.row.zccssrqgj ? $moment(scope.row.zccssrqgj).format("YYYY-MM-DD") : "" }}</span>
<span>{{ scope.row.zccssrq ? scope.row.zccssrq.substring(0, 10) : '-' }}</span>
</template>
</el-table-column>
<el-table-column
@@ -143,15 +141,15 @@
width="160px"
align="center"
label="标准是否涉及">
<template slot-scope="scope">
<el-select v-model="scope.row.involve"
placeholder="请选择涉不涉及"
max-length="30"
clearable>
<el-option value="involve" label="涉及"></el-option>
<el-option value="noInvolve" label="不涉及"></el-option>
</el-select>
</template>
<template slot-scope="scope">
<el-select v-model="scope.row.involve"
placeholder="请选择涉不涉及"
max-length="30"
clearable>
<el-option value="involve" label="涉及"></el-option>
<el-option value="noInvolve" label="不涉及"></el-option>
</el-select>
</template>
</el-table-column>
<el-table-column
prop="remarks"
@@ -166,7 +164,6 @@
</el-input>
</template>
</el-table-column>
</el-table>
</div>
<div>
@@ -218,7 +215,6 @@
<el-table-column
prop="createTime"
label="创建时间"
sortable="custom"
align="center">
<template slot-scope="scope">
<span>{{ scope.row.createTime ? $moment(scope.row.createTime).format("YYYY-MM-DD") : "" }}</span>
@@ -368,7 +364,6 @@
</el-table-column>
<el-table-column
prop="issueTime"
sortable="custom"
width="120"
label="发布日期">
<template slot-scope="scope">
@@ -377,41 +372,37 @@
</template>
</el-table-column>
<el-table-column
prop="SSRQ"
sortable="custom"
prop="ssrq"
width="120"
label="实施日期">
<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 ? scope.row.ssrq.substring(0, 10) : '-' }}</span>
</template>
</el-table-column>
<el-table-column
prop="XCXSSRQ"
sortable="custom"
prop="xcxssrq"
width="150"
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 ? scope.row.xcxssrq.substring(0, 10) : '-' }}</span>
</template>
</el-table-column>
<el-table-column
prop="ZCCSSRQ"
sortable="custom"
prop="zccssrq"
width="150"
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 ? scope.row.zccssrq.substring(0, 10) : '-' }}</span>
</template>
</el-table-column>
<el-table-column
prop="textStatus"
sortable="custom"
width="110"
label="文本状态">
<!-- <template slot="header" slot-scope="scope">-->
@@ -468,7 +459,6 @@
</el-table-column>
<el-table-column
prop="issueTime"
sortable="custom"
width="120"
label="发布日期">
<template slot-scope="scope">
@@ -484,59 +474,55 @@
</template>
</el-table-column>
<el-table-column
prop="SSRQ"
sortable="custom"
prop="ssrq"
width="120"
label="实施日期">
<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 ? scope.row.ssrq.substring(0, 10) : '-'
}}</span>
<span v-else-if="textStatusMap[scope.row.textStatus] === '——' " style="color: #409EFF">{{
scope.row.SSRQ ? scope.row.SSRQ.substring(0, 10) : '-'
scope.row.ssrq ? scope.row.ssrq.substring(0, 10) : '-'
}}</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 ? scope.row.ssrq.substring(0, 10) : '-' }}</span>
</template>
</el-table-column>
<el-table-column
prop="XCXSSRQ"
sortable="custom"
prop="xcxssrq"
width="150"
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 ? scope.row.xcxssrq.substring(0, 10) : '-'
}}</span>
<span v-else-if="textStatusMap[scope.row.textStatus] === '——' " style="color: #409EFF">{{
scope.row.XCXSSRQ ? scope.row.XCXSSRQ.substring(0, 10) : '-'
scope.row.xcxssrq ? scope.row.xcxssrq.substring(0, 10) : '-'
}}</span>
<span v-else style="color: #333333">{{
scope.row.XCXSSRQ ? scope.row.XCXSSRQ.substring(0, 10) : '-'
scope.row.xcxssrq ? scope.row.xcxssrq.substring(0, 10) : '-'
}}</span>
</template>
</el-table-column>
<el-table-column
prop="ZCCSSRQ"
sortable="custom"
prop="zccssrq"
width="150"
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 ? scope.row.zccssrq.substring(0, 10) : '-'
}}</span>
<span v-else-if="textStatusMap[scope.row.textStatus] === '——' " style="color: #409EFF">{{
scope.row.ZCCSSRQ ? scope.row.ZCCSSRQ.substring(0, 10) : '-'
scope.row.zccssrq ? scope.row.zccssrq.substring(0, 10) : '-'
}}</span>
<span v-else style="color: #333333">{{
scope.row.ZCCSSRQ ? scope.row.ZCCSSRQ.substring(0, 10) : '-'
scope.row.zccssrq ? scope.row.zccssrq.substring(0, 10) : '-'
}}</span>
</template>
</el-table-column>
<el-table-column
prop="textStatus"
sortable="custom"
width="110"
label="文本状态">
<!-- <template slot="header" slot-scope="scope">-->
@@ -595,7 +581,6 @@
<el-table-column
prop="issueTime"
label="发布日期"
sortable
width="120"
>
<template slot-scope="scope">
@@ -607,7 +592,6 @@
<el-table-column
prop="putTime"
label="实施日期"
sortable
width="120"
>
<template slot-scope="scope">
@@ -618,7 +602,6 @@
</el-table-column>
<el-table-column
show-overflow-tooltip
sortable
prop="standStatusShow"
label="文本状态"
width="110"
@@ -1044,12 +1027,13 @@ export default {
this.projectStand.map(item => {
let index;
index = this.dataList.findIndex(items => {
return items.standId === item.standId;
return items.id === item.id;
});
if (index > -1) {
this.dataList.splice(index, 1);
}
});
this.$refs.standSelection.clearSelection()
}).catch(() => {
});
}
@@ -2,7 +2,7 @@
<div class="xmqdqr-step2">
<ProcessHeader toggle>
<template slot="proName">项目清单确认流程</template>
<template slot="proNode">产品经理汇总</template>
<template slot="proNode">产品工程经理汇总</template>
</ProcessHeader>
<div class="headerTabs">
<div class="headerTabsItem" :class="active === '1' ? 'active' : ''" @click="handleTabs('1')">基础信息</div>
@@ -59,8 +59,8 @@
<el-table
:data="dataList"
border
ref="selection"
height="59%"
ref="standSelection"
height="65%"
@selection-change="selectStandChange"
style="width: 100%; border:1px solid #ccc"
:header-cell-style="{background: '#e8e8e8', color: '#333333', fontSize: '16px',
@@ -85,8 +85,8 @@
<el-table-column
prop="standName"
align="center"
label="中文名称"
min-width="300"
label="中文名称"
>
<template slot-scope="scope">
<a @click="handlePreview(scope.row)" class="table-jump">{{ scope.row.standName }}</a>
@@ -95,8 +95,8 @@
<el-table-column
prop="standEnName"
label="英文名称"
align="center"
min-width="300"
align="center"
>
<template slot-scope="scope">
<a @click="handlePreview(scope.row)" class="table-jump">{{ scope.row.standEnName }}</a>
@@ -106,29 +106,27 @@
prop="ssrq"
width="190px"
align="center"
sortable
label="标准实施日期">
<template slot-scope="scope">
<span>{{ scope.row.ssrq ? $moment(scope.row.ssrq).format("YYYY-MM-DD") : "" }}</span>
<span>{{ scope.row.ssrq ? scope.row.ssrq.substring(0, 10) : '-' }}</span>
</template>
</el-table-column>
<el-table-column
prop="xcxssrqgj"
prop="xcxssrq"
width="190px"
align="center"
label="新车型实施日期">
<template slot-scope="scope">
<span>{{ scope.row.xcxssrqgj ? $moment(scope.row.xcxssrqgj).format("YYYY-MM-DD") : "" }}</span>
<span>{{ scope.row.xcxssrq ? scope.row.xcxssrq.substring(0, 10) : '-' }}</span>
</template>
</el-table-column>
<el-table-column
prop="zccssrqgj"
prop="zccssrq"
align="center"
sortable
width="190px"
label="在产车实施日期">
<template slot-scope="scope">
<span>{{ scope.row.zccssrqgj ? $moment(scope.row.zccssrqgj).format("YYYY-MM-DD") : "" }}</span>
<span>{{ scope.row.zccssrq ? scope.row.zccssrq.substring(0, 10) : '-' }}</span>
</template>
</el-table-column>
<el-table-column
@@ -150,7 +148,6 @@
width="180"
label="备注">
</el-table-column>
</el-table>
</div>
<div>
@@ -202,7 +199,6 @@
<el-table-column
prop="createTime"
label="创建时间"
sortable="custom"
align="center">
<template slot-scope="scope">
<span>{{ scope.row.createTime ? $moment(scope.row.createTime).format("YYYY-MM-DD") : "" }}</span>
@@ -352,7 +348,6 @@
</el-table-column>
<el-table-column
prop="issueTime"
sortable="custom"
width="120"
label="发布日期">
<template slot-scope="scope">
@@ -361,41 +356,37 @@
</template>
</el-table-column>
<el-table-column
prop="SSRQ"
sortable="custom"
prop="ssrq"
width="120"
label="实施日期">
<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 ? scope.row.ssrq.substring(0, 10) : '-' }}</span>
</template>
</el-table-column>
<el-table-column
prop="XCXSSRQ"
sortable="custom"
prop="xcxssrq"
width="150"
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 ? scope.row.xcxssrq.substring(0, 10) : '-' }}</span>
</template>
</el-table-column>
<el-table-column
prop="ZCCSSRQ"
sortable="custom"
prop="zccssrq"
width="150"
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 ? scope.row.zccssrq.substring(0, 10) : '-' }}</span>
</template>
</el-table-column>
<el-table-column
prop="textStatus"
sortable="custom"
width="110"
label="文本状态">
<!-- <template slot="header" slot-scope="scope">-->
@@ -452,7 +443,6 @@
</el-table-column>
<el-table-column
prop="issueTime"
sortable="custom"
width="120"
label="发布日期">
<template slot-scope="scope">
@@ -468,59 +458,55 @@
</template>
</el-table-column>
<el-table-column
prop="SSRQ"
sortable="custom"
prop="ssrq"
width="120"
label="实施日期">
<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 ? scope.row.ssrq.substring(0, 10) : '-'
}}</span>
<span v-else-if="textStatusMap[scope.row.textStatus] === '——' " style="color: #409EFF">{{
scope.row.SSRQ ? scope.row.SSRQ.substring(0, 10) : '-'
scope.row.ssrq ? scope.row.ssrq.substring(0, 10) : '-'
}}</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 ? scope.row.ssrq.substring(0, 10) : '-' }}</span>
</template>
</el-table-column>
<el-table-column
prop="XCXSSRQ"
sortable="custom"
prop="xcxssrq"
width="150"
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 ? scope.row.xcxssrq.substring(0, 10) : '-'
}}</span>
<span v-else-if="textStatusMap[scope.row.textStatus] === '——' " style="color: #409EFF">{{
scope.row.XCXSSRQ ? scope.row.XCXSSRQ.substring(0, 10) : '-'
scope.row.xcxssrq ? scope.row.xcxssrq.substring(0, 10) : '-'
}}</span>
<span v-else style="color: #333333">{{
scope.row.XCXSSRQ ? scope.row.XCXSSRQ.substring(0, 10) : '-'
scope.row.xcxssrq ? scope.row.xcxssrq.substring(0, 10) : '-'
}}</span>
</template>
</el-table-column>
<el-table-column
prop="ZCCSSRQ"
sortable="custom"
prop="zccssrq"
width="150"
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 ? scope.row.zccssrq.substring(0, 10) : '-'
}}</span>
<span v-else-if="textStatusMap[scope.row.textStatus] === '——' " style="color: #409EFF">{{
scope.row.ZCCSSRQ ? scope.row.ZCCSSRQ.substring(0, 10) : '-'
scope.row.zccssrq ? scope.row.zccssrq.substring(0, 10) : '-'
}}</span>
<span v-else style="color: #333333">{{
scope.row.ZCCSSRQ ? scope.row.ZCCSSRQ.substring(0, 10) : '-'
scope.row.zccssrq ? scope.row.zccssrq.substring(0, 10) : '-'
}}</span>
</template>
</el-table-column>
<el-table-column
prop="textStatus"
sortable="custom"
width="110"
label="文本状态">
<!-- <template slot="header" slot-scope="scope">-->
@@ -579,7 +565,6 @@
<el-table-column
prop="issueTime"
label="发布日期"
sortable
width="120"
>
<template slot-scope="scope">
@@ -591,7 +576,6 @@
<el-table-column
prop="putTime"
label="实施日期"
sortable
width="120"
>
<template slot-scope="scope">
@@ -602,7 +586,6 @@
</el-table-column>
<el-table-column
show-overflow-tooltip
sortable
prop="standStatusShow"
label="文本状态"
width="110"
@@ -1029,12 +1012,13 @@ export default {
this.projectStand.map(item => {
let index;
index = this.dataList.findIndex(items => {
return items.standId === item.standId;
return items.id === item.id;
});
if (index > -1) {
this.dataList.splice(index, 1);
}
});
this.$refs.standSelection.clearSelection()
}).catch(() => {
});
}
@@ -2,7 +2,7 @@
<div class="xmqdqr-step2">
<ProcessHeader toggle>
<template slot="proName">项目清单确认流程</template>
<template slot="proNode">产品经理汇总</template>
<template slot="proNode">法规部经理审批</template>
</ProcessHeader>
<div class="headerTabs">
<div class="headerTabsItem" :class="active === '1' ? 'active' : ''" @click="handleTabs('1')">基础信息</div>
@@ -54,7 +54,7 @@
:data="dataList"
border
ref="selection"
height="63%"
height="65%"
@selection-change="selectStandChange"
style="width: 100%; border:1px solid #ccc"
:header-cell-style="{background: '#e8e8e8', color: '#333333', fontSize: '16px',
@@ -79,8 +79,8 @@
<el-table-column
prop="standName"
align="center"
label="中文名称"
min-width="300"
label="中文名称"
>
<template slot-scope="scope">
<a @click="handlePreview(scope.row)" class="table-jump">{{ scope.row.standName }}</a>
@@ -89,8 +89,8 @@
<el-table-column
prop="standEnName"
label="英文名称"
align="center"
min-width="300"
align="center"
>
<template slot-scope="scope">
<a @click="handlePreview(scope.row)" class="table-jump">{{ scope.row.standEnName }}</a>
@@ -100,29 +100,27 @@
prop="ssrq"
width="190px"
align="center"
sortable
label="标准实施日期">
<template slot-scope="scope">
<span>{{ scope.row.ssrq ? $moment(scope.row.ssrq).format("YYYY-MM-DD") : "" }}</span>
<span>{{ scope.row.ssrq ? scope.row.ssrq.substring(0, 10) : '-' }}</span>
</template>
</el-table-column>
<el-table-column
prop="xcxssrqgj"
prop="xcxssrq"
width="190px"
align="center"
label="新车型实施日期">
<template slot-scope="scope">
<span>{{ scope.row.xcxssrqgj ? $moment(scope.row.xcxssrqgj).format("YYYY-MM-DD") : "" }}</span>
<span>{{ scope.row.xcxssrq ? scope.row.xcxssrq.substring(0, 10) : '-' }}</span>
</template>
</el-table-column>
<el-table-column
prop="zccssrqgj"
prop="zccssrq"
align="center"
sortable
width="190px"
label="在产车实施日期">
<template slot-scope="scope">
<span>{{ scope.row.zccssrqgj ? $moment(scope.row.zccssrqgj).format("YYYY-MM-DD") : "" }}</span>
<span>{{ scope.row.zccssrq ? scope.row.zccssrq.substring(0, 10) : '-' }}</span>
</template>
</el-table-column>
<el-table-column
@@ -144,7 +142,6 @@
width="180"
label="备注">
</el-table-column>
</el-table>
</div>
<div>
@@ -196,7 +193,6 @@
<el-table-column
prop="createTime"
label="创建时间"
sortable="custom"
align="center">
<template slot-scope="scope">
<span>{{ scope.row.createTime ? $moment(scope.row.createTime).format("YYYY-MM-DD") : "" }}</span>
@@ -0,0 +1,462 @@
<template>
<div class="phoneBzchStep2 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 style="flex: auto; overflow: auto;">
<ProcessTitle>
<template slot="title">基础信息</template>
</ProcessTitle>
<div class="content_form">
<el-form class="label-input-form" ref="ch_pageData" :model="ch_pageData" :rules="ch_rules" label-width="120px">
<el-row :gutter="24">
<el-col :span="8">
<el-form-item class="add-form-item" label="会议名称:">
{{ ch_pageData.meetingName || '-' }}
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item class="add-form-item" label="主办单位:">
{{ ch_pageData.primaryUnit || '-' }}
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="24">
<el-col :span="8">
<el-form-item class="add-form-item" label="协会名称:">
{{ ch_pageData.associaName || '-' }}
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item class="add-form-item" label="会议时间:">
{{ ch_pageData.meetingStartTime || '-' }}
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="24">
<el-col :span="8">
<el-form-item class="add-form-item" label="会议地点:">
{{ ch_pageData.meetingPlace || '-' }}
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item class="add-form-item" label="费用标准:">
{{ ch_pageData.feeStand || '-' }}
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="24">
<el-col :span="8">
<el-form-item class="add-form-item" label="费用列支:">
{{ ch_pageData.feeKind || '-' }}
</el-form-item>
</el-col>
<el-col :span="8">
<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 }} {{ ';' }}
</span>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="24">
<el-col :span="8">
<el-form-item class="add-form-item" label="类别:">
<span v-if="ch_pageData.sort === '1'">计划内</span>
<span v-else>计划外</span>
</el-form-item>
</el-col>
</el-row>
<el-form-item class="add-form-item">
<el-table
class="meeting_table"
:data="ch_pageData.meetingTable"
border
ref="entryTable"
height="49%"
style="width: 100%"
:header-cell-style="{background: '#e8e8e8', color: '#333333', fontSize: '16px',
fontWeight: 'bold', height: '20px'}">
<el-table-column type="index" width="50" align="center"/>
<el-table-column label="议题" align="center" prop="meetingTheme"/>
</el-table>
</el-form-item>
<ProcessTitle>
<template slot="title">选择人员</template>
</ProcessTitle>
<el-form-item class="add-form-item" label="入会人员:">
<el-input
:disabled="true"
style="width: 30%"
placeholder="请选择入会人员"
v-model="ch_pageData.meetingInRole"
/>
</el-form-item>
</el-form>
</div>
</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'">
<div class="flow-list">
<el-table
height="100%"
ref="selection"
:data="detailData"
tooltip-effect="dark"
style="width: 100%"
border
row-key="id"
:no-data-text="listNoDataText"
:header-cell-style="{background: '#f8f8f9', color: '#515a6e'}"
>
<el-table-column
type="selection"
width="55"
align="center">
</el-table-column>
<el-table-column
prop="name"
label="任务步骤"
align="center"
>
</el-table-column>
<el-table-column
prop="assignee"
label="任务受理人"
align="center"
>
</el-table-column>
<el-table-column
prop="createTime"
label="创建时间"
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="完成时间"
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>
<loading :loading="loading">流程列表加载中</loading>
</div>
</div>
<ProcessFooter
show-submit
show-back
backBTNTexts="不涉及"
:submitLoading="isSubmit"
:isSubmitBack="isBack"
@back="handleSubmitNo"
@submit="handleSubmit"
>
</ProcessFooter>
</div>
</template>
<script>
import ProcessHeaderPhone from '../../components/ProcessHeaderPhone'
import ProcessFooter from '../../components/ProcessFooter'
import ProcessTitle from '../../components/ProcessTitle'
import {startProcess, saveTaskFirst, completeTask, inboundLiaisonDetail} from '@/api/process.js'
export default {
name: "phoneBzchStep2",
components: {
ProcessHeaderPhone,
ProcessFooter,
ProcessTitle
},
data() {
return {
active: '1',
acceptShow: false,
ch_pageData: {
fillPeopleId: '',
fillPeople: '',
fillUnit: '',
fillDept: '',
fillPost: '',
fillTel: '',
fillMail: '',
fillLeader: '',
fillFile: '',
},
ch_rules: {},
nodeList: [],
commentText: '',
isBack: false,
isSubmit: false,
saveLoading: false,
roleShowflag: false,
detailData: [],
loading: false,
taskIds: this.$route.query.taskIds,
pId: this.$route.query.prcId,
uploadFileLength: ''
}
},
computed: {
listNoDataText() {
return this.processType === 1 ? "暂无待办流程" : "暂无已办流程";
}
},
created() {
this.processTable()
this.getData()
},
methods: {
//
handleTabs(name) {
this.active = name
},
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 => {
})
},
getData() {
const params = {
taskIds: this.taskIds,
pId: this.pId,
}
inboundLiaisonDetail(params).then(res => {
const processForm = JSON.parse(res.mesg)
this.getFormFieldList(processForm)
})
},
getFormFieldList(item) {
this.$nextTick(() => {
this.ch_pageData = JSON.parse(JSON.stringify(item)).ch_pageData
this.uploadFileLength = this.ch_pageData.fileTextList.length
this.ch_pageData.meetingInRole = this.$store.getters.userInfo.userName
this.roleForm = JSON.parse(JSON.stringify(item)).roleList
})
},
// 退
handleSubmitNo() {
if (this.commentText === '') {
this.$message.warning('请输入审批意见')
} else {
let json = {
roleList: this.roleForm,
memberId: this.$store.getters.userInfo.userId,
passFlag: '0',
commentText: this.commentText,
ch_pageData: this.ch_pageData,
}
this.$refs['ch_pageData'].validate((valid) => {
if (valid) {
this.isBack = true
const params = new FormData();
params.set('json', JSON.stringify(json))
params.set('userId', this.$store.getters.userInfo.userId)
params.set('taskId', this.taskIds)
completeTask(params).then(res => {
if (res.success === true) {
this.$message.success('退回成功')
this.$router.push("/processCenter");
}
this.isBack = false
});
}
})
}
},
//
handleSubmit() {
let json = {
roleList: this.roleForm,
memberId: this.$store.getters.userInfo.userId,
passFlag: '1',
commentText: this.commentText,
ch_pageData: this.ch_pageData,
}
this.$refs['ch_pageData'].validate((valid) => {
if (valid) {
this.isSubmit = true
const params = new FormData();
params.set('json', JSON.stringify(json))
params.set('userId', this.$store.getters.userInfo.userId)
params.set('taskId', this.taskIds)
completeTask(params).then(res => {
if (res.success === true) {
this.$message.success('提交成功')
this.$router.push("/processCenter");
}
this.isSubmit = false
});
}
})
},
/** 点击对应附件进行下载*/
previews(val) {
let attId = val
if (attId != null && attId !== "") {
window.location.href = "/api/att/attFile/downloadFileForSar?fileId=" + attId;
}
},
}
}
</script>
<style lang="less" scoped>
@import '~@/assets/styles/phone';
.phoneBzchStep2 {
.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;
}
}
}
.content-center {
padding: 10px 0px 10px 10px;
}
.content_form {
padding-top: 15px;
padding-left: 30px;
.el-divider--horizontal {
margin-top: 0px;
}
/deep/ .el-input.is-disabled .el-input__inner {
background-color: #fff;
}
/deep/ .el-table__body-wrapper {
height: auto !important;
}
.meeting_table {
/deep/ .el-input__inner {
text-align: center;
}
}
/deep/ .el-textarea__inner {
font-family: inherit;
}
/deep/ .el-upload {
display: unset;
}
/deep/ .el-upload-list__item-status-label {
font-size: 0;
}
/deep/ .el-upload-list__item {
.el-icon-close {
font-size: 0;
}
.el-icon-close-tip {
font-size: 0;
}
}
/deep/ .el-table th {
padding: 0px;
}
}
}
</style>
@@ -0,0 +1,466 @@
<template>
<div class="phoneBzchStep4 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 style="flex: auto; overflow: auto;">
<ProcessTitle>
<template slot="title">基础信息</template>
</ProcessTitle>
<div class="content_form">
<el-form class="label-input-form" ref="ch_pageData" :model="ch_pageData" :rules="ch_rules" label-width="120px">
<el-row :gutter="24">
<el-col :span="8">
<el-form-item class="add-form-item" label="会议名称:">
{{ ch_pageData.meetingName || '-' }}
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item class="add-form-item" label="主办单位:">
{{ ch_pageData.primaryUnit || '-' }}
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="24">
<el-col :span="8">
<el-form-item class="add-form-item" label="协会名称:">
{{ ch_pageData.associaName || '-' }}
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item class="add-form-item" label="会议时间:">
{{ ch_pageData.meetingStartTime || '-' }}
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="24">
<el-col :span="8">
<el-form-item class="add-form-item" label="会议地点:">
{{ ch_pageData.meetingPlace || '-' }}
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item class="add-form-item" label="费用标准:">
{{ ch_pageData.feeStand || '-' }}
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="24">
<el-col :span="8">
<el-form-item class="add-form-item" label="费用列支:">
{{ ch_pageData.feeKind || '-' }}
</el-form-item>
</el-col>
<el-col :span="8">
<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 }} {{ ';' }}
</span>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="24">
<el-col :span="8">
<el-form-item class="add-form-item" label="类别:">
<span v-if="ch_pageData.sort === '1'">计划内</span>
<span v-else>计划外</span>
</el-form-item>
</el-col>
</el-row>
<el-form-item class="add-form-item" label="议题:">
<el-table
class="meeting_table"
:data="ch_pageData.meetingTable"
border
ref="entryTable"
height="49%"
style="width: 100%"
:header-cell-style="{background: '#e8e8e8', color: '#333333', fontSize: '16px',
fontWeight: 'bold', height: '20px'}">
<el-table-column type="index" width="50" align="center"/>
<el-table-column label="议题" align="center" prop="meetingTheme"/>
</el-table>
</el-form-item>
<el-form-item class="add-form-item" label="入会人员:">
<el-table
:data="ch_pageData.myPartRole"
border
ref="entryTable"
height="49%"
style="width: 100%"
:header-cell-style="{background: '#e8e8e8', color: '#333333', fontSize: '16px',
fontWeight: 'bold', height: '20px'}">
<el-table-column type="index" width="50" align="center"/>
<el-table-column prop="fillPeople" align="center" label="人员"/>
<el-table-column prop="fillUnit" align="center" label="单位"/>
<el-table-column prop="fillDept" align="center" label="部门"/>
<el-table-column prop="fillTel" align="center" label="电话"/>
<el-table-column prop="fillMail" align="center" label="邮箱"/>
</el-table>
</el-form-item>
</el-form>
</div>
</div>
<el-collapse accordion>
<el-collapse-item title="审批意见">
<div style="margin: 10px 0;">
<el-input
type="textarea"
:rows="3"
resize="none"
placeholder="请输入意见"
v-model="textarea">
</el-input>
</div>
</el-collapse-item>
</el-collapse>
</div>
<div class="content" v-show="active === '3'">
<div class="flow-list">
<el-table
height="100%"
ref="selection"
:data="detailData"
tooltip-effect="dark"
style="width: 100%"
border
row-key="id"
:no-data-text="listNoDataText"
:header-cell-style="{background: '#f8f8f9', color: '#515a6e'}"
>
<el-table-column
type="selection"
width="55"
align="center">
</el-table-column>
<el-table-column
prop="name"
label="任务步骤"
align="center"
>
</el-table-column>
<el-table-column
prop="assignee"
label="任务受理人"
align="center"
>
</el-table-column>
<el-table-column
prop="createTime"
label="创建时间"
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="完成时间"
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>
<loading :loading="loading">流程列表加载中</loading>
</div>
</div>
<ProcessFooter
show-submit
show-back
:submitLoading="isSubmit"
:isSubmitBack="isBack"
@back="handleSubmitNo"
@submit="handleSubmit"
>
</ProcessFooter>
</div>
</template>
<script>
import ProcessHeaderPhone from '../../components/ProcessHeaderPhone'
import ProcessFooter from '../../components/ProcessFooter'
import ProcessTitle from '../../components/ProcessTitle'
import {startProcess, saveTaskFirst, completeTask, inboundLiaisonDetail} from '@/api/process.js'
export default {
name: "phoneBzchStep4",
components: {
ProcessHeaderPhone,
ProcessFooter,
ProcessTitle
},
data() {
return {
active: '1',
ch_pageData: {
myPartRole: [],
},
ch_rules: {},
textarea: '',
isBack: false,
isSubmit: false,
saveLoading: false,
detailData: [],
loading: false,
taskIds: this.$route.query.taskIds,
pId: this.$route.query.prcId,
uploadFileLength: ''
}
},
computed: {
listNoDataText() {
return this.processType === 1 ? "暂无待办流程" : "暂无已办流程";
}
},
created() {
this.processTable()
this.getData()
},
methods: {
//
handleTabs(name) {
this.active = name
},
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 => {
})
},
getData() {
const params = {
taskIds: this.taskIds,
pId: this.pId,
}
inboundLiaisonDetail(params).then(res => {
const processForm = JSON.parse(res.mesg)
this.getFormFieldList(processForm)
})
},
getFormFieldList(item) {
this.$nextTick(() => {
this.ch_pageData = JSON.parse(JSON.stringify(item)).ch_pageData
this.uploadFileLength = this.ch_pageData.fileTextList.length
this.ch_pageData.myPartRole = [{
fillPeopleId: this.ch_pageData.fillPeopleId,
fillPeople: this.ch_pageData.fillPeople,
fillUnit: this.ch_pageData.fillUnit,
fillDept: this.ch_pageData.fillDept,
fillPost: this.ch_pageData.fillPost,
fillTel: this.ch_pageData.fillTel,
fillMail: this.ch_pageData.fillMail,
fillFile: this.ch_pageData.fillFile,
}]
this.selfUser = JSON.parse(JSON.stringify(item)).selfUser
this.roleForm = JSON.parse(JSON.stringify(item)).roleList
// this.ch_pageData.comityFileNum = this.fileTextList
})
},
// 退
handleSubmitNo() {
if (this.textarea === '') {
this.$message.warning('请输入审批意见')
} else {
let json = {
member: this.selfUser,
passFlag: '0',
roleList: this.roleForm,
commentText: this.textarea,
ch_pageData: this.ch_pageData,
}
this.$refs['ch_pageData'].validate((valid) => {
if (valid) {
this.isBack = true
const params = new FormData();
params.set('json', JSON.stringify(json))
params.set('userId', this.$store.getters.userInfo.userId)
params.set('taskId', this.taskIds)
completeTask(params).then(res => {
if (res.success === true) {
this.$message.success('退回成功')
this.$router.push("/processCenter");
}
this.isBack = false
});
}
})
}
},
//
handleSubmit() {
let json = {
member: this.selfUser,
passFlag: '1',
engineerSum: this.roleForm.startUser,
roleList: this.roleForm,
commentText: this.textarea,
ch_pageData: this.ch_pageData,
}
this.$refs['ch_pageData'].validate((valid) => {
if (valid) {
this.isSubmit = true
const params = new FormData();
params.set('json', JSON.stringify(json))
params.set('userId', this.$store.getters.userInfo.userId)
params.set('taskId', this.taskIds)
completeTask(params).then(res => {
if (res.success === true) {
this.$message.success('提交成功')
this.$router.push("/processCenter");
}
this.isSubmit = false
});
}
})
},
/** 点击对应附件进行下载*/
previews(val) {
let attId = val
if (attId != null && attId !== "") {
window.location.href = "/api/att/attFile/downloadFileForSar?fileId=" + attId;
}
},
}
}
</script>
<style lang="less" scoped>
@import '~@/assets/styles/phone';
.phoneBzchStep4 {
.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;
}
}
}
.content-center {
padding: 10px 0px 10px 10px;
}
.content_form {
padding-top: 15px;
padding-left: 30px;
.el-divider--horizontal {
margin-top: 0px;
}
/deep/ .el-input.is-disabled .el-input__inner {
background-color: #fff;
}
/deep/ .el-table__body-wrapper {
height: auto !important;
}
.meeting_table {
/deep/ .el-input__inner {
text-align: center;
}
}
/deep/ .el-textarea__inner {
font-family: inherit;
}
/deep/ .el-upload {
display: unset;
}
/deep/ .el-upload-list__item-status-label {
font-size: 0;
}
/deep/ .el-upload-list__item {
.el-icon-close {
font-size: 0;
}
.el-icon-close-tip {
font-size: 0;
}
}
/deep/ .el-table th {
padding: 0px;
}
}
}
</style>
@@ -0,0 +1,529 @@
<template>
<div class="phoneBzchStep6 phoneBox">
<ProcessHeaderPhone toggle>
<template slot="proName">标准解读流程</template>
<template v-if="taskInfo === '技术管理中心主任审批'" slot="proNode">审批</template>
<template v-else-if="taskInfo === '费用管理部门会签'" slot="proNode">会签</template>
<template v-else-if="taskInfo === '技术委员会常务副主任/总院院长审定'" 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 style="flex: auto; overflow: auto;">
<ProcessTitle>
<template slot="title">基础信息</template>
</ProcessTitle>
<div class="content_form">
<el-form class="label-input-form" ref="ch_pageData" :model="ch_pageData" :rules="ch_rules" label-width="120px">
<el-row :gutter="24">
<el-col :span="8">
<el-form-item class="add-form-item" label="会议名称:">
{{ ch_pageData.meetingName || '-' }}
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item class="add-form-item" label="主办单位:">
{{ ch_pageData.primaryUnit || '-' }}
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="24">
<el-col :span="8">
<el-form-item class="add-form-item" label="协会名称:">
{{ ch_pageData.associaName || '-' }}
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item class="add-form-item" label="会议时间:">
{{ ch_pageData.meetingStartTime || '-' }}
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="24">
<el-col :span="8">
<el-form-item class="add-form-item" label="会议地点:">
{{ ch_pageData.meetingPlace || '-' }}
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item class="add-form-item" label="费用标准:">
{{ ch_pageData.feeStand || '-' }}
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="24">
<el-col :span="8">
<el-form-item class="add-form-item" label="费用列支:">
{{ ch_pageData.feeKind || '-' }}
</el-form-item>
</el-col>
<el-col :span="8">
<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 }} {{ ';' }}
</span>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="24">
<el-col :span="8">
<el-form-item class="add-form-item" label="类别:">
<span v-if="ch_pageData.sort === '1'">计划内</span>
<span v-else>计划外</span>
</el-form-item>
</el-col>
</el-row>
<el-form-item class="add-form-item" label="议题:">
<el-table
class="meeting_table"
:data="ch_pageData.meetingTable"
border
ref="entryTable"
height="49%"
style="width: 100%"
:header-cell-style="{background: '#e8e8e8', color: '#333333', fontSize: '16px',
fontWeight: 'bold', height: '20px'}">
<el-table-column type="index" width="50" align="center"/>
<el-table-column label="议题" align="center" prop="meetingTheme"/>
</el-table>
</el-form-item>
<el-form-item class="add-form-item" label="入会人员:">
<el-table
:data="ch_pageData.myPartRole"
border
ref="entryTable"
height="49%"
style="width: 100%"
:header-cell-style="{background: '#e8e8e8', color: '#333333', fontSize: '16px',
fontWeight: 'bold', height: '20px'}">
<el-table-column type="index" width="50" align="center"/>
<el-table-column prop="fillPeople" align="center" label="人员"/>
<el-table-column prop="fillUnit" align="center" label="单位"/>
<el-table-column prop="fillDept" align="center" label="部门"/>
<el-table-column prop="fillTel" align="center" label="电话"/>
<el-table-column prop="fillMail" align="center" label="邮箱"/>
</el-table>
</el-form-item>
</el-form>
</div>
</div>
<el-collapse accordion>
<el-collapse-item :title="passTitle">
<div style="margin: 10px 0;">
<el-input
type="textarea"
:rows="3"
resize="none"
:placeholder="passHolder"
v-model="textarea">
</el-input>
</div>
</el-collapse-item>
</el-collapse>
</div>
<div class="content" v-show="active === '3'">
<div class="flow-list">
<el-table
height="100%"
ref="selection"
:data="detailData"
tooltip-effect="dark"
style="width: 100%"
border
row-key="id"
:no-data-text="listNoDataText"
:header-cell-style="{background: '#f8f8f9', color: '#515a6e'}"
>
<el-table-column
type="selection"
width="55"
align="center">
</el-table-column>
<el-table-column
prop="name"
label="任务步骤"
align="center"
>
</el-table-column>
<el-table-column
prop="assignee"
label="任务受理人"
align="center"
>
</el-table-column>
<el-table-column
prop="createTime"
label="创建时间"
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="完成时间"
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>
<loading :loading="loading">流程列表加载中</loading>
</div>
</div>
<ProcessFooter
v-if="taskInfo !== '标准法规工程师修订完毕'"
show-submit
show-back
:isSubmitBack="isBack"
:submitLoading="isSubmit"
@back="handleSubmitNo"
@submit="handleSubmit"
/>
<ProcessFooter
v-else
show-submit
:submitLoading="isSubmit"
@submit="handleSubmit"
/>
</div>
</template>
<script>
import ProcessHeaderPhone from '../../components/ProcessHeaderPhone'
import ProcessFooter from '../../components/ProcessFooter'
import ProcessTitle from '../../components/ProcessTitle'
export default {
name: "phoneBzchStep6",
components: {
ProcessHeaderPhone,
ProcessFooter,
ProcessTitle
},
data() {
return {
active: '1',
ch_pageData: {
myPartRole: [],
},
ch_rules: {},
textarea: '',
isBack: false,
isSubmit: false,
saveLoading: false,
deleteDataList: [],
detailData: [],
loading: false,
taskInfo: this.$route.query.taskInfo,
taskIds: this.$route.query.taskIds,
pId: this.$route.query.prcId,
uploadFileLength: '',
passTitle: '审批意见',
passHolder: '请输入审批意见'
}
},
computed: {
listNoDataText() {
return this.processType === 1 ? "暂无待办流程" : "暂无已办流程";
}
},
created() {
this.processTable()
this.getData()
},
methods: {
//
handleTabs(name) {
this.active = name
},
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 => {
})
},
getData() {
if (this.taskInfo === '标准法规工程师修订完毕') {
this.passTitle = '回执说明',
this.passHolder = '请输入回执说明'
}
const params = {
taskIds: this.taskIds,
pId: this.pId,
}
inboundLiaisonDetail(params).then(res => {
const processForm = JSON.parse(res.mesg)
this.getFormFieldList(processForm)
})
},
getFormFieldList(item) {
this.$nextTick(() => {
this.ch_pageData = JSON.parse(JSON.stringify(item)).ch_pageData
this.uploadFileLength = this.ch_pageData.fileTextList.length
this.roleForm = JSON.parse(JSON.stringify(item)).roleList
// this.ch_pageData.comityFileNum = this.fileTextList
})
},
/** 批量删除 */
del_paryForm() {
if (this.deleteDataList.length < 1) {
this.$message.warning("请选择一条数据进行删除");
} else {
this.$confirm("您确认删除这些数据?", "提示", {
confirmButtonText: "确认",
confirmButtonClass: "common-button-primary",
cancelButtonText: "取消",
type: "warning"
}).then(() => {
let exits = [];
this.deleteDataList.map(item => {
let index;
index = this.ch_pageData.myPartRole.findIndex(items => {
return items === item;
});
if (index > -1) {
this.ch_pageData.myPartRole.splice(index, 1);
}
exits.push(item);
});
this.deleteDataList = [];
}).catch(() => {
});
}
},
selectedDelete(val) {
this.deleteDataList = val
},
// 退
handleSubmitNo() {
if (this.textarea === '') {
this.$message.warning('请输入审批意见')
} else {
let json = {
passFlag: '0',
ch_pageData: this.ch_pageData,
commentText: this.textarea,
roleList: this.roleForm
}
if (this.taskInfo === '技术管理中心主任审批') {
json.manageDepartmentList = this.roleForm.feeUserId
} else if (this.taskInfo === '费用管理部门会签') {
json.manageDepartment = this.$store.getters.userInfo.userId
json.president = this.roleForm.engineerUserId
} else if (this.taskInfo === '技术委员会常务副主任/总院院长审定') {
json.engineerSumDone = this.roleForm.startUser
} else {
json = {
ch_pageData: this.ch_pageData,
commentText: this.textarea,
roleList: this.roleForm
}
}
this.$refs['ch_pageData'].validate((valid) => {
if (valid) {
this.isBack = true
const params = new FormData();
params.set('json', JSON.stringify(json))
params.set('userId', this.$store.getters.userInfo.userId)
params.set('taskId', this.taskIds)
completeTask(params).then(res => {
if (res.success === true) {
this.$message.success('提交成功')
this.$router.push("/processCenter");
}
this.isBack = false
});
}
})
}
},
//
handleSubmit() {
let json = {
passFlag: '1',
ch_pageData: this.ch_pageData,
commentText: this.textarea,
roleList: this.roleForm
}
if (this.taskInfo === '技术管理中心主任审批') {
json.manageDepartmentList = this.roleForm.feeUserId
} else if (this.taskInfo === '费用管理部门会签') {
json.manageDepartment = this.$store.getters.userInfo.userId
json.president = this.roleForm.engineerUserId
} else if (this.taskInfo === '技术委员会常务副主任/总院院长审定') {
json.engineerSumDone = this.roleForm.startUser
} else {
json = {
ch_pageData: this.ch_pageData,
commentText: this.textarea,
roleList: this.roleForm
}
}
this.$refs['ch_pageData'].validate((valid) => {
if (valid) {
this.isSubmit = true
const params = new FormData();
params.set('json', JSON.stringify(json))
params.set('userId', this.$store.getters.userInfo.userId)
params.set('taskId', this.taskIds)
completeTask(params).then(res => {
if (res.success === true) {
this.$message.success('提交成功')
this.$router.push("/processCenter");
}
this.isSubmit = false
});
}
})
},
/** 点击对应附件进行下载*/
previews(val) {
let attId = val
if (attId != null && attId !== "") {
window.location.href = "/api/att/attFile/downloadFileForSar?fileId=" + attId;
}
},
}
}
</script>
<style lang="less" scoped>
@import '~@/assets/styles/phone';
.phoneBzchStep6 {
.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;
}
}
}
.content-center {
padding: 10px 0px 10px 10px;
}
.content_form {
padding-top: 15px;
padding-left: 30px;
.el-divider--horizontal {
margin-top: 0px;
}
/deep/ .el-input.is-disabled .el-input__inner {
background-color: #fff;
}
/deep/ .el-table__body-wrapper {
height: auto !important;
}
.meeting_table {
/deep/ .el-input__inner {
text-align: center;
}
}
/deep/ .el-textarea__inner {
font-family: inherit;
}
/deep/ .el-upload {
display: unset;
}
/deep/ .el-upload-list__item-status-label {
font-size: 0;
}
/deep/ .el-upload-list__item {
.el-icon-close {
font-size: 0;
}
.el-icon-close-tip {
font-size: 0;
}
}
/deep/ .el-table th {
padding: 0px;
}
}
}
</style>
@@ -0,0 +1,506 @@
<template>
<div class="phoneBzhhStep2 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('2')">审批历史</div>
</div>
<div class="content" v-show="active === '1'">
<div style="flex: auto; overflow: auto;">
<ProcessTitle>
<template slot="title">基础信息</template>
</ProcessTitle>
<div class="content_form">
<el-form class="label-input-form" ref="hh_pageData" :model="hh_pageData" :rules="hh_rules" label-width="120px">
<el-row>
<el-col :span="8">
<el-form-item class="add-form-item" label="标委会:">
{{ hh_pageData.associaName || '-' }}
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item class="add-form-item" label="分标委:">
{{ hh_pageData.associaNameOne || '-' }}
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item class="add-form-item" label="工作组:">
{{ hh_pageData.associaNameTwo || '-' }}
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<el-form-item class="add-form-item" label="参会人:">
{{ hh_pageData.partPeople || '-' }}
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item class="add-form-item" label="参会时间:">
{{ hh_pageData.meetingStartTime || '-' }}
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<el-form-item class="add-form-item" label="会议名称:">
{{ hh_pageData.meetingName || '-' }}
</el-form-item>
</el-col>
</el-row>
<el-form-item class="add-form-item" style="margin-top: 10px">
<el-table
:data="hh_pageData.standardTable"
border
ref="standardTable"
height="49%"
style="width: 100%"
:header-cell-style="{background: '#e8e8e8', color: '#333333', fontSize: '16px',
fontWeight: 'bold', height: '20px'}">
<el-table-column type="selection" width="55" align="center"/>
<el-table-column type="index" label="序号" align="center" width="50"/>
<el-table-column prop="standardId" label="标准编号" align="center"/>
<el-table-column prop="standardName" label="标准名称" align="center"/>
<el-table-column prop="material" label="资料" align="center">
<template slot-scope="scope">
<el-button size="mini" type="primary" @click="materialBtn(scope.row)">查看</el-button>
</template>
</el-table-column>
</el-table>
</el-form-item>
<el-form-item class="add-form-item" style="margin-top: 10px">
<el-table
:data="hh_pageData.themeTable"
border
ref="themeTable"
height="49%"
style="width: 100%"
:header-cell-style="{background: '#e8e8e8', color: '#333333', fontSize: '16px',
fontWeight: 'bold', height: '20px'}">
<el-table-column type="index" label="序号" align="center" width="50"/>
<el-table-column label="议题" align="center" prop="meetingTheme"></el-table-column>
<el-table-column label="资料" align="center" prop="meetingFile">
<template slot-scope="scope">
<el-button type="primary" size="mini" @click="meetingFileBtn(scope.row)">查看</el-button>
</template>
</el-table-column>
</el-table>
</el-form-item>
<el-form-item class="add-form-item" label="其他资料:" prop="otherFile">
<el-upload
:action="''"
name="name"
:file-list="otherFile"
:on-preview="onPreviewOther"
>
</el-upload>
</el-form-item>
</el-form>
</div>
</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'">
<div class="flow-list">
<el-table
height="100%"
ref="selection"
:data="detailData"
tooltip-effect="dark"
style="width: 100%"
border
row-key="id"
:no-data-text="listNoDataText"
:header-cell-style="{background: '#f8f8f9', color: '#515a6e'}"
>
<el-table-column
type="selection"
width="55"
align="center">
</el-table-column>
<el-table-column
prop="name"
label="任务步骤"
align="center"
>
</el-table-column>
<el-table-column
prop="assignee"
label="任务受理人"
align="center"
>
</el-table-column>
<el-table-column
prop="createTime"
label="创建时间"
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="完成时间"
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>
<loading :loading="loading">流程列表加载中</loading>
</div>
</div>
<ProcessFooter
show-back
show-submit
:submitLoading="isSubmit"
:isSubmitBack="isBack"
@back="handleSubmitNo"
@submit="handleSubmit"
/>
<el-dialog
:visible.sync="materialDialog"
width="30%"
:before-close="handleClose">
<el-upload
:action="''"
name="file"
:file-list="fileTextList"
:on-preview="handleOnPreview"
>
</el-upload>
</el-dialog>
<el-dialog
:visible.sync="meetingFileDialog"
width="30%"
:before-close="handleClose">
<el-upload
:action="''"
name="file"
:file-list="themeFileList"
:on-preview="onPreviewTheme"
>
</el-upload>
</el-dialog>
</div>
</template>
<script>
import ProcessHeaderPhone from '../../components/ProcessHeaderPhone'
import ProcessFooter from '../../components/ProcessFooter'
import ProcessTitle from '../../components/ProcessTitle'
import {saveTaskFirst, completeTask, inboundLiaisonDetail} from '@/api/process.js'
export default {
name: "phoneBzhhStep2",
components: {
ProcessHeaderPhone,
ProcessFooter,
ProcessTitle
},
data() {
return {
//
actionPath: 'api/att/attFile/upload',
acceptShow: false,
active: '1',
loading: false,
hh_pageData: {
associaName: '',
associaNameOne: '',
associaNameTwo: '',
meetingStartTime: '',
meetingName: '',
partPeople: '',
standardTable: [],
themeTable: [],
},
commentText: '',
fileTextList: [],
themeFileList: [],
otherFile: [],
materialDialog: false,
meetingFileDialog: false,
hh_rules: {},
detailData: [],
isBack: false,
isSubmit: false,
taskIds: this.$route.query.taskIds,
pId: this.$route.query.prcId,
}
},
computed: {
listNoDataText() {
return this.processType === 1 ? "暂无待办流程" : "暂无已办流程";
}
},
created() {
this.processTable()
this.getData()
},
methods: {
//
handleTabs(name) {
this.active = name
},
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 => {
})
},
getData() {
const params = {
taskIds: this.taskIds,
pId: this.pId,
}
inboundLiaisonDetail(params).then(res => {
const processForm = JSON.parse(res.mesg)
this.getFormFieldList(processForm)
})
},
getFormFieldList(item) {
this.$nextTick(() => {
this.hh_pageData = JSON.parse(JSON.stringify(item)).hh_pageData
this.otherFile = this.hh_pageData.otherFileList
})
},
/** 标准号列表查看按钮 */
materialBtn(val) {
this.fileTextList = val.material
this.materialDialog = true
},
/** 议题列表查看按钮 */
meetingFileBtn(val) {
this.themeFileList = val.material
this.meetingFileDialog = true
},
handleClose() {
this.materialDialog = false
this.meetingFileDialog = false
},
//
handleOnPreview(file) {
let attId = file.id
if (attId != null && attId !== "") {
window.location.href = "/api/att/attFile/downloadFileForSar?fileId=" + attId;
}
},
//
onPreviewTheme(file) {
let attId = file.id
if (attId != null && attId !== "") {
window.location.href = "/api/att/attFile/downloadFileForSar?fileId=" + attId;
}
},
//
onPreviewOther(file) {
let attId = file.id
if (attId != null && attId !== "") {
window.location.href = "/api/att/attFile/downloadFileForSar?fileId=" + attId;
}
},
// 退
handleSubmitNo() {
let json = {
passFlag: '0',
commentText: this.commentText,
hh_pageData: this.hh_pageData,
}
this.$refs['hh_pageData'].validate((valid) => {
if (valid) {
this.isBack = true
const params = new FormData();
params.set('json', JSON.stringify(json))
params.set('userId', this.$store.getters.userInfo.userId)
params.set('taskId', this.taskIds)
completeTask(params).then(res => {
if (res.success === true) {
this.$message.success('退回成功')
this.$router.push("/processCenter");
}
this.isBack = false
});
}
})
},
//
handleSubmit() {
let json = {
passFlag: '1',
commentText: this.commentText,
ch_pageData: this.ch_pageData,
}
this.$refs['hh_pageData'].validate((valid) => {
if (valid) {
this.isSubmit = true
const params = new FormData();
params.set('json', JSON.stringify(json))
params.set('userId', this.$store.getters.userInfo.userId)
params.set('taskId', this.taskIds)
completeTask(params).then(res => {
if (res.success === true) {
this.$message.success('提交成功')
this.$router.push("/processCenter");
}
this.isSubmit = false
});
}
})
}
}
}
</script>
<style lang="less" scoped>
@import '~@/assets/styles/phone';
.phoneBzhhStep2 {
.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;
}
}
}
.content-center {
padding: 10px 0px 10px 10px;
}
.content_form {
padding-top: 15px;
padding-left: 30px;
.el-divider--horizontal {
margin-top: 0px;
}
/deep/ .el-input.is-disabled .el-input__inner {
background-color: #fff;
}
/deep/ .el-table__body-wrapper {
height: auto !important;
}
.meeting_table {
/deep/ .el-input__inner {
text-align: center;
}
}
/deep/ .el-textarea__inner {
font-family: inherit;
}
/deep/ .el-upload {
display: unset;
}
/deep/ .el-upload-list__item-status-label {
font-size: 0;
}
/deep/ .el-upload-list__item {
.el-icon-close {
font-size: 0;
}
.el-icon-close-tip {
font-size: 0;
}
}
/deep/ .el-table th {
padding: 0px;
}
}
}
</style>
@@ -0,0 +1,448 @@
<template>
<div class="phoneBzrhStep2 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 style="flex: auto; overflow: auto;">
<ProcessTitle>
<template slot="title">基础信息</template>
</ProcessTitle>
<div class="content_form">
<el-form class="label-input-form" ref="rh_pageData" :model="rh_pageData" label-width="150px" :rules="rh_rules">
<el-row>
<el-col :span="8">
<el-form-item class="add-form-item" label="协会名称:">
{{ rh_pageData.comityName || '-' }}
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item class="add-form-item" label="协会状态:" prop="comityState">
{{ rh_pageData.comityState || '-' }}
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<el-form-item class="add-form-item" label="入会性质:" prop="comityKind">
{{ rh_pageData.comityKind || '-' }}
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item class="add-form-item" label="资质:">
{{ rh_pageData.comityMake.makeQualification || '-' }}
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<el-form-item class="add-form-item" label="成员:">
{{ rh_pageData.comityMake.makeRole || '' }}
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item class="add-form-item" label="费用估计:">
{{ rh_pageData.comityMake.makeCost || '-' }}
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<el-form-item class="add-form-item" label="职责:">
{{ rh_pageData.comityMake.makeDuties || '-' }}
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item class="add-form-item" label="任期:">
{{ rh_pageData.comityMake.makeTime || '-' }}
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<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 }} {{ ';' }}
</span>
</el-form-item>
</el-col>
</el-row>
<el-form-item class="add-form-item" label="工作方向:" prop="workPath">
<el-input v-model="rh_pageData.workPath" type="textarea" readonly style="width: 50%;height: auto"></el-input>
</el-form-item>
<el-form-item class="add-form-item" label="协会外部联系方式:">
<el-table
:data="rh_pageData.comityTel"
border
ref="entryTable"
height="49%"
style="width: 100%"
:header-cell-style="{background: '#e8e8e8', color: '#333333', fontSize: '16px',
fontWeight: 'bold', height: '20px'}">
<el-table-column type="selection" width="55"/>
<el-table-column prop="tel_name" align="center" label="联络人"/>
<el-table-column prop="tel_unit" align="center" label="单位"/>
<el-table-column prop="tel_phone" align="center" label="电话"/>
<el-table-column prop="tel_mail" align="center" label="邮箱"/>
</el-table>
</el-form-item>
<ProcessTitle>
<template slot="title">选择人员</template>
</ProcessTitle>
<el-form-item class="add-form-item" label="入会人员:">
<el-input
:disabled="true"
style="width: 30%"
v-model="rh_pageData.comityOpRole"
/>
</el-form-item>
</el-form>
</div>
</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'">
<div class="flow-list">
<el-table
height="100%"
ref="selection"
:data="detailData"
tooltip-effect="dark"
style="width: 100%"
border
row-key="id"
:no-data-text="listNoDataText"
:header-cell-style="{background: '#f8f8f9', color: '#515a6e'}"
>
<el-table-column
type="selection"
width="55"
align="center">
</el-table-column>
<el-table-column
prop="name"
label="任务步骤"
align="center"
>
</el-table-column>
<el-table-column
prop="assignee"
label="任务受理人"
align="center"
>
</el-table-column>
<el-table-column
prop="createTime"
label="创建时间"
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="完成时间"
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>
<loading :loading="loading">流程列表加载中</loading>
</div>
</div>
<ProcessFooter
show-submit
show-back
backBTNTexts="不涉及"
:isSubmitBack="isBack"
:submitLoading="isSubmit"
@back="handleSubmitNo"
@submit="handleSubmit"
>
</ProcessFooter>
</div>
</template>
<script>
import ProcessHeaderPhone from '../../components/ProcessHeaderPhone'
import ProcessFooter from '../../components/ProcessFooter'
import ProcessTitle from '../../components/ProcessTitle'
import { completeTask, inboundLiaisonDetail } from "@/api/process.js"
export default {
name: "phoneBzrhStep2",
components: {
ProcessHeaderPhone,
ProcessFooter,
ProcessTitle
},
data() {
return {
active: '1', //
rh_rules: {},
rh_pageData: {
comityFileNum: '',
comityFileName: '',
comityName: '',
comityRole: '',
comityState: '',
comityKind: '',
infoSources: '',
comityMake: {
makeQualification: '',
makeRole: '',
makeCost: '',
makeDuties: '',
makeTime: '',
},
workPath: '',
comityTel: [],
comityOpRole: '',
comityInRoleId: '',
},
roleForm: {},
commentText: '',
roleShowflag: false,
nodeList: [],
detailData: [],
loading: false,
isSubmit: false,
isBack: false,
saveLoading: false,
taskIds: this.$route.query.taskIds,
pId: this.$route.query.prcId,
infoSourcesLength: ''
}
},
computed: {
listNoDataText() {
return this.processType === 1 ? "暂无待办流程" : "暂无已办流程";
}
},
created() {
this.processTable()
this.getData()
},
methods: {
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 => {
})
},
getData() {
const params = {
taskIds: this.taskIds,
pId: this.pId,
}
inboundLiaisonDetail(params).then(res => {
const processForm = JSON.parse(res.mesg)
this.getFormFieldList(processForm)
})
},
getFormFieldList(item) {
this.$nextTick(() => {
this.rh_pageData = JSON.parse(JSON.stringify(item)).rh_pageData
this.rh_pageData.comityOpRole = this.$store.getters.userInfo.userName
this.roleForm = JSON.parse(JSON.stringify(item)).roleList
this.infoSourcesLength = this.rh_pageData.infoSources.length
// this.rh_pageData.comityFileNum = this.fileTextList
})
},
//
handleTabs(name) {
this.active = name
},
/** 点击对应附件进行下载*/
previews(val) {
let attId = val
if (attId != null && attId !== "") {
window.location.href = "/api/att/attFile/downloadFileForSar?fileId=" + attId;
}
},
// 退
handleSubmitNo() {
if (this.commentText === '') {
this.$message.warning('请输入审批意见')
} else {
let json = {
roleList: this.roleForm,
memberId: this.$store.getters.userInfo.userId,
passFlag: '0',
commentText: this.commentText,
rh_pageData: this.rh_pageData,
}
this.$refs['rh_pageData'].validate((valid) => {
if (valid) {
this.isBack = true
const params = new FormData();
params.set('json', JSON.stringify(json))
params.set('userId', this.$store.getters.userInfo.userId)
params.set('taskId', this.taskIds)
completeTask(params).then(res => {
if (res.success === true) {
this.$message.success('退回成功')
this.$router.push("/processCenter");
}
this.isBack = false
});
}
})
}
},
//
handleSubmit() {
let json = {
roleList: this.roleForm,
memberId: this.$store.getters.userInfo.userId,
passFlag: '1',
commentText: this.commentText,
rh_pageData: this.rh_pageData,
}
this.$refs['rh_pageData'].validate((valid) => {
if (valid) {
this.isSubmit = true
const params = new FormData();
params.set('json', JSON.stringify(json))
params.set('userId', this.$store.getters.userInfo.userId)
params.set('taskId', this.taskIds)
completeTask(params).then(res => {
if (res.success === true) {
this.$message.success('提交成功')
this.$router.push("/processCenter");
}
this.isSubmit = false
});
}
})
}
}
}
</script>
<style lang="less" scoped>
@import '~@/assets/styles/phone';
.phoneBzrhStep2 {
.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;
}
}
}
.content-center {
padding: 10px 0px 10px 10px;
}
.content_form {
padding: 15px;
.comityTel_btn {
text-align: right;
}
/deep/ .el-input.is-disabled .el-input__inner {
background-color: #fff;
}
/deep/ .el-textarea.is-disabled .el-textarea__inner {
background-color: #fff;
}
/deep/ .el-table__body-wrapper {
height: auto !important;
}
/deep/ .el-table th {
padding: 0px;
}
}
}
</style>
@@ -0,0 +1,472 @@
<template>
<div class="phoneBzrhStep4 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 style="flex: auto; overflow: auto;">
<ProcessTitle>
<template slot="title">基础信息</template>
</ProcessTitle>
<div class="content_form">
<el-form class="label-input-form" ref="rh_pageData" :model="rh_pageData" label-width="150px" :rules="rh_rules">
<el-row>
<el-col :span="8">
<el-form-item class="add-form-item" label="协会名称:">
{{ rh_pageData.comityName || '-' }}
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item class="add-form-item" label="协会状态:" prop="comityState">
{{ rh_pageData.comityState || '-' }}
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<el-form-item class="add-form-item" label="入会性质:" prop="comityKind">
{{ rh_pageData.comityKind || '-' }}
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item class="add-form-item" label="资质:">
{{ rh_pageData.comityMake.makeQualification || '-' }}
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<el-form-item class="add-form-item" label="成员:">
{{ rh_pageData.comityMake.makeRole || '' }}
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item class="add-form-item" label="费用估计:">
{{ rh_pageData.comityMake.makeCost || '-' }}
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<el-form-item class="add-form-item" label="职责:">
{{ rh_pageData.comityMake.makeDuties || '-' }}
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item class="add-form-item" label="任期:">
{{ rh_pageData.comityMake.makeTime || '-' }}
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<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 }} {{ ';' }}
</span>
</el-form-item>
</el-col>
</el-row>
<el-form-item class="add-form-item" label="工作方向:" prop="workPath">
<el-input v-model="rh_pageData.workPath" type="textarea" :disabled="true" style="width: 50%;height: auto"></el-input>
</el-form-item>
<el-form-item class="add-form-item" label="协会外部联系方式:" style="margin-top: 10px">
<el-table
:data="rh_pageData.comityTel"
border
ref="entryTable"
height="49%"
style="width: 100%"
:header-cell-style="{background: '#e8e8e8', color: '#333333', fontSize: '16px',
fontWeight: 'bold', height: '20px'}">
<el-table-column type="selection" width="55"/>
<el-table-column prop="tel_name" align="center" label="联络人"/>
<el-table-column prop="tel_unit" align="center" label="单位"/>
<el-table-column prop="tel_phone" align="center" label="电话"/>
<el-table-column prop="tel_mail" align="center" label="邮箱"/>
</el-table>
</el-form-item>
<el-form-item class="add-form-item" label="入会人员:" style="margin-top: 10px">
<el-table
:data="rh_pageData.myPartRole"
border
ref="entryTable"
height="49%"
style="width: 100%"
:header-cell-style="{background: '#e8e8e8', color: '#333333', fontSize: '16px',
fontWeight: 'bold', height: '20px'}">
<el-table-column prop="fillPeople" align="center" label="参与人"/>
<el-table-column prop="fillUnit" align="center" label="单位"/>
<el-table-column prop="fillDept" align="center" label="部门"/>
<el-table-column prop="fillPost" align="center" label="身份"/>
<el-table-column prop="fillTel" align="center" label="电话"/>
<el-table-column prop="fillMail" align="center" label="邮箱"/>
<el-table-column prop="fillFile" align="center" label="资料"/>
</el-table>
</el-form-item>
</el-form>
</div>
</div>
<el-collapse accordion>
<el-collapse-item title="审批意见">
<div style="margin: 10px 0;">
<el-input
type="textarea"
:rows="3"
resize="none"
placeholder="请输入意见"
v-model="textarea">
</el-input>
</div>
</el-collapse-item>
</el-collapse>
</div>
<div class="content" v-show="active === '3'">
<div class="flow-list">
<el-table
height="100%"
ref="selection"
:data="detailData"
tooltip-effect="dark"
style="width: 100%"
border
row-key="id"
:no-data-text="listNoDataText"
:header-cell-style="{background: '#f8f8f9', color: '#515a6e'}"
>
<el-table-column
type="selection"
width="55"
align="center">
</el-table-column>
<el-table-column
prop="name"
label="任务步骤"
align="center"
>
</el-table-column>
<el-table-column
prop="assignee"
label="任务受理人"
align="center"
>
</el-table-column>
<el-table-column
prop="createTime"
label="创建时间"
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="完成时间"
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>
<loading :loading="loading">流程列表加载中</loading>
</div>
</div>
<ProcessFooter
show-submit
show-back
backBTNTexts="驳回"
:submitLoading="isSubmit"
:isSubmitBack="isBack"
@back="handleSubmitNo"
@submit="handleSubmit"
>
</ProcessFooter>
</div>
</template>
<script>
import ProcessHeaderPhone from '../../components/ProcessHeaderPhone'
import ProcessFooter from '../../components/ProcessFooter'
import ProcessTitle from '../../components/ProcessTitle'
import { completeTask, inboundLiaisonDetail } from "@/api/process.js"
export default {
name: "phoneBzrhStep4",
components: {
ProcessHeaderPhone,
ProcessFooter,
ProcessTitle
},
data() {
return {
active: '1', //
rh_rules: {},
rh_pageData: {
comityFileNum: '',
comityFileName: '',
comityName: '',
comityRole: '',
comityState: '',
comityKind: '',
InfoSources: '',
comityMake: {
makeQualification: '',
makeRole: '',
makeCost: '',
makeDuties: '',
makeTime: '',
},
prcCreateUser: {},
workPath: '',
comityTel: [],
fillPeople: '',
fillPeopleId: '',
fillUnit: '',
fillDept: '',
fillPost: '',
fillTel: '',
fillMail: '',
fillLeader: '',
fillFile: '',
myPartRole: [],
},
roleForm: {},
selfUser: '',
detailData: [],
loading: false,
textarea: '',
isSubmit: false,
isBack: false,
saveLoading: false,
taskIds: this.$route.query.taskIds,
pId: this.$route.query.prcId,
infoSourcesLength: ''
}
},
computed: {
listNoDataText() {
return this.processType === 1 ? "暂无待办流程" : "暂无已办流程";
}
},
created() {
this.processTable()
this.getData()
},
methods: {
//
handleTabs(name) {
this.active = name
},
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 => {
})
},
getData() {
const params = {
taskIds: this.taskIds,
pId: this.pId,
}
inboundLiaisonDetail(params).then(res => {
const processForm = JSON.parse(res.mesg)
this.getFormFieldList(processForm)
})
},
getFormFieldList(item) {
this.$nextTick(() => {
this.rh_pageData = JSON.parse(JSON.stringify(item)).rh_pageData
this.infoSourcesLength = this.rh_pageData.infoSources.length
this.rh_pageData.myPartRole = [{
fillPeopleId: this.rh_pageData.fillPeopleId,
fillPeople: this.rh_pageData.fillPeople,
fillUnit: this.rh_pageData.fillUnit,
fillDept: this.rh_pageData.fillDept,
fillPost: this.rh_pageData.fillPost,
fillTel: this.rh_pageData.fillTel,
fillMail: this.rh_pageData.fillMail,
fillFile: this.rh_pageData.fillFile,
}]
this.selfUser = JSON.parse(JSON.stringify(item)).selfUser
this.roleForm = JSON.parse(JSON.stringify(item)).roleList
// this.rh_pageData.comityFileNum = this.fileTextList
})
},
// 退
handleSubmitNo() {
if (this.textarea === '') {
this.$message.warning('请输入审批意见')
} else {
let json = {
member: this.selfUser,
passFlag: '0',
roleList: this.roleForm,
commentText: this.textarea,
rh_pageData: this.rh_pageData,
}
this.$refs['rh_pageData'].validate((valid) => {
if (valid) {
this.isBack = true
const params = new FormData();
params.set('json', JSON.stringify(json))
params.set('userId', this.$store.getters.userInfo.userId)
params.set('taskId', this.taskIds)
completeTask(params).then(res => {
if (res.success === true) {
this.$message.success('退回成功')
this.$router.push("/processCenter");
}
this.isBack = false
});
}
})
}
},
//
handleSubmit() {
let json = {
member: this.selfUser,
passFlag: '1',
engineerSum: this.roleForm.startUser,
roleList: this.roleForm,
commentText: this.textarea,
rh_pageData: this.rh_pageData,
}
this.$refs['rh_pageData'].validate((valid) => {
if (valid) {
this.isSubmit = true
const params = new FormData();
params.set('json', JSON.stringify(json))
params.set('userId', this.$store.getters.userInfo.userId)
params.set('taskId', this.taskIds)
completeTask(params).then(res => {
if (res.success === true) {
this.$message.success('提交成功')
this.$router.push("/processCenter");
}
this.isSubmit = false
});
}
})
},
/** 点击对应附件进行下载*/
previews(val) {
let attId = val
if (attId != null && attId !== "") {
window.location.href = "/api/att/attFile/downloadFileForSar?fileId=" + attId;
}
},
}
}
</script>
<style lang="less" scoped>
@import '~@/assets/styles/phone';
.phoneBzrhStep4 {
.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;
}
}
}
.content-center {
padding: 10px 0px 10px 10px;
}
.content_form {
padding: 15px;
.comityTel_btn {
text-align: right;
}
/deep/ .el-textarea.is-disabled .el-textarea__inner {
background-color: #fff;
}
/deep/ .el-table__body-wrapper {
height: auto !important;
}
/deep/ .el-table th {
padding: 0px;
}
}
}
</style>
@@ -0,0 +1,485 @@
<template>
<div class="phoneBzrhStep6 phoneBox">
<ProcessHeaderPhone toggle>
<template slot="proName">标准解读流程</template>
<template v-if="taskInfo === '标准法规部主管领导审核'" slot="proNode">审批</template>
<template v-else-if="taskInfo === '费用管理部门会签'" slot="proNode">会签</template>
<template v-else-if="taskInfo === '技术委员会常务副主任/总院院长审定'" 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 style="flex: auto; overflow: auto;">
<ProcessTitle>
<template slot="title">基础信息</template>
</ProcessTitle>
<div class="content_form">
<el-form class="label-input-form" ref="rh_pageData" :model="rh_pageData" label-width="150px" :rules="rh_rules">
<el-row>
<el-col :span="8">
<el-form-item class="add-form-item" label="协会名称:">
{{ rh_pageData.comityName || '-' }}
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item class="add-form-item" label="协会状态:" prop="comityState">
{{ rh_pageData.comityState || '-' }}
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<el-form-item class="add-form-item" label="入会性质:" prop="comityKind">
{{ rh_pageData.comityKind || '-' }}
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item class="add-form-item" label="资质:">
{{ rh_pageData.comityMake.makeQualification || '-' }}
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<el-form-item class="add-form-item" label="成员:">
{{ rh_pageData.comityMake.makeRole || '' }}
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item class="add-form-item" label="费用估计:">
{{ rh_pageData.comityMake.makeCost || '-' }}
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<el-form-item class="add-form-item" label="职责:">
{{ rh_pageData.comityMake.makeDuties || '-' }}
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item class="add-form-item" label="任期:">
{{ rh_pageData.comityMake.makeTime || '-' }}
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<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 }} {{ ';' }}
</span>
</el-form-item>
</el-col>
</el-row>
<el-form-item class="add-form-item" label="工作方向:" prop="workPath">
<el-input v-model="rh_pageData.workPath" readonly type="textarea" style="width: 50%;height: auto"></el-input>
</el-form-item>
<el-form-item class="add-form-item" label="协会外部联系方式:" style="margin-top: 10px">
<el-table
:data="rh_pageData.comityTel"
border
ref="entryTable"
height="49%"
style="width: 100%"
:header-cell-style="{background: '#e8e8e8', color: '#333333', fontSize: '16px',
fontWeight: 'bold', height: '20px'}">
<el-table-column type="selection" width="55"></el-table-column>
<el-table-column prop="tel_name" align="center" label="联络人"/>
<el-table-column prop="tel_unit" align="center" label="单位"/>
<el-table-column prop="tel_phone" align="center" label="电话"/>
<el-table-column prop="tel_mail" align="center" label="邮箱"/>
</el-table>
</el-form-item>
<el-form-item class="add-form-item" label="我司参与人员:" style="margin-top: 10px">
<el-table
:data="rh_pageData.myPartRole"
border
ref="entryTable"
@selection-change="selectedDelete"
height="49%"
style="width: 100%"
:header-cell-style="{background: '#e8e8e8', color: '#333333', fontSize: '16px',
fontWeight: 'bold', height: '20px'}">
<el-table-column type="selection" width="55"/>
<el-table-column prop="fillPeople" align="center" label="参与人"/>
<el-table-column prop="fillUnit" align="center" label="单位"/>
<el-table-column prop="fillDept" align="center" label="部门"/>
<el-table-column prop="fillPost" align="center" label="身份"/>
<el-table-column prop="fillTel" align="center" label="电话"/>
<el-table-column prop="fillMail" align="center" label="邮箱"/>
<el-table-column prop="fillFile" align="center" label="资料"/>
</el-table>
</el-form-item>
</el-form>
</div>
</div>
<el-collapse accordion>
<el-collapse-item :title="textTitle">
<div style="margin: 10px 0;">
<el-input
type="textarea"
:rows="3"
resize="none"
:placeholder="textHolder"
v-model="textarea">
</el-input>
</div>
</el-collapse-item>
</el-collapse>
</div>
<div class="content" v-show="active === '3'">
<div class="flow-list">
<el-table
height="100%"
ref="selection"
:data="detailData"
tooltip-effect="dark"
style="width: 100%"
border
row-key="id"
:no-data-text="listNoDataText"
:header-cell-style="{background: '#f8f8f9', color: '#515a6e'}"
>
<el-table-column
type="selection"
width="55"
align="center">
</el-table-column>
<el-table-column
prop="name"
label="任务步骤"
align="center"
>
</el-table-column>
<el-table-column
prop="assignee"
label="任务受理人"
align="center"
>
</el-table-column>
<el-table-column
prop="createTime"
label="创建时间"
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="完成时间"
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>
<loading :loading="loading">流程列表加载中</loading>
</div>
</div>
<ProcessFooter
v-if="taskInfo !== '标准法规工程师汇总修订完毕'"
show-submit
show-back
:isSubmitBack="isBack"
:submitLoading="isSubmit"
@back="handleSubmitNo"
@submit="handleSubmit"
/>
<ProcessFooter
v-else
show-submit
:submitLoading="isSubmit"
@submit="handleSubmit"
/>
</div>
</template>
<script>
import ProcessHeaderPhone from '../../components/ProcessHeaderPhone'
import ProcessFooter from '../../components/ProcessFooter'
import ProcessTitle from '../../components/ProcessTitle'
import { completeTask, inboundLiaisonDetail } from "@/api/process.js"
export default {
name: "phoneBzrhStep6",
components: {
ProcessHeaderPhone,
ProcessFooter,
ProcessTitle
},
data() {
return {
active: '1', //
rh_rules: {},
rh_pageData: {
comityFileNum: '',
comityFileName: '',
comityName: '',
comityRole: '',
comityState: '',
comityKind: '',
InfoSources: '',
comityMake: {
makeQualification: '',
makeRole: '',
makeCost: '',
makeDuties: '',
makeTime: '',
},
workPath: '',
comityTel: [],
fillPeople: '',
fillUnit: '',
fillDept: '',
fillPost: '',
fillTel: '',
fillMail: '',
fillLeader: '',
fillFile: '',
myPartRole: [],
},
detailData: [],
loading: false,
roleForm: {},
textarea: '',
isSubmit: false,
isBack: false,
saveLoading: false,
taskInfo: this.$route.query.taskInfo,
taskIds: this.$route.query.taskIds,
pId: this.$route.query.prcId,
infoSourcesLength: '',
textTitle: '审批意见',
textHolder: '请输入审批意见'
}
},
computed: {
listNoDataText() {
return this.processType === 1 ? "暂无待办流程" : "暂无已办流程";
}
},
created() {
this.processTable()
this.getData()
},
methods: {
//
handleTabs(name) {
this.active = name
},
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 => {
})
},
getData() {
const params = {
taskIds: this.taskIds,
pId: this.pId,
}
inboundLiaisonDetail(params).then(res => {
const processForm = JSON.parse(res.mesg)
this.getFormFieldList(processForm)
})
},
getFormFieldList(item) {
this.$nextTick(() => {
this.rh_pageData = JSON.parse(JSON.stringify(item)).rh_pageData
this.roleForm = JSON.parse(JSON.stringify(item)).roleList
this.infoSourcesLength = this.rh_pageData.infoSources.length
// this.rh_pageData.comityFileNum = this.fileTextList
})
},
/** 点击对应附件进行下载*/
previews(val) {
let attId = val
if (attId != null && attId !== "") {
window.location.href = "/api/att/attFile/downloadFileForSar?fileId=" + attId;
}
},
selectedDelete(val) {
this.deleteDataList = val
},
// 退
handleSubmitNo() {
if (this.textarea === '') {
this.$message.warning('请输入反馈意见')
} else {
let json = {
passFlag: '0',
rh_pageData: this.rh_pageData,
roleList: this.roleForm
}
if (this.taskInfo === '标准法规部主管领导审核') {
json.manageDepartmentList = this.roleForm.feeUserId
} else if (this.taskInfo === '费用管理部门会签') {
json.manageDepartment = this.$store.getters.userInfo.userId
json.president = this.roleForm.engineerUserId
} else if (this.taskInfo === '技术委员会常务副主任/总院院长审定') {
json.engineerSumDone = this.roleForm.startUser
}
this.$refs['rh_pageData'].validate((valid) => {
if (valid) {
this.isBack = true
const params = new FormData();
params.set('json', JSON.stringify(json))
params.set('userId', this.$store.getters.userInfo.userId)
params.set('taskId', this.taskIds)
completeTask(params).then(res => {
if (res.success === true) {
this.$message.success('提交成功')
this.$router.push("/processCenter");
}
this.isBack = false
});
}
})
}
},
//
handleSubmit() {
let json = {
passFlag: '1',
rh_pageData: this.rh_pageData,
commentText: this.textarea,
roleList: this.roleForm
}
if (this.taskInfo === '标准法规部主管领导审核') {
json.manageDepartmentList = this.roleForm.feeUserId
} else if (this.taskInfo === '费用管理部门会签') {
json.manageDepartment = this.$store.getters.userInfo.userId
json.president = this.roleForm.engineerUserId
} else if (this.taskInfo === '技术委员会常务副主任/总院院长审定') {
json.engineerSumDone = this.roleForm.startUser
}
this.$refs['rh_pageData'].validate((valid) => {
if (valid) {
this.isSubmit = true
const params = new FormData();
params.set('json', JSON.stringify(json))
params.set('userId', this.$store.getters.userInfo.userId)
params.set('taskId', this.taskIds)
completeTask(params).then(res => {
if (res.success === true) {
this.$message.success('提交成功')
this.$router.push("/processCenter");
}
this.isSubmit = false
});
}
})
}
}
}
</script>
<style lang="less" scoped>
@import '~@/assets/styles/phone';
.phoneBzrhStep6 {
.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;
}
}
}
.content-center {
padding: 10px 0px 10px 10px;
}
.content_form {
padding: 15px;
.comityTel_btn {
text-align: right;
}
/deep/ .el-table th {
padding: 0px;
}
/deep/ .el-table__body-wrapper {
height: auto !important;
}
.myPart_btn {
text-align: right;
}
}
}
</style>
@@ -0,0 +1,473 @@
<template>
<div class="phoneWfhxStep5 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-if="active === '1'">
<div style="flex: auto;">
<ProcessTitle>
<template slot="title">基础信息</template>
</ProcessTitle>
<el-table
:data="dataList"
border
height="49%"
style="width: 100%"
:header-cell-style="{background: '#e8e8e8', color: '#333333', fontSize: '16px',
fontWeight: 'bold', height: '48px'}">
<el-table-column type="selection" width="55" align="center"/>
<el-table-column prop="standSerialNumber" align="center" show-overflow-tooltip label="标准号">
<template slot-scope="scope">
<a class="table-jump" @click="handlePreview(scope.row)">{{ scope.row.standSerialNumber }}</a>
</template>
</el-table-column>
<el-table-column prop="standName" align="center" show-overflow-tooltip 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="productName" label="项目名称" align="center" show-overflow-tooltip/>
<el-table-column prop="itemsNum" label="条款号" align="center"/>
<el-table-column prop="itemsName" label="条款名称" align="center"/>
<el-table-column prop="planCloseTime" label="整改完成时间" align="center">
<template slot-scope="scope">
<span>{{ scope.row.planCloseTime ? $moment(scope.row.planCloseTime).format('YYYY-MM-DD') : '' }}</span>
</template>
</el-table-column>
<el-table-column prop="responsibleUnit" label="责任部门" align="center"/>
<el-table-column prop="dutyPeople" label="负责人" align="center"/>
<el-table-column prop="fileText" label="佐证材料" align="center">
<template slot-scope="scope">
<el-button type="primary" size="small" @click="queryFile(scope.row)">查看</el-button>
</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 === '3'">
<div class="flow-list">
<el-table
height="100%"
ref="selection"
:data="detailData"
tooltip-effect="dark"
style="width: 100%"
border
row-key="id"
:no-data-text="listNoDataText"
:header-cell-style="{background: '#f8f8f9', color: '#515a6e'}"
>
<el-table-column
type="selection"
width="55"
align="center">
</el-table-column>
<el-table-column
prop="name"
label="任务步骤"
align="center"
>
</el-table-column>
<el-table-column
prop="assignee"
label="任务受理人"
align="center"
>
</el-table-column>
<el-table-column
prop="createTime"
label="创建时间"
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="完成时间"
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>
<loading :loading="loading">流程列表加载中</loading>
</div>
</div>
<ProcessFooter
show-submit
show-back
approval
@back="handleSubmitNo"
:submitLoading="isSubmit"
:isSubmitBack="backLoading"
:transferLoading="turnLoading"
@transfer="handleTurnTo"
@submit="handleSubmit"
submitBTNText="同意"
>
</ProcessFooter>
<el-dialog width='400px' :visible.sync="fileMadel" title="上传文件">
<el-upload
:action="''"
name="file"
:file-list="fileTextList"
:on-preview="handleOnPreview"
>
</el-upload>
</el-dialog>
<Role-tree
check-box
:is-title="drawerTitle"
:is-visible.sync="modalshowflag"
:nodeList="nodeList"
@checkedRole="drawerCheck"
/>
</div>
</template>
<script>
import ProcessHeaderPhone from '../../components/ProcessHeaderPhone'
import ProcessFooter from '../../components/ProcessFooter'
import ProcessTitle from '../../components/ProcessTitle'
import {inboundLiaisonDetail, changeAssigneeNew} from "@/api/process";
export default {
name: "phoneWfhxStep5",
data() {
return {
drawerTitle: '',
nodeList: [],
modalshowflag: false, // drawer
fileMadel: false,
detailData: [],
loading: false,
commentText: '',
title: '', //
saveLoading: false,
ListModel: false, //
nonSearch: {
standId: '', // /
productName: '', //
responsibleUnit: '' //
},
fileTextList: [],
active: '1', //
isSubmit: false,
backLoading: false,
turnLoading: false,
dataList: [],
json: {},
taskInfo: this.$route.query.taskInfo,
taskIds: this.$route.query.taskIds,
pId: this.$route.query.prcId,
userId: this.$route.query.taskAssignee,
//
pageNo: 1,
total: 0,
myLoading: false,
//
zNodesSItem: [],
//
backDialog: false,
}
},
components: {
ProcessHeaderPhone,
ProcessFooter,
ProcessTitle
},
created() {
this.processTable()
this.getData()
},
computed: {
listNoDataText() {
return this.processType === 1 ? "暂无待办流程" : "暂无已办流程";
}
},
methods: {
queryFile(row) {
this.fileTextList = row.fileText
this.fileMadel = true
},
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 => {
});
},
getData() {
const params = {
taskIds: this.taskIds,
pId: this.pId,
}
inboundLiaisonDetail(params).then(res => {
const processForm = JSON.parse(res.mesg)
this.getFormFieldList(processForm)
})
},
getFormFieldList (item) {
this.$nextTick(() => {
this.dataList = JSON.parse(JSON.stringify(item)).info.fileDataList
/*this.dataList.forEach(item => {
item.fileText.forEach(item1 => {
this.fileTextList.push({
id: item1.id,
name: item1.name
})
})
})*/
})
},
handleTabs(name) {
this.active = name
},
//
handlePreview (item) {
let routeUrl = this.$router.resolve({
name: 'OtherStandardDetails',
params: {
id: item.standId,
// pageType: 'FOREIGN_STAND'
pageType: item.standType + '_STAND'
}
})
window.open(routeUrl.href, '_blank')
},
//
handleOnPreview(file) {
let attId = file.id
if (attId != null && attId !== "") {
window.location.href = "/api/att/attFile/downloadFileForSar?fileId=" + attId;
}
},
//
handleSubmit() {
this.isSubmit = true
var json = this.json
json.info = {
fileDataList: this.dataList
}
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
})
},
drawerCheck (data) {
this.turnLoading = true
changeAssigneeNew({
taskId: this.taskIds, // id
assignee: data[0].id, //
userId: this.userId, //
pId: this.pId //
}).then(res =>{
if (res.success) {
this.turnLoading = false
this.$message.success('调整成功')
this.$router.push("/processCenter")
} else {
this.$message.warning(res.message)
}
})
this.modalshowflag = false
},
//
handleTurnTo() {
this.modalshowflag = true
this.drawerTitle = '转办处理人'
},
handleSubmitNo() {
this.backLoading = true
if (this.commentText) {
var json = {
responUserList: {
standardInfoList: this.dataList
},
actionFlag: 1,
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.backLoading = false
}
})
} else {
this.$message.warning('请输入反馈意见')
this.backLoading = false
}
},
//
getTableByPage({ standId, productName, responsibleUnit }) {//
this.realList = this.dataList.filter(item => {
let matchId = true; //
let matchName = true; //
let matchUnit = true; //
if (standId) {
const keysId = standId
.toUpperCase() //
.replace(' ', '') //
.split('') //
matchId = keysId.every(key => item.standId.toUpperCase().includes(key));
}
if (productName) {
matchName = item.productName === productName;
}
if (responsibleUnit) {
matchUnit = item.responsibleUnit === responsibleUnit;
}
return matchId && matchName && matchUnit;
})
this.dataList = this.realList
},
//
clearAllSearch (search = true) {
this.nonSearch = {
standId: '',
productName: '',
responsibleUnit: ''
}
this.getData()
},
download(row) {
let attId = row.fileTextId
window.location.href = "/api/att/attFile/downloadFileForSar?fileId=" + attId;
},
//
pageChange (page) {
this.pageNo = page
this.getTableByPage()
},
pageSizeChange () {
this.getTableByPage()
},
}
}
</script>
<style lang="less" scoped>
@import '~@/assets/styles/phone';
.phoneWfhxStep5 {
.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;
}
}
}
/deep/.el-upload{
display: block;
}
//
/deep/.el-upload-list__item .el-icon-close {
font-size: 0;
}
/deep/.el-upload-list__item .el-icon-close-tip {
font-size: 0;
}
.content-center {
padding: 10px 0px 10px 10px;
}
}
</style>
@@ -227,6 +227,12 @@ export default {
if (prcType === '1') {
//
this.toProcessDetail('bzrkStep5',row)
}else if(prcType === 'laws1'){
//
this.toProcessDetail('zcrkStep5',row)
}else if(prcType === 'buss1'){
//
this.toProcessDetail('bussLibraryDetail',row)
}else if(prcType === '4'){
//
this.toProcessDetail('bzqdfbStep1-4',row)
@@ -325,8 +325,8 @@
<div v-if="handleSelectForm.dataSource === 'INLAND'">
<el-table-column
label="标准号"
width="150"
label="标准号"
width="150"
>
<template slot-scope="scope">
<a v-if="scope.row.standYear && textStatusMap[scope.row.textStatus] === '废止' || textStatusMap[scope.row.textStatus] === '被代替'" class="table-jump" style="color: #F56C6C"
@@ -343,10 +343,10 @@
</template>
</el-table-column>
<el-table-column
show-overflow-tooltip
prop="standName"
label="标准名称"
min-width="300"
show-overflow-tooltip
prop="standName"
label="标准名称"
min-width="300"
>
<template slot-scope="scope">
<a v-if="textStatusMap[scope.row.textStatus] === '废止' || textStatusMap[scope.row.textStatus] === '被代替'" @click="handlePreview(scope.row)" class="table-jump" style="color: #F56C6C">{{ scope.row.standName }}</a>
@@ -354,53 +354,53 @@
</template>
</el-table-column>
<el-table-column
prop="issueTime"
sortable="custom"
width="120"
label="发布日期">
prop="issueTime"
sortable="custom"
width="120"
label="发布日期">
<template slot-scope="scope">
<span v-if="textStatusMap[scope.row.textStatus] === '废止' || textStatusMap[scope.row.textStatus] === '被代替'" style="color: #F56C6C">{{ formatIssueDate(scope.row.issueTime) }}</span>
<span v-else>{{ formatIssueDate(scope.row.issueTime) }}</span>
</template>
</el-table-column>
<el-table-column
prop="SSRQ"
sortable="custom"
width="120"
label="实施日期">
prop="ssrq"
sortable="custom"
width="120"
label="实施日期">
<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 ? scope.row.ssrq.substring(0, 10) : '-' }}</span>
</template>
</el-table-column>
<el-table-column
prop="XCXSSRQ"
sortable="custom"
width="150"
label="新车型实施日期">
prop="xcxssrq"
sortable="custom"
width="150"
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 ? scope.row.xcxssrq.substring(0, 10) : '-' }}</span>
</template>
</el-table-column>
<el-table-column
prop="ZCCSSRQ"
sortable="custom"
width="150"
label="在产车实施日期">
prop="zccssrq"
sortable="custom"
width="150"
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 ? scope.row.zccssrq.substring(0, 10) : '-' }}</span>
</template>
</el-table-column>
<el-table-column
prop="textStatus"
sortable="custom"
width="110"
label="文本状态">
prop="textStatus"
sortable="custom"
width="110"
label="文本状态">
<!-- <template slot="header" slot-scope="scope">-->
<!-- <el-tooltip class="item" effect="dark" content="计划修订”、“修订中”均为现行有效版本;“已修订”标准的有效性根据实际实施情况判定。" placement="bottom">-->
<!-- <span>文本状态<i class="el-icon-warning-outline"></i></span>-->
@@ -416,8 +416,8 @@
</div>
<div v-if="handleSelectForm.dataSource === 'FOREIGN'">
<el-table-column
label="标准号"
width="150"
label="标准号"
width="150"
>
<template slot-scope="scope">
<a v-if="scope.row.standYear && textStatusMap[scope.row.textStatus] === '废止' || textStatusMap[scope.row.textStatus] === '被代替'" style="color: #F56C6C" class="table-jump" @click="handlePreview(scope.row)">{{
@@ -436,10 +436,10 @@
</template>
</el-table-column>
<el-table-column
show-overflow-tooltip
prop="standName"
label="标准名称"
min-width="300"
show-overflow-tooltip
prop="standName"
label="标准名称"
min-width="300"
>
<template slot-scope="scope">
<a v-if="textStatusMap[scope.row.textStatus] === '废止' || textStatusMap[scope.row.textStatus] === '被代替'" style="color: #F56C6C" @click="handlePreview(scope.row)" class="table-jump">{{
@@ -454,10 +454,10 @@
</template>
</el-table-column>
<el-table-column
prop="issueTime"
sortable="custom"
width="120"
label="发布日期">
prop="issueTime"
sortable="custom"
width="120"
label="发布日期">
<template slot-scope="scope">
<div v-if="textStatusMap[scope.row.textStatus] === '废止' || textStatusMap[scope.row.textStatus] === '被代替'" style="color: #F56C6C">
{{ formatIssueDate(scope.row.issueTime) }}
@@ -471,61 +471,61 @@
</template>
</el-table-column>
<el-table-column
prop="SSRQ"
sortable="custom"
width="120"
label="实施日期">
prop="ssrq"
sortable="custom"
width="120"
label="实施日期">
<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 ? scope.row.ssrq.substring(0, 10) : '-'
}}</span>
<span v-else-if="textStatusMap[scope.row.textStatus] === '——' " style="color: #409EFF">{{
scope.row.SSRQ ? scope.row.SSRQ.substring(0, 10) : '-'
scope.row.ssrq ? scope.row.ssrq.substring(0, 10) : '-'
}}</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 ? scope.row.ssrq.substring(0, 10) : '-' }}</span>
</template>
</el-table-column>
<el-table-column
prop="XCXSSRQ"
sortable="custom"
width="150"
label="新车型实施日期">
prop="xcxssrq"
sortable="custom"
width="150"
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 ? scope.row.xcxssrq.substring(0, 10) : '-'
}}</span>
<span v-else-if="textStatusMap[scope.row.textStatus] === '——' " style="color: #409EFF">{{
scope.row.XCXSSRQ ? scope.row.XCXSSRQ.substring(0, 10) : '-'
scope.row.xcxssrq ? scope.row.xcxssrq.substring(0, 10) : '-'
}}</span>
<span v-else style="color: #333333">{{
scope.row.XCXSSRQ ? scope.row.XCXSSRQ.substring(0, 10) : '-'
scope.row.xcxssrq ? scope.row.xcxssrq.substring(0, 10) : '-'
}}</span>
</template>
</el-table-column>
<el-table-column
prop="ZCCSSRQ"
sortable="custom"
width="150"
label="在产车实施日期">
prop="zccssrq"
sortable="custom"
width="150"
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 ? scope.row.zccssrq.substring(0, 10) : '-'
}}</span>
<span v-else-if="textStatusMap[scope.row.textStatus] === '——' " style="color: #409EFF">{{
scope.row.ZCCSSRQ ? scope.row.ZCCSSRQ.substring(0, 10) : '-'
scope.row.zccssrq ? scope.row.zccssrq.substring(0, 10) : '-'
}}</span>
<span v-else style="color: #333333">{{
scope.row.ZCCSSRQ ? scope.row.ZCCSSRQ.substring(0, 10) : '-'
scope.row.zccssrq ? scope.row.zccssrq.substring(0, 10) : '-'
}}</span>
</template>
</el-table-column>
<el-table-column
prop="textStatus"
sortable="custom"
width="110"
label="文本状态">
prop="textStatus"
sortable="custom"
width="110"
label="文本状态">
<!-- <template slot="header" slot-scope="scope">-->
<!-- <el-tooltip class="item" effect="dark" content="计划修订”、“修订中”均为现行有效版本;“已修订”标准的有效性根据实际实施情况判定。" placement="bottom">-->
<!-- <span>文本状态 <i class="el-icon-warning-outline"></i></span>-->
@@ -177,7 +177,6 @@
type="selection"
width="55"
align="center"
:selectable="selectable"
>
</el-table-column>
<el-table-column
@@ -185,11 +184,12 @@
show-overflow-tooltip
fixed="left"
align="center"
width="180px"
width="150px"
label="标准号">
<template slot-scope="scope">
<span @click="handlePreview(scope.row)" class="table-jump">{{ scope.row.standNumber || scope.row.lawsNumber || scope.row.standCode }}</span>
</template>
<a v-if="sarAccessInfoSearch.dataSource === 'INLAND_STAND' || sarAccessInfoSearch.dataSource === 'FOREIGN_STAND'" @click="handlePreview(scope.row)" class="table-jump">{{ scope.row.standNumber}}</a>
<a v-else-if="sarAccessInfoSearch.dataSource === 'FOREIGN_LAWS'" @click="handlePreview(scope.row)" class="table-jump">{{ scope.row.lawsNumber}}</a>
<a v-else-if="sarAccessInfoSearch.dataSource === 'BUSINESS'" @click="handlePreview(scope.row)" class="table-jump">{{scope.row.standCode}}</a> </template>
</el-table-column>
<el-table-column
prop="standName"
@@ -204,6 +204,7 @@
prop="issueTime"
sortable
align="center"
width="110"
label="发布日期">
<template slot-scope="scope">
<span>{{ scope.row.issueTime ? $moment(scope.row.issueTime).format('YYYY-MM-DD') : '' }}</span>
@@ -213,6 +214,7 @@
prop="xcxssrqgj"
sortable
align="center"
width="150"
label="新车型实施日期">
<template slot-scope="scope">
<span v-if="scope.row.xcxssrqgj">{{ scope.row.xcxssrqgj ? $moment(scope.row.xcxssrqgj).format('YYYY-MM-DD') : '' }}</span>
@@ -224,6 +226,7 @@
prop="zccssrqgj"
sortable
align="center"
width="150"
label="在产车实施日期">
<template slot-scope="scope">
<span>{{ scope.row.zccssrqgj ? $moment(scope.row.zccssrqgj).format('YYYY-MM-DD') : '' }}</span>
@@ -232,7 +235,7 @@
<el-table-column
show-overflow-tooltip
prop="textStatus"
width="120px"
width="100px"
align="center"
label="文本状态">
<template slot-scope="scope">
@@ -1727,10 +1730,10 @@ export default {
}
},
// tablechecked
selectable(row) {
console.log('1723',row)
return row.isRelateAccess === '1' || row.isRelateAccess === undefined
},
// selectable(row) {
// console.log('1723',row)
// return row.isRelateAccess === '1' || row.isRelateAccess === undefined
// },
// table select
sarAccessInfoSearchSelect(val) {
this.selectedAccInfoSearchList = val
@@ -155,7 +155,6 @@
type="selection"
width="55"
align="center"
:selectable="selectable"
>
</el-table-column>
<el-table-column
@@ -166,7 +165,9 @@
align="center"
label="标准号">
<template slot-scope="scope">
<a @click="handlePreview(scope.row)" class="table-jump">{{ scope.row.standNumber || scope.row.lawsNumber || scope.row.standCode}}</a>
<a v-if="sarAccessInfoSearch.dataSource === 'INLAND_STAND' || sarAccessInfoSearch.dataSource === 'FOREIGN_STAND'" @click="handlePreview(scope.row)" class="table-jump">{{ scope.row.standNumber}}</a>
<a v-else-if="sarAccessInfoSearch.dataSource === 'FOREIGN_LAWS'" @click="handlePreview(scope.row)" class="table-jump">{{ scope.row.lawsNumber}}</a>
<a v-else-if="sarAccessInfoSearch.dataSource === 'BUSINESS'" @click="handlePreview(scope.row)" class="table-jump">{{scope.row.standCode}}</a>
</template>
</el-table-column>
<el-table-column
@@ -1623,10 +1624,10 @@ export default {
this.pageInfo()
}
},
// tablechecked
selectable (row) {
return row.isRelateAccess === '1' || row.isRelateAccess === undefined
},
// // tablechecked
// selectable (row) {
// return row.isRelateAccess === '1' || row.isRelateAccess === undefined
// },
// table select
sarAccessInfoSearchSelect (val) {
this.selectedAccInfoSearchList = val
@@ -200,7 +200,6 @@
type="selection"
width="55"
align="center"
:selectable="selectable"
>
</el-table-column>
<el-table-column
@@ -211,7 +210,9 @@
width="180px"
label="标准号">
<template slot-scope="scope">
<a @click="handlePreview(scope.row)" class="table-jump">{{ scope.row.standNumber || scope.row.lawsNumber || scope.row.standCode}}</a>
<a v-if="sarAccessInfoSearch.dataSource === 'INLAND_STAND' || sarAccessInfoSearch.dataSource === 'FOREIGN_STAND'" @click="handlePreview(scope.row)" class="table-jump">{{ scope.row.standNumber}}</a>
<a v-else-if="sarAccessInfoSearch.dataSource === 'FOREIGN_LAWS'" @click="handlePreview(scope.row)" class="table-jump">{{ scope.row.lawsNumber}}</a>
<a v-else-if="sarAccessInfoSearch.dataSource === 'BUSINESS'" @click="handlePreview(scope.row)" class="table-jump">{{scope.row.standCode}}</a>
</template>
</el-table-column>
<el-table-column
@@ -1700,9 +1701,9 @@ export default {
}
},
// tablechecked
selectable(row) {
return row.isRelateAccess === '1' || row.isRelateAccess === undefined
},
// selectable(row) {
// return row.isRelateAccess === '1' || row.isRelateAccess === undefined
// },
// table select
sarAccessInfoSearchSelect(val) {
this.selectedAccInfoSearchList = val
@@ -17,7 +17,7 @@
:indent="0"
:props="props"
:data="treeList"
default-expanded-keys="['64df1d5522bb49c09af2']"
default-expanded-keys="['1']"
highlight-current
@node-click="treeClick"
:filter-node-method="filterNode">
@@ -403,6 +403,7 @@
:wrapperClosable="false"
size="800px"
@close="resetForm"
ref="standard"
append-to-body
>
<!-- 新增样式 -->
@@ -1060,7 +1061,6 @@
@selection-change="selectConfigStandChange">
<el-table-column
type="selection"
width="55"
align="center">
</el-table-column>
<el-table-column
@@ -1075,14 +1075,14 @@
<el-table-column
prop="standName"
label="标准名称"
width="200"
width="500"
align="center">
</el-table-column>
<el-table-column
prop="issueTime"
label="发布日期"
sortable="custom"
width="200"
width="120"
align="center">
<template slot-scope="scope">
{{ formatIssueDate(scope.row.issueTime) }}
@@ -1092,7 +1092,7 @@
prop="XCXSSRQ"
label="实施日期"
sortable="custom"
width="200"
width="120"
align="center">
<template slot-scope="scope">
<span>{{ formatText(scope.row.XCXSSRQ) }}</span>
@@ -1101,7 +1101,7 @@
<el-table-column
prop="textStatus"
label="文本状态"
width="200"
width="100"
align="center">
<template slot-scope="scope">
<span>{{ textStatusMap[scope.row.textStatus] }}</span>
@@ -3321,7 +3321,6 @@ export default {
})
})
this.dynamicFormField = displayLocation
console.log(this.dynamicFormField);
this.loading = false
})
})
@@ -18,7 +18,7 @@
:indent="0"
:props="props"
:data="treeList"
default-expanded-keys="['22179d54d4e640098e30']"
default-expanded-keys="['3']"
highlight-current
@node-click="treeClick"
:filter-node-method="filterNode">
@@ -382,7 +382,7 @@
},
addFormRules: {
unit: [
{required: true, message: '请输入单位', trigger: 'blur'},
{required: true, message: '请输入单位', trigger: 'change'},
],
esName: [
{required: true, message: '请输入企标名称', trigger: 'blur'},
@@ -777,32 +777,31 @@
show-overflow-tooltip
prop="lawsNumber"
label="政策编号"
width="150"
align="center"
>
</el-table-column>
<el-table-column
prop="lawsName"
label="中文名称"
width="200"
align="center">
</el-table-column>
<el-table-column
prop="lawsEnName"
label="英文名称"
width="200"
align="center">
</el-table-column>
<el-table-column
prop="issueTime"
label="发文日期"
width="180"
width="120"
sortable
align="center">
</el-table-column>
<el-table-column
prop="XCXSSRQLAWS"
label="实施日期"
width="180"
width="120"
sortable
align="center">
<template slot-scope="scope">
@@ -814,7 +813,7 @@
<el-table-column
prop="standStatusShow"
label="标准状态"
width="200"
width="100"
align="center">
</el-table-column>
</el-table>
@@ -17,7 +17,7 @@
:indent="0"
:props="props"
:data="treeList"
default-expanded-keys="['22179d54d4e640098e29']"
default-expanded-keys="['2']"
highlight-current
@node-click="treeClick"
:filter-node-method="filterNode">
@@ -1374,14 +1374,14 @@
<el-table-column
prop="standName"
label="标准名称"
width="200"
width="500"
align="center">
</el-table-column>
<el-table-column
prop="issueTime"
label="发布日期"
sortable
width="200"
width="120"
align="center">
<template slot-scope="scope">
{{ scope.row.issueTime || '' }}
@@ -1391,7 +1391,7 @@
prop="XCXSSRQ"
label="实施日期"
sortable
width="200"
width="120"
align="center">
<template slot-scope="scope">
<span>{{ formatText(scope.row.XCXSSRQ) }}</span>
@@ -1400,7 +1400,7 @@
<el-table-column
prop="textStatus"
label="文本状态"
width="200"
width="100"
align="center">
<template slot-scope="scope">
<span>{{ textStatusMap[scope.row.textStatus] }}</span>
@@ -87,9 +87,9 @@
ref="multipleTable"
:data="localProTableList"
tooltip-effect="dark"
style="width: 100%;height: inherit"
style="width: 100%"
border
:max-height="400"
max-height="600"
:header-cell-style="{background: '#e8e8e8', color: '#333333', fontSize: '15px',
fontWeight: 'normal', height: '48px'}"
@selection-change="handleSelectionChange">
@@ -97,18 +97,23 @@
show-overflow-tooltip
prop="projectPlatfor"
align="center"
fixed="left"
min-width="100"
label="产品平台">
</el-table-column>
<el-table-column
prop="projectNumber"
align="center"
width="90"
fixed="left"
min-width="150"
label="项目编号">
</el-table-column>
<el-table-column
show-overflow-tooltip
prop="projectName"
align="center"
fixed="left"
min-width="300"
label="项目名称">
<template slot-scope="scope">
<a @click="handlePreview(scope.row)" class="table-jump">{{ scope.row.projectName }}</a>
@@ -142,7 +147,7 @@
show-overflow-tooltip
prop="productLine"
label="产品线"
min-width="120"
min-width="160"
align="center"
>
</el-table-column>
@@ -184,7 +189,7 @@
align="center"
label="项目经理">
</el-table-column>
<el-table-column label="" fixed="right" width="50" :resizable="false" label="操作" align="center">
<el-table-column label="" fixed="right" width="50" :resizable="false" label="操作" align="center">
<template slot-scope="scope">
<div @click.stop style="display: inline-block">
<el-dropdown trigger="click" @command="handleCommand">
@@ -1638,9 +1643,14 @@ export default {
}
}
}
///deep/ .el-table--scrollable-x .el-table__body-wrapper {
// overflow-x: scroll;
//}
///deep/.el-table__fixed {
// height: 48px !important;
//}
/deep/.el-table .el-table__body-wrapper {
height: 86%;
height: 84%;
}
::v-deep .el-drawer__header {
& > span:first-child {
@@ -10,7 +10,7 @@
<el-card class="contaiinerCard" style="margin: 5px">
<div style="padding: 20px">
<el-row style="margin-top: 10px">
<el-col :span="5">产品平台1: <span class="valueColor">{{ localProEO.projectPlatfor }}</span></el-col>
<el-col :span="5">产品平台: <span class="valueColor">{{ localProEO.projectPlatfor }}</span></el-col>
<el-col :span="5" :push="1">项目编号: <span class="valueColor">{{ localProEO.projectNumber }}</span></el-col>
<el-col :span="5" :push="2">
<el-tooltip class="item" effect="dark" :content="localProEO.projectName" placement="top">
@@ -36,10 +36,11 @@
<el-col :span="4" :push="3">项目级别: <span class="valueColor">{{ localProEO.projectLevel }} </span></el-col>
</el-row>
<el-row style="margin-top: 10px">
<el-col :span="5">项目经理: <span class="valueColor">{{ localProEO.uname }} </span></el-col>
<el-col :span="5" :push="1"> 项目计划开始时间: <span
<el-col :span="5">产品线: <span class="valueColor">{{ localProEO.productLine }} </span></el-col>
<el-col :span="5" :push="1">项目经理: <span class="valueColor">{{ localProEO.uname }} </span></el-col>
<el-col :span="5" :push="2"> 项目计划开始时间: <span
class="valueColor">{{ $moment(localProEO.projectStartDate).format('YYYY-MM-DD') }}</span></el-col>
<el-col :span="5" :push="2">项目计划完成时间: <span
<el-col :span="4" :push="3">项目计划完成时间: <span
class="valueColor">{{ $moment(localProEO.projectEndDate).format('YYYY-MM-DD') }} </span></el-col>
</el-row>
</div>
@@ -168,6 +169,15 @@
</div>
</template>
</el-table-column>
<el-table-column
prop="endTimes"
sortable
width="190px"
label="整改完成时间">
<template slot-scope="scope">
<span>{{ scope.row.endTimes ? scope.row.endTimes.substring(0,10) : '' }}</span>
</template>
</el-table-column>
</el-table>
<pagination
style="position: relative;"
@@ -91,6 +91,7 @@
tooltip-effect="dark"
height="100%"
border
max-height="100%"
class="table"
v-loading="myLoading.loadData"
@selection-change="standSelectChange"
@@ -106,7 +107,7 @@
<el-table-column
prop="standSerialNumber"
fixed="left"
width="180"
min-width="180"
label="标准号">
<template slot-scope="scope">
<a class="table-jump" @click="handlePreview(scope.row)">{{ scope.row.standSerialNumber }}</a>
@@ -115,7 +116,7 @@
<el-table-column
prop="standName"
fixed="left"
width="200"
min-width="300"
show-overflow-tooltip
label="标准名称">
<template slot-scope="scope">
@@ -124,12 +125,12 @@
</el-table-column>
<el-table-column
prop="itemsNum"
width="75"
min-width="100"
label="条款号">
</el-table-column>
<el-table-column
prop="itemsName"
width="180"
min-width="300"
show-overflow-tooltip
label="条款名称">
</el-table-column>
@@ -145,7 +146,7 @@
</el-table-column>
<el-table-column
prop="productName"
width="180"
min-width="300"
show-overflow-tooltip
label="项目名称">
</el-table-column>
@@ -186,7 +187,7 @@
{{ (scope.row.planCloseTime ? scope.row.planCloseTime.substring(0, 11) : "") }}
</template>
</el-table-column>
<el-table-column label="操作" align="center" width="50">
<el-table-column label="操作" align="center" width="50">
<template slot-scope="scope">
<div @click.stop style="display: inline-block">
<el-dropdown trigger="click" @command="handleCommand">
@@ -1187,6 +1188,12 @@ export default {
color: #606266 !important;
}
#rectification-dataBase {
/deep/ .el-table__fixed {
height: 100% !important; //
}
/deep/ .el-table__fixed-right {
height: 100% !important; //
}
/deep/ .table-wrap {
.el-table__fixed {
height: calc(~'100% - 20px') !important;
@@ -69,7 +69,7 @@
<el-table-column
prop="category"
label="标准/政策"
width="180"
width="150"
align="center">
<template slot-scope="scope">
<a class="table-jump" @click.stop="handlePreview(scope.row)">{{ scope.row.category }}</a>
@@ -86,6 +86,7 @@
<el-table-column
prop="endTime"
label="征求意见周期"
width="200"
align="center">
<template slot-scope="scope">
{{ scope.row.startTime + ' ~ ' + scope.row.endTime }}
@@ -94,6 +95,7 @@
<el-table-column
prop="startTime"
label="上传时间"
width="200"
align="center">
</el-table-column>
</el-table>
+115 -97
View File
@@ -943,103 +943,111 @@ const routes = [
title: '企标制修订流程及企业标准库流程'
}
},
// {
// path: '/bussLibrary3',
// name: 'bussLibrary3',
// component: () => import('@/pages/processCenter/pages/creatProcess/qbrk/step3.vue'),
// meta: {
// requireAuth: true,
// title: '企标制修订流程及企业标准库流程'
// }
// },{
// path: '/bussLibraryC3',
// name: 'bussLibraryC3',
// component: () => import('@/pages/processCenter/pages/creatProcess/qbrk/stepC3.vue'),
// meta: {
// requireAuth: true,
// title: '企标制修订流程及企业标准库流程'
// }
// },{
// path: '/bussLibrary4',
// name: 'bussLibrary4',
// component: () => import('@/pages/processCenter/pages/creatProcess/qbrk/step4.vue'),
// meta: {
// requireAuth: true,
// title: '企标制修订流程及企业标准库流程'
// }
// },{
// path: '/bussLibrary5',
// name: 'bussLibrary5',
// component: () => import('@/pages/processCenter/pages/creatProcess/qbrk/step5.vue'),
// meta: {
// requireAuth: true,
// title: '企标制修订流程及企业标准库流程'
// }
// },{
// path: '/bussLibrary6',
// name: 'bussLibrary6',
// component: () => import('@/pages/processCenter/pages/creatProcess/qbrk/step6.vue'),
// meta: {
// requireAuth: true,
// title: '企标制修订流程及企业标准库流程'
// }
// },{
// path: '/bussLibraryC6',
// name: 'bussLibraryC6',
// component: () => import('@/pages/processCenter/pages/creatProcess/qbrk/stepC6.vue'),
// meta: {
// requireAuth: true,
// title: '企标制修订流程及企业标准库流程'
// }
// },{
// path: '/bussLibrary7',
// name: 'bussLibrary7',
// component: () => import('@/pages/processCenter/pages/creatProcess/qbrk/step7.vue'),
// meta: {
// requireAuth: true,
// title: '企标制修订流程及企业标准库流程'
// }
// },{
// path: '/bussLibrary8',
// name: 'bussLibrary8',
// component: () => import('@/pages/processCenter/pages/creatProcess/qbrk/step8.vue'),
// meta: {
// requireAuth: true,
// title: '企标制修订流程及企业标准库流程'
// }
// },{
// path: '/bussLibrary9',
// name: 'bussLibrary9',
// component: () => import('@/pages/processCenter/pages/creatProcess/qbrk/step9.vue'),
// meta: {
// requireAuth: true,
// title: '企标制修订流程及企业标准库流程'
// }
// },{
// path: '/bussLibrary10',
// name: 'bussLibrary10',
// component: () => import('@/pages/processCenter/pages/creatProcess/qbrk/step10.vue'),
// meta: {
// requireAuth: true,
// title: '企标制修订流程及企业标准库流程'
// }
// },{
// path: '/bussLibrary11',
// name: 'bussLibrary11',
// component: () => import('@/pages/processCenter/pages/creatProcess/qbrk/step11.vue'),
// meta: {
// requireAuth: true,
// title: '企标制修订流程及企业标准库流程'
// }
// },{
// path: '/bussLibrary12',
// name: 'bussLibrary12',
// component: () => import('@/pages/processCenter/pages/creatProcess/qbrk/step12.vue'),
// meta: {
// requireAuth: true,
// title: '企标制修订流程及企业标准库流程'
// }
// },
{
path: '/bussLibrary3',
name: 'bussLibrary3',
component: () => import('@/pages/processCenter/pages/creatProcess/qbrk/step3.vue'),
meta: {
requireAuth: true,
title: '企标制修订流程及企业标准库流程'
}
},{
path: '/bussLibraryC3',
name: 'bussLibraryC3',
component: () => import('@/pages/processCenter/pages/creatProcess/qbrk/stepC3.vue'),
meta: {
requireAuth: true,
title: '企标制修订流程及企业标准库流程'
}
},{
path: '/bussLibrary4',
name: 'bussLibrary4',
component: () => import('@/pages/processCenter/pages/creatProcess/qbrk/step4.vue'),
meta: {
requireAuth: true,
title: '企标制修订流程及企业标准库流程'
}
},{
path: '/bussLibrary5',
name: 'bussLibrary5',
component: () => import('@/pages/processCenter/pages/creatProcess/qbrk/step5.vue'),
meta: {
requireAuth: true,
title: '企标制修订流程及企业标准库流程'
}
},{
path: '/bussLibrary6',
name: 'bussLibrary6',
component: () => import('@/pages/processCenter/pages/creatProcess/qbrk/step6.vue'),
meta: {
requireAuth: true,
title: '企标制修订流程及企业标准库流程'
}
},{
path: '/bussLibraryC6',
name: 'bussLibraryC6',
component: () => import('@/pages/processCenter/pages/creatProcess/qbrk/stepC6.vue'),
meta: {
requireAuth: true,
title: '企标制修订流程及企业标准库流程'
}
},{
path: '/bussLibrary7',
name: 'bussLibrary7',
component: () => import('@/pages/processCenter/pages/creatProcess/qbrk/step7.vue'),
meta: {
requireAuth: true,
title: '企标制修订流程及企业标准库流程'
}
},{
path: '/bussLibrary8',
name: 'bussLibrary8',
component: () => import('@/pages/processCenter/pages/creatProcess/qbrk/step8.vue'),
meta: {
requireAuth: true,
title: '企标制修订流程及企业标准库流程'
}
},{
path: '/bussLibrary9',
name: 'bussLibrary9',
component: () => import('@/pages/processCenter/pages/creatProcess/qbrk/step9.vue'),
meta: {
requireAuth: true,
title: '企标制修订流程及企业标准库流程'
}
},{
path: '/bussLibrary10',
name: 'bussLibrary10',
component: () => import('@/pages/processCenter/pages/creatProcess/qbrk/step10.vue'),
meta: {
requireAuth: true,
title: '企标制修订流程及企业标准库流程'
}
},{
path: '/bussLibrary11',
name: 'bussLibrary11',
component: () => import('@/pages/processCenter/pages/creatProcess/qbrk/step11.vue'),
meta: {
requireAuth: true,
title: '企标制修订流程及企业标准库流程'
}
},{
path: '/bussLibrary12',
name: 'bussLibrary12',
component: () => import('@/pages/processCenter/pages/creatProcess/qbrk/step12.vue'),
meta: {
requireAuth: true,
title: '企标制修订流程及企业标准库流程'
}
},{
path: '/bussLibraryDetail',
name: 'bussLibraryDetail',
component: () => import('@/pages/processCenter/pages/creatProcess/qbrk/stepDetail.vue'),
meta: {
requireAuth: true,
title: '企标制修订流程及企业标准库流程'
}
},
{
path: '/bzdyStep1',
name: 'bzdyStep1',
@@ -1848,6 +1856,16 @@ const routes = [
title: '标准解读流程'
}
},
{
path: '/phoneWfhxStep5',
name: 'phoneWfhxStep5',
component: () => import('@/pages/processCenter/pages/phone/wfhxzg/step5.vue'),
meta: {
isBoolean: true,
requireAuth: true,
title: '未符合项整改流程'
}
},
]
},