Merge branch 'develop' into 'FOTON'

Develop

See merge request LAWS/laws-system-front-FOTON!220
This commit is contained in:
王夏晖
2021-12-07 20:14:55 +08:00
75 changed files with 7288 additions and 926 deletions
+14
View File
@@ -0,0 +1,14 @@
/**
* @description: 业务相关API接口
*/
import axios from '@/common/axiosV2'
// 企标评价-获取评价指标
export function getEvaluationIndex (data) {
return axios({
url: '/api/sarEnterpriseStandardEvaluation/evaluation-index/getEvaluationIndex',
method: 'get',
params: data
})
}
+9
View File
@@ -137,6 +137,15 @@ export function queryTaskFirst (data) {
params: data
})
}
// 草稿删除
export function taskDel (data) {
return axios({
url: '/api/lawss/activiti/delCG',
method: 'post',
params: data
})
}
// 整改流程 详情查询nonconformity
export function getNonconformity (data) {
return axios({
+4
View File
@@ -6,4 +6,8 @@
.el-message {
min-width: 200px !important;
}
.el-message-box {
width: 270px!important;
top: -60px!important;
}
}
@@ -2,8 +2,8 @@
<template>
<div class="attribute-custom v-class">
<div class="action-bar1">
<el-button class="common-button-primary add-button" size="mini" v-btn-permission="''" type="primary" @click="showAddModel"><i class="el-icon-plus"></i>新增</el-button>
<el-button class="common-button-default" size="mini" v-btn-permission="''" @click="showDisplayLocationDialog" >展示区域管理</el-button>
<el-button class="common-button-primary add-button" style="margin-right: 5px" size="mini" v-btn-permission="''" type="primary" @click="showAddModel">新增</el-button>
<el-button class="common-button-default" size="small" v-btn-permission="''" @click="showDisplayLocationDialog" >展示区域管理</el-button>
</div>
<loading :loading="attributeDataLoading">数据处理中</loading>
<div class="content">
@@ -2,8 +2,8 @@
<template>
<div class="attribute-custom v-class">
<div class="action-bar1">
<el-button class="common-button-primary add-button" size="mini" type="primary" v-btn-permission="''" @click="showAddModel"><i class="el-icon-plus"></i>新增</el-button>
<el-button class="common-button-default" size="mini" @click="showDisplayLocationDialog" v-btn-permission="''">展示区域管理</el-button>
<el-button class="common-button-primary add-button" style="margin-right: 5px" size="mini" type="primary" v-btn-permission="''" @click="showAddModel">新增</el-button>
<el-button class="common-button-default" size="small" @click="showDisplayLocationDialog" v-btn-permission="''">展示区域管理</el-button>
</div>
<loading :loading="attributeDataLoading">数据处理中</loading>
<div class="content">
@@ -2,7 +2,7 @@
<template>
<div class="attribute-custom v-class">
<div class="action-bar1">
<el-button size="mini" style="margin-right: 5px" class="common-button-primary add-button" type="primary" @click="showAddModel"><i class="el-icon-plus"></i>新增</el-button>
<el-button size="mini" style="margin-right: 5px" class="common-button-primary add-button" type="primary" @click="showAddModel">新增</el-button>
<el-button size="small" class="common-button-default" @click="showDisplayLocationDialog">展示区域管理</el-button>
</div>
<loading :loading="attributeDataLoading">数据处理中</loading>
@@ -52,14 +52,14 @@
prop="name"
label="链接名称">
</el-table-column>
<el-table-column
<!-- <el-table-column
prop="icon"
label="链接图标">
<template slot-scope="scope">
<img v-if="scope.row.icon !== ''" style="height: 50px;width: 50px" :src="scope.row.icon">
<span v-else>{{ '-' }}</span>
</template>
</el-table-column>
</el-table-column>-->
<el-table-column
prop="url"
show-overflow-tooltip
@@ -121,7 +121,7 @@
show-word-limit
clearable></el-input>
</el-form-item>
<el-form-item label="链接图标" prop="icon" label-width="150px" class="add-form-item">
<!-- <el-form-item label="链接图标" prop="icon" label-width="150px" class="add-form-item">
<el-upload
v-model="sarStandardsInfoEO.icon"
class="upload-demo"
@@ -133,7 +133,7 @@
<img width="100%" v-if="imageUrl" :src="imageUrl" class="avatar">
<i v-else class="el-icon-plus avatar-uploader-icon"></i>
</el-upload>
</el-form-item>
</el-form-item>-->
<el-form-item label="链接" prop="url" label-width="150px" class="add-form-item">
<el-input
v-model="sarStandardsInfoEO.url"
@@ -145,7 +145,7 @@
</el-form>
<span slot="footer" class="demo-drawer-footer">
<el-button class="common-button-default" size="mini" icon="el-icon-close" @click="resetForm">取消</el-button>
<el-button type="primary" size="mini" class="common-button-primary" icon="el-icon-check" @click="submit">确定</el-button>
<el-button type="primary" size="mini" class="common-button-primary" icon="el-icon-check" :loading="subLoading" @click="submit">确定</el-button>
</span>
</el-dialog>
</div>
@@ -203,6 +203,7 @@ export default {
imageUrl: '',
uploadUrl: 'api/att/attFile/upload',
subLoading: false
}
},
methods: {
@@ -351,6 +352,7 @@ export default {
submit() {
this.$refs['sarStandardsInfoForm'].validate((valid) => {
if (valid) {
this.subLoading = true
if (this.type === 1) {
this.$http.postData('sarUrl/tsUrl/add', {
...this.sarStandardsInfoEO,
@@ -360,12 +362,14 @@ export default {
}, res => {
if (res.ok) {
this.$message.success('新增成功')
this.subLoading = false
this.modalshowflag = false
this.imageUrl = ''
this.linkListFirst = []
this.getLink()
} else {
this.$message.warning(res.message)
this.subLoading = false
}
})
} else {
@@ -382,11 +386,13 @@ export default {
}, res => {
if (res.ok) {
this.$message.success('修改成功')
this.subLoading = false
this.modalshowflag = false
this.linkListFirst = []
this.getLink()
} else {
this.$message.warning(res.message)
this.subLoading = false
}
})
}
@@ -52,14 +52,14 @@
prop="name"
label="链接名称">
</el-table-column>
<el-table-column
<!-- <el-table-column
prop="icon"
label="链接图标">
<template slot-scope="scope">
<img v-if="scope.row.icon !== ''" style="height: 50px;width: 50px" :src="scope.row.icon">
<span v-else>{{ '-' }}</span>
</template>
</el-table-column>
</el-table-column>-->
<el-table-column
prop="url"
show-overflow-tooltip
@@ -121,7 +121,7 @@
show-word-limit
clearable></el-input>
</el-form-item>
<el-form-item label="链接图标" prop="icon" label-width="150px" class="add-form-item">
<!-- <el-form-item label="链接图标" prop="icon" label-width="150px" class="add-form-item">
<el-upload
v-model="sarStandardsInfoEO.icon"
class="avatar-uploader"
@@ -132,7 +132,7 @@
<img v-if="imageUrl" :src="imageUrl" class="avatar">
<i v-else class="el-icon-plus avatar-uploader-icon"></i>
</el-upload>
</el-form-item>
</el-form-item>-->
<el-form-item label="链接" prop="url" label-width="150px" class="add-form-item">
<el-input
v-model="sarStandardsInfoEO.url"
@@ -144,7 +144,7 @@
</el-form>
<span slot="footer" class="demo-drawer-footer">
<el-button class="common-button-default" size="mini" icon="el-icon-close" @click="resetForm">取消</el-button>
<el-button type="primary" size="mini" class="common-button-primary" icon="el-icon-check" @click="submit">确定</el-button>
<el-button type="primary" size="mini" class="common-button-primary" icon="el-icon-check" :loading="subLoading" @click="submit">确定</el-button>
</span>
</el-dialog>
</div>
@@ -203,7 +203,8 @@ export default {
imageUrl: '',
uploadUrl: 'api/att/attFile/upload',
verifyImg: ''
verifyImg: '',
subLoading: false
}
},
methods: {
@@ -353,6 +354,7 @@ export default {
submit() {
this.$refs['sarStandardsInfoForm'].validate((valid) => {
if (valid) {
this.subLoading = true
if (this.type === 1) {
this.$http.postData('sarUrl/tsUrl/add', {
...this.sarStandardsInfoEO,
@@ -362,11 +364,13 @@ export default {
}, res => {
if (res.ok) {
this.$message.success('新增成功')
this.subLoading = false
this.modalshowflag = false
this.linkListSecond = []
this.getLink()
} else {
this.$message.warning(res.message)
this.subLoading = false
}
})
} else {
@@ -382,11 +386,13 @@ export default {
}, res => {
if (res.ok) {
this.$message.success('修改成功')
this.subLoading = false
this.modalshowflag = false
this.linkListSecond = []
this.getLink()
} else {
this.$message.warning(res.message)
this.subLoading = false
}
})
}
+1 -1
View File
@@ -21,7 +21,7 @@
class="common-button-primary add-button"
@click="Add"
size="mini">新增</el-button>
<el-button type="primary"
<el-button type="danger"
class="common-button-primary add-button"
@click="deleteList"
size="mini">删除</el-button>
@@ -52,10 +52,10 @@
size="mini"
@click="showAddModel(1, null)"
v-btn-permission="''"
><i class="el-icon-plus"></i>新增</el-button
>新增</el-button
>
<el-button @click="deleteAttr" size="mini" class="common-button-default" v-btn-permission=""
><i class="iconfont">&#xe61b;</i>删除</el-button
<el-button @click="deleteAttr" size="mini" type="danger" class="common-button-default" v-btn-permission=""
>删除</el-button
>
</div>
</div>
@@ -9,10 +9,10 @@
<el-row>
<span v-for="(item, index) in linkListFirst" :key="index">
<el-col :span="4">
<img
<!-- <img
style="height: 10px;width: 10px;margin-bottom: 3px"
:src="item.icon"
v-if="index < 5">
v-if="index < 5">-->
<a v-if="index < 5" style="color: #0068B7;cursor: pointer" @click="openLinkUrl(item.url)" target="_blank">
<a v-if="item.name.length > 8"> {{ item.name.slice(0, 8) + '...' }}</a>
<a v-else>{{ item.name }}</a>
@@ -29,10 +29,10 @@
<el-row style="margin-bottom: 10px;">
<span v-for="(item, index) in linkListSecond" :key="index">
<el-col :span="4">
<img
<!-- <img
style="height: 10px;width: 10px;margin-bottom: 3px"
:src="item.icon"
v-if="index < 5">
v-if="index < 5">-->
<a v-if="index < 5" style="color: #0068B7;cursor: pointer" @click="openLinkUrl(item.url)" target="_blank">
<a v-if="item.name.length > 8"> {{ item.name.slice(0, 8) + '...' }}</a>
<a v-else>{{ item.name }}</a>
+3 -3
View File
@@ -8,12 +8,12 @@
<div class="date-picker" style="display: inline">
<span class="item">
<el-select v-model="formData.year" @change="handleDate">
<el-option v-for="item in year" :value="item">{{ item }}</el-option>
<el-option v-for="(item, index) in year" :value="item" :key="index">{{ item }}</el-option>
</el-select>
</span>
<span class="item">
<el-select v-model="formData.month" @change="handleDate">
<el-option v-for="item in month" :value="item">{{ item }}</el-option>
<el-option v-for="(item, index) in month" :value="item" :key="index">{{ item }}</el-option>
</el-select>
</span>
</div>
@@ -56,7 +56,7 @@
</div>
<div style="text-align: center;font-weight: bold;color: #99999a">暂无会议</div>
</span>
<el-card class="card_info" v-else v-for="item in todayData" :value="item">
<el-card class="card_info" v-else v-for="(item, index) in todayData" :value="item" :key="index">
<span v-for="res in item.attend" :key="res.fillPeopleId">
<el-tag v-if="userId === res.fillPeopleId" type="success" size="mini">会议</el-tag>
<el-tag v-else type="warning" size="mini">会议</el-tag>
+51 -221
View File
@@ -10,6 +10,9 @@
<el-button size="mini" @click="delData" v-btn-permission="'ef6262d0bf66a25633e903d76a93e579'"
><i class="iconfont">&#xe61b;</i>删除</el-button
>
<el-button size="mini" @click="editOcrRecord" v-btn-permission="'ef6262d0bf66a25633e903d76a93e579'"
><i class="iconfont">&#xe611;</i>编辑</el-button
>
</div>
</div>
<div class="content">
@@ -100,26 +103,17 @@
width="120"
>
</el-table-column>
<el-table-column label="操作" align="center" width="50" fixed="right">
<el-table-column label="操作" align="center" width="150" fixed="right">
<template slot-scope="scope">
<div @click.stop style="display: inline-block">
<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="'018cb58e72025fc43a9bfe1bde00c14a'"
>获取文件</el-dropdown-item
>
<el-dropdown-item :command="[scope.row, '编辑']" v-btn-permission="'14bdb937d168478e65b139214e982a8c'"
>编辑</el-dropdown-item
>
<el-dropdown-item :command="[scope.row, '删除']" v-btn-permission="'74cffbebad841dbe2e0597792e5aba3f'"
>删除</el-dropdown-item
>
<!-- <el-dropdown-item :command="[scope.row, '在线编辑']" v-btn-permission=""
>在线编辑</el-dropdown-item
>-->
</el-dropdown-menu>
</el-dropdown>
<el-button
:disabled="scope.row.resultContent === '转换中'"
v-btn-permission="'018cb58e72025fc43a9bfe1bde00c14a'"
type="primary"
size="mini"
class="common-button-primary"
@click="downloadFile(scope.row)"
>获取文件</el-button>
</div>
</template>
</el-table-column>
@@ -165,12 +159,14 @@
<el-button
v-if="uploadFilesdfEo.fileName === ''"
type="primary"
size="mini"
class="common-button-primary"
>{{ $t("m.upload")+' PDF'}}</el-button>
<div v-else>
<el-input readonly v-model="uploadFilesdfEo.fileName" class="bead-input" style="width: 62%;margin-right: 14px"></el-input>
<el-button
type="primary"
size="mini"
class="common-button-primary"
>{{ $t("m.upload")+' PDF'}}</el-button>
</div>
@@ -719,6 +715,7 @@ export default {
components: {},
data() {
return {
selectTableDatas: [],
textStatusMap: {}, // 文本状态id与name对应
lawInfoTable:[],
lawInfoTableLoading: true,
@@ -784,184 +781,7 @@ export default {
{ required: true, message: '文件不能为空', trigger: 'change' }
]
},
options: [
// {
// value: "STAND_FILE",
// label: "标准文本",
// },
// {
// value: "DRAFT_FILE",
// label: "草案",
// },
// {
// value: "OPINION_FILE",
// label: "征求意见稿",
// },
// {
// value: "SENT_SCREEN_FILE",
// label: "送审稿",
// },
// {
// value: "APPROVAL_FILE",
// label: "报批稿",
// },
// {
// value: "RELEVANCE_FILE",
// label: "关联文件",
// },
],
/* standRecoColumn: [
{
type: 'selection',
width: 60,
align: 'center'
},
{
title: '序号',
type: 'index',
align: 'center'
},
{
title: '资料类型',
key: 'fileType',
align: 'center',
render: (h, params) => {
let texts
if (params.row.fileType === '1') {
texts = '国内标准法规'
} else if (params.row.fileType === '2') {
texts = '海外标准法规'
} else if (params.row.fileType === '3') {
texts = '政策'
} else if (params.row.fileType === '4') {
texts = '企业标准'
} else {
texts = '标准'
}
return h('div', {
class: {
'text-overflow-hidden': true
},
attrs: {
title: texts
}
}, texts)
}
},
{
title: '标准号/政策号',
key: 'standNumber',
align: 'center'
},
{
title: '标准名称/政策名称',
key: 'standName',
align: 'center'
},
{
title: '文本状态',
key: 'fileStatus',
align: 'center',
render: (h, params) => {
let texts
if (params.row.fileType === 'STAND_FILE') {
texts = '标准文本'
} else if (params.row.fileType === 'DRAFT_FILE') {
texts = '草案'
} else if (params.row.fileType === 'OPINION_FILE') {
texts = '征求意见稿'
} else if (params.row.fileType === 'SENT_SCREEN_FILE') {
texts = '送审稿'
} else if (params.row.fileType === 'APPROVAL_FILE') {
texts = '报批稿'
} else if (params.row.fileType === 'RELEVANCE_FILE') {
texts = '关联文件'
}
return h('div', {
class: {
'text-overflow-hidden': true
},
attrs: {
title: texts
}
}, texts)
}
},
{
title: '转换结果',
key: 'resultContent',
align: 'center'
},
{
title: '消耗时间',
key: 'spendTime',
align: 'center'
},
{
title: '操作',
key: 'action',
width: 200,
align: 'center',
render: (h, params) => {
return h('div', [
h('Button', {
props: {
type: 'primary',
size: 'small'
},
style: {
marginRight: '5px'
},
on: {
click: () => {
this.downloadFile(params.row)
}
}
}, '获取文件'),
h('Button', {
props: {
type: 'warning',
size: 'small'
},
style: {
marginRight: '5px'
},
on: {
click: () => {
this.editOcrRecord(params.row)
}
}
}, '编辑'),
h('Dropdown', {
props: {
trigger: 'click'
},
on: {
'on-click': (value) => {}
}
}, [
h('Button', {
props: {
type: 'primary',
size: 'small'
}
}, '更多'),
h('DropdownMenu', {
slot: 'list'
},
this.dropdownItems.map(function (type) {
return h('DropdownItem', {
props: {
name: type.val
}
}, type.val)
})
)
])
])
}
}
],*/
options: [],
modalType: "",
standRecoList: [],
selectTableData: [],
@@ -1237,6 +1057,7 @@ export default {
this.selectTableData = [];
for (let i = 0; i < data.length; i++) {
this.selectTableData.push(data[i].id);
this.selectTableDatas.push(data[i])
}
},
// 上传
@@ -1326,28 +1147,32 @@ export default {
this.$refs["importFileAboutStand"].clearFiles();
},
// 编辑
editOcrRecord(row) {
console.log('575',row)
this.modalType = "2";
this.title = "编辑信息";
this.btnName = "保存";
this.uploadFilesdfEo.fileName = row.fileName
this.uploadModal = true;
this.uploadFilesdfEo.standNumber = JSON.parse(
JSON.stringify(row)
).standNumber;
this.uploadFilesdfEo.standName = JSON.parse(
JSON.stringify(row)
).standName;
// this.uploadFilesdfEo.fileType = JSON.parse(JSON.stringify(row)).fileType
this.options.map((item) => {
if (item.attrName === JSON.parse(JSON.stringify(row)).fileType) {
this.uploadFilesdfEo.fileType = item.attrName;
}
});
this.uploadFilesdfEo.id = JSON.parse(JSON.stringify(row)).id;
this.uploadFilesdfEo.attId = "";
this.defaultFileList = [];
editOcrRecord() {
if (this.selectTableDatas.length === 1) {
let row = this.selectTableDatas[0]
this.modalType = "2";
this.title = "编辑信息";
this.btnName = "保存";
this.uploadFilesdfEo.fileName = row.fileName
this.uploadModal = true;
this.uploadFilesdfEo.standNumber = JSON.parse(
JSON.stringify(row)
).standNumber;
this.uploadFilesdfEo.standName = JSON.parse(
JSON.stringify(row)
).standName;
// this.uploadFilesdfEo.fileType = JSON.parse(JSON.stringify(row)).fileType
this.options.map((item) => {
if (item.attrName === JSON.parse(JSON.stringify(row)).fileType) {
this.uploadFilesdfEo.fileType = item.attrName;
}
});
this.uploadFilesdfEo.id = JSON.parse(JSON.stringify(row)).id;
this.uploadFilesdfEo.attId = "";
this.defaultFileList = [];
} else {
this.$message.warning('请选择一条数据进行编辑')
}
},
// 提交
uploadSave() {
@@ -1519,7 +1344,7 @@ export default {
(res) => {
if (res.ok) {
this.standRecoList = res.data.list;
this.total = res.data.list.length;
this.total = res.data.count
}
},
e => {}
@@ -1532,8 +1357,13 @@ export default {
this.$http.get('lawss/sarStandAttrDetails/getListData', '', {
_this: this
}, res => {
this.options = res.data
console.log(this.options);
let option = []
res.data.map(item => {
if (item.sarType === 'STAND' || item.sarType === 'INLAND_STAND') {
option.push(item)
}
})
this.options = option
})
this.getTableData();
},
@@ -269,6 +269,9 @@ export default {
this.getData()
},
methods: {
phoneClick () {
this.$router.push('/phoneBzrhStep2')
},
processTable() {
this.$http.get("lawss/activiti/get_list_by_instance", {
prcNum: this.$route.query.prcNum,
@@ -292,6 +292,9 @@ export default {
this.getData()
},
methods: {
phoneClick () {
this.$router.push('/phoneBzrhStep4')
},
// 右上标签页面切换
handleTabs(name) {
this.active = name
@@ -303,6 +303,11 @@ export default {
this.getData()
},
methods: {
phoneClick () {
if (this.taskInfo !== '标准法规工程师汇总修订完毕') {
this.$router.push('/phoneBzrhStep6')
}
},
// 右上标签页面切换
handleTabs(name) {
this.active = name
@@ -274,6 +274,9 @@ export default {
this.getData()
},
methods: {
phoneClick () {
this.$router.push('/phoneBzhhStep2')
},
// 右上标签页面切换
handleTabs(name) {
this.active = name
@@ -241,6 +241,9 @@ export default {
this.getData()
},
methods: {
phoneClick () {
this.$router.push('/phoneBzchStep2')
},
// 右上标签页面切换
handleTabs(name) {
this.active = name
@@ -246,6 +246,9 @@ export default {
this.getData()
},
methods: {
phoneClick () {
this.$router.push('/phoneBzchStep4')
},
// 右上标签页面切换
handleTabs(name) {
this.active = name
@@ -260,6 +260,11 @@ export default {
this.getData()
},
methods: {
phoneClick () {
if (this.taskInfo !== '标准法规工程师修订完毕') {
this.$router.push('/phoneBzchStep6')
}
},
// 右上标签页面切换
handleTabs(name) {
this.active = name
@@ -372,6 +372,29 @@
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item v-show="form.standInData === '1'" label="修订本" prop="xdb" class="add-form-item form-item-disabled">
<el-input
disabled
style="display: none;"
v-model="form.xdbName"
clearable
></el-input>
<div style="display: flex;justify-content: space-between">
<div style="width: 80%;">
<div v-for="(item,index) in xdbFileList" :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('xdb')">
<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="kwj" class="add-form-item form-item-disabled">
<el-input
disabled
@@ -1261,6 +1284,7 @@
jdwjFileList: [],
zbjbdFileList: [],
kwjFileList: [],
xdbFileList: [],
glwjFileList: [],
nodeList5: [],
filterText:'',
@@ -1380,7 +1404,7 @@
standNature: '', // 标准性质
standEnName: '', // 英文名称
standName: '', // 中文名称
signFlag: '1', // 是否需要会签
signFlag: '2', // 是否需要会签
issueTime: '', // 发布时间
isRelateAccess: '', // 是否纳入认证清单
standSystem: '',// 标准体系
@@ -1412,6 +1436,7 @@
jdwjName: '', // 解读文件
zbjbdName: '', // 增补件
kwjName: '', // 勘误件
xdbName: '', // 修订本
glwjName: '', // 关联文件
// 适用范围
txlb: '', // 体系类别
@@ -1990,6 +2015,9 @@
case 'kwj':
this.getFileList(value,this.kwjFileList);
break;
case 'xdb':
this.getFileList(value,this.xdbFileList);
break;
case 'jdwj':
this.getFileList(value,this.jdwjFileList);
break;
@@ -2499,6 +2527,9 @@
case 'kwj':
this.kwjFileList=fileList;
break;
case 'xdb':
this.xdbFileList=fileList;
break;
case 'ca':
this.caFileList=fileList;
break;
@@ -2568,6 +2599,9 @@
case 'kwj':
this.fileList=this.kwjFileList
break;
case 'xdb':
this.fileList=this.xdbFileList
break;
case 'ca':
this.fileList=this.caFileList
break;
@@ -2606,6 +2640,9 @@
case 'kwj':
this.kwjFileList=fileList;
break;
case 'xdb':
this.xdbFileList=fileList;
break;
case 'ca':
this.caFileList=fileList;
break;
@@ -2756,6 +2793,9 @@
this.form.kwj=this.kwjFileList.map(item => item.response.data.id).join(",")
this.form.kwjName=this.kwjFileList.map(item => item.name).join(",")
this.form.xdb=this.xdbFileList.map(item => item.response.data.id).join(",")
this.form.xdbName=this.xdbFileList.map(item => item.name).join(",")
this.form.ca=this.caFileList.map(item => item.response.data.id).join(",")
this.form.caName=this.caFileList.map(item => item.name).join(",")
@@ -516,6 +516,9 @@ export default {
this.fileList = res.data
})
})
this.qbfsForm.standId = this.selectList[0].id
this.qbfsForm.standtextStatus = "3lqnlgmgcn"
this.qbfsForm.textStatusBuss = this.selectList[0].textStatusBuss || '--'
this.qbfsForm.entNumber = this.selectList[0].standCode || '--'
this.qbfsForm.cnName = this.selectList[0].standName || '--'
this.qbfsForm.enName = this.selectList[0].standEnName || '--'
@@ -121,7 +121,7 @@
v-model="qbfsForm.jgUser"
placeholder="请选择工作组成员"
clearable
@click.native="choiceZRR(null,'jgUser', '选择工作组成员', roleForm.jgUser)"
@click.native="choiceZRRS"
></el-input>
</el-form-item>
</el-col>
@@ -235,7 +235,7 @@
:is-title="drawerTitle"
:is-visible.sync="modalshowflag"
@checkedRole="checkedRole"
:nodeList="nodeList"
:nodeList="nodeList2"
></Role-tree>
</div>
</template>
@@ -260,6 +260,7 @@ export default {
commentText: '',
detailData: [],
nodeList: [],
nodeList2: [],
isSubmit: false,
saveLoading: false,
isTransfer: false,
@@ -396,14 +397,12 @@ export default {
this.processStep = window.URL.createObjectURL(res.data)
})
},
choiceZRR(scope, type, title, id) {
if (scope != null) {
this.dsadadadsada = scope.$index;
choiceZRRS() {
this.drawerTitle = '请选择工作组成员'
this.nodeList2 = [];
if (this.qbfsForm.jgUserId) {
this.nodeList2 = this.qbfsForm.jgUserId.split(",");
}
this.nodeList = [];
this.nodeList.push(id);
this.type = type;
this.drawerTitle = title;
this.modalshowflag = true;
},
checkedRole(data) {
@@ -2,7 +2,7 @@
<div class="qbfz-step7">
<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>
@@ -556,6 +556,9 @@ export default {
}else if(this.selectList.length < 1){
this.$message.warning('请至少选择一条数据进行带入')
}else{
this.standardSearch.standId = this.selectList[0].id
this.standardSearch.standtextStatus = "3lqnlgmgcn"
this.standardSearch.textStatusBuss = this.selectList[0].textStatusBuss || '--'
this.standardSearch.standCode = this.selectList[0].standCode || '--'
this.standardSearch.standName = this.selectList[0].standName || '--'
this.standardSearch.enName = this.selectList[0].standEnName || '--'
@@ -2,7 +2,7 @@
<div class="qbfz-step6">
<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>
@@ -2,7 +2,7 @@
<div class="qbfz-step7">
<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>
@@ -2622,7 +2622,7 @@
this.fileInfoHandle()
this.isSubmit = true
this.form.country=this.countryArr;
this.form.standCode = this.form.standSort + ' ' + this.form.standNumber + ( this.form.standYear === '' ? '' : '-' + this.form.standYear)
this.form.standCode = this.form.standSort + ' ' + this.form.standNumber + ( this.form.standYear === '' ? '' : '-' + this.form.standYear) +' X'
var json = Object.assign(this.form, this.roleForm)
json.zrUserId = this.form.zrUserId
json.jlUserId = this.form.jlUserId
@@ -2,7 +2,7 @@
<!-- 标准入库流程-->
<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>
@@ -25,7 +25,7 @@
<el-row :gutter="24">
<el-col :span="12">
<el-form-item label="企标类别" prop="standSort" class="add-form-item form-item-disabled">
<el-select v-model="form.standSort" filterable clearable :disabled="disabledState" style="appearance: none">
<el-select v-model="form.standSort" filterable clearable placeholder="" :disabled="disabledState" style="appearance: none">
<el-option
v-for="item in standSortOptions"
:key="item.value"
@@ -41,7 +41,7 @@
></el-input>
</el-form-item>
<el-form-item label="文本状态" prop="textStatusBuss" class="add-form-item form-item-disabled">
<el-select :popper-append-to-body="false" v-model="form.textStatusBuss" :disabled="disabledState">
<el-select :popper-append-to-body="false" v-model="form.textStatusBuss" placeholder="" :disabled="disabledState">
<el-option
v-for="item in standStateOptions"
:key="item.value"
@@ -158,7 +158,7 @@
<el-row :gutter="24">
<el-col :span="12">
<el-form-item label="起草部门" prop="QCDW" class="add-form-item form-item-disabled">
<el-select :popper-append-to-body="false" v-model="form.QCDW" :disabled="disabledState" multiple>
<el-select :popper-append-to-body="false" v-model="form.QCDW" placeholder="" :disabled="disabledState" multiple>
<el-option
v-for="item in qcdwOptions"
:key="item.value"
@@ -175,7 +175,7 @@
></el-input>
</el-form-item>
<el-form-item label="能源类型" prop="NYLXCLASS" class="add-form-item form-item-disabled">
<el-select :popper-append-to-body="false" v-model="form.NYLXCLASS" :disabled="disabledState" multiple>
<el-select :popper-append-to-body="false" v-model="form.NYLXCLASS" placeholder="" :disabled="disabledState" multiple>
<el-option
v-for="item in categoryOptions"
:key="item.value"
@@ -193,7 +193,7 @@
</el-col>
<el-col :span="12">
<el-form-item label="起草人" prop="QCRBUSS" class="add-form-item form-item-disabled">
<el-select :popper-append-to-body="false" v-model="form.QCRBUSS" :disabled="disabledState" >
<el-select :popper-append-to-body="false" v-model="form.QCRBUSS" placeholder="" :disabled="disabledState" >
<el-option
v-for="item in qcrOptions"
:key="item.value"
@@ -203,7 +203,7 @@
</el-select>
</el-form-item>
<el-form-item label="适用车型" prop="SYCXCLASS" class="add-form-item form-item-disabled">
<el-select :popper-append-to-body="false" v-model="form.SYCXCLASS" :disabled="disabledState" multiple>
<el-select :popper-append-to-body="false" v-model="form.SYCXCLASS" placeholder="" :disabled="disabledState" multiple>
<el-option
v-for="item in applyArcticOptions"
:key="item.value"
@@ -213,7 +213,7 @@
</el-select>
</el-form-item>
<el-form-item label="适用产品线" prop="SYCPXCLASS" class="add-form-item form-item-disabled">
<el-select :popper-append-to-body="false" v-model="form.SYCPXCLASS" :disabled="disabledState" multiple>
<el-select :popper-append-to-body="false" v-model="form.SYCPXCLASS" placeholder="" :disabled="disabledState" multiple>
<el-option
v-for="item in sycpxOptions"
:key="item.value"
@@ -674,10 +674,9 @@
:maxlength="100"></el-input>
</el-form-item>
<el-formItem label="文本状态" prop="lawsTextState" class="search-item">
<el-select v-model="standardSearchForm.lawsTextState" filterable clearable>
<el-select v-model="standardSearchForm.lawsTextState" placeholder="" filterable clearable>
<el-option
v-for="item in standStateOptions"
placeholder="请选择"
:key="item.value"
:value="item.value"
:label="item.label"
@@ -2516,17 +2515,15 @@
_this: this
}, res => {
if (res.success) {
this.$message.success(res.message)
if(this.formTongGuo.approvalOpinion === '1'){
this.$message.warning("驳回成功")
}else{
this.$message.success(res.message)
// this.processCreateLaws(json)
}
this.isSubmit = false
//
this.$router.push({path:'/processCenter?tabsName=ProcessCenter'})
// if(this.formTongGuo.approvalOpinion === '1'){
// this.$message.warning("")
// this.isSubmit = false
// //
// this.$router.push({path:'/processCenter?tabsName=ProcessCenter'})
// }else{
// this.processCreateLaws(json)
// }
}else {
this.$message.success(res.message)
}
@@ -2,7 +2,7 @@
<!-- 标准入库流程-->
<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>
@@ -25,7 +25,7 @@
<el-row :gutter="24">
<el-col :span="12">
<el-form-item label="企标类别" prop="standSort" class="add-form-item form-item-disabled">
<el-select v-model="form.standSort" filterable clearable :disabled="disabledState" style="appearance: none">
<el-select v-model="form.standSort" filterable clearable placeholder="" :disabled="disabledState" style="appearance: none">
<el-option
v-for="item in standSortOptions"
:key="item.value"
@@ -41,7 +41,7 @@
></el-input>
</el-form-item>
<el-form-item label="文本状态" prop="textStatusBuss" class="add-form-item form-item-disabled">
<el-select :popper-append-to-body="false" v-model="form.textStatusBuss" :disabled="disabledState">
<el-select :popper-append-to-body="false" v-model="form.textStatusBuss" placeholder="" :disabled="disabledState">
<el-option
v-for="item in standStateOptions"
:key="item.value"
@@ -158,7 +158,7 @@
<el-row :gutter="24">
<el-col :span="12">
<el-form-item label="起草部门" prop="QCDW" class="add-form-item form-item-disabled">
<el-select :popper-append-to-body="false" v-model="form.QCDW" :disabled="disabledState" multiple>
<el-select :popper-append-to-body="false" v-model="form.QCDW" placeholder="" :disabled="disabledState" multiple>
<el-option
v-for="item in qcdwOptions"
:key="item.value"
@@ -175,7 +175,7 @@
></el-input>
</el-form-item>
<el-form-item label="能源类型" prop="NYLXCLASS" class="add-form-item form-item-disabled">
<el-select :popper-append-to-body="false" v-model="form.NYLXCLASS" :disabled="disabledState" multiple>
<el-select :popper-append-to-body="false" v-model="form.NYLXCLASS" placeholder="" :disabled="disabledState" multiple>
<el-option
v-for="item in categoryOptions"
:key="item.value"
@@ -193,7 +193,7 @@
</el-col>
<el-col :span="12">
<el-form-item label="起草人" prop="QCRBUSS" class="add-form-item form-item-disabled">
<el-select :popper-append-to-body="false" v-model="form.QCRBUSS" :disabled="disabledState" >
<el-select :popper-append-to-body="false" v-model="form.QCRBUSS" placeholder="" :disabled="disabledState" >
<el-option
v-for="item in qcrOptions"
:key="item.value"
@@ -203,7 +203,7 @@
</el-select>
</el-form-item>
<el-form-item label="适用车型" prop="SYCXCLASS" class="add-form-item form-item-disabled">
<el-select :popper-append-to-body="false" v-model="form.SYCXCLASS" :disabled="disabledState" multiple>
<el-select :popper-append-to-body="false" v-model="form.SYCXCLASS" placeholder="" :disabled="disabledState" multiple>
<el-option
v-for="item in applyArcticOptions"
:key="item.value"
@@ -213,7 +213,7 @@
</el-select>
</el-form-item>
<el-form-item label="适用产品线" prop="SYCPXCLASS" class="add-form-item form-item-disabled">
<el-select :popper-append-to-body="false" v-model="form.SYCPXCLASS" :disabled="disabledState" multiple>
<el-select :popper-append-to-body="false" v-model="form.SYCPXCLASS" placeholder="" :disabled="disabledState" multiple>
<el-option
v-for="item in sycpxOptions"
:key="item.value"
@@ -674,10 +674,9 @@
:maxlength="100"></el-input>
</el-form-item>
<el-formItem label="文本状态" prop="lawsTextState" class="search-item">
<el-select v-model="standardSearchForm.lawsTextState" filterable clearable>
<el-select v-model="standardSearchForm.lawsTextState" placeholder="" filterable clearable>
<el-option
v-for="item in standStateOptions"
placeholder="请选择"
:key="item.value"
:value="item.value"
:label="item.label"
@@ -2516,17 +2515,15 @@
_this: this
}, res => {
if (res.success) {
this.$message.success(res.message)
if(this.formTongGuo.approvalOpinion === '1'){
this.$message.warning("驳回成功")
}else{
this.$message.success(res.message)
// this.processCreateLaws(json)
}
this.isSubmit = false
//
this.$router.push({path:'/processCenter?tabsName=ProcessCenter'})
// if(this.formTongGuo.approvalOpinion === '1'){
// this.$message.warning("")
// this.isSubmit = false
// //
// this.$router.push({path:'/processCenter?tabsName=ProcessCenter'})
// }else{
// this.processCreateLaws(json)
// }
}else {
this.$message.success(res.message)
}
@@ -2,7 +2,7 @@
<!-- 标准入库流程-->
<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>
@@ -25,7 +25,7 @@
<el-row :gutter="24">
<el-col :span="12">
<el-form-item label="企标类别" prop="standSort" class="add-form-item form-item-disabled">
<el-select v-model="form.standSort" filterable clearable :disabled="disabledState" style="appearance: none">
<el-select v-model="form.standSort" filterable clearable placeholder="" :disabled="disabledState" style="appearance: none">
<el-option
v-for="item in standSortOptions"
:key="item.value"
@@ -41,7 +41,7 @@
></el-input>
</el-form-item>
<el-form-item label="文本状态" prop="textStatusBuss" class="add-form-item form-item-disabled">
<el-select :popper-append-to-body="false" v-model="form.textStatusBuss" :disabled="disabledState">
<el-select :popper-append-to-body="false" v-model="form.textStatusBuss" placeholder="" :disabled="disabledState">
<el-option
v-for="item in standStateOptions"
:key="item.value"
@@ -158,7 +158,7 @@
<el-row :gutter="24">
<el-col :span="12">
<el-form-item label="起草部门" prop="QCDW" class="add-form-item form-item-disabled">
<el-select :popper-append-to-body="false" v-model="form.QCDW" :disabled="disabledState" multiple>
<el-select :popper-append-to-body="false" v-model="form.QCDW" placeholder="" :disabled="disabledState" multiple>
<el-option
v-for="item in qcdwOptions"
:key="item.value"
@@ -175,7 +175,7 @@
></el-input>
</el-form-item>
<el-form-item label="能源类型" prop="NYLXCLASS" class="add-form-item form-item-disabled">
<el-select :popper-append-to-body="false" v-model="form.NYLXCLASS" :disabled="disabledState" multiple>
<el-select :popper-append-to-body="false" v-model="form.NYLXCLASS" placeholder="" :disabled="disabledState" multiple>
<el-option
v-for="item in categoryOptions"
:key="item.value"
@@ -193,7 +193,7 @@
</el-col>
<el-col :span="12">
<el-form-item label="起草人" prop="QCRBUSS" class="add-form-item form-item-disabled">
<el-select :popper-append-to-body="false" v-model="form.QCRBUSS" :disabled="disabledState" >
<el-select :popper-append-to-body="false" v-model="form.QCRBUSS" placeholder="" :disabled="disabledState" >
<el-option
v-for="item in qcrOptions"
:key="item.value"
@@ -203,7 +203,7 @@
</el-select>
</el-form-item>
<el-form-item label="适用车型" prop="SYCXCLASS" class="add-form-item form-item-disabled">
<el-select :popper-append-to-body="false" v-model="form.SYCXCLASS" :disabled="disabledState" multiple>
<el-select :popper-append-to-body="false" v-model="form.SYCXCLASS" placeholder="" :disabled="disabledState" multiple>
<el-option
v-for="item in applyArcticOptions"
:key="item.value"
@@ -213,7 +213,7 @@
</el-select>
</el-form-item>
<el-form-item label="适用产品线" prop="SYCPXCLASS" class="add-form-item form-item-disabled">
<el-select :popper-append-to-body="false" v-model="form.SYCPXCLASS" :disabled="disabledState" multiple>
<el-select :popper-append-to-body="false" v-model="form.SYCPXCLASS" placeholder="" :disabled="disabledState" multiple>
<el-option
v-for="item in sycpxOptions"
:key="item.value"
@@ -456,6 +456,7 @@
show-save
show-submit
:saveLoading="saveLoading"
:submitLoading="isSubmit"
@save="handleSave"
@submit="handleSubmit"
>
@@ -662,10 +663,9 @@
:maxlength="100"></el-input>
</el-form-item>
<el-formItem label="文本状态" prop="lawsTextState" class="search-item">
<el-select v-model="standardSearchForm.lawsTextState" filterable clearable>
<el-select v-model="standardSearchForm.lawsTextState" placeholder="" filterable clearable>
<el-option
v-for="item in standStateOptions"
placeholder="请选择"
:key="item.value"
:value="item.value"
:label="item.label"
@@ -2473,6 +2473,7 @@
if (res.success) {
this.$message.success(res.message)
//
this.isSubmit = false
this.$router.push({path:'/processCenter?tabsName=ProcessCenter'})
// if(this.formTongGuo.approvalOpinion === '1'){
// this.$message.warning("")
@@ -2,7 +2,7 @@
<!-- 标准入库流程-->
<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>
@@ -25,7 +25,7 @@
<el-row :gutter="24">
<el-col :span="12">
<el-form-item label="企标类别" prop="standSort" class="add-form-item form-item-disabled">
<el-select v-model="form.standSort" filterable clearable :disabled="disabledState" style="appearance: none">
<el-select v-model="form.standSort" filterable clearable placeholder="" :disabled="disabledState" style="appearance: none">
<el-option
v-for="item in standSortOptions"
:key="item.value"
@@ -41,7 +41,7 @@
></el-input>
</el-form-item>
<el-form-item label="文本状态" prop="textStatusBuss" class="add-form-item form-item-disabled">
<el-select :popper-append-to-body="false" v-model="form.textStatusBuss" :disabled="disabledState">
<el-select :popper-append-to-body="false" v-model="form.textStatusBuss" placeholder="" :disabled="disabledState">
<el-option
v-for="item in standStateOptions"
:key="item.value"
@@ -158,7 +158,7 @@
<el-row :gutter="24">
<el-col :span="12">
<el-form-item label="起草部门" prop="QCDW" class="add-form-item form-item-disabled">
<el-select :popper-append-to-body="false" v-model="form.QCDW" :disabled="disabledState" multiple>
<el-select :popper-append-to-body="false" v-model="form.QCDW" placeholder="" :disabled="disabledState" multiple>
<el-option
v-for="item in qcdwOptions"
:key="item.value"
@@ -175,7 +175,7 @@
></el-input>
</el-form-item>
<el-form-item label="能源类型" prop="NYLXCLASS" class="add-form-item form-item-disabled">
<el-select :popper-append-to-body="false" v-model="form.NYLXCLASS" :disabled="disabledState" multiple>
<el-select :popper-append-to-body="false" v-model="form.NYLXCLASS" placeholder="" :disabled="disabledState" multiple>
<el-option
v-for="item in categoryOptions"
:key="item.value"
@@ -193,7 +193,7 @@
</el-col>
<el-col :span="12">
<el-form-item label="起草人" prop="QCRBUSS" class="add-form-item form-item-disabled">
<el-select :popper-append-to-body="false" v-model="form.QCRBUSS" :disabled="disabledState" >
<el-select :popper-append-to-body="false" v-model="form.QCRBUSS" placeholder="" :disabled="disabledState" >
<el-option
v-for="item in qcrOptions"
:key="item.value"
@@ -203,7 +203,7 @@
</el-select>
</el-form-item>
<el-form-item label="适用车型" prop="SYCXCLASS" class="add-form-item form-item-disabled">
<el-select :popper-append-to-body="false" v-model="form.SYCXCLASS" :disabled="disabledState" multiple>
<el-select :popper-append-to-body="false" v-model="form.SYCXCLASS" placeholder="" :disabled="disabledState" multiple>
<el-option
v-for="item in applyArcticOptions"
:key="item.value"
@@ -213,7 +213,7 @@
</el-select>
</el-form-item>
<el-form-item label="适用产品线" prop="SYCPXCLASS" class="add-form-item form-item-disabled">
<el-select :popper-append-to-body="false" v-model="form.SYCPXCLASS" :disabled="disabledState" multiple>
<el-select :popper-append-to-body="false" v-model="form.SYCPXCLASS" placeholder="" :disabled="disabledState" multiple>
<el-option
v-for="item in sycpxOptions"
:key="item.value"
@@ -455,6 +455,7 @@
v-show="verifySarStandard"
show-save
show-submit
:submitLoading="isSubmit"
:saveLoading="saveLoading"
@save="handleSave"
@submit="handleSubmit"
@@ -662,7 +663,7 @@
:maxlength="100"></el-input>
</el-form-item>
<el-formItem label="文本状态" prop="lawsTextState" class="search-item">
<el-select v-model="standardSearchForm.lawsTextState" filterable clearable>
<el-select v-model="standardSearchForm.lawsTextState" placeholder="" filterable clearable>
<el-option
v-for="item in standStateOptions"
placeholder="请选择"
@@ -872,6 +873,7 @@
}
}]
},
taskInfo:'',
loading: false,
disabledState: true,
userId:this.$store.getters.userInfo.userId,
@@ -1526,6 +1528,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
})
@@ -2331,16 +2338,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: this.taskInfo,
form: this.form,
roleForm: this.roleForm,
commentText: this.commentText
@@ -2460,6 +2461,7 @@
this.$refs['formTongGuo'].validate((valid) => {
if (valid) {
this.isSubmit = true
this.saveLoading = true
this.form.commentText = this.formTongGuo.commentText
this.form.approvalOpinion = this.formTongGuo.approvalOpinion
const json = JSON.stringify(this.form);
@@ -2473,6 +2475,7 @@
if (res.success) {
this.$message.success(res.message)
//
this.isSubmit = false
this.$router.push({path:'/processCenter?tabsName=ProcessCenter'})
// if(this.formTongGuo.approvalOpinion === '1'){
// this.$message.warning("")
@@ -2541,6 +2544,7 @@
pId: this.pId
}).then(res => {
if (res) {
this.taskInfo = '企标编写流程'
const processForm = JSON.parse(res.mesg)
const dateArr = []
if(processForm.commentCycleStart && processForm.commentCycleEnd){
@@ -2,7 +2,7 @@
<!-- 标准入库流程-->
<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>
@@ -25,7 +25,7 @@
<el-row :gutter="24">
<el-col :span="12">
<el-form-item label="企标类别" prop="standSort" class="add-form-item form-item-disabled">
<el-select v-model="form.standSort" filterable clearable :disabled="disabledState" style="appearance: none">
<el-select v-model="form.standSort" filterable clearable placeholder="" :disabled="disabledState" style="appearance: none">
<el-option
v-for="item in standSortOptions"
:key="item.value"
@@ -41,7 +41,7 @@
></el-input>
</el-form-item>
<el-form-item label="文本状态" prop="textStatusBuss" class="add-form-item form-item-disabled">
<el-select :popper-append-to-body="false" v-model="form.textStatusBuss" :disabled="disabledState">
<el-select :popper-append-to-body="false" v-model="form.textStatusBuss" placeholder="" :disabled="disabledState">
<el-option
v-for="item in standStateOptions"
:key="item.value"
@@ -158,7 +158,7 @@
<el-row :gutter="24">
<el-col :span="12">
<el-form-item label="起草部门" prop="QCDW" class="add-form-item form-item-disabled">
<el-select :popper-append-to-body="false" v-model="form.QCDW" :disabled="disabledState" multiple>
<el-select :popper-append-to-body="false" v-model="form.QCDW" placeholder="" :disabled="disabledState" multiple>
<el-option
v-for="item in qcdwOptions"
:key="item.value"
@@ -175,7 +175,7 @@
></el-input>
</el-form-item>
<el-form-item label="能源类型" prop="NYLXCLASS" class="add-form-item form-item-disabled">
<el-select :popper-append-to-body="false" v-model="form.NYLXCLASS" :disabled="disabledState" multiple>
<el-select :popper-append-to-body="false" v-model="form.NYLXCLASS" placeholder="" :disabled="disabledState" multiple>
<el-option
v-for="item in categoryOptions"
:key="item.value"
@@ -193,7 +193,7 @@
</el-col>
<el-col :span="12">
<el-form-item label="起草人" prop="QCRBUSS" class="add-form-item form-item-disabled">
<el-select :popper-append-to-body="false" v-model="form.QCRBUSS" :disabled="disabledState" >
<el-select :popper-append-to-body="false" v-model="form.QCRBUSS" placeholder="" :disabled="disabledState" >
<el-option
v-for="item in qcrOptions"
:key="item.value"
@@ -203,7 +203,7 @@
</el-select>
</el-form-item>
<el-form-item label="适用车型" prop="SYCXCLASS" class="add-form-item form-item-disabled">
<el-select :popper-append-to-body="false" v-model="form.SYCXCLASS" :disabled="disabledState" multiple>
<el-select :popper-append-to-body="false" v-model="form.SYCXCLASS" placeholder="" :disabled="disabledState" multiple>
<el-option
v-for="item in applyArcticOptions"
:key="item.value"
@@ -213,7 +213,7 @@
</el-select>
</el-form-item>
<el-form-item label="适用产品线" prop="SYCPXCLASS" class="add-form-item form-item-disabled">
<el-select :popper-append-to-body="false" v-model="form.SYCPXCLASS" :disabled="disabledState" multiple>
<el-select :popper-append-to-body="false" v-model="form.SYCPXCLASS" placeholder="" :disabled="disabledState" multiple>
<el-option
v-for="item in sycpxOptions"
:key="item.value"
@@ -456,6 +456,7 @@
show-save
show-submit
:saveLoading="saveLoading"
:submitLoading="isSubmit"
@save="handleSave"
@submit="handleSubmit"
>
@@ -662,10 +663,9 @@
:maxlength="100"></el-input>
</el-form-item>
<el-formItem label="文本状态" prop="lawsTextState" class="search-item">
<el-select v-model="standardSearchForm.lawsTextState" filterable clearable>
<el-select v-model="standardSearchForm.lawsTextState" placeholder="" filterable clearable>
<el-option
v-for="item in standStateOptions"
placeholder="请选择"
:key="item.value"
:value="item.value"
:label="item.label"
@@ -872,6 +872,7 @@
}
}]
},
taskInfo:'',
loading: false,
disabledState: true,
userId:this.$store.getters.userInfo.userId,
@@ -1526,6 +1527,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
})
@@ -2331,16 +2337,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: this.taskInfo,
form: this.form,
roleForm: this.roleForm,
commentText: this.commentText
@@ -2472,8 +2472,10 @@
}, res => {
if (res.success) {
this.$message.success(res.message)
this.isSubmit = false
//
this.$router.push({path:'/processCenter?tabsName=ProcessCenter'})
// if(this.formTongGuo.approvalOpinion === '1'){
// this.$message.warning("")
// this.isSubmit = false
@@ -2541,6 +2543,7 @@
pId: this.pId
}).then(res => {
if (res) {
this.taskInfo = '企标汇总修订'
const processForm = JSON.parse(res.mesg)
const dateArr = []
if(processForm.commentCycleStart && processForm.commentCycleEnd){
@@ -2593,6 +2596,7 @@
},
},
mounted () {
this.getTaskId()
this.getData()
this.processTable()
this.$http.get('sys/dictype/getDicTypeListCode', '', {
@@ -2,7 +2,7 @@
<!-- 标准入库流程-->
<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>
@@ -25,7 +25,7 @@
<el-row :gutter="24">
<el-col :span="12">
<el-form-item label="企标类别" prop="standSort" class="add-form-item form-item-disabled">
<el-select v-model="form.standSort" filterable clearable :disabled="disabledState" style="appearance: none">
<el-select v-model="form.standSort" filterable clearable placeholder="" :disabled="disabledState" style="appearance: none">
<el-option
v-for="item in standSortOptions"
:key="item.value"
@@ -41,7 +41,7 @@
></el-input>
</el-form-item>
<el-form-item label="文本状态" prop="textStatusBuss" class="add-form-item form-item-disabled">
<el-select :popper-append-to-body="false" v-model="form.textStatusBuss" :disabled="disabledState">
<el-select :popper-append-to-body="false" v-model="form.textStatusBuss" placeholder="" :disabled="disabledState">
<el-option
v-for="item in standStateOptions"
:key="item.value"
@@ -158,7 +158,7 @@
<el-row :gutter="24">
<el-col :span="12">
<el-form-item label="起草部门" prop="QCDW" class="add-form-item form-item-disabled">
<el-select :popper-append-to-body="false" v-model="form.QCDW" :disabled="disabledState" multiple>
<el-select :popper-append-to-body="false" v-model="form.QCDW" placeholder="" :disabled="disabledState" multiple>
<el-option
v-for="item in qcdwOptions"
:key="item.value"
@@ -175,7 +175,7 @@
></el-input>
</el-form-item>
<el-form-item label="能源类型" prop="NYLXCLASS" class="add-form-item form-item-disabled">
<el-select :popper-append-to-body="false" v-model="form.NYLXCLASS" :disabled="disabledState" multiple>
<el-select :popper-append-to-body="false" v-model="form.NYLXCLASS" placeholder="" :disabled="disabledState" multiple>
<el-option
v-for="item in categoryOptions"
:key="item.value"
@@ -193,7 +193,7 @@
</el-col>
<el-col :span="12">
<el-form-item label="起草人" prop="QCRBUSS" class="add-form-item form-item-disabled">
<el-select :popper-append-to-body="false" v-model="form.QCRBUSS" :disabled="disabledState" >
<el-select :popper-append-to-body="false" v-model="form.QCRBUSS" placeholder="" :disabled="disabledState" >
<el-option
v-for="item in qcrOptions"
:key="item.value"
@@ -203,7 +203,7 @@
</el-select>
</el-form-item>
<el-form-item label="适用车型" prop="SYCXCLASS" class="add-form-item form-item-disabled">
<el-select :popper-append-to-body="false" v-model="form.SYCXCLASS" :disabled="disabledState" multiple>
<el-select :popper-append-to-body="false" v-model="form.SYCXCLASS" placeholder="" :disabled="disabledState" multiple>
<el-option
v-for="item in applyArcticOptions"
:key="item.value"
@@ -213,7 +213,7 @@
</el-select>
</el-form-item>
<el-form-item label="适用产品线" prop="SYCPXCLASS" class="add-form-item form-item-disabled">
<el-select :popper-append-to-body="false" v-model="form.SYCPXCLASS" :disabled="disabledState" multiple>
<el-select :popper-append-to-body="false" v-model="form.SYCPXCLASS" placeholder="" :disabled="disabledState" multiple>
<el-option
v-for="item in sycpxOptions"
:key="item.value"
@@ -278,10 +278,10 @@
<el-form-item
prop="approvalOpinion"
>
<el-select @change="getRule" v-model="formTongGuo.approvalOpinion" placeholder="请审批" style="margin-bottom: 20px;">
<el-option label="驳回" value="1"></el-option>
<el-option label="通过" value="0"></el-option>
</el-select>
<!-- <el-select @change="getRule" v-model="formTongGuo.approvalOpinion" placeholder="请审批" style="margin-bottom: 20px;">-->
<!-- <el-option label="驳回" value="1"></el-option>-->
<!-- <el-option label="通过" value="0"></el-option>-->
<!-- </el-select>-->
</el-form-item>
<el-form-item
prop="commentText"
@@ -674,10 +674,9 @@
:maxlength="100"></el-input>
</el-form-item>
<el-formItem label="文本状态" prop="lawsTextState" class="search-item">
<el-select v-model="standardSearchForm.lawsTextState" filterable clearable>
<el-select v-model="standardSearchForm.lawsTextState" placeholder="" filterable clearable>
<el-option
v-for="item in standStateOptions"
placeholder="请选择"
:key="item.value"
:value="item.value"
:label="item.label"
@@ -2531,17 +2530,16 @@
_this: this
}, res => {
if (res.success) {
this.$message.success(res.message)
//
if(this.formTongGuo.approvalOpinion === '1'){
this.$message.warning("驳回成功")
}else{
this.$message.success(res.message)
// this.processCreateLaws(json)
}
this.isSubmit = false
//
this.$router.push({path:'/processCenter?tabsName=ProcessCenter'})
// if(this.formTongGuo.approvalOpinion === '1'){
// this.$message.warning("")
// this.isSubmit = false
// //
// this.$router.push({path:'/processCenter?tabsName=ProcessCenter'})
// }else{
// this.processCreateLaws(json)
// }
}else {
this.$message.success(res.message)
}
@@ -2,10 +2,11 @@
<!-- 标准入库流程-->
<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>
<div class="headerTabsItem" :class="active === '1' ? 'active' : ''" @click="handleTabs('1')">会签评分</div>
<div class="headerTabsItem" :class="active === '2' ? 'active' : ''" @click="handleTabs('2')">基础信息</div>
<!-- <div class="headerTabsItem" :class="active === '2' ? 'active' : ''" @click="handleTabs('2')">模块信息</div>-->
<div class="headerTabsItem" :class="active === '3' ? 'active' : ''" @click="handleTabs('3')">审批历史</div>
</div>
@@ -17,7 +18,135 @@
class="label-input-form"
label-width="210px"
>
<div style="flex: auto;" v-show="active === '1'">
<div style="flex: auto;" id="active1" v-show="active === '1'">
<template>
<el-table
:data="form.evaluationData"
:summary-method="getSummaries"
show-summary
:span-method="(({row, column, rowIndex, columnIndex})=>objectSpanMethod({row, column, rowIndex, columnIndex},form.evaluationData))"
style="width: 100%">
<el-table-column label="企业标准编写质量评价表" align="center" label-class-name="column1">
<el-table-column
label="标准代号"
>
<el-table-column
prop="oneIndexTitle"
align="center"
label="一级指标"
width = '120'
>
</el-table-column>
</el-table-column>
<el-table-column
:label="form.standCode"
>
<el-table-column
prop="twoIndexTitle"
align="center"
label="二级指标"
width = '120'
>
</el-table-column>
<el-table-column
prop="threeIndexTitle"
label="三级指标"
width="300"
>
</el-table-column>
</el-table-column>
<el-table-column
label="标准名称"
>
<el-table-column
prop="weight"
align="center"
label="指标权重 %"
width = '100'
>
<template slot-scope="scope">
{{scope.row.valueType === 'number' ? scope.row.weight * 100 : '加分项('+scope.row.weight+'分)'}}
</template>
</el-table-column>
</el-table-column>
<el-table-column
:label="form.standName"
>
<el-table-column
prop="score"
align="center"
label="指标分值(10分制)优≥8分;合格6~8分;不合格<6分"
width = '200'
>
<template slot-scope="scope">
<el-form-item
:prop="'evaluationData.'+scope.$index + '.score'"
:rules="scope.row.valueType !== 'add' ? rules.score : rules.scoreNot" >
<el-input v-model.number="scope.row.score" placeholder="请填写分值" />
</el-form-item>
</template>
</el-table-column>
<el-table-column
prop="scoreMin"
align="center"
label="分值小计"
width = '80'
>
<template slot-scope="scope">
{{setScoreMin(scope.row)}}
</template>
</el-table-column>
<el-table-column
prop="reason"
align="center"
label="简述扣分理由(不合格<6分,必填)"
>
<template slot-scope="scope" v-if="(scope.row.valueType !== 'add' && scope.row.score !== undefined && scope.row.score !== '' && scope.row.score < 6)">
<el-form-item
:prop="'evaluationData.'+scope.$index + '.reason'"
:rules="rules.reason" >
<el-input v-model="scope.row.reason" placeholder="请填写扣分理由" />
</el-form-item>
</template>
</el-table-column>
</el-table-column>
</el-table-column>
</el-table>
</template>
<div>
<el-collapse accordion v-model="activeName">
<el-collapse-item title="会签意见" name = "1">
<div style="margin: 10px 0;">
<el-form
ref="formTongGuo"
:model="formTongGuo"
:rules="rules">
<!-- <el-form-item-->
<!-- prop="approvalOpinion"-->
<!-- >-->
<!-- <el-select @change="getRule" v-model="formTongGuo.approvalOpinion" placeholder="请审批" style="margin-bottom: 20px;">-->
<!-- <el-option label="驳回" value="1"></el-option>-->
<!-- <el-option label="通过" value="0"></el-option>-->
<!-- </el-select>-->
<!-- </el-form-item>-->
<el-form-item
prop="commentText"
>
<el-input
type="textarea"
:rows="3"
resize="none"
placeholder="请输入意见"
v-model="formTongGuo.commentText">
</el-input>
</el-form-item>
</el-form>
</div>
</el-collapse-item>
</el-collapse>
</div>
</div>
<div style="flex: auto;" v-show="active === '2'">
<ProcessTitle>
<template slot="title">基础信息</template>
</ProcessTitle>
@@ -25,7 +154,7 @@
<el-row :gutter="24">
<el-col :span="12">
<el-form-item label="企标类别" prop="standSort" class="add-form-item form-item-disabled">
<el-select v-model="form.standSort" filterable clearable :disabled="disabledState" style="appearance: none">
<el-select v-model="form.standSort" filterable clearable placeholder="" :disabled="disabledState" style="appearance: none">
<el-option
v-for="item in standSortOptions"
:key="item.value"
@@ -41,7 +170,7 @@
></el-input>
</el-form-item>
<el-form-item label="文本状态" prop="textStatusBuss" class="add-form-item form-item-disabled">
<el-select :popper-append-to-body="false" v-model="form.textStatusBuss" :disabled="disabledState">
<el-select :popper-append-to-body="false" v-model="form.textStatusBuss" placeholder="" :disabled="disabledState">
<el-option
v-for="item in standStateOptions"
:key="item.value"
@@ -158,7 +287,7 @@
<el-row :gutter="24">
<el-col :span="12">
<el-form-item label="起草部门" prop="QCDW" class="add-form-item form-item-disabled">
<el-select :popper-append-to-body="false" v-model="form.QCDW" :disabled="disabledState" multiple>
<el-select :popper-append-to-body="false" v-model="form.QCDW" placeholder="" :disabled="disabledState" multiple>
<el-option
v-for="item in qcdwOptions"
:key="item.value"
@@ -175,7 +304,7 @@
></el-input>
</el-form-item>
<el-form-item label="能源类型" prop="NYLXCLASS" class="add-form-item form-item-disabled">
<el-select :popper-append-to-body="false" v-model="form.NYLXCLASS" :disabled="disabledState" multiple>
<el-select :popper-append-to-body="false" v-model="form.NYLXCLASS" placeholder="" :disabled="disabledState" multiple>
<el-option
v-for="item in categoryOptions"
:key="item.value"
@@ -193,7 +322,7 @@
</el-col>
<el-col :span="12">
<el-form-item label="起草人" prop="QCRBUSS" class="add-form-item form-item-disabled">
<el-select :popper-append-to-body="false" v-model="form.QCRBUSS" :disabled="disabledState" >
<el-select :popper-append-to-body="false" v-model="form.QCRBUSS" placeholder="" :disabled="disabledState" >
<el-option
v-for="item in qcrOptions"
:key="item.value"
@@ -203,7 +332,7 @@
</el-select>
</el-form-item>
<el-form-item label="适用车型" prop="SYCXCLASS" class="add-form-item form-item-disabled">
<el-select :popper-append-to-body="false" v-model="form.SYCXCLASS" :disabled="disabledState" multiple>
<el-select :popper-append-to-body="false" v-model="form.SYCXCLASS" placeholder="" :disabled="disabledState" multiple>
<el-option
v-for="item in applyArcticOptions"
:key="item.value"
@@ -213,7 +342,7 @@
</el-select>
</el-form-item>
<el-form-item label="适用产品线" prop="SYCPXCLASS" class="add-form-item form-item-disabled">
<el-select :popper-append-to-body="false" v-model="form.SYCPXCLASS" :disabled="disabledState" multiple>
<el-select :popper-append-to-body="false" v-model="form.SYCPXCLASS" placeholder="" :disabled="disabledState" multiple>
<el-option
v-for="item in sycpxOptions"
:key="item.value"
@@ -267,38 +396,6 @@
</el-col>
</el-row>
</div>
<div>
<el-collapse accordion v-model="activeName">
<el-collapse-item title="审批意见" name = "1">
<div style="margin: 10px 0;">
<el-form
ref="formTongGuo"
:model="formTongGuo"
:rules="rules">
<!-- <el-form-item-->
<!-- prop="approvalOpinion"-->
<!-- >-->
<!-- <el-select @change="getRule" v-model="formTongGuo.approvalOpinion" placeholder="请审批" style="margin-bottom: 20px;">-->
<!-- <el-option label="驳回" value="1"></el-option>-->
<!-- <el-option label="通过" value="0"></el-option>-->
<!-- </el-select>-->
<!-- </el-form-item>-->
<el-form-item
prop="commentText"
>
<el-input
type="textarea"
:rows="3"
resize="none"
placeholder="请输入意见"
v-model="formTongGuo.commentText">
</el-input>
</el-form-item>
</el-form>
</div>
</el-collapse-item>
</el-collapse>
</div>
</div>
<!-- <div class="block" id="active2" v-show="active === '2'">-->
<!-- <ProcessTitle>-->
@@ -455,6 +552,7 @@
v-show="verifySarStandard"
show-save
show-submit
:submitLoading="isSubmit"
:saveLoading="saveLoading"
@save="handleSave"
@submit="handleSubmit"
@@ -662,10 +760,9 @@
:maxlength="100"></el-input>
</el-form-item>
<el-formItem label="文本状态" prop="lawsTextState" class="search-item">
<el-select v-model="standardSearchForm.lawsTextState" filterable clearable>
<el-select v-model="standardSearchForm.lawsTextState" placeholder="" filterable clearable>
<el-option
v-for="item in standStateOptions"
placeholder="请选择"
:key="item.value"
:value="item.value"
:label="item.label"
@@ -805,6 +902,7 @@
import ProcessFooter from '../../components/ProcessFooter'
import ProcessTitle from '../../components/ProcessTitle'
import {saveTaskFirst, queryTaskFirst, getBusStandFileByAttId,inboundLiaisonDetail} from "api/process";
import {getEvaluationIndex} from "api/businessApi";
import TreeSelect from '@/components/treeSelect/treeSelect.vue';
import TreeSelectNew from '@/components/treeSelect/treeSelectNew.vue';
let Base64 = require('js-base64').Base64;
@@ -819,6 +917,25 @@
TreeSelectNew
},
data () {
const numberCodeNot = (rule, value, callback) => {
let pattern = /^[1]*$/
if (!pattern.test(value)) {
return callback(new Error('评分分值只可为1分'))
} else {
callback()
}
};
const numberCode = (rule, value, callback) => {
if(value === undefined || value === ''){
return callback(new Error('评分分值不可为空'))
}
let pattern = /^[0-9]*$/
if (!pattern.test(value)) {
return callback(new Error('只能输入数字'))
} else {
callback()
}
};
const validateZrUserIdName = (rule, value, callback) => {
if(this.FBGBUSSFileList.length === 0){
callback(new Error('请上传发布稿文件!'))
@@ -872,9 +989,11 @@
}
}]
},
taskInfo: '',
loading: false,
disabledState: true,
userId:this.$store.getters.userInfo.userId,
userName:this.$store.getters.userInfo.userName,
taskIds: this.$route.query.taskIds,
pId: this.$route.query.prcId,
bpnId: this.$route.query.bpnId,
@@ -1019,6 +1138,7 @@
countryArr:'',
commentCycleDate:'',
form: {
evaluationData:[],
modelData:[],
modelDataNameVerify:[],
modelDataZrUserVerify:[],
@@ -1194,6 +1314,14 @@
],
},
rules:{
scoreNot:[
{required: false, validator: numberCodeNot, trigger: 'blur'},
],
score: [
{required: true, validator: numberCode, trigger: 'blur'},
{ type: 'number',min: 0, max: 10, message: '分值 0 ~ 10 分 ', trigger: 'blur' },
],
reason: [{ required: true, message: '请填写扣分理由', trigger: 'blur' }],
commentText: [{ required: true, message: '请输入意见', trigger: 'blur' }],
approvalOpinion: [{ required: true, message: '请选择审批意见', trigger: 'change' }],
zrUserIdName: [
@@ -1324,6 +1452,84 @@
},
},
methods: {
filterData2(){
let spanOneArr = []
let concatOne = 0
this.form.evaluationData.forEach((item,index)=>{//(orderdata)
if(index === 0){
spanOneArr.push(1)
}else{
//name
if(item.twoIndexTitle === this.form.evaluationData[index - 1].twoIndexTitle){ //
spanOneArr[concatOne] += 1
spanOneArr.push(0)
}else{
spanOneArr.push(1)
concatOne = index
}
}
})
return {
one: spanOneArr,
}
},
setScoreMin(row){
return row.scoreMin = ((row.score === undefined || row.score === '') ? '' : row.valueType === 'add' ? row.score : (row.score / 10).toFixed(1))
},
getSummaries(param) {
const { columns, data } = param;
const sums = [];
columns.forEach((column, index) => {
if (index === 3) {
sums[index] = '合计:';
return;
}else if(index === 6){
sums[index] = '';
return;
}
const values = data.map(item => Number(item[column.property]));
if (!values.every(value => isNaN(value))) {
sums[index] = values.reduce((prev, curr) => {
const value = Number(curr);
if (!isNaN(value)) {
return prev + curr;
} else {
return prev;
}
}, 0);
sums[index] += ' ';
} else {
sums[index] = '';
}
if(sums[index] !== '' && sums[index].indexOf(".") !== -1){
sums[index] = parseFloat(sums[index]).toFixed(1);
}
});
return sums;
},
objectSpanMethod({ row, column, rowIndex, columnIndex },value) {
if (columnIndex === 0) {
if (rowIndex === 0) {
return {
rowspan: value.length,
colspan: 1
};
} else {
return {
rowspan: 0,
colspan: 0
};
}
}else if(columnIndex === 1 ) {
const _row = (this.filterData2(this.form.evaluationData).one)[rowIndex]
const _col = _row > 0 ? 1 : 0
return {
rowspan: _row,
colspan: _col
}
}
},
modelProp(row,index){
console.log(row)
console.log(index)
@@ -1526,6 +1732,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
})
@@ -2331,16 +2542,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: this.taskInfo,
form: this.form,
roleForm: this.roleForm,
commentText: this.commentText
@@ -2457,36 +2662,49 @@
// } else if (val === '') {
// this.form.country = []
// }
this.$refs['formTongGuo'].validate((valid) => {
if (valid) {
this.isSubmit = true
this.form.commentText = this.formTongGuo.commentText
this.form.approvalOpinion = this.formTongGuo.approvalOpinion
const json = JSON.stringify(this.form);
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({path:'/processCenter?tabsName=ProcessCenter'})
// if(this.formTongGuo.approvalOpinion === '1'){
// this.$message.warning("")
// this.isSubmit = false
// //
// this.$router.push({path:'/processCenter?tabsName=ProcessCenter'})
// }else{
// this.processCreateLaws(json)
// }
}else {
this.$message.success(res.message)
}
})
}})
this.$refs['form'].validate((valid) => {
if (valid) {
this.$refs['formTongGuo'].validate((valid) => {
if (valid) {
this.isSubmit = true
this.form.commentText = this.formTongGuo.commentText
this.form.approvalOpinion = this.formTongGuo.approvalOpinion
//
const infoList = []
const info = {}
info.userId = this.userId
info.userName = this.userName
info.commentText = this.formTongGuo.commentText
infoList.push(info)
const json = JSON.stringify(this.form);
json.infoList = infoList
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.isSubmit = false
this.$router.push({path:'/processCenter?tabsName=ProcessCenter'})
// if(this.formTongGuo.approvalOpinion === '1'){
// this.$message.warning("")
// this.isSubmit = false
// //
// this.$router.push({path:'/processCenter?tabsName=ProcessCenter'})
// }else{
// this.processCreateLaws(json)
// }
}else {
this.$message.success(res.message)
}
})
}})
}
})
},
busVsFunc(){
this.$http.get('sarVppsTree/list', '', {
@@ -2518,6 +2736,7 @@
getFormFieldList (item) {
this.$nextTick(() => {
this.form = JSON.parse(JSON.stringify(item))
this.getEvaluation()
this.form.prcNum = this.prcNum
this.form.prcName = this.prcName
this.form['id'] = item.id
@@ -2533,6 +2752,28 @@
return list;
},
getEvaluation() {
return new Promise((resolve, reject) => {
getEvaluationIndex({
indexType: 'quality'
}).then(res => {
if (res) {
const evalList = []
res.data.forEach(item =>{
item.score = ''
item.scoreMin = ''
item.reason = ''
item.userId = this.userId
item.processNode = this.taskInfo
evalList.push(item)
})
this.form.evaluationData = evalList
this.$forceUpdate()
}
}).catch(e => {
})
})
},
getData() {
if(this.taskIds && this.pId){
return new Promise((resolve, reject) => {
@@ -2541,6 +2782,7 @@
pId: this.pId
}).then(res => {
if (res) {
this.taskInfo = '会签征求意见'
const processForm = JSON.parse(res.mesg)
const dateArr = []
if(processForm.commentCycleStart && processForm.commentCycleEnd){
@@ -2593,6 +2835,7 @@
},
},
mounted () {
this.getTaskId()
this.getData()
this.processTable()
this.$http.get('sys/dictype/getDicTypeListCode', '', {
@@ -2634,6 +2877,12 @@
<style lang="less" scoped>
@import '~@/assets/styles/style';
/deep/ .column1{
font-size: 18px !important;
}
/deep/ #active1 .el-form-item__content{
margin-left: 0px !important;
}
/deep/ .el-input__suffix{
display: none !important;
}
@@ -2,7 +2,7 @@
<!-- 标准入库流程-->
<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>
@@ -25,7 +25,7 @@
<el-row :gutter="24">
<el-col :span="12">
<el-form-item label="企标类别" prop="standSort" class="add-form-item form-item-disabled">
<el-select v-model="form.standSort" filterable clearable :disabled="disabledState" style="appearance: none">
<el-select v-model="form.standSort" filterable clearable placeholder="" :disabled="disabledState" style="appearance: none">
<el-option
v-for="item in standSortOptions"
:key="item.value"
@@ -41,7 +41,7 @@
></el-input>
</el-form-item>
<el-form-item label="文本状态" prop="textStatusBuss" class="add-form-item form-item-disabled">
<el-select :popper-append-to-body="false" v-model="form.textStatusBuss" :disabled="disabledState">
<el-select :popper-append-to-body="false" v-model="form.textStatusBuss" placeholder="" :disabled="disabledState">
<el-option
v-for="item in standStateOptions"
:key="item.value"
@@ -158,7 +158,7 @@
<el-row :gutter="24">
<el-col :span="12">
<el-form-item label="起草部门" prop="QCDW" class="add-form-item form-item-disabled">
<el-select :popper-append-to-body="false" v-model="form.QCDW" :disabled="disabledState" multiple>
<el-select :popper-append-to-body="false" v-model="form.QCDW" placeholder="" :disabled="disabledState" multiple>
<el-option
v-for="item in qcdwOptions"
:key="item.value"
@@ -175,7 +175,7 @@
></el-input>
</el-form-item>
<el-form-item label="能源类型" prop="NYLXCLASS" class="add-form-item form-item-disabled">
<el-select :popper-append-to-body="false" v-model="form.NYLXCLASS" :disabled="disabledState" multiple>
<el-select :popper-append-to-body="false" v-model="form.NYLXCLASS" placeholder="" :disabled="disabledState" multiple>
<el-option
v-for="item in categoryOptions"
:key="item.value"
@@ -193,7 +193,7 @@
</el-col>
<el-col :span="12">
<el-form-item label="起草人" prop="QCRBUSS" class="add-form-item form-item-disabled">
<el-select :popper-append-to-body="false" v-model="form.QCRBUSS" :disabled="disabledState" >
<el-select :popper-append-to-body="false" v-model="form.QCRBUSS" placeholder="" :disabled="disabledState" >
<el-option
v-for="item in qcrOptions"
:key="item.value"
@@ -203,7 +203,7 @@
</el-select>
</el-form-item>
<el-form-item label="适用车型" prop="SYCXCLASS" class="add-form-item form-item-disabled">
<el-select :popper-append-to-body="false" v-model="form.SYCXCLASS" :disabled="disabledState" multiple>
<el-select :popper-append-to-body="false" v-model="form.SYCXCLASS" placeholder="" :disabled="disabledState" multiple>
<el-option
v-for="item in applyArcticOptions"
:key="item.value"
@@ -213,7 +213,7 @@
</el-select>
</el-form-item>
<el-form-item label="适用产品线" prop="SYCPXCLASS" class="add-form-item form-item-disabled">
<el-select :popper-append-to-body="false" v-model="form.SYCPXCLASS" :disabled="disabledState" multiple>
<el-select :popper-append-to-body="false" v-model="form.SYCPXCLASS" placeholder="" :disabled="disabledState" multiple>
<el-option
v-for="item in sycpxOptions"
:key="item.value"
@@ -456,6 +456,7 @@
show-save
show-submit
:saveLoading="saveLoading"
:submitLoading="isSubmit"
@save="handleSave"
@submit="handleSubmit"
>
@@ -662,7 +663,7 @@
:maxlength="100"></el-input>
</el-form-item>
<el-formItem label="文本状态" prop="lawsTextState" class="search-item">
<el-select v-model="standardSearchForm.lawsTextState" filterable clearable>
<el-select v-model="standardSearchForm.lawsTextState" placeholder="" filterable clearable>
<el-option
v-for="item in standStateOptions"
placeholder="请选择"
@@ -874,6 +875,7 @@
},
loading: false,
disabledState: true,
taskInfo:'主起草人修订并组织评审',
userId:this.$store.getters.userInfo.userId,
taskIds: this.$route.query.taskIds,
pId: this.$route.query.prcId,
@@ -1526,6 +1528,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
})
@@ -2331,16 +2338,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: this.taskInfo,
form: this.form,
roleForm: this.roleForm,
commentText: this.commentText
@@ -2473,6 +2474,7 @@
if (res.success) {
this.$message.success(res.message)
//
this.isSubmit = false
this.$router.push({path:'/processCenter?tabsName=ProcessCenter'})
// if(this.formTongGuo.approvalOpinion === '1'){
// this.$message.warning("")
@@ -2593,6 +2595,7 @@
},
},
mounted () {
this.getTaskId()
this.getData()
this.processTable()
this.$http.get('sys/dictype/getDicTypeListCode', '', {
@@ -2,10 +2,11 @@
<!-- 标准入库流程-->
<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>
<div class="headerTabsItem" :class="active === '1' ? 'active' : ''" @click="handleTabs('1')">复审评分</div>
<div class="headerTabsItem" :class="active === '2' ? 'active' : ''" @click="handleTabs('2')">基础信息</div>
<!-- <div class="headerTabsItem" :class="active === '2' ? 'active' : ''" @click="handleTabs('2')">模块信息</div>-->
<div class="headerTabsItem" :class="active === '3' ? 'active' : ''" @click="handleTabs('3')">审批历史</div>
</div>
@@ -17,7 +18,135 @@
class="label-input-form"
label-width="210px"
>
<div style="flex: auto;" v-show="active === '1'">
<div style="flex: auto;" id="active1" v-show="active === '1'">
<template>
<el-table
:data="form.evaluationData"
:summary-method="getSummaries"
show-summary
:span-method="(({row, column, rowIndex, columnIndex})=>objectSpanMethod({row, column, rowIndex, columnIndex},form.evaluationData))"
style="width: 100%">
<el-table-column label="企业标准编写质量评价表" align="center" label-class-name="column1">
<el-table-column
label="标准代号"
>
<el-table-column
prop="oneIndexTitle"
align="center"
label="一级指标"
width = '120'
>
</el-table-column>
</el-table-column>
<el-table-column
:label="form.standCode"
>
<el-table-column
prop="twoIndexTitle"
align="center"
label="二级指标"
width = '120'
>
</el-table-column>
<el-table-column
prop="threeIndexTitle"
label="三级指标"
width="300"
>
</el-table-column>
</el-table-column>
<el-table-column
label="标准名称"
>
<el-table-column
prop="weight"
align="center"
label="指标权重 %"
width = '100'
>
<template slot-scope="scope">
{{scope.row.valueType === 'number' ? scope.row.weight * 100 : '加分项('+scope.row.weight+'分)'}}
</template>
</el-table-column>
</el-table-column>
<el-table-column
:label="form.standName"
>
<el-table-column
prop="score"
align="center"
label="指标分值(10分制)优≥8分;合格6~8分;不合格<6分"
width = '200'
>
<template slot-scope="scope">
<el-form-item
:prop="'evaluationData.'+scope.$index + '.score'"
:rules="scope.row.valueType !== 'add' ? rules.score : rules.scoreNot" >
<el-input v-model.number="scope.row.score" placeholder="请填写分值" />
</el-form-item>
</template>
</el-table-column>
<el-table-column
prop="scoreMin"
align="center"
label="分值小计"
width = '80'
>
<template slot-scope="scope">
{{setScoreMin(scope.row)}}
</template>
</el-table-column>
<el-table-column
prop="reason"
align="center"
label="简述扣分理由(不合格<6分,必填)"
>
<template slot-scope="scope" v-if="(scope.row.valueType !== 'add' && scope.row.score !== undefined && scope.row.score !== '' && scope.row.score < 6)">
<el-form-item
:prop="'evaluationData.'+scope.$index + '.reason'"
:rules="rules.reason" >
<el-input v-model="scope.row.reason" placeholder="请填写扣分理由" />
</el-form-item>
</template>
</el-table-column>
</el-table-column>
</el-table-column>
</el-table>
</template>
<div>
<el-collapse accordion v-model="activeName">
<el-collapse-item title="复审意见" name = "1">
<div style="margin: 10px 0;">
<el-form
ref="formTongGuo"
:model="formTongGuo"
:rules="rules">
<!-- <el-form-item-->
<!-- prop="approvalOpinion"-->
<!-- >-->
<!-- <el-select @change="getRule" v-model="formTongGuo.approvalOpinion" placeholder="请审批" style="margin-bottom: 20px;">-->
<!-- <el-option label="驳回" value="1"></el-option>-->
<!-- <el-option label="通过" value="0"></el-option>-->
<!-- </el-select>-->
<!-- </el-form-item>-->
<el-form-item
prop="commentText"
>
<el-input
type="textarea"
:rows="3"
resize="none"
placeholder="请输入意见"
v-model="formTongGuo.commentText">
</el-input>
</el-form-item>
</el-form>
</div>
</el-collapse-item>
</el-collapse>
</div>
</div>
<div style="flex: auto;" v-show="active === '2'">
<ProcessTitle>
<template slot="title">基础信息</template>
</ProcessTitle>
@@ -25,7 +154,7 @@
<el-row :gutter="24">
<el-col :span="12">
<el-form-item label="企标类别" prop="standSort" class="add-form-item form-item-disabled">
<el-select v-model="form.standSort" filterable clearable :disabled="disabledState" style="appearance: none">
<el-select v-model="form.standSort" filterable clearable placeholder="" :disabled="disabledState" style="appearance: none">
<el-option
v-for="item in standSortOptions"
:key="item.value"
@@ -41,7 +170,7 @@
></el-input>
</el-form-item>
<el-form-item label="文本状态" prop="textStatusBuss" class="add-form-item form-item-disabled">
<el-select :popper-append-to-body="false" v-model="form.textStatusBuss" :disabled="disabledState">
<el-select :popper-append-to-body="false" v-model="form.textStatusBuss" placeholder="" :disabled="disabledState">
<el-option
v-for="item in standStateOptions"
:key="item.value"
@@ -158,7 +287,7 @@
<el-row :gutter="24">
<el-col :span="12">
<el-form-item label="起草部门" prop="QCDW" class="add-form-item form-item-disabled">
<el-select :popper-append-to-body="false" v-model="form.QCDW" :disabled="disabledState" multiple>
<el-select :popper-append-to-body="false" v-model="form.QCDW" placeholder="" :disabled="disabledState" multiple>
<el-option
v-for="item in qcdwOptions"
:key="item.value"
@@ -175,7 +304,7 @@
></el-input>
</el-form-item>
<el-form-item label="能源类型" prop="NYLXCLASS" class="add-form-item form-item-disabled">
<el-select :popper-append-to-body="false" v-model="form.NYLXCLASS" :disabled="disabledState" multiple>
<el-select :popper-append-to-body="false" v-model="form.NYLXCLASS" placeholder="" :disabled="disabledState" multiple>
<el-option
v-for="item in categoryOptions"
:key="item.value"
@@ -193,7 +322,7 @@
</el-col>
<el-col :span="12">
<el-form-item label="起草人" prop="QCRBUSS" class="add-form-item form-item-disabled">
<el-select :popper-append-to-body="false" v-model="form.QCRBUSS" :disabled="disabledState" >
<el-select :popper-append-to-body="false" v-model="form.QCRBUSS" placeholder="" :disabled="disabledState" >
<el-option
v-for="item in qcrOptions"
:key="item.value"
@@ -203,7 +332,7 @@
</el-select>
</el-form-item>
<el-form-item label="适用车型" prop="SYCXCLASS" class="add-form-item form-item-disabled">
<el-select :popper-append-to-body="false" v-model="form.SYCXCLASS" :disabled="disabledState" multiple>
<el-select :popper-append-to-body="false" v-model="form.SYCXCLASS" placeholder="" :disabled="disabledState" multiple>
<el-option
v-for="item in applyArcticOptions"
:key="item.value"
@@ -213,7 +342,7 @@
</el-select>
</el-form-item>
<el-form-item label="适用产品线" prop="SYCPXCLASS" class="add-form-item form-item-disabled">
<el-select :popper-append-to-body="false" v-model="form.SYCPXCLASS" :disabled="disabledState" multiple>
<el-select :popper-append-to-body="false" v-model="form.SYCPXCLASS" placeholder="" :disabled="disabledState" multiple>
<el-option
v-for="item in sycpxOptions"
:key="item.value"
@@ -267,38 +396,6 @@
</el-col>
</el-row>
</div>
<div>
<el-collapse accordion v-model="activeName">
<el-collapse-item title="审批意见" name = "1">
<div style="margin: 10px 0;">
<el-form
ref="formTongGuo"
:model="formTongGuo"
:rules="rules">
<!-- <el-form-item-->
<!-- prop="approvalOpinion"-->
<!-- >-->
<!-- <el-select @change="getRule" v-model="formTongGuo.approvalOpinion" placeholder="请审批" style="margin-bottom: 20px;">-->
<!-- <el-option label="驳回" value="1"></el-option>-->
<!-- <el-option label="通过" value="0"></el-option>-->
<!-- </el-select>-->
<!-- </el-form-item>-->
<el-form-item
prop="commentText"
>
<el-input
type="textarea"
:rows="3"
resize="none"
placeholder="请输入意见"
v-model="formTongGuo.commentText">
</el-input>
</el-form-item>
</el-form>
</div>
</el-collapse-item>
</el-collapse>
</div>
</div>
<!-- <div class="block" id="active2" v-show="active === '2'">-->
<!-- <ProcessTitle>-->
@@ -456,6 +553,7 @@
show-save
show-submit
:saveLoading="saveLoading"
:submitLoading="isSubmit"
@save="handleSave"
@submit="handleSubmit"
>
@@ -662,10 +760,9 @@
:maxlength="100"></el-input>
</el-form-item>
<el-formItem label="文本状态" prop="lawsTextState" class="search-item">
<el-select v-model="standardSearchForm.lawsTextState" filterable clearable>
<el-select v-model="standardSearchForm.lawsTextState" placeholder="" filterable clearable>
<el-option
v-for="item in standStateOptions"
placeholder="请选择"
:key="item.value"
:value="item.value"
:label="item.label"
@@ -805,6 +902,7 @@
import ProcessFooter from '../../components/ProcessFooter'
import ProcessTitle from '../../components/ProcessTitle'
import {saveTaskFirst, queryTaskFirst, getBusStandFileByAttId,inboundLiaisonDetail} from "api/process";
import {getEvaluationIndex} from "api/businessApi";
import TreeSelect from '@/components/treeSelect/treeSelect.vue';
import TreeSelectNew from '@/components/treeSelect/treeSelectNew.vue';
let Base64 = require('js-base64').Base64;
@@ -819,6 +917,25 @@
TreeSelectNew
},
data () {
const numberCodeNot = (rule, value, callback) => {
let pattern = /^[1]*$/
if (!pattern.test(value)) {
return callback(new Error('评分分值只可为1分'))
} else {
callback()
}
};
const numberCode = (rule, value, callback) => {
if(value === undefined || value === ''){
return callback(new Error('评分分值不可为空'))
}
let pattern = /^[0-9]*$/
if (!pattern.test(value)) {
return callback(new Error('只能输入数字'))
} else {
callback()
}
};
const validateZrUserIdName = (rule, value, callback) => {
if(this.FBGBUSSFileList.length === 0){
callback(new Error('请上传发布稿文件!'))
@@ -874,6 +991,7 @@
},
loading: false,
disabledState: true,
taskInfo:'标准法规工程师复审',
userId:this.$store.getters.userInfo.userId,
taskIds: this.$route.query.taskIds,
pId: this.$route.query.prcId,
@@ -1019,6 +1137,7 @@
countryArr:'',
commentCycleDate:'',
form: {
evaluationData:[],
modelData:[],
modelDataNameVerify:[],
modelDataZrUserVerify:[],
@@ -1194,6 +1313,14 @@
],
},
rules:{
scoreNot:[
{required: false, validator: numberCodeNot, trigger: 'blur'},
],
score: [
{required: true, validator: numberCode, trigger: 'blur'},
{ type: 'number',min: 0, max: 10, message: '分值 0 ~ 10 分 ', trigger: 'blur' },
],
reason: [{ required: true, message: '请填写扣分理由', trigger: 'blur' }],
commentText: [{ required: true, message: '请输入意见', trigger: 'blur' }],
approvalOpinion: [{ required: true, message: '请选择审批意见', trigger: 'change' }],
zrUserIdName: [
@@ -1324,6 +1451,84 @@
},
},
methods: {
filterData2(){
let spanOneArr = []
let concatOne = 0
this.form.evaluationData.forEach((item,index)=>{//(orderdata)
if(index === 0){
spanOneArr.push(1)
}else{
//name
if(item.twoIndexTitle === this.form.evaluationData[index - 1].twoIndexTitle){ //
spanOneArr[concatOne] += 1
spanOneArr.push(0)
}else{
spanOneArr.push(1)
concatOne = index
}
}
})
return {
one: spanOneArr,
}
},
setScoreMin(row){
return row.scoreMin = ((row.score === undefined || row.score === '') ? '' : row.valueType === 'add' ? row.score : (row.score / 10).toFixed(1))
},
getSummaries(param) {
const { columns, data } = param;
const sums = [];
columns.forEach((column, index) => {
if (index === 3) {
sums[index] = '合计:';
return;
}else if(index === 6){
sums[index] = '';
return;
}
const values = data.map(item => Number(item[column.property]));
if (!values.every(value => isNaN(value))) {
sums[index] = values.reduce((prev, curr) => {
const value = Number(curr);
if (!isNaN(value)) {
return prev + curr;
} else {
return prev;
}
}, 0);
sums[index] += ' ';
} else {
sums[index] = '';
}
if(sums[index] !== '' && sums[index].indexOf(".") !== -1){
sums[index] = parseFloat(sums[index]).toFixed(1);
}
});
return sums;
},
objectSpanMethod({ row, column, rowIndex, columnIndex },value) {
if (columnIndex === 0) {
if (rowIndex === 0) {
return {
rowspan: value.length,
colspan: 1
};
} else {
return {
rowspan: 0,
colspan: 0
};
}
}else if(columnIndex === 1 ) {
const _row = (this.filterData2(this.form.evaluationData).one)[rowIndex]
const _col = _row > 0 ? 1 : 0
return {
rowspan: _row,
colspan: _col
}
}
},
modelProp(row,index){
console.log(row)
console.log(index)
@@ -1526,6 +1731,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
})
@@ -2320,8 +2530,7 @@
this.active = name
},
//
handleSave() {
this.form.country=this.countryArr;
handleSave() {this.form.country=this.countryArr;
// if(item.country !== undefined && item.country !== null){
// this.sarStandardsInfoEO.country = item.country.split(",");
// }
@@ -2331,16 +2540,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: this.taskInfo,
form: this.form,
roleForm: this.roleForm,
commentText: this.commentText
@@ -2457,36 +2660,41 @@
// } else if (val === '') {
// this.form.country = []
// }
this.$refs['formTongGuo'].validate((valid) => {
if (valid) {
this.isSubmit = true
this.form.commentText = this.formTongGuo.commentText
this.form.approvalOpinion = this.formTongGuo.approvalOpinion
const json = JSON.stringify(this.form);
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({path:'/processCenter?tabsName=ProcessCenter'})
// if(this.formTongGuo.approvalOpinion === '1'){
// this.$message.warning("")
// this.isSubmit = false
// //
// this.$router.push({path:'/processCenter?tabsName=ProcessCenter'})
// }else{
// this.processCreateLaws(json)
// }
}else {
this.$message.success(res.message)
}
})
}})
this.$refs['form'].validate((valid) => {
if (valid) {
this.$refs['formTongGuo'].validate((valid) => {
if (valid) {
this.isSubmit = true
this.form.commentText = this.formTongGuo.commentText
this.form.approvalOpinion = this.formTongGuo.approvalOpinion
const json = JSON.stringify(this.form);
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.isSubmit = false
this.$router.push({path:'/processCenter?tabsName=ProcessCenter'})
// if(this.formTongGuo.approvalOpinion === '1'){
// this.$message.warning("")
// this.isSubmit = false
// //
// this.$router.push({path:'/processCenter?tabsName=ProcessCenter'})
// }else{
// this.processCreateLaws(json)
// }
}else {
this.$message.success(res.message)
}
})
}})
}
})
},
busVsFunc(){
this.$http.get('sarVppsTree/list', '', {
@@ -2518,6 +2726,7 @@
getFormFieldList (item) {
this.$nextTick(() => {
this.form = JSON.parse(JSON.stringify(item))
this.getEvaluation()
this.form.prcNum = this.prcNum
this.form.prcName = this.prcName
this.form['id'] = item.id
@@ -2533,6 +2742,28 @@
return list;
},
getEvaluation() {
return new Promise((resolve, reject) => {
getEvaluationIndex({
indexType: 'quality'
}).then(res => {
if (res) {
const evalList = []
res.data.forEach(item =>{
item.score = ''
item.scoreMin = ''
item.reason = ''
item.userId = this.userId
item.processNode = this.taskInfo
evalList.push(item)
})
this.form.evaluationData = evalList
this.$forceUpdate()
}
}).catch(e => {
})
})
},
getData() {
if(this.taskIds && this.pId){
return new Promise((resolve, reject) => {
@@ -2593,6 +2824,7 @@
},
},
mounted () {
this.getTaskId()
this.getData()
this.processTable()
this.$http.get('sys/dictype/getDicTypeListCode', '', {
@@ -2634,9 +2866,15 @@
<style lang="less" scoped>
@import '~@/assets/styles/style';
/deep/ .column1{
font-size: 18px !important;
}
/deep/ .el-input__suffix{
display: none !important;
}
/deep/ #active1 .el-form-item__content{
margin-left: 0px !important;
}
/deep/ #active2 .el-form-item__content{
margin-left: 0px !important;
}
@@ -2,10 +2,11 @@
<!-- 标准入库流程-->
<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>
<div class="headerTabsItem" :class="active === '1' ? 'active' : ''" @click="handleTabs('1')">评审评分</div>
<div class="headerTabsItem" :class="active === '2' ? 'active' : ''" @click="handleTabs('2')">基础信息</div>
<!-- <div class="headerTabsItem" :class="active === '2' ? 'active' : ''" @click="handleTabs('2')">模块信息</div>-->
<div class="headerTabsItem" :class="active === '3' ? 'active' : ''" @click="handleTabs('3')">审批历史</div>
</div>
@@ -17,7 +18,135 @@
class="label-input-form"
label-width="210px"
>
<div style="flex: auto;" v-show="active === '1'">
<div style="flex: auto;" id="active1" v-show="active === '1'">
<template>
<el-table
:data="form.evaluationData"
:summary-method="getSummaries"
show-summary
:span-method="(({row, column, rowIndex, columnIndex})=>objectSpanMethod({row, column, rowIndex, columnIndex},form.evaluationData))"
style="width: 100%">
<el-table-column label="企业标准编写质量评价表" align="center" label-class-name="column1">
<el-table-column
label="标准代号"
>
<el-table-column
prop="oneIndexTitle"
align="center"
label="一级指标"
width = '120'
>
</el-table-column>
</el-table-column>
<el-table-column
:label="form.standCode"
>
<el-table-column
prop="twoIndexTitle"
align="center"
label="二级指标"
width = '120'
>
</el-table-column>
<el-table-column
prop="threeIndexTitle"
label="三级指标"
width="300"
>
</el-table-column>
</el-table-column>
<el-table-column
label="标准名称"
>
<el-table-column
prop="weight"
align="center"
label="指标权重 %"
width = '100'
>
<template slot-scope="scope">
{{scope.row.valueType === 'number' ? scope.row.weight * 100 : '加分项('+scope.row.weight+'分)'}}
</template>
</el-table-column>
</el-table-column>
<el-table-column
:label="form.standName"
>
<el-table-column
prop="score"
align="center"
label="指标分值(10分制)优≥8分;合格6~8分;不合格<6分"
width = '200'
>
<template slot-scope="scope">
<el-form-item
:prop="'evaluationData.'+scope.$index + '.score'"
:rules="scope.row.valueType !== 'add' ? rules.score : rules.scoreNot" >
<el-input v-model.number="scope.row.score" placeholder="请填写分值" />
</el-form-item>
</template>
</el-table-column>
<el-table-column
prop="scoreMin"
align="center"
label="分值小计"
width = '80'
>
<template slot-scope="scope">
{{setScoreMin(scope.row)}}
</template>
</el-table-column>
<el-table-column
prop="reason"
align="center"
label="简述扣分理由(不合格<6分,必填)"
>
<template slot-scope="scope" v-if="(scope.row.valueType !== 'add' && scope.row.score !== undefined && scope.row.score !== '' && scope.row.score < 6)">
<el-form-item
:prop="'evaluationData.'+scope.$index + '.reason'"
:rules="rules.reason" >
<el-input v-model="scope.row.reason" placeholder="请填写扣分理由" />
</el-form-item>
</template>
</el-table-column>
</el-table-column>
</el-table-column>
</el-table>
</template>
<div>
<el-collapse accordion v-model="activeName">
<el-collapse-item title="审批意见" name = "1">
<div style="margin: 10px 0;">
<el-form
ref="formTongGuo"
:model="formTongGuo"
:rules="rules">
<!-- <el-form-item-->
<!-- prop="approvalOpinion"-->
<!-- >-->
<!-- <el-select @change="getRule" v-model="formTongGuo.approvalOpinion" placeholder="请审批" style="margin-bottom: 20px;">-->
<!-- <el-option label="驳回" value="1"></el-option>-->
<!-- <el-option label="通过" value="0"></el-option>-->
<!-- </el-select>-->
<!-- </el-form-item>-->
<el-form-item
prop="commentText"
>
<el-input
type="textarea"
:rows="3"
resize="none"
placeholder="请输入意见"
v-model="formTongGuo.commentText">
</el-input>
</el-form-item>
</el-form>
</div>
</el-collapse-item>
</el-collapse>
</div>
</div>
<div style="flex: auto;" v-show="active === '2'">
<ProcessTitle>
<template slot="title">基础信息</template>
</ProcessTitle>
@@ -25,7 +154,7 @@
<el-row :gutter="24">
<el-col :span="12">
<el-form-item label="企标类别" prop="standSort" class="add-form-item form-item-disabled">
<el-select v-model="form.standSort" filterable clearable :disabled="disabledState" style="appearance: none">
<el-select v-model="form.standSort" filterable clearable placeholder="" :disabled="disabledState" style="appearance: none">
<el-option
v-for="item in standSortOptions"
:key="item.value"
@@ -41,7 +170,7 @@
></el-input>
</el-form-item>
<el-form-item label="文本状态" prop="textStatusBuss" class="add-form-item form-item-disabled">
<el-select :popper-append-to-body="false" v-model="form.textStatusBuss" :disabled="disabledState">
<el-select :popper-append-to-body="false" v-model="form.textStatusBuss" placeholder="" :disabled="disabledState">
<el-option
v-for="item in standStateOptions"
:key="item.value"
@@ -158,7 +287,7 @@
<el-row :gutter="24">
<el-col :span="12">
<el-form-item label="起草部门" prop="QCDW" class="add-form-item form-item-disabled">
<el-select :popper-append-to-body="false" v-model="form.QCDW" :disabled="disabledState" multiple>
<el-select :popper-append-to-body="false" v-model="form.QCDW" placeholder="" :disabled="disabledState" multiple>
<el-option
v-for="item in qcdwOptions"
:key="item.value"
@@ -175,7 +304,7 @@
></el-input>
</el-form-item>
<el-form-item label="能源类型" prop="NYLXCLASS" class="add-form-item form-item-disabled">
<el-select :popper-append-to-body="false" v-model="form.NYLXCLASS" :disabled="disabledState" multiple>
<el-select :popper-append-to-body="false" v-model="form.NYLXCLASS" placeholder="" :disabled="disabledState" multiple>
<el-option
v-for="item in categoryOptions"
:key="item.value"
@@ -193,7 +322,7 @@
</el-col>
<el-col :span="12">
<el-form-item label="起草人" prop="QCRBUSS" class="add-form-item form-item-disabled">
<el-select :popper-append-to-body="false" v-model="form.QCRBUSS" :disabled="disabledState" >
<el-select :popper-append-to-body="false" v-model="form.QCRBUSS" placeholder="" :disabled="disabledState" >
<el-option
v-for="item in qcrOptions"
:key="item.value"
@@ -203,7 +332,7 @@
</el-select>
</el-form-item>
<el-form-item label="适用车型" prop="SYCXCLASS" class="add-form-item form-item-disabled">
<el-select :popper-append-to-body="false" v-model="form.SYCXCLASS" :disabled="disabledState" multiple>
<el-select :popper-append-to-body="false" v-model="form.SYCXCLASS" placeholder="" :disabled="disabledState" multiple>
<el-option
v-for="item in applyArcticOptions"
:key="item.value"
@@ -213,7 +342,7 @@
</el-select>
</el-form-item>
<el-form-item label="适用产品线" prop="SYCPXCLASS" class="add-form-item form-item-disabled">
<el-select :popper-append-to-body="false" v-model="form.SYCPXCLASS" :disabled="disabledState" multiple>
<el-select :popper-append-to-body="false" v-model="form.SYCPXCLASS" placeholder="" :disabled="disabledState" multiple>
<el-option
v-for="item in sycpxOptions"
:key="item.value"
@@ -267,38 +396,6 @@
</el-col>
</el-row>
</div>
<div>
<el-collapse accordion v-model="activeName">
<el-collapse-item title="审批意见" name = "1">
<div style="margin: 10px 0;">
<el-form
ref="formTongGuo"
:model="formTongGuo"
:rules="rules">
<!-- <el-form-item-->
<!-- prop="approvalOpinion"-->
<!-- >-->
<!-- <el-select @change="getRule" v-model="formTongGuo.approvalOpinion" placeholder="请审批" style="margin-bottom: 20px;">-->
<!-- <el-option label="驳回" value="1"></el-option>-->
<!-- <el-option label="通过" value="0"></el-option>-->
<!-- </el-select>-->
<!-- </el-form-item>-->
<el-form-item
prop="commentText"
>
<el-input
type="textarea"
:rows="3"
resize="none"
placeholder="请输入意见"
v-model="formTongGuo.commentText">
</el-input>
</el-form-item>
</el-form>
</div>
</el-collapse-item>
</el-collapse>
</div>
</div>
<!-- <div class="block" id="active2" v-show="active === '2'">-->
<!-- <ProcessTitle>-->
@@ -453,12 +550,13 @@
<!-- 保存||提交-->
<ProcessFooter
v-show="verifySarStandard"
:show-save="false"
show-save
show-over2
show-submit2
show-transfer
:submitLoading="isSubmit"
:saveLoading="saveLoading"
@save="handleSave"
@transfer="handleTransfer"
@submit2="handle2"
@over2="handle1"
@@ -674,10 +772,9 @@
:maxlength="100"></el-input>
</el-form-item>
<el-formItem label="文本状态" prop="lawsTextState" class="search-item">
<el-select v-model="standardSearchForm.lawsTextState" filterable clearable>
<el-select v-model="standardSearchForm.lawsTextState" placeholder="" filterable clearable>
<el-option
v-for="item in standStateOptions"
placeholder="请选择"
:key="item.value"
:value="item.value"
:label="item.label"
@@ -817,6 +914,7 @@
import ProcessFooter from '../../components/ProcessFooter'
import ProcessTitle from '../../components/ProcessTitle'
import {saveTaskFirst, queryTaskFirst, getBusStandFileByAttId,inboundLiaisonDetail,changeAssigneeNew} from "api/process";
import {getEvaluationIndex} from "api/businessApi";
import TreeSelect from '@/components/treeSelect/treeSelect.vue';
import TreeSelectNew from '@/components/treeSelect/treeSelectNew.vue';
let Base64 = require('js-base64').Base64;
@@ -831,6 +929,25 @@
TreeSelectNew
},
data () {
const numberCodeNot = (rule, value, callback) => {
let pattern = /^[1]*$/
if (!pattern.test(value)) {
return callback(new Error('评分分值只可为1分'))
} else {
callback()
}
};
const numberCode = (rule, value, callback) => {
if(value === undefined || value === ''){
return callback(new Error('评分分值不可为空'))
}
let pattern = /^[0-9]*$/
if (!pattern.test(value)) {
return callback(new Error('只能输入数字'))
} else {
callback()
}
};
const validateZrUserIdName = (rule, value, callback) => {
if(this.FBGBUSSFileList.length === 0){
callback(new Error('请上传发布稿文件!'))
@@ -886,6 +1003,7 @@
},
loading: false,
drawerModal: false,
taskInfo:'技术委员会负责人/起草中心主任审核',
assigneeNewLoading: false,
disabledState: true,
userId:this.$store.getters.userInfo.userId,
@@ -1033,6 +1151,7 @@
countryArr:'',
commentCycleDate:'',
form: {
evaluationData:[],
modelData:[],
modelDataNameVerify:[],
modelDataZrUserVerify:[],
@@ -1208,6 +1327,14 @@
],
},
rules:{
scoreNot:[
{required: false, validator: numberCodeNot, trigger: 'blur'},
],
score: [
{required: true, validator: numberCode, trigger: 'blur'},
{ type: 'number',min: 0, max: 10, message: '分值 0 ~ 10 分 ', trigger: 'blur' },
],
reason: [{ required: true, message: '请填写扣分理由', trigger: 'blur' }],
commentText: [{ required: true, message: '请输入意见', trigger: 'blur' }],
approvalOpinion: [{ required: true, message: '请选择审批意见', trigger: 'change' }],
zrUserIdName: [
@@ -1338,6 +1465,84 @@
},
},
methods: {
filterData2(){
let spanOneArr = []
let concatOne = 0
this.form.evaluationData.forEach((item,index)=>{//(orderdata)
if(index === 0){
spanOneArr.push(1)
}else{
//name
if(item.twoIndexTitle === this.form.evaluationData[index - 1].twoIndexTitle){ //
spanOneArr[concatOne] += 1
spanOneArr.push(0)
}else{
spanOneArr.push(1)
concatOne = index
}
}
})
return {
one: spanOneArr,
}
},
setScoreMin(row){
return row.scoreMin = ((row.score === undefined || row.score === '') ? '' : row.valueType === 'add' ? row.score : (row.score / 10).toFixed(1))
},
getSummaries(param) {
const { columns, data } = param;
const sums = [];
columns.forEach((column, index) => {
if (index === 3) {
sums[index] = '合计:';
return;
}else if(index === 6){
sums[index] = '';
return;
}
const values = data.map(item => Number(item[column.property]));
if (!values.every(value => isNaN(value))) {
sums[index] = values.reduce((prev, curr) => {
const value = Number(curr);
if (!isNaN(value)) {
return prev + curr;
} else {
return prev;
}
}, 0);
sums[index] += ' ';
} else {
sums[index] = '';
}
if(sums[index] !== '' && sums[index].indexOf(".") !== -1){
sums[index] = parseFloat(sums[index]).toFixed(1);
}
});
return sums;
},
objectSpanMethod({ row, column, rowIndex, columnIndex },value) {
if (columnIndex === 0) {
if (rowIndex === 0) {
return {
rowspan: value.length,
colspan: 1
};
} else {
return {
rowspan: 0,
colspan: 0
};
}
}else if(columnIndex === 1 ) {
const _row = (this.filterData2(this.form.evaluationData).one)[rowIndex]
const _col = _row > 0 ? 1 : 0
return {
rowspan: _row,
colspan: _col
}
}
},
modelProp(row,index){
console.log(row)
console.log(index)
@@ -1559,6 +1764,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
})
@@ -2364,16 +2574,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: this.taskInfo,
form: this.form,
roleForm: this.roleForm,
commentText: this.commentText
@@ -2480,7 +2684,11 @@
},
handle2(){
this.formTongGuo.approvalOpinion = 0
this.handleSubmit()
this.$refs['form'].validate((valid) => {
if (valid) {
this.handleSubmit()
}
})
},
getRule(){
if (this.formTongGuo.approvalOpinion === 0) {
@@ -2516,17 +2724,15 @@
_this: this
}, res => {
if (res.success) {
this.$message.success(res.message)
if(this.formTongGuo.approvalOpinion === '1'){
this.$message.warning("驳回成功")
}else{
this.$message.success(res.message)
// this.processCreateLaws(json)
}
this.isSubmit = false
//
this.$router.push({path:'/processCenter?tabsName=ProcessCenter'})
// if(this.formTongGuo.approvalOpinion === '1'){
// this.$message.warning("")
// this.isSubmit = false
// //
// this.$router.push({path:'/processCenter?tabsName=ProcessCenter'})
// }else{
// this.processCreateLaws(json)
// }
}else {
this.$message.success(res.message)
}
@@ -2563,6 +2769,7 @@
getFormFieldList (item) {
this.$nextTick(() => {
this.form = JSON.parse(JSON.stringify(item))
this.getEvaluation()
this.form.prcNum = this.prcNum
this.form.prcName = this.prcName
this.form['id'] = item.id
@@ -2578,6 +2785,28 @@
return list;
},
getEvaluation() {
return new Promise((resolve, reject) => {
getEvaluationIndex({
indexType: 'quality'
}).then(res => {
if (res) {
const evalList = []
res.data.forEach(item =>{
item.score = ''
item.scoreMin = ''
item.reason = ''
item.userId = this.userId
item.processNode = this.taskInfo
evalList.push(item)
})
this.form.evaluationData = evalList
this.$forceUpdate()
}
}).catch(e => {
})
})
},
getData() {
if(this.taskIds && this.pId){
return new Promise((resolve, reject) => {
@@ -2638,6 +2867,7 @@
},
},
mounted () {
this.getTaskId()
this.getData()
this.processTable()
this.$http.get('sys/dictype/getDicTypeListCode', '', {
@@ -2679,6 +2909,12 @@
<style lang="less" scoped>
@import '~@/assets/styles/style';
/deep/ .column1{
font-size: 18px !important;
}
/deep/ #active1 .el-form-item__content{
margin-left: 0px !important;
}
/deep/ .el-input__suffix{
display: none !important;
}
@@ -2,10 +2,11 @@
<!-- 标准入库流程-->
<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>
<div class="headerTabsItem" :class="active === '1' ? 'active' : ''" @click="handleTabs('1')">审核评分</div>
<div class="headerTabsItem" :class="active === '2' ? 'active' : ''" @click="handleTabs('2')">基础信息</div>
<!-- <div class="headerTabsItem" :class="active === '2' ? 'active' : ''" @click="handleTabs('2')">模块信息</div>-->
<div class="headerTabsItem" :class="active === '3' ? 'active' : ''" @click="handleTabs('3')">审批历史</div>
</div>
@@ -17,7 +18,135 @@
class="label-input-form"
label-width="210px"
>
<div style="flex: auto;" v-show="active === '1'">
<div style="flex: auto;" id="active1" v-show="active === '1'">
<template>
<el-table
:data="form.evaluationData"
:summary-method="getSummaries"
show-summary
:span-method="(({row, column, rowIndex, columnIndex})=>objectSpanMethod({row, column, rowIndex, columnIndex},form.evaluationData))"
style="width: 100%">
<el-table-column label="企业标准编写质量评价表" align="center" label-class-name="column1">
<el-table-column
label="标准代号"
>
<el-table-column
prop="oneIndexTitle"
align="center"
label="一级指标"
width = '120'
>
</el-table-column>
</el-table-column>
<el-table-column
:label="form.standCode"
>
<el-table-column
prop="twoIndexTitle"
align="center"
label="二级指标"
width = '120'
>
</el-table-column>
<el-table-column
prop="threeIndexTitle"
label="三级指标"
width="300"
>
</el-table-column>
</el-table-column>
<el-table-column
label="标准名称"
>
<el-table-column
prop="weight"
align="center"
label="指标权重 %"
width = '100'
>
<template slot-scope="scope">
{{scope.row.valueType === 'number' ? scope.row.weight * 100 : '加分项('+scope.row.weight+'分)'}}
</template>
</el-table-column>
</el-table-column>
<el-table-column
:label="form.standName"
>
<el-table-column
prop="score"
align="center"
label="指标分值(10分制)优≥8分;合格6~8分;不合格<6分"
width = '200'
>
<template slot-scope="scope">
<el-form-item
:prop="'evaluationData.'+scope.$index + '.score'"
:rules="scope.row.valueType !== 'add' ? rules.score : rules.scoreNot" >
<el-input v-model.number="scope.row.score" placeholder="请填写分值" />
</el-form-item>
</template>
</el-table-column>
<el-table-column
prop="scoreMin"
align="center"
label="分值小计"
width = '80'
>
<template slot-scope="scope">
{{setScoreMin(scope.row)}}
</template>
</el-table-column>
<el-table-column
prop="reason"
align="center"
label="简述扣分理由(不合格<6分,必填)"
>
<template slot-scope="scope" v-if="(scope.row.valueType !== 'add' && scope.row.score !== undefined && scope.row.score !== '' && scope.row.score < 6)">
<el-form-item
:prop="'evaluationData.'+scope.$index + '.reason'"
:rules="rules.reason" >
<el-input v-model="scope.row.reason" placeholder="请填写扣分理由" />
</el-form-item>
</template>
</el-table-column>
</el-table-column>
</el-table-column>
</el-table>
</template>
<div>
<el-collapse accordion v-model="activeName">
<el-collapse-item title="审批意见" name = "1">
<div style="margin: 10px 0;">
<el-form
ref="formTongGuo"
:model="formTongGuo"
:rules="rules">
<!-- <el-form-item-->
<!-- prop="approvalOpinion"-->
<!-- >-->
<!-- <el-select @change="getRule" v-model="formTongGuo.approvalOpinion" placeholder="请审批" style="margin-bottom: 20px;">-->
<!-- <el-option label="驳回" value="1"></el-option>-->
<!-- <el-option label="通过" value="0"></el-option>-->
<!-- </el-select>-->
<!-- </el-form-item>-->
<el-form-item
prop="commentText"
>
<el-input
type="textarea"
:rows="3"
resize="none"
placeholder="请输入意见"
v-model="formTongGuo.commentText">
</el-input>
</el-form-item>
</el-form>
</div>
</el-collapse-item>
</el-collapse>
</div>
</div>
<div style="flex: auto;" v-show="active === '2'">
<ProcessTitle>
<template slot="title">基础信息</template>
</ProcessTitle>
@@ -25,7 +154,7 @@
<el-row :gutter="24">
<el-col :span="12">
<el-form-item label="企标类别" prop="standSort" class="add-form-item form-item-disabled">
<el-select v-model="form.standSort" filterable clearable :disabled="disabledState" style="appearance: none">
<el-select v-model="form.standSort" filterable clearable placeholder="" :disabled="disabledState" style="appearance: none">
<el-option
v-for="item in standSortOptions"
:key="item.value"
@@ -41,7 +170,7 @@
></el-input>
</el-form-item>
<el-form-item label="文本状态" prop="textStatusBuss" class="add-form-item form-item-disabled">
<el-select :popper-append-to-body="false" v-model="form.textStatusBuss" :disabled="disabledState">
<el-select :popper-append-to-body="false" v-model="form.textStatusBuss" placeholder="" :disabled="disabledState">
<el-option
v-for="item in standStateOptions"
:key="item.value"
@@ -158,7 +287,7 @@
<el-row :gutter="24">
<el-col :span="12">
<el-form-item label="起草部门" prop="QCDW" class="add-form-item form-item-disabled">
<el-select :popper-append-to-body="false" v-model="form.QCDW" :disabled="disabledState" multiple>
<el-select :popper-append-to-body="false" v-model="form.QCDW" placeholder="" :disabled="disabledState" multiple>
<el-option
v-for="item in qcdwOptions"
:key="item.value"
@@ -175,7 +304,7 @@
></el-input>
</el-form-item>
<el-form-item label="能源类型" prop="NYLXCLASS" class="add-form-item form-item-disabled">
<el-select :popper-append-to-body="false" v-model="form.NYLXCLASS" :disabled="disabledState" multiple>
<el-select :popper-append-to-body="false" v-model="form.NYLXCLASS" placeholder="" :disabled="disabledState" multiple>
<el-option
v-for="item in categoryOptions"
:key="item.value"
@@ -193,7 +322,7 @@
</el-col>
<el-col :span="12">
<el-form-item label="起草人" prop="QCRBUSS" class="add-form-item form-item-disabled">
<el-select :popper-append-to-body="false" v-model="form.QCRBUSS" :disabled="disabledState" >
<el-select :popper-append-to-body="false" v-model="form.QCRBUSS" placeholder="" :disabled="disabledState" >
<el-option
v-for="item in qcrOptions"
:key="item.value"
@@ -203,7 +332,7 @@
</el-select>
</el-form-item>
<el-form-item label="适用车型" prop="SYCXCLASS" class="add-form-item form-item-disabled">
<el-select :popper-append-to-body="false" v-model="form.SYCXCLASS" :disabled="disabledState" multiple>
<el-select :popper-append-to-body="false" v-model="form.SYCXCLASS" placeholder="" :disabled="disabledState" multiple>
<el-option
v-for="item in applyArcticOptions"
:key="item.value"
@@ -213,7 +342,7 @@
</el-select>
</el-form-item>
<el-form-item label="适用产品线" prop="SYCPXCLASS" class="add-form-item form-item-disabled">
<el-select :popper-append-to-body="false" v-model="form.SYCPXCLASS" :disabled="disabledState" multiple>
<el-select :popper-append-to-body="false" v-model="form.SYCPXCLASS" placeholder="" :disabled="disabledState" multiple>
<el-option
v-for="item in sycpxOptions"
:key="item.value"
@@ -267,38 +396,6 @@
</el-col>
</el-row>
</div>
<div>
<el-collapse accordion v-model="activeName">
<el-collapse-item title="审批意见" name = "1">
<div style="margin: 10px 0;">
<el-form
ref="formTongGuo"
:model="formTongGuo"
:rules="rules">
<!-- <el-form-item-->
<!-- prop="approvalOpinion"-->
<!-- >-->
<!-- <el-select @change="getRule" v-model="formTongGuo.approvalOpinion" placeholder="请审批" style="margin-bottom: 20px;">-->
<!-- <el-option label="驳回" value="1"></el-option>-->
<!-- <el-option label="通过" value="0"></el-option>-->
<!-- </el-select>-->
<!-- </el-form-item>-->
<el-form-item
prop="commentText"
>
<el-input
type="textarea"
:rows="3"
resize="none"
placeholder="请输入意见"
v-model="formTongGuo.commentText">
</el-input>
</el-form-item>
</el-form>
</div>
</el-collapse-item>
</el-collapse>
</div>
</div>
<!-- <div class="block" id="active2" v-show="active === '2'">-->
<!-- <ProcessTitle>-->
@@ -453,12 +550,13 @@
<!-- 保存||提交-->
<ProcessFooter
v-show="verifySarStandard"
:show-save="false"
show-save
show-over2
show-submit2
show-transfer
:submitLoading="isSubmit"
:saveLoading="saveLoading"
@save="handleSave"
@transfer="handleTransfer"
@submit2="handle2"
@over2="handle1"
@@ -674,10 +772,9 @@
:maxlength="100"></el-input>
</el-form-item>
<el-formItem label="文本状态" prop="lawsTextState" class="search-item">
<el-select v-model="standardSearchForm.lawsTextState" filterable clearable>
<el-select v-model="standardSearchForm.lawsTextState" placeholder="" filterable clearable>
<el-option
v-for="item in standStateOptions"
placeholder="请选择"
:key="item.value"
:value="item.value"
:label="item.label"
@@ -817,6 +914,7 @@
import ProcessFooter from '../../components/ProcessFooter'
import ProcessTitle from '../../components/ProcessTitle'
import {saveTaskFirst, queryTaskFirst, getBusStandFileByAttId,inboundLiaisonDetail,changeAssigneeNew} from "api/process";
import {getEvaluationIndex} from "api/businessApi";
import TreeSelect from '@/components/treeSelect/treeSelect.vue';
import TreeSelectNew from '@/components/treeSelect/treeSelectNew.vue';
let Base64 = require('js-base64').Base64;
@@ -831,6 +929,25 @@
TreeSelectNew
},
data () {
const numberCodeNot = (rule, value, callback) => {
let pattern = /^[1]*$/
if (!pattern.test(value)) {
return callback(new Error('评分分值只可为1分'))
} else {
callback()
}
};
const numberCode = (rule, value, callback) => {
if(value === undefined || value === ''){
return callback(new Error('评分分值不可为空'))
}
let pattern = /^[0-9]*$/
if (!pattern.test(value)) {
return callback(new Error('只能输入数字'))
} else {
callback()
}
};
const validateZrUserIdName = (rule, value, callback) => {
if(this.FBGBUSSFileList.length === 0){
callback(new Error('请上传发布稿文件!'))
@@ -1033,6 +1150,7 @@
countryArr:'',
commentCycleDate:'',
form: {
evaluationData:[],
modelData:[],
modelDataNameVerify:[],
modelDataZrUserVerify:[],
@@ -1208,6 +1326,14 @@
],
},
rules:{
scoreNot:[
{required: false, validator: numberCodeNot, trigger: 'blur'},
],
score: [
{required: true, validator: numberCode, trigger: 'blur'},
{ type: 'number',min: 0, max: 10, message: '分值 0 ~ 10 分 ', trigger: 'blur' },
],
reason: [{ required: true, message: '请填写扣分理由', trigger: 'blur' }],
commentText: [{ required: true, message: '请输入意见', trigger: 'blur' }],
approvalOpinion: [{ required: true, message: '请选择审批意见', trigger: 'change' }],
zrUserIdName: [
@@ -1338,6 +1464,84 @@
},
},
methods: {
filterData2(){
let spanOneArr = []
let concatOne = 0
this.form.evaluationData.forEach((item,index)=>{//(orderdata)
if(index === 0){
spanOneArr.push(1)
}else{
//name
if(item.twoIndexTitle === this.form.evaluationData[index - 1].twoIndexTitle){ //
spanOneArr[concatOne] += 1
spanOneArr.push(0)
}else{
spanOneArr.push(1)
concatOne = index
}
}
})
return {
one: spanOneArr,
}
},
setScoreMin(row){
return row.scoreMin = ((row.score === undefined || row.score === '') ? '' : row.valueType === 'add' ? row.score : (row.score / 10).toFixed(1))
},
getSummaries(param) {
const { columns, data } = param;
const sums = [];
columns.forEach((column, index) => {
if (index === 3) {
sums[index] = '合计:';
return;
}else if(index === 6){
sums[index] = '';
return;
}
const values = data.map(item => Number(item[column.property]));
if (!values.every(value => isNaN(value))) {
sums[index] = values.reduce((prev, curr) => {
const value = Number(curr);
if (!isNaN(value)) {
return prev + curr;
} else {
return prev;
}
}, 0);
sums[index] += ' ';
} else {
sums[index] = '';
}
if(sums[index] !== '' && sums[index].indexOf(".") !== -1){
sums[index] = parseFloat(sums[index]).toFixed(1);
}
});
return sums;
},
objectSpanMethod({ row, column, rowIndex, columnIndex },value) {
if (columnIndex === 0) {
if (rowIndex === 0) {
return {
rowspan: value.length,
colspan: 1
};
} else {
return {
rowspan: 0,
colspan: 0
};
}
}else if(columnIndex === 1 ) {
const _row = (this.filterData2(this.form.evaluationData).one)[rowIndex]
const _col = _row > 0 ? 1 : 0
return {
rowspan: _row,
colspan: _col
}
}
},
modelProp(row,index){
console.log(row)
console.log(index)
@@ -1559,6 +1763,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
})
@@ -2364,16 +2573,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: this.taskInfo,
form: this.form,
roleForm: this.roleForm,
commentText: this.commentText
@@ -2479,8 +2682,14 @@
this.handleSubmit()
},
handle2(){
const json = JSON.stringify(this.form);
console.log(json)
this.formTongGuo.approvalOpinion = 0
this.handleSubmit()
this.$refs['form'].validate((valid) => {
if (valid) {
this.handleSubmit()
}
})
},
getRule(){
if (this.formTongGuo.approvalOpinion === 0) {
@@ -2516,17 +2725,15 @@
_this: this
}, res => {
if (res.success) {
this.$message.success(res.message)
if(this.formTongGuo.approvalOpinion === '1'){
this.$message.warning("驳回成功")
}else{
this.$message.success(res.message)
// this.processCreateLaws(json)
}
this.isSubmit = false
//
this.$router.push({path:'/processCenter?tabsName=ProcessCenter'})
// if(this.formTongGuo.approvalOpinion === '1'){
// this.$message.warning("")
// this.isSubmit = false
// //
// this.$router.push({path:'/processCenter?tabsName=ProcessCenter'})
// }else{
// this.processCreateLaws(json)
// }
}else {
this.$message.success(res.message)
}
@@ -2563,6 +2770,7 @@
getFormFieldList (item) {
this.$nextTick(() => {
this.form = JSON.parse(JSON.stringify(item))
this.getEvaluation()
this.form.prcNum = this.prcNum
this.form.prcName = this.prcName
this.form['id'] = item.id
@@ -2578,6 +2786,28 @@
return list;
},
getEvaluation() {
return new Promise((resolve, reject) => {
getEvaluationIndex({
indexType: 'quality'
}).then(res => {
if (res) {
const evalList = []
res.data.forEach(item =>{
item.score = ''
item.scoreMin = ''
item.reason = ''
item.userId = this.userId
item.processNode = this.taskInfo
evalList.push(item)
})
this.form.evaluationData = evalList
this.$forceUpdate()
}
}).catch(e => {
})
})
},
getData() {
if(this.taskIds && this.pId){
return new Promise((resolve, reject) => {
@@ -2638,6 +2868,7 @@
},
},
mounted () {
this.getTaskId()
this.getData()
this.processTable()
this.$http.get('sys/dictype/getDicTypeListCode', '', {
@@ -2679,6 +2910,12 @@
<style lang="less" scoped>
@import '~@/assets/styles/style';
/deep/ .column1{
font-size: 18px !important;
}
/deep/ #active1 .el-form-item__content{
margin-left: 0px !important;
}
/deep/ .el-input__suffix{
display: none !important;
}
@@ -2,7 +2,7 @@
<!-- 标准入库流程-->
<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>
@@ -25,7 +25,7 @@
<el-row :gutter="24">
<el-col :span="12">
<el-form-item label="企标类别" prop="standSort" class="add-form-item form-item-disabled">
<el-select v-model="form.standSort" filterable clearable :disabled="disabledState" style="appearance: none">
<el-select v-model="form.standSort" filterable clearable placeholder="" :disabled="disabledState" style="appearance: none">
<el-option
v-for="item in standSortOptions"
:key="item.value"
@@ -41,7 +41,7 @@
></el-input>
</el-form-item>
<el-form-item label="文本状态" prop="textStatusBuss" class="add-form-item form-item-disabled">
<el-select :popper-append-to-body="false" v-model="form.textStatusBuss" :disabled="disabledState">
<el-select :popper-append-to-body="false" v-model="form.textStatusBuss" placeholder="" :disabled="disabledState">
<el-option
v-for="item in standStateOptions"
:key="item.value"
@@ -158,7 +158,7 @@
<el-row :gutter="24">
<el-col :span="12">
<el-form-item label="起草部门" prop="QCDW" class="add-form-item form-item-disabled">
<el-select :popper-append-to-body="false" v-model="form.QCDW" :disabled="disabledState" multiple>
<el-select :popper-append-to-body="false" v-model="form.QCDW" placeholder="" :disabled="disabledState" multiple>
<el-option
v-for="item in qcdwOptions"
:key="item.value"
@@ -175,7 +175,7 @@
></el-input>
</el-form-item>
<el-form-item label="能源类型" prop="NYLXCLASS" class="add-form-item form-item-disabled">
<el-select :popper-append-to-body="false" v-model="form.NYLXCLASS" :disabled="disabledState" multiple>
<el-select :popper-append-to-body="false" v-model="form.NYLXCLASS" placeholder="" :disabled="disabledState" multiple>
<el-option
v-for="item in categoryOptions"
:key="item.value"
@@ -193,7 +193,7 @@
</el-col>
<el-col :span="12">
<el-form-item label="起草人" prop="QCRBUSS" class="add-form-item form-item-disabled">
<el-select :popper-append-to-body="false" v-model="form.QCRBUSS" :disabled="disabledState" >
<el-select :popper-append-to-body="false" v-model="form.QCRBUSS" placeholder="" :disabled="disabledState" >
<el-option
v-for="item in qcrOptions"
:key="item.value"
@@ -203,7 +203,7 @@
</el-select>
</el-form-item>
<el-form-item label="适用车型" prop="SYCXCLASS" class="add-form-item form-item-disabled">
<el-select :popper-append-to-body="false" v-model="form.SYCXCLASS" :disabled="disabledState" multiple>
<el-select :popper-append-to-body="false" v-model="form.SYCXCLASS" placeholder="" :disabled="disabledState" multiple>
<el-option
v-for="item in applyArcticOptions"
:key="item.value"
@@ -213,7 +213,7 @@
</el-select>
</el-form-item>
<el-form-item label="适用产品线" prop="SYCPXCLASS" class="add-form-item form-item-disabled">
<el-select :popper-append-to-body="false" v-model="form.SYCPXCLASS" :disabled="disabledState" multiple>
<el-select :popper-append-to-body="false" v-model="form.SYCPXCLASS" placeholder="" :disabled="disabledState" multiple>
<el-option
v-for="item in sycpxOptions"
:key="item.value"
@@ -662,10 +662,9 @@
:maxlength="100"></el-input>
</el-form-item>
<el-formItem label="文本状态" prop="lawsTextState" class="search-item">
<el-select v-model="standardSearchForm.lawsTextState" filterable clearable>
<el-select v-model="standardSearchForm.lawsTextState" placeholder="" filterable clearable>
<el-option
v-for="item in standStateOptions"
placeholder="请选择"
:key="item.value"
:value="item.value"
:label="item.label"
@@ -2,7 +2,7 @@
<!-- 标准入库流程-->
<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>
@@ -25,7 +25,7 @@
<el-row :gutter="24">
<el-col :span="12">
<el-form-item label="企标类别" prop="standSort" class="add-form-item form-item-disabled">
<el-select v-model="form.standSort" filterable clearable :disabled="disabledState" style="appearance: none">
<el-select v-model="form.standSort" filterable clearable placeholder="" :disabled="disabledState" style="appearance: none">
<el-option
v-for="item in standSortOptions"
:key="item.value"
@@ -41,7 +41,7 @@
></el-input>
</el-form-item>
<el-form-item label="文本状态" prop="textStatusBuss" class="add-form-item form-item-disabled">
<el-select :popper-append-to-body="false" v-model="form.textStatusBuss" :disabled="disabledState">
<el-select :popper-append-to-body="false" v-model="form.textStatusBuss" placeholder="" :disabled="disabledState">
<el-option
v-for="item in standStateOptions"
:key="item.value"
@@ -158,7 +158,7 @@
<el-row :gutter="24">
<el-col :span="12">
<el-form-item label="起草部门" prop="QCDW" class="add-form-item form-item-disabled">
<el-select :popper-append-to-body="false" v-model="form.QCDW" :disabled="disabledState" multiple>
<el-select :popper-append-to-body="false" v-model="form.QCDW" placeholder="" :disabled="disabledState" multiple>
<el-option
v-for="item in qcdwOptions"
:key="item.value"
@@ -175,7 +175,7 @@
></el-input>
</el-form-item>
<el-form-item label="能源类型" prop="NYLXCLASS" class="add-form-item form-item-disabled">
<el-select :popper-append-to-body="false" v-model="form.NYLXCLASS" :disabled="disabledState" multiple>
<el-select :popper-append-to-body="false" v-model="form.NYLXCLASS" placeholder="" :disabled="disabledState" multiple>
<el-option
v-for="item in categoryOptions"
:key="item.value"
@@ -193,7 +193,7 @@
</el-col>
<el-col :span="12">
<el-form-item label="起草人" prop="QCRBUSS" class="add-form-item form-item-disabled">
<el-select :popper-append-to-body="false" v-model="form.QCRBUSS" :disabled="disabledState" >
<el-select :popper-append-to-body="false" v-model="form.QCRBUSS" placeholder="" :disabled="disabledState" >
<el-option
v-for="item in qcrOptions"
:key="item.value"
@@ -203,7 +203,7 @@
</el-select>
</el-form-item>
<el-form-item label="适用车型" prop="SYCXCLASS" class="add-form-item form-item-disabled">
<el-select :popper-append-to-body="false" v-model="form.SYCXCLASS" :disabled="disabledState" multiple>
<el-select :popper-append-to-body="false" v-model="form.SYCXCLASS" placeholder="" :disabled="disabledState" multiple>
<el-option
v-for="item in applyArcticOptions"
:key="item.value"
@@ -213,7 +213,7 @@
</el-select>
</el-form-item>
<el-form-item label="适用产品线" prop="SYCPXCLASS" class="add-form-item form-item-disabled">
<el-select :popper-append-to-body="false" v-model="form.SYCPXCLASS" :disabled="disabledState" multiple>
<el-select :popper-append-to-body="false" v-model="form.SYCPXCLASS" placeholder="" :disabled="disabledState" multiple>
<el-option
v-for="item in sycpxOptions"
:key="item.value"
@@ -662,7 +662,7 @@
:maxlength="100"></el-input>
</el-form-item>
<el-formItem label="文本状态" prop="lawsTextState" class="search-item">
<el-select v-model="standardSearchForm.lawsTextState" filterable clearable>
<el-select v-model="standardSearchForm.lawsTextState" placeholder="" filterable clearable>
<el-option
v-for="item in standStateOptions"
placeholder="请选择"
@@ -2,7 +2,7 @@
<!-- 标准入库流程-->
<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>
@@ -25,7 +25,7 @@
<el-row :gutter="24">
<el-col :span="12">
<el-form-item label="企标类别" prop="standSort" class="add-form-item form-item-disabled">
<el-select v-model="form.standSort" filterable clearable :disabled="disabledState" style="appearance: none">
<el-select v-model="form.standSort" filterable clearable placeholder="" :disabled="disabledState" style="appearance: none">
<el-option
v-for="item in standSortOptions"
:key="item.value"
@@ -41,7 +41,7 @@
></el-input>
</el-form-item>
<el-form-item label="文本状态" prop="textStatusBuss" class="add-form-item form-item-disabled">
<el-select :popper-append-to-body="false" v-model="form.textStatusBuss" :disabled="disabledState">
<el-select :popper-append-to-body="false" v-model="form.textStatusBuss" placeholder="" :disabled="disabledState">
<el-option
v-for="item in standStateOptions"
:key="item.value"
@@ -158,7 +158,7 @@
<el-row :gutter="24">
<el-col :span="12">
<el-form-item label="起草部门" prop="QCDW" class="add-form-item form-item-disabled">
<el-select :popper-append-to-body="false" v-model="form.QCDW" :disabled="disabledState" multiple>
<el-select :popper-append-to-body="false" v-model="form.QCDW" placeholder="" :disabled="disabledState" multiple>
<el-option
v-for="item in qcdwOptions"
:key="item.value"
@@ -175,7 +175,7 @@
></el-input>
</el-form-item>
<el-form-item label="能源类型" prop="NYLXCLASS" class="add-form-item form-item-disabled">
<el-select :popper-append-to-body="false" v-model="form.NYLXCLASS" :disabled="disabledState" multiple>
<el-select :popper-append-to-body="false" v-model="form.NYLXCLASS" placeholder="" :disabled="disabledState" multiple>
<el-option
v-for="item in categoryOptions"
:key="item.value"
@@ -193,7 +193,7 @@
</el-col>
<el-col :span="12">
<el-form-item label="起草人" prop="QCRBUSS" class="add-form-item form-item-disabled">
<el-select :popper-append-to-body="false" v-model="form.QCRBUSS" :disabled="disabledState" >
<el-select :popper-append-to-body="false" v-model="form.QCRBUSS" placeholder="" :disabled="disabledState" >
<el-option
v-for="item in qcrOptions"
:key="item.value"
@@ -203,7 +203,7 @@
</el-select>
</el-form-item>
<el-form-item label="适用车型" prop="SYCXCLASS" class="add-form-item form-item-disabled">
<el-select :popper-append-to-body="false" v-model="form.SYCXCLASS" :disabled="disabledState" multiple>
<el-select :popper-append-to-body="false" v-model="form.SYCXCLASS" placeholder="" :disabled="disabledState" multiple>
<el-option
v-for="item in applyArcticOptions"
:key="item.value"
@@ -213,7 +213,7 @@
</el-select>
</el-form-item>
<el-form-item label="适用产品线" prop="SYCPXCLASS" class="add-form-item form-item-disabled">
<el-select :popper-append-to-body="false" v-model="form.SYCPXCLASS" :disabled="disabledState" multiple>
<el-select :popper-append-to-body="false" v-model="form.SYCPXCLASS" placeholder="" :disabled="disabledState" multiple>
<el-option
v-for="item in sycpxOptions"
:key="item.value"
@@ -662,10 +662,9 @@
:maxlength="100"></el-input>
</el-form-item>
<el-formItem label="文本状态" prop="lawsTextState" class="search-item">
<el-select v-model="standardSearchForm.lawsTextState" filterable clearable>
<el-select v-model="standardSearchForm.lawsTextState" placeholder="" filterable clearable>
<el-option
v-for="item in standStateOptions"
placeholder="请选择"
:key="item.value"
:value="item.value"
:label="item.label"
@@ -235,9 +235,6 @@ export default {
}
},
methods: {
phoneClick () {
this.$router.push('/phoneWfhxStep4')
},
processTable() {
this.$http.get("lawss/activiti/get_list_by_instance", {
prcNum: this.$route.query.prcNum,
@@ -225,6 +225,9 @@ export default {
}
},
methods: {
phoneClick () {
this.$router.push('/phoneWfhxStep5')
},
queryFile(row) {
this.fileTextList = row.fileText
this.fileMadel = true
@@ -16,7 +16,7 @@
</process-title>
<el-collapse-transition>
<el-form
v-if="foldFormFlag === false"
v-if="foldFormFlag === false"
:model="listForm"
class="label-input-form prc-content-border"
label-width="150px"
@@ -113,10 +113,6 @@
<span>{{ scope.row.zccssrq ? $moment(scope.row.zccssrq).format("YYYY-MM-DD") : "" }}</span>
</template>
</el-table-column>
<!-- <el-table-column-->
<!-- prop="productType"-->
<!-- align="center"-->
<!-- label="在研产品">-->
<el-table-column
prop="complianceReasons"
align="center"
@@ -151,44 +147,6 @@
</template>
</el-table-column>
</el-table-column>
<!-- </el-table-column>-->
<!-- <el-table-column-->
<!-- align="center"-->
<!-- label="在产产品">-->
<!-- <el-table-column-->
<!-- prop="zcComplianceReasons"-->
<!-- align="center"-->
<!-- width="160"-->
<!-- label="合规(具体情况)">-->
<!-- </el-table-column>-->
<!-- <el-table-column-->
<!-- align="center"-->
<!-- width="160"-->
<!-- label="不合规">-->
<!-- <el-table-column-->
<!-- prop="zcNoCompliance"-->
<!-- align="center"-->
<!-- width="170"-->
<!-- label="不合规项目">-->
<!-- </el-table-column>-->
<!-- <el-table-column-->
<!-- prop="zcCountermeasures"-->
<!-- align="center"-->
<!-- width="160"-->
<!-- label="应对措施">-->
<!-- </el-table-column>-->
<!-- <el-table-column-->
<!-- prop="zcCompletionTime"-->
<!-- align="center"-->
<!-- width="120"-->
<!-- label="完成时间">-->
<!-- <template slot-scope="scope">-->
<!-- <span>{{ scope.row.zcCompletionTime ? $moment(scope.row.zcCompletionTime).format("YYYY-MM-DD") : ""-->
<!-- }}</span>-->
<!-- </template>-->
<!-- </el-table-column>-->
<!-- </el-table-column>-->
<!-- </el-table-column>-->
<el-table-column
prop="workPeople"
align="center"
@@ -0,0 +1,442 @@
<template>
<div class="phoneBzdyStep8 phoneBox">
<ProcessHeaderPhone toggle>
<template slot="proName">标准调研流程</template>
<template slot="proNode">技术管理中心主任审批</template>
</ProcessHeaderPhone>
<div class="headerTabs">
<div class="headerTabsItem" :class="active === '1' ? 'active' : ''" @click="handleTabs('1')">基础信息</div>
<div class="headerTabsItem" :class="active === '2' ? 'active' : ''" @click="handleTabs('2')">审批历史</div>
</div>
<div class="content" v-show="active === '1'">
<div style="overflow: auto;">
<el-form
ref="qbkwForm"
:model="form"
:rules="formRules"
class="label-input-form"
label-width="210px"
>
<ProcessTitle>
<template slot="title">基础信息</template>
</ProcessTitle>
<el-collapse-transition>
<div class="prc-content-border" v-if="foldFormFlag === false">
<el-row :gutter="24">
<el-col :span="12">
<el-form-item label="调研标题" prop="title" class="add-form-item form-item-disabled">
<el-input
disabled
v-model="form.title"
placeholder="请输入调研标题"
clearable
></el-input>
</el-form-item>
<el-form-item label="完成时间" prop="date" class="add-form-item form-item-disabled">
<el-date-picker
disabled
v-model="form.date"
type="date"
placeholder="请选择完成时间">
</el-date-picker>
</el-form-item>
<el-form-item label="汇总调研结果" prop="hzfileId" class="add-form-item form-item-disabled">
<div v-if="form.hzfileName" @click="updateFile(form.hzfileId)" class="fileClass">
{{ form.hzfileName }}
</div>
<div v-else>
- -
</div>
</el-form-item>
<!-- <el-form-item label="审核意见" prop="textsh" class="add-form-item form-item-disabled">-->
<!-- <el-input-->
<!-- v-model="form.textsh"-->
<!-- placeholder="请输入审核意见"-->
<!-- clearable-->
<!-- ></el-input>-->
<!-- </el-form-item>-->
</el-col>
</el-row>
</div>
</el-collapse-transition>
<el-button v-if="foldFormFlag === false" style="width: 100%" icon="el-icon-caret-top" @click="foldForm">隐藏基础信息</el-button>
<el-button v-if="foldFormFlag === true" style="width: 100%" icon="el-icon-caret-bottom" @click="foldForm">展开基础信息</el-button>
</el-form>
</div>
<ProcessTitle>
<template slot="title">拆分信息</template>
</ProcessTitle>
<el-table
:data="tableData"
tooltip-effect="dark"
class="drag-table"
style="width: 100%; flex: auto;"
border
:header-cell-style="{background: '#e8e8e8', color: '#333333', fontSize: '16px',
fontWeight: 'bold', height: '48px'}"
ref="selection"
>
<el-table-column
type="index"
label="序号"
width="55"
align="center">
</el-table-column>
<el-table-column
prop="name"
label="责任人"
align="center">
</el-table-column>
<el-table-column
label="文件"
align="center">
<template slot-scope="scope">
<div @click="updateFile(scope.row.fileId)" class="fileClass">
{{scope.row.fileName}}
</div>
</template>
</el-table-column>
</el-table>
<el-collapse accordion>
<el-collapse-item title="审批意见">
<div style="margin: 10px 0;">
<el-input
type="textarea"
:rows="3"
resize="none"
placeholder="请输入意见"
v-model="commentText">
</el-input>
</div>
</el-collapse-item>
</el-collapse>
</div>
<div class="content" v-show="active === '2'">
<el-table
height="100%"
ref="selection"
:data="histortData"
tooltip-effect="dark"
style="width: 100%"
border
row-key="id"
:header-cell-style="{background: '#f8f8f9', color: '#515a6e'}">
<el-table-column
prop="name"
label="任务步骤"
align="center"
width="170"
sortable="custom"
>
</el-table-column>
<el-table-column
prop="assignee"
label="任务受理人"
align="center"
width="120"
sortable="custom"
>
</el-table-column>
<el-table-column
prop="createTime"
label="创建时间"
width="120"
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"
width="120"
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="审批意见"
width="200"
align="center">
<template slot-scope="scope">
<span>{{ scope.row.commentText }}</span>
</template>
</el-table-column>
<el-table-column
prop="completeFlag"
label="状态"
align="center">
<template slot-scope="scope">
<span>{{ scope.row.endTime ? '已完成' : '未完成'}}</span>
</template>
</el-table-column>
</el-table>
</div>
<ProcessFooter
show-submit
:submitLoading="isSubmit"
:saveLoading="saveLoading"
@save="handleSave"
@submit="handleSubmit"
show-back
@back="handleSubmitNo"
submitBTNText="同意"
>
</ProcessFooter>
</div>
</template>
<script>
import ProcessHeaderPhone from '../../components/ProcessHeaderPhone'
import ProcessFooter from '../../components/ProcessFooter'
import ProcessTitle from '../../components/ProcessTitle'
import {inboundLiaisonDetail,processCreateStand,changeAssigneeNew} from 'api/process'
import axios from "axios";
export default {
name: "phoneBzdyStep8",
data() {
return {
drawerModal: false,
foldFormFlag: false,
histortData: [],
commentText: '',
tableData: [],
taskIds: this.$route.query.taskIds,
pId: this.$route.query.prcId,
active: '1', //
isSubmit: false,
saveLoading: false,
form: {
title: '', //
date: '', //
hzfileId: '',
hzfileName: '',
textsh: ''
},
formRules: {
textsh: [
{ required: true, message: '请输入审核意见', trigger: 'blur' },
]
},
json: {},
fileUrl: 'api/att/attFile/upload',
fileMadel: false,
}
},
components: {
ProcessHeaderPhone,
ProcessFooter,
ProcessTitle
},
methods: {
handleTransfer() {
this.drawerModal = true
},
checkedRole (data) {
changeAssigneeNew({
taskId: this.$route.query.taskIds, // id
userId:this.$store.getters.userInfo.userId, //
assignee: data[0].id, //
pId: this.$route.query.prcId, //
}).then(res => {
if (res.success) {
this.drawerModal = false
this.$message.success('调整成功')
this.processNum()
this.$router.push({path:'/processCenter?tabsName=ProcessCenter'})
} else {
this.$message.warning(res.message)
}
})
},
//
processNum (row) {
axios.request({
url: '/api/lawss/activiti/getImg?_t=' + new Date().getTime(),
responseType: 'blob',
method: 'get',
params: {
prcNum: this.$route.query.prcNum
}
}).then(res => {
this.processStep = window.URL.createObjectURL(res.data)
})
},
foldForm() {
this.foldFormFlag = !this.foldFormFlag
},
getHistoryData () {
this.$http.get('lawss/activiti/get_list_by_instance', {
prcNum: this.$route.query.prcNum,
}, {}, res => {
this.histortData = res
}, e => {})
},
updateFile (fileId) {
window.location.href = '/api/att/attFile/downloadFile?fileId=' + fileId
},
//
beginImportFile (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 === '.ppt' || fileSuffix === '.docx' || fileSuffix === '.DOCX' || fileSuffix === '.PPT' || fileSuffix === '.xls' || fileSuffix === '.xlsx') {
return true
} else {
this.spinShow = false
this.$message.error('文件' + file.name + '格式不正确,请上传PPT,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
},
//
importFileSuccess (response, file) {
if (response.ok) {
this.fileMadel = false
this.form.hzfileId = response.data.id
this.form.hzfileName = response.data.name
this.$message({
showClose: true,
message: response.message,
type: 'success'
})
}
},
fileUpload () {
this.fileMadel = true
},
handleTabs(name) {
this.active = name
},
handleSave() {},
handleSubmit() {
this.isSubmit = true
var json = this.json
json.actionFlag = 0
json.commentText = this.commentText
this.$http.post('lawss/activiti/completeTask', {
json: JSON.stringify(json),
taskIds: this.taskIds,
userId: this.$store.getters.userInfo.userId
}, {}, res => {
if (res.success) {
this.$message.success('提交成功')
this.$router.push('/processCenter')
}
this.isSubmit = false
})
},
handleSubmitNo() {
if (this.commentText) {
this.isSubmit = true
var json = this.json
json.commentText = this.commentText
json.actionFlag = 1
this.$http.post('lawss/activiti/completeTask', {
json: JSON.stringify(json),
taskIds: this.taskIds,
userId: this.$store.getters.userInfo.userId
}, {}, res => {
if (res.success) {
this.$message.success('驳回成功')
this.$router.push('/processCenter')
}
this.isSubmit = false
})
} else {
this.$message.warning('请输入反馈意见')
}
},
getData() {
return new Promise((resolve, reject) => {
inboundLiaisonDetail({
taskIds: this.taskIds,
pId: this.pId
}).then(res => {
let data = JSON.parse(res.mesg)
this.form.title = data.title || data.form.title
this.form.date = data.date || data.form.date
this.json = data || data.form
this.tableData = data.responUserList || data.form.responUserList
this.form.hzfileId = data.hzfileId || data.form.hzfileId
this.form.hzfileName = data.hzfileName || data.form.hzfileName
}).catch(e => {
})
})
},
},
mounted () {
this.getHistoryData()
this.getData()
}
}
</script>
<style lang="less" scoped>
@import '~@/assets/styles/phone';
.phoneBzdyStep8 {
.prc-content-border {
overflow: auto;
}
/deep/.prc-content-border .el-form-item__content {
width: 270px;
}
.headerTabs {
height: 52px;
display: flex;
align-items: center;
position: absolute;
top: 52px;
right: 10px;
.headerTabsItem {
border: 1px solid #c1c1c1;
padding: 0 5px;
height: 30px;
line-height: 30px;
cursor: pointer;
}
.active {
border: 1px solid #E6A23C;
color: #fff;
background: #E6A23C;
}
}
.content {
border-top: 1px solid #DCDFE6;
display: flex;
flex-direction: column;
justify-content: space-between;
margin-top: 52px;
height: calc(~'100% - 155px');
overflow: auto;
.tableTitle {
margin-bottom: 10px;
height: 30px;
line-height: 30px;
position: relative;
font-size: 13px;
font-weight: bold;
.tableButton {
position: absolute;
right: 0;
top: 0;
}
}
}
}
</style>
@@ -0,0 +1,442 @@
<template>
<div class="phoneBzdyStep9 phoneBox">
<ProcessHeaderPhone toggle>
<template slot="proName">标准调研流程</template>
<template slot="proNode">责任部门对接人及标准法规部部长审核</template>
</ProcessHeaderPhone>
<div class="headerTabs">
<div class="headerTabsItem" :class="active === '1' ? 'active' : ''" @click="handleTabs('1')">基础信息</div>
<div class="headerTabsItem" :class="active === '2' ? 'active' : ''" @click="handleTabs('2')">审批历史</div>
</div>
<div class="content" v-show="active === '1'">
<div style="overflow: auto;">
<el-form
ref="qbkwForm"
:model="form"
:rules="formRules"
class="label-input-form"
label-width="210px"
>
<ProcessTitle>
<template slot="title">基础信息</template>
</ProcessTitle>
<el-collapse-transition>
<div class="prc-content-border" v-if="foldFormFlag === false">
<el-row :gutter="24">
<el-col :span="12">
<el-form-item label="调研标题" prop="title" class="add-form-item form-item-disabled">
<el-input
disabled
v-model="form.title"
placeholder="请输入调研标题"
clearable
></el-input>
</el-form-item>
<el-form-item label="完成时间" prop="date" class="add-form-item form-item-disabled">
<el-date-picker
disabled
v-model="form.date"
type="date"
placeholder="请选择完成时间">
</el-date-picker>
</el-form-item>
<el-form-item label="汇总调研结果" prop="hzfileId" class="add-form-item form-item-disabled">
<div v-if="form.hzfileName" @click="updateFile(form.hzfileId)" class="fileClass">
{{ form.hzfileName }}
</div>
<div v-else>
- -
</div>
</el-form-item>
<!-- <el-form-item label="审核意见" prop="textsh" class="add-form-item form-item-disabled">-->
<!-- <el-input-->
<!-- v-model="form.textsh"-->
<!-- placeholder="请输入审核意见"-->
<!-- clearable-->
<!-- ></el-input>-->
<!-- </el-form-item>-->
</el-col>
</el-row>
</div>
</el-collapse-transition>
<el-button v-if="foldFormFlag === false" style="width: 100%" icon="el-icon-caret-top" @click="foldForm">隐藏基础信息</el-button>
<el-button v-if="foldFormFlag === true" style="width: 100%" icon="el-icon-caret-bottom" @click="foldForm">展开基础信息</el-button>
</el-form>
</div>
<ProcessTitle>
<template slot="title">拆分信息</template>
</ProcessTitle>
<el-table
:data="tableData"
tooltip-effect="dark"
class="drag-table"
style="width: 100%; flex: auto;"
border
:header-cell-style="{background: '#e8e8e8', color: '#333333', fontSize: '16px',
fontWeight: 'bold', height: '48px'}"
ref="selection"
>
<el-table-column
type="index"
label="序号"
width="55"
align="center">
</el-table-column>
<el-table-column
prop="name"
label="责任人"
align="center">
</el-table-column>
<el-table-column
label="文件"
align="center">
<template slot-scope="scope">
<div @click="updateFile(scope.row.fileId)" class="fileClass">
{{scope.row.fileName}}
</div>
</template>
</el-table-column>
</el-table>
<el-collapse accordion>
<el-collapse-item title="审批意见">
<div style="margin: 10px 0;">
<el-input
type="textarea"
:rows="3"
resize="none"
placeholder="请输入意见"
v-model="commentText">
</el-input>
</div>
</el-collapse-item>
</el-collapse>
</div>
<div class="content" v-show="active === '2'">
<el-table
height="100%"
ref="selection"
:data="histortData"
tooltip-effect="dark"
style="width: 100%"
border
row-key="id"
:header-cell-style="{background: '#f8f8f9', color: '#515a6e'}">
<el-table-column
prop="name"
label="任务步骤"
align="center"
width="170"
sortable="custom"
>
</el-table-column>
<el-table-column
prop="assignee"
label="任务受理人"
align="center"
width="120"
sortable="custom"
>
</el-table-column>
<el-table-column
prop="createTime"
label="创建时间"
width="120"
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"
width="120"
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="审批意见"
width="200"
align="center">
<template slot-scope="scope">
<span>{{ scope.row.commentText }}</span>
</template>
</el-table-column>
<el-table-column
prop="completeFlag"
label="状态"
align="center">
<template slot-scope="scope">
<span>{{ scope.row.endTime ? '已完成' : '未完成'}}</span>
</template>
</el-table-column>
</el-table>
</div>
<ProcessFooter
show-submit
:submitLoading="isSubmit"
:saveLoading="saveLoading"
@save="handleSave"
@submit="handleSubmit"
show-back
@back="handleSubmitNo"
submitBTNText="同意"
>
</ProcessFooter>
</div>
</template>
<script>
import ProcessHeaderPhone from '../../components/ProcessHeaderPhone'
import ProcessFooter from '../../components/ProcessFooter'
import ProcessTitle from '../../components/ProcessTitle'
import {inboundLiaisonDetail,processCreateStand,changeAssigneeNew} from 'api/process'
import axios from "axios";
export default {
name: "phoneBzdyStep9",
data() {
return {
drawerModal: false,
foldFormFlag: false,
histortData: [],
commentText: '',
tableData: [],
taskIds: this.$route.query.taskIds,
pId: this.$route.query.prcId,
active: '1', //
isSubmit: false,
saveLoading: false,
form: {
title: '', //
date: '', //
hzfileId: '',
hzfileName: '',
textsh: ''
},
formRules: {
textsh: [
{ required: true, message: '请输入审核意见', trigger: 'blur' },
]
},
json: {},
fileUrl: 'api/att/attFile/upload',
fileMadel: false,
}
},
components: {
ProcessHeaderPhone,
ProcessFooter,
ProcessTitle
},
methods: {
handleTransfer() {
this.drawerModal = true
},
checkedRole (data) {
changeAssigneeNew({
taskId: this.$route.query.taskIds, // id
userId:this.$store.getters.userInfo.userId, //
assignee: data[0].id, //
pId: this.$route.query.prcId, //
}).then(res => {
if (res.success) {
this.drawerModal = false
this.$message.success('调整成功')
this.processNum()
this.$router.push({path:'/processCenter?tabsName=ProcessCenter'})
} else {
this.$message.warning(res.message)
}
})
},
//
processNum (row) {
axios.request({
url: '/api/lawss/activiti/getImg?_t=' + new Date().getTime(),
responseType: 'blob',
method: 'get',
params: {
prcNum: this.$route.query.prcNum
}
}).then(res => {
this.processStep = window.URL.createObjectURL(res.data)
})
},
foldForm() {
this.foldFormFlag = !this.foldFormFlag
},
getHistoryData () {
this.$http.get('lawss/activiti/get_list_by_instance', {
prcNum: this.$route.query.prcNum,
}, {}, res => {
this.histortData = res
}, e => {})
},
updateFile (fileId) {
window.location.href = '/api/att/attFile/downloadFile?fileId=' + fileId
},
//
beginImportFile (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 === '.ppt' || fileSuffix === '.docx' || fileSuffix === '.DOCX' || fileSuffix === '.PPT' || fileSuffix === '.xls' || fileSuffix === '.xlsx') {
return true
} else {
this.spinShow = false
this.$message.error('文件' + file.name + '格式不正确,请上传PPT,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
},
//
importFileSuccess (response, file) {
if (response.ok) {
this.fileMadel = false
this.form.hzfileId = response.data.id
this.form.hzfileName = response.data.name
this.$message({
showClose: true,
message: response.message,
type: 'success'
})
}
},
fileUpload () {
this.fileMadel = true
},
handleTabs(name) {
this.active = name
},
handleSave() {},
handleSubmit() {
this.isSubmit = true
var json = this.json
json.actionFlag = 0
json.commentText = this.commentText
this.$http.post('lawss/activiti/completeTask', {
json: JSON.stringify(json),
taskIds: this.taskIds,
userId: this.$store.getters.userInfo.userId
}, {}, res => {
if (res.success) {
this.$message.success('提交成功')
this.$router.push('/processCenter')
}
this.isSubmit = false
})
},
handleSubmitNo() {
if (this.commentText) {
this.isSubmit = true
var json = this.json
json.commentText = this.commentText
json.actionFlag = 1
this.$http.post('lawss/activiti/completeTask', {
json: JSON.stringify(json),
taskIds: this.taskIds,
userId: this.$store.getters.userInfo.userId
}, {}, res => {
if (res.success) {
this.$message.success('驳回成功')
this.$router.push('/processCenter')
}
this.isSubmit = false
})
} else {
this.$message.warning('请输入反馈意见')
}
},
getData() {
return new Promise((resolve, reject) => {
inboundLiaisonDetail({
taskIds: this.taskIds,
pId: this.pId
}).then(res => {
let data = JSON.parse(res.mesg)
this.form.title = data.title || data.form.title
this.form.date = data.date || data.form.date
this.json = data || data.form
this.tableData = data.responUserList || data.form.responUserList
this.form.hzfileId = data.hzfileId || data.form.hzfileId
this.form.hzfileName = data.hzfileName || data.form.hzfileName
}).catch(e => {
})
})
},
},
mounted () {
this.getHistoryData()
this.getData()
}
}
</script>
<style lang="less" scoped>
@import '~@/assets/styles/phone';
.phoneBzdyStep9 {
.prc-content-border {
overflow: auto;
}
/deep/.prc-content-border .el-form-item__content {
width: 270px;
}
.headerTabs {
height: 52px;
display: flex;
align-items: center;
position: absolute;
top: 52px;
right: 10px;
.headerTabsItem {
border: 1px solid #c1c1c1;
padding: 0 5px;
height: 30px;
line-height: 30px;
cursor: pointer;
}
.active {
border: 1px solid #E6A23C;
color: #fff;
background: #E6A23C;
}
}
.content {
border-top: 1px solid #DCDFE6;
display: flex;
flex-direction: column;
justify-content: space-between;
margin-top: 52px;
height: calc(~'100% - 155px');
overflow: auto;
.tableTitle {
margin-bottom: 10px;
height: 30px;
line-height: 30px;
position: relative;
font-size: 13px;
font-weight: bold;
.tableButton {
position: absolute;
right: 0;
top: 0;
}
}
}
}
</style>
@@ -14,79 +14,79 @@
<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-form class="label-input-form" ref="ch_pageData" :model="ch_pageData" :rules="ch_rules" label-width="90px">
<el-row :gutter="24">
<el-col :span="8">
<el-col :span="12">
<el-form-item class="add-form-item" label="会议名称:">
{{ ch_pageData.meetingName || '-' }}
</el-form-item>
</el-col>
<el-col :span="8">
<el-col :span="12">
<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-col :span="12">
<el-form-item class="add-form-item" label="协会名称:">
{{ ch_pageData.associaName || '-' }}
</el-form-item>
</el-col>
<el-col :span="8">
<el-col :span="12">
<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-col :span="12">
<el-form-item class="add-form-item" label="会议地点:">
{{ ch_pageData.meetingPlace || '-' }}
</el-form-item>
</el-col>
<el-col :span="8">
<el-col :span="12">
<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-col :span="12">
<el-form-item class="add-form-item" label="费用列支:">
{{ ch_pageData.feeKind || '-' }}
</el-form-item>
</el-col>
<el-col :span="8">
<el-col :span="12">
<el-form-item class="add-form-item" label="上传附件:" prop="uploadFile">
<span v-if="uploadFileLength < 1">{{ '-' }}</span>
<span v-for="item in ch_pageData.fileTextList" :key="item.id" style="color: #409EFF;" @click="previews(item.id)">
<span v-for="item in ch_pageData.fileTextList" :key="item.id">
{{ item.name }} {{ ';' }}
</span>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="24">
<el-col :span="8">
<el-col :span="12">
<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-form-item class="add-form-item" label-width="0px">
<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',
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-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>
@@ -359,6 +359,10 @@ export default {
<style lang="less" scoped>
@import '~@/assets/styles/phone';
.phoneBzchStep2 {
/deep/.van-dialog__content {
min-height: 300px;
padding: 10px;
}
.prc-content-border {
overflow: auto;
}
@@ -411,6 +415,7 @@ export default {
padding: 10px 0px 10px 10px;
}
.content_form {
min-width: 90vh!important;
padding-top: 15px;
padding-left: 30px;
@@ -14,60 +14,60 @@
<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-form class="label-input-form" ref="ch_pageData" :model="ch_pageData" :rules="ch_rules" label-width="90px">
<el-row :gutter="24">
<el-col :span="8">
<el-col :span="12">
<el-form-item class="add-form-item" label="会议名称:">
{{ ch_pageData.meetingName || '-' }}
</el-form-item>
</el-col>
<el-col :span="8">
<el-col :span="12">
<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-col :span="12">
<el-form-item class="add-form-item" label="协会名称:">
{{ ch_pageData.associaName || '-' }}
</el-form-item>
</el-col>
<el-col :span="8">
<el-col :span="12">
<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-col :span="12">
<el-form-item class="add-form-item" label="会议地点:">
{{ ch_pageData.meetingPlace || '-' }}
</el-form-item>
</el-col>
<el-col :span="8">
<el-col :span="12">
<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-col :span="12">
<el-form-item class="add-form-item" label="费用列支:">
{{ ch_pageData.feeKind || '-' }}
</el-form-item>
</el-col>
<el-col :span="8">
<el-col :span="12">
<el-form-item class="add-form-item" label="上传附件:" prop="uploadFile">
<span v-if="uploadFileLength < 1">{{ '-' }}</span>
<span v-for="item in ch_pageData.fileTextList" :key="item.id" style="color: #409EFF;" @click="previews(item.id)">
<span v-for="item in ch_pageData.fileTextList" :key="item.id">
{{ item.name }} {{ ';' }}
</span>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="24">
<el-col :span="8">
<el-col :span="12">
<el-form-item class="add-form-item" label="类别:">
<span v-if="ch_pageData.sort === '1'">计划内</span>
<span v-else>计划外</span>
@@ -415,6 +415,7 @@ export default {
padding: 10px 0px 10px 10px;
}
.content_form {
min-width: 90vh!important;
padding-top: 15px;
padding-left: 30px;
@@ -16,60 +16,60 @@
<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-form class="label-input-form" ref="ch_pageData" :model="ch_pageData" :rules="ch_rules" label-width="90px">
<el-row :gutter="24">
<el-col :span="8">
<el-col :span="12">
<el-form-item class="add-form-item" label="会议名称:">
{{ ch_pageData.meetingName || '-' }}
</el-form-item>
</el-col>
<el-col :span="8">
<el-col :span="12">
<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-col :span="12">
<el-form-item class="add-form-item" label="协会名称:">
{{ ch_pageData.associaName || '-' }}
</el-form-item>
</el-col>
<el-col :span="8">
<el-col :span="12">
<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-col :span="12">
<el-form-item class="add-form-item" label="会议地点:">
{{ ch_pageData.meetingPlace || '-' }}
</el-form-item>
</el-col>
<el-col :span="8">
<el-col :span="12">
<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-col :span="12">
<el-form-item class="add-form-item" label="费用列支:">
{{ ch_pageData.feeKind || '-' }}
</el-form-item>
</el-col>
<el-col :span="8">
<el-col :span="12">
<el-form-item class="add-form-item" label="上传附件:" prop="uploadFile">
<span v-if="uploadFileLength < 1">{{ '-' }}</span>
<span v-for="item in ch_pageData.fileTextList" :key="item.id" style="color: #409EFF;" @click="previews(item.id)">
<span v-for="item in ch_pageData.fileTextList" :key="item.id">
{{ item.name }} {{ ';' }}
</span>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="24">
<el-col :span="8">
<el-col :span="12">
<el-form-item class="add-form-item" label="类别:">
<span v-if="ch_pageData.sort === '1'">计划内</span>
<span v-else>计划外</span>
@@ -478,6 +478,7 @@ export default {
padding: 10px 0px 10px 10px;
}
.content_form {
min-width: 90vh!important;
padding-top: 15px;
padding-left: 30px;
@@ -14,44 +14,46 @@
<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-form class="label-input-form" ref="hh_pageData" :model="hh_pageData" :rules="hh_rules" label-width="90px">
<el-row>
<el-col :span="8">
<el-col :span="12">
<el-form-item class="add-form-item" label="标委会:">
{{ hh_pageData.associaName || '-' }}
</el-form-item>
</el-col>
<el-col :span="8">
<el-col :span="12">
<el-form-item class="add-form-item" label="分标委:">
{{ hh_pageData.associaNameOne || '-' }}
</el-form-item>
</el-col>
<el-col :span="8">
</el-row>
<el-row>
<el-col :span="12">
<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-col :span="12">
<el-form-item class="add-form-item" label="参会人:">
{{ hh_pageData.partPeople || '-' }}
</el-form-item>
</el-col>
<el-col :span="8">
<el-col :span="12">
<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-col :span="12">
<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-form-item class="add-form-item" style="margin-top: 10px" label-width="0px">
<el-table
:data="hh_pageData.standardTable"
border
@@ -71,7 +73,7 @@
</el-table-column>
</el-table>
</el-form-item>
<el-form-item class="add-form-item" style="margin-top: 10px">
<el-form-item class="add-form-item" style="margin-top: 10px" label-width="0px">
<el-table
:data="hh_pageData.themeTable"
border
@@ -454,6 +456,7 @@ export default {
padding: 10px 0px 10px 10px;
}
.content_form {
min-width: 90vh!important;
padding-top: 15px;
padding-left: 30px;
@@ -14,50 +14,50 @@
<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-form class="label-input-form" ref="rh_pageData" :model="rh_pageData" label-width="90px" :rules="rh_rules">
<el-row>
<el-col :span="8">
<el-col :span="12">
<el-form-item class="add-form-item" label="协会名称:">
{{ rh_pageData.comityName || '-' }}
</el-form-item>
</el-col>
<el-col :span="8">
<el-col :span="12">
<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-col :span="12">
<el-form-item class="add-form-item" label="入会性质:" prop="comityKind">
{{ rh_pageData.comityKind || '-' }}
</el-form-item>
</el-col>
<el-col :span="8">
<el-col :span="12">
<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-col :span="12">
<el-form-item class="add-form-item" label="成员:">
{{ rh_pageData.comityMake.makeRole || '' }}
</el-form-item>
</el-col>
<el-col :span="8">
<el-col :span="12">
<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-col :span="12">
<el-form-item class="add-form-item" label="职责:">
{{ rh_pageData.comityMake.makeDuties || '-' }}
</el-form-item>
</el-col>
<el-col :span="8">
<el-col :span="12">
<el-form-item class="add-form-item" label="任期:">
{{ rh_pageData.comityMake.makeTime || '-' }}
</el-form-item>
@@ -67,7 +67,7 @@
<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)">
<span v-for="item in rh_pageData.infoSources" :key="item.id">
{{ item.name }} {{ ';' }}
</span>
</el-form-item>
@@ -76,7 +76,7 @@
<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-form-item class="add-form-item" label="协会外部联系方式:" label-width="150px">
<el-table
:data="rh_pageData.comityTel"
border
@@ -422,6 +422,7 @@ export default {
padding: 10px 0px 10px 10px;
}
.content_form {
min-width: 90vh!important;
padding: 15px;
.comityTel_btn {
@@ -14,50 +14,50 @@
<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-form class="label-input-form" ref="rh_pageData" :model="rh_pageData" label-width="90px" :rules="rh_rules">
<el-row>
<el-col :span="8">
<el-col :span="12">
<el-form-item class="add-form-item" label="协会名称:">
{{ rh_pageData.comityName || '-' }}
</el-form-item>
</el-col>
<el-col :span="8">
<el-col :span="12">
<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-col :span="12">
<el-form-item class="add-form-item" label="入会性质:" prop="comityKind">
{{ rh_pageData.comityKind || '-' }}
</el-form-item>
</el-col>
<el-col :span="8">
<el-col :span="12">
<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-col :span="12">
<el-form-item class="add-form-item" label="成员:">
{{ rh_pageData.comityMake.makeRole || '' }}
</el-form-item>
</el-col>
<el-col :span="8">
<el-col :span="12">
<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-col :span="12">
<el-form-item class="add-form-item" label="职责:">
{{ rh_pageData.comityMake.makeDuties || '-' }}
</el-form-item>
</el-col>
<el-col :span="8">
<el-col :span="12">
<el-form-item class="add-form-item" label="任期:">
{{ rh_pageData.comityMake.makeTime || '-' }}
</el-form-item>
@@ -67,7 +67,7 @@
<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)">
<span v-for="item in rh_pageData.infoSources" :key="item.id">
{{ item.name }} {{ ';' }}
</span>
</el-form-item>
@@ -76,7 +76,7 @@
<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-form-item class="add-form-item" label="协会外部联系方式:" style="margin-top: 10px" label-width="130px">
<el-table
:data="rh_pageData.comityTel"
border
@@ -92,7 +92,7 @@
<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-form-item class="add-form-item" label="入会人员:" style="margin-top: 10px" label-width="130px">
<el-table
:data="rh_pageData.myPartRole"
border
@@ -110,7 +110,7 @@
<el-table-column prop="fillFile" align="center" label="资料">
<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)">
<span v-for="item in scope.row.fillFile" :key="item.id" >
{{ item.name }} {{ ';' }}
</span>
</template>
@@ -457,6 +457,7 @@ export default {
padding: 10px 0px 10px 10px;
}
.content_form {
min-width: 90vh!important;
padding: 15px;
.comityTel_btn {
@@ -16,50 +16,50 @@
<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-form class="label-input-form" ref="rh_pageData" :model="rh_pageData" label-width="90px" :rules="rh_rules">
<el-row>
<el-col :span="8">
<el-col :span="12">
<el-form-item class="add-form-item" label="协会名称:">
{{ rh_pageData.comityName || '-' }}
</el-form-item>
</el-col>
<el-col :span="8">
<el-col :span="12">
<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-col :span="12">
<el-form-item class="add-form-item" label="入会性质:" prop="comityKind">
{{ rh_pageData.comityKind || '-' }}
</el-form-item>
</el-col>
<el-col :span="8">
<el-col :span="12">
<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-col :span="12">
<el-form-item class="add-form-item" label="成员:">
{{ rh_pageData.comityMake.makeRole || '' }}
</el-form-item>
</el-col>
<el-col :span="8">
<el-col :span="12">
<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-col :span="12">
<el-form-item class="add-form-item" label="职责:">
{{ rh_pageData.comityMake.makeDuties || '-' }}
</el-form-item>
</el-col>
<el-col :span="8">
<el-col :span="12">
<el-form-item class="add-form-item" label="任期:">
{{ rh_pageData.comityMake.makeTime || '-' }}
</el-form-item>
@@ -69,7 +69,7 @@
<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)">
<span v-for="item in rh_pageData.infoSources" :key="item.id">
{{ item.name }} {{ ';' }}
</span>
</el-form-item>
@@ -78,7 +78,7 @@
<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-form-item class="add-form-item" label="协会外部联系方式:" style="margin-top: 10px" label-width="130px">
<el-table
:data="rh_pageData.comityTel"
border
@@ -94,7 +94,7 @@
<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-form-item class="add-form-item" label="我司参与人员:" style="margin-top: 10px" label-width="130px">
<el-table
:data="rh_pageData.myPartRole"
border
@@ -114,7 +114,7 @@
<el-table-column prop="fillFile" align="center" label="资料">
<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)">
<span v-for="item in scope.row.fillFile" :key="item.id">
{{ item.name }} {{ ';' }}
</span>
</template>
@@ -470,6 +470,7 @@ export default {
padding: 10px 0px 10px 10px;
}
.content_form {
min-width: 90vh!important;
padding: 15px;
.comityTel_btn {
@@ -0,0 +1,623 @@
<!--标准法规清单发布 - 业务经理审批-->
<template>
<div class="phoneBzqdfbStep4 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">
<process-title>
<template slot="title">基础信息</template>
</process-title>
<el-form
:model="listForm"
class="label-input-form prc-content-border"
label-width="150px"
>
<el-row :gutter="24">
<el-col :span="24">
<el-form-item label="清单名称" prop="listName" class="add-form-item form-item-disabled">
<el-input
disabled
v-model="listForm.listName"
placeholder="请输入清单名称"
clearable
></el-input>
</el-form-item>
<el-form-item label="清单说明" prop="descriptionList" class="add-form-item form-item-disabled">
<el-input
disabled
v-model="listForm.descriptionList"
placeholder="请输入清单说明"
clearable
></el-input>
</el-form-item>
<el-form-item label="附件" prop="fileName" class="add-form-item form-item-disabled">
<div class="file-box" v-if="fileList.length > 0">
<p v-for="item in fileList"
:key="item.id"> {{ item.name }}
<i
title="下载"
@click="downloadFile(item.id)"
class="icon-download"
v-btn-permission="''"
/>
<i
title="下载带水印"
@click="downloadFileByWater(item.id, item.name)"
class="icon-download2"
v-btn-permission="''"
/>
</p>
</div>
<div v-else>
暂无数据
</div>
</el-form-item>
</el-col>
</el-row>
</el-form>
<process-title>
<template slot="title">填写信息</template>
</process-title>
<el-table
:data="dataList"
border
tooltip-effect="dark"
height="60%"
style="width: 100%"
@selection-change="selectStandChange"
:header-cell-style="{background: '#e8e8e8', color: '#333333', fontSize: '16px',
fontWeight: 'bold', height: '48px'}">
<el-table-column
prop="code"
min-width="160"
align="center"
label="标准号">
<template slot-scope="scope">
<a v-if="scope.row.standYear" class="table-jump"
@click="handlePreview(scope.row)">{{ scope.row.standSortShow }} {{
scope.row.standNumber
}}-{{ scope.row.standYear }}</a>
<a v-else @click="handlePreview(scope.row)" class="table-jump">{{
scope.row.standSortShow }}
{{ scope.row.standNumber }}</a>
</template>
</el-table-column>
<el-table-column
prop="standName"
label="标准名称"
align="center"
width="260px"
>
<template slot-scope="scope">
<a @click="handlePreview(scope.row)" class="table-jump">{{ scope.row.standName }}</a>
</template>
</el-table-column>
<el-table-column
prop="issueTime"
min-width="80"
label="发布日期">
</el-table-column>
<el-table-column
prop="XCXSSRQ"
min-width="130"
align="center"
label="新车型实施日期">
<template slot-scope="scope">
<span>{{ scope.row.XCXSSRQ ? $moment(scope.row.XCXSSRQ).format("YYYY-MM-DD") : "" }}</span>
</template>
</el-table-column>
<el-table-column
prop="ZCCSSRQ"
min-width="130"
align="center"
label="在产车实施日期">
<template slot-scope="scope">
<span>{{ scope.row.ZCCSSRQ ? $moment(scope.row.ZCCSSRQ).format("YYYY-MM-DD") : "" }}</span>
</template>
</el-table-column>
<el-table-column
show-overflow-tooltip
prop="textStatus"
width="100px"
align="center"
label="文本状态">
<template slot-scope="scope">
<span>{{ textStatusMap[scope.row.textStatus] }}</span>
</template>
</el-table-column>
</el-table>
</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>
<div class="content" v-show="active === '3'">
<el-table
height="100%"
ref="selection"
:data="histortData"
tooltip-effect="dark"
style="width: 100%"
border
row-key="id"
:header-cell-style="{background: '#f8f8f9', color: '#515a6e'}">
<el-table-column
prop="name"
label="任务步骤"
align="center"
width="130"
>
</el-table-column>
<el-table-column
prop="assignee"
label="任务受理人"
align="center"
width="130"
>
</el-table-column>
<el-table-column
prop="createTime"
label="创建时间"
width="130"
align="center">
<template slot-scope="scope">
<span>{{ scope.row.createTime ? $moment(scope.row.createTime).format('YYYY-MM-DD') : '' }}</span>
</template>
</el-table-column>
<el-table-column
prop="endTime"
label="完成时间"
width="130"
align="center">
<template slot-scope="scope">
<span>{{ scope.row.endTime ? $moment(scope.row.endTime).format('YYYY-MM-DD') : '' }}</span>
</template>
</el-table-column>
<el-table-column
prop="comment"
label="流程信息"
width="130"
align="center">
<template slot-scope="scope">
<span>{{ scope.row.commentText }}</span>
</template>
</el-table-column>
<el-table-column
prop="completeFlag"
label="状态"
align="center">
<template slot-scope="scope">
<span>{{ scope.row.endTime ? '已完成' : '未完成'}}</span>
</template>
</el-table-column>
</el-table>
</div>
<ProcessFooter
show-back
show-submit
:transfer-loading="isTransfer"
:submitLoading="isSubmit"
:saveLoading="saveLoading"
:approval="true"
@transfer="handleTransfer"
@back="beforeBack"
@submit="handleSubmit"
>
</ProcessFooter>
<!-- 福田全公司选人解决方案 -->
<Role-tree
check-box
:is-title="drawerTitle"
:is-visible.sync="drawerModal"
@checkedRole="checkedRole"
:nodeList="nodeList"
></Role-tree>
</div>
</template>
<script>
import { Dialog } from 'vant';
import ProcessHeaderPhone from '../../components/ProcessHeaderPhone'
import ProcessHeader from "../../components/ProcessHeader";
import ProcessFooter from "../../components/ProcessFooter";
import ProcessTitle from "../../components/ProcessTitle";
import { inboundLiaisonDetail ,changeAssigneeNew} from "api/process";
export default {
name: "phoneBzqdfbStep4",
components: {
ProcessHeader,
ProcessFooter,
ProcessHeaderPhone,
ProcessTitle
},
data() {
return {
nodeList:[],
isTransfer: false,
drawerTitle:'',
//
drawerModal: false,
detailData: [],
// (1/2)
processType: 1,
loading: false,
dataList: [],//
approvalOpinion: "", // 0/1
active: "1",
listType: "country", //
isSubmit: false,
saveLoading: false,
tabValue: "listOfCountries",
selectedList: [], //
selectList: [], //
bringData: [],
commentText: "", //
fileList:[],
page: 1,
total: 0,
pageSize: this.$store.getters.userInfo.configContent,
listForm: {
fileIds: '',
listType: "", //
listName: "", //
descriptionList: "", //
enclosure: "", //
signFlag: "1", // 1 2
approvalOpinion: "", // /
dataList: [{
standNumber: "", //
cnName: "", //
enName: "", //
isSubTime: "", //
newCarTime: "", //
oldCarTime: "", //
applyCar: "", //
textState: "", //
id: ""
}]
},
choiceForm: {}, //
// countryOptions: [], //
userId: this.$store.getters.userInfo.userId,
taskIds: this.$route.query.taskIds,
pId: this.$route.query.prcId,
signFlag: "1", // 1 2
user1: "",
user2: "",
user3: "",
user4: "",
user5: "",
standMap: new Map(),
textStatusMap: {}// idname
};
},
methods: {
//
checkedRole (data) {
this.assigneeNewLoading = true
changeAssigneeNew({
taskId: this.$route.query.taskIds, // id
assignee: data[0].id, //
userId: this.$store.getters.userInfo.userId, //
pId: this.$route.query.prcId //
}).then(res => {
this.isTransfer = false
if (res.success) {
this.drawerModal = false
this.$message.success('调整成功')
this.$router.push("/processCenter");
this.processNum()
} else {
this.$message.warning(res.message)
}
})
},
//
processNum (row) {
axios.request({
url: '/api/lawss/activiti/getImg?_t=' + new Date().getTime(),
responseType: 'blob',
method: 'get',
params: {
prcNum: this.$route.query.prcNum
}
}).then(res => {
// let blob = new Blob([res.data], {type: 'image/jpg'})
// let url = window.URL.createObjectURL(res.data)
this.processStep = window.URL.createObjectURL(res.data)
})
},
//
handleTransfer(){
this.drawerModal = true
this.drawerTitle = '转办处理人'
this.selectPeople = row
},
processTable() {
this.$http.get("lawss/activiti/get_list_by_instance", {
prcNum: this.$route.query.prcNum,
sortWord: this.shunxu ? this.paixu : "",
shunxu: this.shunxu
}, {
// loading: "loading",
_this: this
}, res => {
this.detailData = res;
}, e => {
});
},
//tab
handleTabs(name) {
this.active = name;
},
choiceShow() {
this.ListModel = true;
},
//
handlePreview(item) {
let routeUrl = this.$router.resolve({
name: "OtherStandardDetails",
params: {
id: item.id,
pageType: "INLAND_STAND"
}
});
window.open(routeUrl.href, "_blank");
},
//
handleSave() {
},
getData() {
return new Promise((resolve, reject) => {
inboundLiaisonDetail({
taskIds: this.taskIds,
pId: this.pId
}).then(res => {
if (res) {
const processForm = JSON.parse(res.mesg);
this.getFormFieldList(processForm);
}
}).catch(e => {
});
});
},
/**
* @description: 动态表单读取
*/
getFormFieldList(item) {
this.$nextTick(() => {
this.listForm = JSON.parse(JSON.stringify(item));
this.listForm.prcNum = this.prcNum;
this.listForm.prcName = this.prcName;
this.listForm["id"] = item.id;
this.listForm.dataList = item.dataList;
this.dataList = item.dataList;
this.listForm.applyUpdUserId = item.applyUpdUserId;
this.listForm.jlUserId = item.jlUserId;
this.listForm.zrUserId = item.zrUserId;
let filesId = []
item.fileName.forEach(itemIds =>{
filesId.push(itemIds.id)
})
this.listForm.fileId = filesId.join(',')
item.fileName.forEach(itemId => {
this.fileIds = itemId.id
this.getFileInfo();
})
});
},
//
getFileInfo() {
this.$http.get("att/attFile/getMultiFileInfos", {
fileIds: this.fileIds
}, {
_this: this
}, res => {
this.$nextTick(() => {
res.data.map(item => {
//
this.fileList.push({
name: item.oldFileName,
uid: item.uid,
status: item.status,
id: item.id
});
});
});
}, e => {
});
},
/**
* @Description: 点击下载
*/
downloadFile(attId) {
if (attId != null && attId !== "") {
window.location.href = "/api/att/attFile/downloadFileForSar?fileId=" + attId;
} else {
this.$message.error("请选择要下载的文件");
}
},
downloadFileByWater(attId, fileSuffix) {
let fileExtension = fileSuffix.substring(fileSuffix.lastIndexOf(".") + 1);
if (fileExtension !== "pdf" && fileExtension !== "PDF") {
this.$message.error("水印下载仅支持PDF,pdf格式文件");
} else {
if (attId != null && attId !== "") {
window.location.href = "/api/att/attFile/downloadFileForSarWaterMark?fileId=" + attId;
} else {
this.$message.error("请选择要下载的文件");
}
}
},
//
beforeBack() {
if(!this.commentText){
this.$message.warning('请填写审批意见')
}else{
this.listForm.approvalOpinion = "1";
this.saveLoading = true
this.listForm.commentText = this.commentText;
const json = JSON.stringify(this.listForm);
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.saveLoading = false
});
}/**/
},
//
handleSubmit() {
this.isSubmit = true
this.listForm.commentText = this.commentText;
const json = JSON.stringify(this.listForm);
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
});
},
//
closeDrawer() {
this.ListModel = false;
},
//
selectStandChange(data) {
this.selectList = [];
for (let i = 0; i < data.length; i++) {
this.selectList.push(data[i].id);
}
},
selectThree() {
},
pageChange(page) {
this.page = page;
this.searchData();
},
pageSizeChange(pageSize) {
this.pageSize = this.$store.getters.userInfo.configContent;
this.searchData();
},
// idname
setMap(data) {
data.forEach(item => {
this.$set(this.textStatusMap, item.value, item.label);
});
}
},
computed: {
listNoDataText() {
return this.processType === 1 ? "暂无待办流程" : "暂无已办流程";
}
},
mounted() {
//
this.$http.get("sys/dictype/getDicTypeListCode", {}, {
_this: this
}, res => {
this.countryOptions = res.data.COUNTRY;
this.standStateOptions = res.data.WBZTCLASS; //
this.setMap(this.standStateOptions);
});
this.getData();
this.processTable();
}
};
</script>
<style lang="less" scoped>
@import '~@/assets/styles/phone';
.phoneBzqdfbStep4 {
/deep/.van-dialog__content {
min-height: 300px;
padding: 10px;
}
.prc-content-border {
overflow: auto;
}
/deep/.prc-content-border .el-form-item__content {
width: 270px;
}
.headerTabs {
height: 52px;
display: flex;
align-items: center;
position: absolute;
top: 52px;
right: 10px;
.headerTabsItem {
border: 1px solid #c1c1c1;
padding: 0 5px;
height: 30px;
line-height: 30px;
cursor: pointer;
}
.active {
border: 1px solid #E6A23C;
color: #fff;
background: #E6A23C;
}
}
.content {
border-top: 1px solid #DCDFE6;
display: flex;
flex-direction: column;
justify-content: space-between;
margin-top: 52px;
height: calc(~'100% - 155px');
overflow: auto;
.tableTitle {
margin-bottom: 10px;
height: 30px;
line-height: 30px;
position: relative;
font-size: 13px;
font-weight: bold;
.tableButton {
position: absolute;
right: 0;
top: 0;
}
}
}
}
</style>
@@ -63,7 +63,7 @@
</el-collapse>
</div>
<div class="content" v-show="active === '3'">
<div class="flow-list">
<div style="flex: auto;">
<el-table
height="100%"
ref="selection"
@@ -73,7 +73,8 @@
border
row-key="id"
:no-data-text="listNoDataText"
:header-cell-style="{background: '#f8f8f9', color: '#515a6e'}"
:header-cell-style="{background: '#e8e8e8', color: '#333333', fontSize: '16px',
fontWeight: 'bold', height: '48px'}"
>
<el-table-column
type="selection"
@@ -0,0 +1,575 @@
<template>
<div class="phoneXmpgStep2 phoneBox">
<ProcessHeaderPhone toggle>
<template slot="proName">标准合规评估流程</template>
<template slot="proNode">业务经理审批</template>
</ProcessHeaderPhone>
<div class="headerTabs">
<div class="headerTabsItem" :class="active === '1' ? 'active' : ''" @click="handleTabs('1')">基础信息</div>
<div class="headerTabsItem" :class="active === '2' ? 'active' : ''" @click="handleTabs('2')">审批历史</div>
</div>
<div class="content" v-show="active === '1'">
<div style="overflow: auto;">
<el-form
:model="listForm"
class="label-input-form"
label-width="210px"
>
<ProcessTitle>
<template slot="title">基础信息</template>
</ProcessTitle>
<el-collapse-transition>
<div class="prc-content-border" v-if="foldFormFlag === false">
<el-row :gutter="24">
<el-col :span="24">
<el-form-item label="标准编号" prop="standNumber" class="add-form-item form-item-disabled">
<el-input
class="input-jump"
v-model="listForm.standNumber"
placeholder="请输入标准编号"
readonly
@click.native="handlePreview(listForm)"
></el-input>
</el-form-item>
<el-form-item label="标准名称" prop="standName" class="add-form-item form-item-disabled">
<el-input
class="input-jump"
v-model="listForm.standName"
placeholder="请输入标准名称"
readonly
@click.native="handlePreview(listForm)"
></el-input>
</el-form-item>
<el-form-item label="认证工程师" v-if="listForm.certifiedEngineerName !== ''" prop="certifiedEngineerName" class="add-form-item form-item-disabled">
<el-input
readonly
v-model="listForm.certifiedEngineerName"
placeholder="请选择认证工程师"
></el-input>
</el-form-item>
<el-form-item label="认证工程师" v-else prop="certifiedEngineerName" class="add-form-item form-item-disabled">
<el-input
readonly
v-model="listForm.certifiedEngineerName"
placeholder="--"
></el-input>
</el-form-item>
<el-form-item v-if="listForm.qualityEngineerName !== '' " label="质量工程师" prop="qualityEngineerName" class="add-form-item form-item-disabled">
<el-input
readonly
v-model="listForm.qualityEngineerName"
placeholder="请选择质量工程师"
></el-input>
</el-form-item>
<el-form-item v-else label="质量工程师" prop="qualityEngineerName" class="add-form-item form-item-disabled">
<el-input
readonly
v-model="listForm.qualityEngineerName"
placeholder="--"
></el-input>
</el-form-item>
</el-col>
</el-row>
</div>
</el-collapse-transition>
<el-button v-if="foldFormFlag === false" style="width: 100%" icon="el-icon-caret-top" @click="foldForm">隐藏基础信息</el-button>
<el-button v-if="foldFormFlag === true" style="width: 100%" icon="el-icon-caret-bottom" @click="foldForm">展开基础信息</el-button>
<div class="prc-content-border" v-if="foldFormFlag === true" style="display: none">
<el-row :gutter="24">
<el-col :span="24">
<el-form-item label="标准编号" prop="standNumber" class="add-form-item form-item-disabled">
<el-input
v-model="listForm.standNumber"
placeholder="请输入标准编号"
readonly
@click.native="handlePreview(listForm)"
></el-input>
</el-form-item>
<el-form-item label="标准名称" prop="standName" class="add-form-item form-item-disabled">
<el-input
v-model="listForm.standName"
placeholder="请输入标准名称"
readonly
@click.native="handlePreview(listForm)"
></el-input>
</el-form-item>
<el-form-item label="认证工程师" v-if="listForm.certifiedEngineerName !== ''" prop="certifiedEngineerName" class="add-form-item form-item-disabled">
<el-input
readonly
v-model="listForm.certifiedEngineerName"
placeholder="请选择认证工程师"
></el-input>
</el-form-item>
<el-form-item label="认证工程师" v-else prop="certifiedEngineerName" class="add-form-item form-item-disabled">
<el-input
readonly
v-model="listForm.certifiedEngineerName"
placeholder="--"
></el-input>
</el-form-item>
<el-form-item v-if="listForm.qualityEngineerName !== '' " label="质量工程师" prop="qualityEngineerName" class="add-form-item form-item-disabled">
<el-input
readonly
v-model="listForm.qualityEngineerName"
placeholder="请选择质量工程师"
></el-input>
</el-form-item>
<el-form-item v-else label="质量工程师" prop="qualityEngineerName" class="add-form-item form-item-disabled">
<el-input
readonly
v-model="listForm.qualityEngineerName"
placeholder="--"
></el-input>
</el-form-item>
</el-col>
</el-row>
</div>
</el-form>
</div>
<ProcessTitle>
<template slot="title">填写信息</template>
</ProcessTitle>
<el-table
:data="dataList"
border
ref="selection"
height="100%"
style="width: 100%;"
@selection-change="selectStandChange"
:header-cell-style="{background: '#e8e8e8', color: '#333333', fontSize: '16px',
fontWeight: 'bold', height: '48px'}">
<el-table-column
prop="productLine"
min-width="150"
align="center"
label="产品线">
</el-table-column>
<el-table-column
prop="productLine"
min-width="200"
align="center"
label="项目名称">
</el-table-column>
<el-table-column
prop="uname"
min-width="150"
align="center"
label="产品线责任人">
</el-table-column>
<el-table-column
prop="distributePerson"
min-width="150"
align="center"
label="分发责任人">
</el-table-column>
</el-table>
<el-collapse accordion>
<el-collapse-item title="审批意见">
<div style="margin: 10px 0;">
<el-input
type="textarea"
:rows="3"
resize="none"
placeholder="请输入意见"
v-model="commentText">
</el-input>
</div>
</el-collapse-item>
</el-collapse>
</div>
<div class="content" v-show="active === '2'">
<el-table
height="100%"
ref="selection"
:data="detailData"
tooltip-effect="dark"
style="width: 100%"
border
row-key="id"
:header-cell-style="{background: '#f8f8f9', color: '#515a6e'}">
<el-table-column
prop="name"
label="任务步骤"
align="center"
width="130"
>
</el-table-column>
<el-table-column
prop="assignee"
label="任务受理人"
align="center"
width="130"
>
</el-table-column>
<el-table-column
prop="createTime"
label="创建时间"
width="130"
align="center">
<template slot-scope="scope">
<span>{{ scope.row.createTime ? $moment(scope.row.createTime).format('YYYY-MM-DD') : '' }}</span>
</template>
</el-table-column>
<el-table-column
prop="endTime"
label="完成时间"
width="130"
align="center">
<template slot-scope="scope">
<span>{{ scope.row.endTime ? $moment(scope.row.endTime).format('YYYY-MM-DD') : '' }}</span>
</template>
</el-table-column>
<el-table-column
prop="comment"
label="流程信息"
width="130"
align="center">
<template slot-scope="scope">
<span>{{ scope.row.commentText }}</span>
</template>
</el-table-column>
<el-table-column
prop="completeFlag"
label="状态"
align="center">
<template slot-scope="scope">
<span>{{ scope.row.endTime ? '已完成' : '未完成'}}</span>
</template>
</el-table-column>
</el-table>
</div>
<ProcessFooter
show-back
show-submit
:transfer-loading="isTransfer"
:submitLoading="isSubmit"
:saveLoading="saveLoading"
:approval="true"
@transfer="handleTransfer"
@back="beforeBack"
@submit="handleSubmit"
>
</ProcessFooter>
</div>
</template>
<script>
import { Dialog } from 'vant';
import ProcessHeaderPhone from '../../components/ProcessHeaderPhone'
import ProcessFooter from '../../components/ProcessFooter'
import ProcessTitle from '../../components/ProcessTitle'
import {inboundLiaisonDetail,processCreateStand,changeAssigneeNew} from 'api/process'
import axios from "axios";
import ProcessHeader from "process/components/ProcessHeader";
export default {
name: "phoneXmpgStep2",
components: {
ProcessHeader,
ProcessFooter,
ProcessHeaderPhone,
ProcessTitle
},
data() {
return {
//truefalse
foldFormFlag: false,
nodeList:[],
isTransfer: false,
drawerTitle:'',
//
drawerModal: false,
detailData: [],
// (1/2)
processType: 1,
loading: false,
dataList: [],//
active: "1",
userId:this.$store.getters.userInfo.userId,
taskIds: this.$route.query.taskIds,
pId: this.$route.query.prcId,
listType: "country", //
isSubmit: false,
saveLoading: false,
tabValue: "listOfCountries",
selectedList: [], //
selectList: [], //
bringData: [],
commentText: "", //
page: 1,
total: 0,
pageSize: this.$store.getters.userInfo.configContent,
listForm: {
passFlag: " ", // 1
standNumber: "", //
standName: "",//
certifiedEngineer: "", //
qualityEngineer: "", //
certifiedEngineerName: "", //
qualityEngineerName: "", //
breakdownList: [{
applyArctic: "",
busStandCover: "",
claimType: "",
id: "",
itemsName: "",
itemsNum: "",
responsibleUnit: "", //
responsibleEngineer: "", //
standId: "",
svpps: ""
}],
dataList: [{
projectLine: "", //线
uname: "",//线
projectManager:"",// 线id
distributePerson: "", //
distributePersonId: "", //id
id: "",
sarStandProjectLibraries: [{
projectManager: '',
projectLevel: '',
projectNumber: '',
projectEndDate: '',
currentNode: '',
projectGroup: '',
productLine: '',
projectClassification: '',
projectStatus: '',
projectStartDate: '',
id: '',
projectName: '',
projectPlatfor: ''
}]
}]
},
choiceForm: {}, //
countryOptions: [], //
user1: "",
user2: "",
user3: "",
user4: "",
user5: "",
standMap: new Map()
};
},
methods: {
///
foldForm() {
this.foldFormFlag = !this.foldFormFlag
},
//
checkedRole (data) {
this.assigneeNewLoading = true
changeAssigneeNew({
taskId: this.$route.query.taskIds, // id
assignee: data[0].id, //
userId: this.$store.getters.userInfo.userId, //
pId: this.$route.query.prcId //
}).then(res => {
this.isTransfer = false
if (res.success) {
this.drawerModal = false
this.$message.success('调整成功')
this.$router.push("/processCenter");
this.processNum()
} else {
this.$message.warning(res.message)
}
})
},
//
processNum (row) {
axios.request({
url: '/api/lawss/activiti/getImg?_t=' + new Date().getTime(),
responseType: 'blob',
method: 'get',
params: {
prcNum: this.$route.query.prcNum
}
}).then(res => {
// let blob = new Blob([res.data], {type: 'image/jpg'})
// let url = window.URL.createObjectURL(res.data)
this.processStep = window.URL.createObjectURL(res.data)
})
},
//
handleTransfer(){
this.drawerModal = true
this.drawerTitle = '转办处理人'
this.selectPeople = row
},
processTable () {
this.$http.get('lawss/activiti/get_list_by_instance', {
prcNum: this.$route.query.prcNum,
sortWord: this.shunxu ? this.paixu : '',
shunxu: this.shunxu
}, {
loading: 'loading',
_this: this
}, res => {
this.detailData = res
}, e => {})
},
//tab
handleTabs(name) {
this.active = name;
},
//
handlePreview(item) {
let routeUrl = this.$router.resolve({
name: "OtherStandardDetails",
params: {
id: item.id,
pageType: "INLAND_STAND"
}
});
window.open(routeUrl.href, "_blank");
},
getData() {
return new Promise((resolve, reject) => {
inboundLiaisonDetail({
taskIds: this.taskIds,
pId: this.pId
}).then(res => {
if (res) {
const processForm = JSON.parse(res.mesg)
this.getFormFieldList(processForm)
}
}).catch(e => {
})
})
},
/**
* @description: 动态表单读取
*/
getFormFieldList (item) {
this.$nextTick(() => {
this.listForm = JSON.parse(JSON.stringify(item))
this.listForm.prcNum = this.prcNum
this.listForm.prcName = this.prcName
this.listForm['id'] = item.id
this.listForm.dataList = item.dataList
this.dataList = item.dataList
this.dataList.distributePerson = item.dataList[0].distributePerson
this.listForm.breakdownList = item.breakdownList
})
},
//
beforeBack () {
if(this.commentText === null || this.commentText === undefined || this.commentText === ''){
this.$message.warning('请填写审批意见')
}else{
this.listForm.passFlag = '1'
this.handleSubmit()
}
},
//
handleSubmit() {
this.listForm.commentText = this.commentText
const json = JSON.stringify(this.listForm);
this.isSubmit = true
this.$http.post('lawss/activiti/completeTask', {
taskIds: this.taskIds,
userId: this.userId,
json: json,
}, {
_this: this
}, res => {
if (res.success) {
this.$message.success(res.message)
this.$router.push('/processCenter')
}
this.isSubmit = false
}, e => {
});
},
//
selectStandChange(data) {
this.selectList = [];
for (let i = 0; i < data.length; i++) {
this.selectList.push(data[i].id);
}
},
selectThree() {
},
pageChange(page) {
this.page = page;
this.searchData();
},
pageSizeChange(pageSize) {
this.pageSize = this.$store.getters.userInfo.configContent;
this.searchData();
}
},
computed: {
listNoDataText () {
return this.processType === 1 ? '暂无待办流程' : '暂无已办流程'
},
},
mounted() {
this.processTable()
this.getData()
}
};
</script>
<style lang="less" scoped>
@import '~@/assets/styles/phone';
.phoneXmpgStep2 {
/deep/.van-dialog__content {
min-height: 300px;
padding: 10px;
}
.prc-content-border {
overflow: auto;
}
/deep/.prc-content-border .el-form-item__content {
width: 270px;
}
.headerTabs {
height: 52px;
display: flex;
align-items: center;
position: absolute;
top: 52px;
right: 10px;
.headerTabsItem {
border: 1px solid #c1c1c1;
padding: 0 5px;
height: 30px;
line-height: 30px;
cursor: pointer;
}
.active {
border: 1px solid #E6A23C;
color: #fff;
background: #E6A23C;
}
}
.content {
border-top: 1px solid #DCDFE6;
display: flex;
flex-direction: column;
justify-content: space-between;
margin-top: 52px;
height: calc(~'100% - 155px');
overflow: auto;
.tableTitle {
margin-bottom: 10px;
height: 30px;
line-height: 30px;
position: relative;
font-size: 13px;
font-weight: bold;
.tableButton {
position: absolute;
right: 0;
top: 0;
}
}
}
}
</style>
@@ -0,0 +1,679 @@
<template>
<div class="phoneXmpgStep5 phoneBox">
<ProcessHeaderPhone toggle>
<template slot="proName">标准合规评估流程</template>
<template slot="proNode">分发负责人审批</template>
</ProcessHeaderPhone>
<div class="headerTabs">
<div class="headerTabsItem" :class="active === '1' ? 'active' : ''" @click="handleTabs('1')">基础信息</div>
<div class="headerTabsItem" :class="active === '2' ? 'active' : ''" @click="handleTabs('2')">审批历史</div>
</div>
<div class="content" v-show="active === '1'">
<div style="overflow: auto;">
<el-form
:model="listForm"
class="label-input-form"
label-width="210px"
>
<ProcessTitle>
<template slot="title">基础信息</template>
</ProcessTitle>
<el-collapse-transition>
<div class="prc-content-border" v-if="foldFormFlag === false">
<el-row :gutter="24">
<el-col :span="24">
<el-form-item label="标准编号" prop="standNumber" class="add-form-item form-item-disabled">
<el-input
class="input-jump"
v-model="listForm.standNumber"
placeholder="请输入标准编号"
readonly
@click.native="handlePreview(listForm)"
></el-input>
</el-form-item>
<el-form-item label="标准名称" prop="standName" class="add-form-item form-item-disabled">
<el-input
class="input-jump"
v-model="listForm.standName"
placeholder="请输入标准名称"
readonly
@click.native="handlePreview(listForm)"
></el-input>
</el-form-item>
<el-form-item label="认证工程师" v-if="listForm.certifiedEngineerName !== ''" prop="certifiedEngineerName" class="add-form-item form-item-disabled">
<el-input
readonly
v-model="listForm.certifiedEngineerName"
placeholder="请选择认证工程师"
></el-input>
</el-form-item>
<el-form-item label="认证工程师" v-else prop="certifiedEngineerName" class="add-form-item form-item-disabled">
<el-input
readonly
v-model="listForm.certifiedEngineerName"
placeholder="--"
></el-input>
</el-form-item>
<el-form-item v-if="listForm.qualityEngineerName !== '' " label="质量工程师" prop="qualityEngineerName" class="add-form-item form-item-disabled">
<el-input
readonly
v-model="listForm.qualityEngineerName"
placeholder="请选择质量工程师"
></el-input>
</el-form-item>
<el-form-item v-else label="质量工程师" prop="qualityEngineerName" class="add-form-item form-item-disabled">
<el-input
readonly
v-model="listForm.qualityEngineerName"
placeholder="--"
></el-input>
</el-form-item>
</el-col>
</el-row>
</div>
</el-collapse-transition>
<el-button v-if="foldFormFlag === false" style="width: 100%" icon="el-icon-caret-top" @click="foldForm">隐藏基础信息</el-button>
<el-button v-if="foldFormFlag === true" style="width: 100%" icon="el-icon-caret-bottom" @click="foldForm">展开基础信息</el-button>
<div class="prc-content-border" v-if="foldFormFlag === true" style="display: none">
<el-row :gutter="24">
<el-col :span="24">
<el-form-item label="标准编号" prop="standNumber" class="add-form-item form-item-disabled">
<el-input
v-model="listForm.standNumber"
placeholder="请输入标准编号"
readonly
@click.native="handlePreview(listForm)"
></el-input>
</el-form-item>
<el-form-item label="标准名称" prop="standName" class="add-form-item form-item-disabled">
<el-input
v-model="listForm.standName"
placeholder="请输入标准名称"
readonly
@click.native="handlePreview(listForm)"
></el-input>
</el-form-item>
<el-form-item label="认证工程师" v-if="listForm.certifiedEngineerName !== ''" prop="certifiedEngineerName" class="add-form-item form-item-disabled">
<el-input
readonly
v-model="listForm.certifiedEngineerName"
placeholder="请选择认证工程师"
></el-input>
</el-form-item>
<el-form-item label="认证工程师" v-else prop="certifiedEngineerName" class="add-form-item form-item-disabled">
<el-input
readonly
v-model="listForm.certifiedEngineerName"
placeholder="--"
></el-input>
</el-form-item>
<el-form-item v-if="listForm.qualityEngineerName !== '' " label="质量工程师" prop="qualityEngineerName" class="add-form-item form-item-disabled">
<el-input
readonly
v-model="listForm.qualityEngineerName"
placeholder="请选择质量工程师"
></el-input>
</el-form-item>
<el-form-item v-else label="质量工程师" prop="qualityEngineerName" class="add-form-item form-item-disabled">
<el-input
readonly
v-model="listForm.qualityEngineerName"
placeholder="--"
></el-input>
</el-form-item>
</el-col>
</el-row>
</div>
</el-form>
</div>
<ProcessTitle>
<template slot="title">填写信息</template>
</ProcessTitle>
<el-table
ref="multipleTable"
:data="dataList"
tooltip-effect="dark"
style="width: 100%"
border
@selection-change="selectStandChange"
height="55%"
:header-cell-style="{background: '#e8e8e8', color: '#333333', fontSize: '16px',
fontWeight: 'bold', fontFamily: 'MicrosoftYaHei-Bold'}">
<el-table-column
prop="productLine"
align="center"
width="200"
label="产品线">
</el-table-column>
<el-table-column
prop="projectNumber"
align="center"
width="200"
label="项目编号">
</el-table-column>
<el-table-column
prop="projectName"
align="center"
width="200"
label="项目名称">
</el-table-column>
<el-table-column
prop="itemNum"
align="center"
width="200"
label="条款号">
</el-table-column>
<el-table-column
prop="itemsName"
width="200"
align="center"
label="条款名称">
</el-table-column>
<el-table-column
prop="technicalRequir"
align="center"
width="250"
label="核心技术要求/变化点">
</el-table-column>
<el-table-column
prop="changePoint"
width="250"
align="center"
label="基于上一版本差异">
</el-table-column>
<el-table-column
prop="xCXSSRQ"
width="200"
align="center"
label="新车型实施日期">
<template slot-scope="scope">
<span>{{ scope.row.xCXSSRQ ? $moment(scope.row.xCXSSRQ).format('YYYY-MM-DD') : '' }}</span>
</template>
</el-table-column>
<el-table-column
prop="zCCSSRQ"
width="200"
align="center"
label="在产车实施日期">
<template slot-scope="scope">
<span>{{ scope.row.zCCSSRQ ? $moment(scope.row.zCCSSRQ).format('YYYY-MM-DD') : '' }}</span>
</template>
</el-table-column>
<el-table-column
prop="complianceReasons"
align="center"
width="160"
label="合规">
</el-table-column>
<el-table-column
align="center"
width="160"
prop="researchNonCompliance"
label="不合规">
<el-table-column
prop="noCompliance"
align="center"
width="170"
label="不合规项目">
</el-table-column>
<el-table-column
prop="countermeasures"
align="center"
width="160"
label="应对措施">
</el-table-column>
<el-table-column
prop="completionTime"
align="center"
width="120"
label="完成时间">
<template slot-scope="scope">
<span>{{ scope.row.completionTime ? $moment(scope.row.completionTime).format('YYYY-MM-DD') : '' }}</span>
</template>
</el-table-column>
</el-table-column>
<el-table-column
align="center"
width="150"
prop="implementer"
label="落实人">
</el-table-column>
<el-table-column
align="center"
width="150"
prop="distributePerson"
label="责任人">
</el-table-column>
</el-table>
<el-collapse accordion>
<el-collapse-item title="审批意见">
<div style="margin: 10px 0;">
<el-input
type="textarea"
:rows="3"
resize="none"
placeholder="请输入意见"
v-model="commentText">
</el-input>
</div>
</el-collapse-item>
</el-collapse>
</div>
<div class="content" v-show="active === '2'">
<el-table
height="100%"
ref="selection"
:data="histortData"
tooltip-effect="dark"
style="width: 100%"
border
row-key="id"
:header-cell-style="{background: '#f8f8f9', color: '#515a6e'}">
<el-table-column
prop="name"
label="任务步骤"
align="center"
width="130"
>
</el-table-column>
<el-table-column
prop="assignee"
label="任务受理人"
align="center"
width="130"
>
</el-table-column>
<el-table-column
prop="createTime"
label="创建时间"
width="130"
align="center">
<template slot-scope="scope">
<span>{{ scope.row.createTime ? $moment(scope.row.createTime).format('YYYY-MM-DD') : '' }}</span>
</template>
</el-table-column>
<el-table-column
prop="endTime"
label="完成时间"
width="130"
align="center">
<template slot-scope="scope">
<span>{{ scope.row.endTime ? $moment(scope.row.endTime).format('YYYY-MM-DD') : '' }}</span>
</template>
</el-table-column>
<el-table-column
prop="comment"
label="流程信息"
width="130"
align="center">
<template slot-scope="scope">
<span>{{ scope.row.commentText }}</span>
</template>
</el-table-column>
<el-table-column
prop="completeFlag"
label="状态"
align="center">
<template slot-scope="scope">
<span>{{ scope.row.endTime ? '已完成' : '未完成'}}</span>
</template>
</el-table-column>
</el-table>
</div>
<ProcessFooter
show-back
show-submit
:transfer-loading="isTransfer"
:submitLoading="isSubmit"
:saveLoading="saveLoading"
:approval="true"
@transfer="handleTransfer"
@back="beforeBack"
@submit="handleSubmit"
>
</ProcessFooter>
</div>
</template>
<script>
import { Dialog } from 'vant';
import ProcessHeaderPhone from '../../components/ProcessHeaderPhone'
import ProcessFooter from '../../components/ProcessFooter'
import ProcessTitle from '../../components/ProcessTitle'
import {inboundLiaisonDetail,processCreateStand,changeAssigneeNew} from 'api/process'
import axios from "axios";
import ProcessHeader from "process/components/ProcessHeader";
export default {
name: "phoneXmpgStep5",
components: {
ProcessHeader,
ProcessFooter,
ProcessHeaderPhone,
ProcessTitle
},
data() {
return {
//truefalse
foldFormFlag: false,
nodeList:[],
isTransfer: false,
drawerTitle:'',
//
drawerModal: false,
detailData: [],
// (1/2)
processType: 1,
loading: false,
dataList: [],//
active: "1",
userId:this.$store.getters.userInfo.userId,
taskIds: this.$route.query.taskIds,
pId: this.$route.query.prcId,
listType: "country", //
isSubmit: false,
saveLoading: false,
tabValue: "listOfCountries",
selectedList: [], //
selectList: [], //
bringData: [],
commentText: "", //
page: 1,
total: 0,
pageSize: this.$store.getters.userInfo.configContent,
listForm: {
passFlag: " ", // 1
standNumber: "", //
standName: "",//
certifiedEngineer: "", //
qualityEngineer: "", //
certifiedEngineerName: "", //
qualityEngineerName: "", //
breakdownList: [{
applyArctic: "",
busStandCover: "",
claimType: "",
id: "",
itemsName: "",
itemsNum: "",
responsibleUnit: "", //
responsibleEngineer: "", //
standId: "",
svpps: ""
}],
dataList: [{
projectLine: "", //线
uname: "",//线
projectManager:"",// 线id
distributePerson: "", //
distributePersonId: "", //id
id: "",
sarStandProjectLibraries: [{
projectManager: '',
projectLevel: '',
projectNumber: '',
projectEndDate: '',
currentNode: '',
projectGroup: '',
productLine: '',
projectClassification: '',
projectStatus: '',
projectStartDate: '',
id: '',
projectName: '',
projectPlatfor: ''
}]
}]
},
choiceForm: {}, //
countryOptions: [], //
user1: "",
user2: "",
user3: "",
user4: "",
user5: "",
standMap: new Map()
};
},
methods: {
///
foldForm() {
this.foldFormFlag = !this.foldFormFlag
},
//
checkedRole (data) {
this.assigneeNewLoading = true
changeAssigneeNew({
taskId: this.$route.query.taskIds, // id
assignee: data[0].id, //
userId: this.$store.getters.userInfo.userId, //
pId: this.$route.query.prcId //
}).then(res => {
this.isTransfer = false
if (res.success) {
this.drawerModal = false
this.$message.success('调整成功')
this.$router.push("/processCenter");
this.processNum()
} else {
this.$message.warning(res.message)
}
})
},
//
processNum (row) {
axios.request({
url: '/api/lawss/activiti/getImg?_t=' + new Date().getTime(),
responseType: 'blob',
method: 'get',
params: {
prcNum: this.$route.query.prcNum
}
}).then(res => {
// let blob = new Blob([res.data], {type: 'image/jpg'})
// let url = window.URL.createObjectURL(res.data)
this.processStep = window.URL.createObjectURL(res.data)
})
},
//
handleTransfer(){
this.drawerModal = true
this.drawerTitle = '转办处理人'
this.selectPeople = row
},
processTable () {
this.$http.get('lawss/activiti/get_list_by_instance', {
prcNum: this.$route.query.prcNum,
sortWord: this.shunxu ? this.paixu : '',
shunxu: this.shunxu
}, {
loading: 'loading',
_this: this
}, res => {
this.detailData = res
}, e => {})
},
//tab
handleTabs(name) {
this.active = name;
},
//
handlePreview(item) {
let routeUrl = this.$router.resolve({
name: "OtherStandardDetails",
params: {
id: item.id,
pageType: "INLAND_STAND"
}
});
window.open(routeUrl.href, "_blank");
},
getData() {
return new Promise((resolve, reject) => {
inboundLiaisonDetail({
taskIds: this.taskIds,
pId: this.pId
}).then(res => {
if (res) {
const processForm = JSON.parse(res.mesg)
this.getFormFieldList(processForm)
}
}).catch(e => {
})
})
},
/**
* @description: 动态表单读取
*/
getFormFieldList (item) {
this.$nextTick(() => {
this.listForm = JSON.parse(JSON.stringify(item))
this.listForm.prcNum = this.prcNum
this.listForm.prcName = this.prcName
this.dataList = item.dataList
this.listForm.standName = item.standName
this.listForm.standNumber = item.standNumber
this.listForm.id = item.id
this.listForm.qualityEngineerName = item.qualityEngineerName
this.listForm.certifiedEngineerName = item.certifiedEngineerName
this.listForm.responsibleUnit = item.responsibleUnit
this.listForm.responsibleEngineer = item.responsibleEngineer
})
},
//
beforeBack () {
if(!this.commentText){
this.$message.warning('请填写审批意见')
}else{
this.listForm.applyUpdUserId = this.dataList[0].distributePersonId
this.listForm.commentText = this.commentText;
this.listForm.dataList = this.dataList
this.listForm.fenFlag = '1'
const json = JSON.stringify(this.listForm);
this.$http.post('lawss/activiti/completeTask', {
taskIds: this.taskIds,
userId: this.userId,
json: json,
}, {
_this: this
}, res => {
if (res.success) {
this.$message.success(res.message)
this.$router.push('/processCenter')
}
}, e => {
});
}
},
//
handleSubmit() {
this.listForm.applyUpdUserId = this.dataList[0].distributePersonId
this.listForm.dataList = this.dataList
this.listForm.fenFlag = '2'
this.listForm.commentText = this.commentText;
const json = JSON.stringify(this.listForm);
this.isSubmit = true
this.$http.post('lawss/activiti/completeTask', {
taskIds: this.taskIds,
userId: this.userId,
json: json,
}, {
_this: this
}, res => {
if (res.success) {
this.$message.success(res.message)
this.$router.push('/processCenter')
}
this.isSubmit = false
}, e => {
});
},
//
selectStandChange(data) {
this.selectList = [];
for (let i = 0; i < data.length; i++) {
this.selectList.push(data[i].id);
}
},
selectThree() {
},
pageChange(page) {
this.page = page;
this.searchData();
},
pageSizeChange(pageSize) {
this.pageSize = this.$store.getters.userInfo.configContent;
this.searchData();
}
},
computed: {
listNoDataText () {
return this.processType === 1 ? '暂无待办流程' : '暂无已办流程'
},
},
mounted() {
this.processTable()
this.getData()
}
};
</script>
<style lang="less" scoped>
@import '~@/assets/styles/phone';
.phoneXmpgStep5 {
/deep/.van-dialog__content {
min-height: 300px;
padding: 10px;
}
.prc-content-border {
overflow: auto;
}
/deep/.prc-content-border .el-form-item__content {
width: 270px;
}
.headerTabs {
height: 52px;
display: flex;
align-items: center;
position: absolute;
top: 52px;
right: 10px;
.headerTabsItem {
border: 1px solid #c1c1c1;
padding: 0 5px;
height: 30px;
line-height: 30px;
cursor: pointer;
}
.active {
border: 1px solid #E6A23C;
color: #fff;
background: #E6A23C;
}
}
.content {
border-top: 1px solid #DCDFE6;
display: flex;
flex-direction: column;
justify-content: space-between;
margin-top: 52px;
height: calc(~'100% - 155px');
overflow: auto;
.tableTitle {
margin-bottom: 10px;
height: 30px;
line-height: 30px;
position: relative;
font-size: 13px;
font-weight: bold;
.tableButton {
position: absolute;
right: 0;
top: 0;
}
}
}
}
</style>
@@ -0,0 +1,666 @@
<template>
<div class="phoneXmpgStep6 phoneBox">
<ProcessHeaderPhone toggle>
<template slot="proName">标准合规评估流程</template>
<template slot="proNode">产品线责任人审批</template>
</ProcessHeaderPhone>
<div class="headerTabs">
<div class="headerTabsItem" :class="active === '1' ? 'active' : ''" @click="handleTabs('1')">基础信息</div>
<div class="headerTabsItem" :class="active === '2' ? 'active' : ''" @click="handleTabs('2')">审批历史</div>
</div>
<div class="content" v-show="active === '1'">
<div style="overflow: auto;">
<el-form
:model="listForm"
class="label-input-form"
label-width="210px"
>
<ProcessTitle>
<template slot="title">基础信息</template>
</ProcessTitle>
<el-collapse-transition>
<div class="prc-content-border" v-if="foldFormFlag === false">
<el-row :gutter="24">
<el-col :span="24">
<el-form-item label="标准编号" prop="standNumber" class="add-form-item form-item-disabled">
<el-input
class="input-jump"
v-model="listForm.standNumber"
placeholder="请输入标准编号"
readonly
@click.native="handlePreview(listForm)"
></el-input>
</el-form-item>
<el-form-item label="标准名称" prop="standName" class="add-form-item form-item-disabled">
<el-input
class="input-jump"
v-model="listForm.standName"
placeholder="请输入标准名称"
readonly
@click.native="handlePreview(listForm)"
></el-input>
</el-form-item>
<el-form-item label="认证工程师" v-if="listForm.certifiedEngineerName !== ''" prop="certifiedEngineerName" class="add-form-item form-item-disabled">
<el-input
readonly
v-model="listForm.certifiedEngineerName"
placeholder="请选择认证工程师"
></el-input>
</el-form-item>
<el-form-item label="认证工程师" v-else prop="certifiedEngineerName" class="add-form-item form-item-disabled">
<el-input
readonly
v-model="listForm.certifiedEngineerName"
placeholder="--"
></el-input>
</el-form-item>
<el-form-item v-if="listForm.qualityEngineerName !== '' " label="质量工程师" prop="qualityEngineerName" class="add-form-item form-item-disabled">
<el-input
readonly
v-model="listForm.qualityEngineerName"
placeholder="请选择质量工程师"
></el-input>
</el-form-item>
<el-form-item v-else label="质量工程师" prop="qualityEngineerName" class="add-form-item form-item-disabled">
<el-input
readonly
v-model="listForm.qualityEngineerName"
placeholder="--"
></el-input>
</el-form-item>
</el-col>
</el-row>
</div>
</el-collapse-transition>
<el-button v-if="foldFormFlag === false" style="width: 100%" icon="el-icon-caret-top" @click="foldForm">隐藏基础信息</el-button>
<el-button v-if="foldFormFlag === true" style="width: 100%" icon="el-icon-caret-bottom" @click="foldForm">展开基础信息</el-button>
<div class="prc-content-border" v-if="foldFormFlag === true" style="display: none">
<el-row :gutter="24">
<el-col :span="24">
<el-form-item label="标准编号" prop="standNumber" class="add-form-item form-item-disabled">
<el-input
v-model="listForm.standNumber"
placeholder="请输入标准编号"
readonly
@click.native="handlePreview(listForm)"
></el-input>
</el-form-item>
<el-form-item label="标准名称" prop="standName" class="add-form-item form-item-disabled">
<el-input
v-model="listForm.standName"
placeholder="请输入标准名称"
readonly
@click.native="handlePreview(listForm)"
></el-input>
</el-form-item>
<el-form-item label="认证工程师" v-if="listForm.certifiedEngineerName !== ''" prop="certifiedEngineerName" class="add-form-item form-item-disabled">
<el-input
readonly
v-model="listForm.certifiedEngineerName"
placeholder="请选择认证工程师"
></el-input>
</el-form-item>
<el-form-item label="认证工程师" v-else prop="certifiedEngineerName" class="add-form-item form-item-disabled">
<el-input
readonly
v-model="listForm.certifiedEngineerName"
placeholder="--"
></el-input>
</el-form-item>
<el-form-item v-if="listForm.qualityEngineerName !== '' " label="质量工程师" prop="qualityEngineerName" class="add-form-item form-item-disabled">
<el-input
readonly
v-model="listForm.qualityEngineerName"
placeholder="请选择质量工程师"
></el-input>
</el-form-item>
<el-form-item v-else label="质量工程师" prop="qualityEngineerName" class="add-form-item form-item-disabled">
<el-input
readonly
v-model="listForm.qualityEngineerName"
placeholder="--"
></el-input>
</el-form-item>
</el-col>
</el-row>
</div>
</el-form>
</div>
<ProcessTitle>
<template slot="title">填写信息</template>
</ProcessTitle>
<el-table
ref="multipleTable"
:data="dataList"
tooltip-effect="dark"
style="width: 100%"
border
@selection-change="selectStandChange"
height="55%"
:header-cell-style="{background: '#e8e8e8', color: '#333333', fontSize: '16px',
fontWeight: 'bold', fontFamily: 'MicrosoftYaHei-Bold'}">
<el-table-column
prop="productLine"
align="center"
width="200"
label="产品线">
</el-table-column>
<el-table-column
prop="projectNumber"
align="center"
width="200"
label="项目编号">
</el-table-column>
<el-table-column
prop="projectName"
align="center"
width="200"
label="项目名称">
</el-table-column>
<el-table-column
prop="itemNum"
align="center"
width="200"
label="条款号">
</el-table-column>
<el-table-column
prop="itemsName"
width="200"
align="center"
label="条款名称">
</el-table-column>
<el-table-column
prop="technicalRequir"
align="center"
width="250"
label="核心技术要求/变化点">
</el-table-column>
<el-table-column
prop="changePoint"
width="250"
align="center"
label="基于上一版本差异">
</el-table-column>
<el-table-column
prop="xCXSSRQ"
width="200"
align="center"
label="新车型实施日期">
<template slot-scope="scope">
<span>{{ scope.row.xCXSSRQ ? $moment(scope.row.xCXSSRQ).format('YYYY-MM-DD') : '' }}</span>
</template>
</el-table-column>
<el-table-column
prop="zCCSSRQ"
width="200"
align="center"
label="在产车实施日期">
<template slot-scope="scope">
<span>{{ scope.row.zCCSSRQ ? $moment(scope.row.zCCSSRQ).format('YYYY-MM-DD') : '' }}</span>
</template>
</el-table-column>
<el-table-column
prop="complianceReasons"
align="center"
width="160"
label="合规">
</el-table-column>
<el-table-column
align="center"
width="160"
prop="researchNonCompliance"
label="不合规">
<el-table-column
prop="noCompliance"
align="center"
width="170"
label="不合规项目">
</el-table-column>
<el-table-column
prop="countermeasures"
align="center"
width="160"
label="应对措施">
</el-table-column>
<el-table-column
prop="completionTime"
align="center"
width="120"
label="完成时间">
<template slot-scope="scope">
<span>{{ scope.row.completionTime ? $moment(scope.row.completionTime).format('YYYY-MM-DD') : '' }}</span>
</template>
</el-table-column>
</el-table-column>
<el-table-column
align="center"
width="150"
prop="implementer"
label="落实人">
</el-table-column>
<el-table-column
align="center"
width="150"
prop="distributePerson"
label="责任人">
</el-table-column>
</el-table>
<el-collapse accordion>
<el-collapse-item title="审批意见">
<div style="margin: 10px 0;">
<el-input
type="textarea"
:rows="3"
resize="none"
placeholder="请输入意见"
v-model="commentText">
</el-input>
</div>
</el-collapse-item>
</el-collapse>
</div>
<div class="content" v-show="active === '2'">
<el-table
height="100%"
ref="selection"
:data="histortData"
tooltip-effect="dark"
style="width: 100%"
border
row-key="id"
:header-cell-style="{background: '#f8f8f9', color: '#515a6e'}">
<el-table-column
prop="name"
label="任务步骤"
align="center"
width="130"
>
</el-table-column>
<el-table-column
prop="assignee"
label="任务受理人"
align="center"
width="130"
>
</el-table-column>
<el-table-column
prop="createTime"
label="创建时间"
width="130"
align="center">
<template slot-scope="scope">
<span>{{ scope.row.createTime ? $moment(scope.row.createTime).format('YYYY-MM-DD') : '' }}</span>
</template>
</el-table-column>
<el-table-column
prop="endTime"
label="完成时间"
width="130"
align="center">
<template slot-scope="scope">
<span>{{ scope.row.endTime ? $moment(scope.row.endTime).format('YYYY-MM-DD') : '' }}</span>
</template>
</el-table-column>
<el-table-column
prop="comment"
label="流程信息"
width="130"
align="center">
<template slot-scope="scope">
<span>{{ scope.row.commentText }}</span>
</template>
</el-table-column>
<el-table-column
prop="completeFlag"
label="状态"
align="center">
<template slot-scope="scope">
<span>{{ scope.row.endTime ? '已完成' : '未完成'}}</span>
</template>
</el-table-column>
</el-table>
</div>
<ProcessFooter
show-back
show-submit
:transfer-loading="isTransfer"
:submitLoading="isSubmit"
:saveLoading="saveLoading"
:approval="true"
@transfer="handleTransfer"
@back="beforeBack"
@submit="handleSubmit"
>
</ProcessFooter>
</div>
</template>
<script>
import { Dialog } from 'vant';
import ProcessHeaderPhone from '../../components/ProcessHeaderPhone'
import ProcessFooter from '../../components/ProcessFooter'
import ProcessTitle from '../../components/ProcessTitle'
import {inboundLiaisonDetail,processCreateStand,changeAssigneeNew} from 'api/process'
import axios from "axios";
import ProcessHeader from "process/components/ProcessHeader";
export default {
name: "phoneXmpgStep6",
components: {
ProcessHeader,
ProcessFooter,
ProcessHeaderPhone,
ProcessTitle
},
data() {
return {
//truefalse
foldFormFlag: false,
nodeList:[],
isTransfer: false,
drawerTitle:'',
//
drawerModal: false,
detailData: [],
// (1/2)
processType: 1,
loading: false,
dataList: [],//
active: "1",
userId:this.$store.getters.userInfo.userId,
taskIds: this.$route.query.taskIds,
pId: this.$route.query.prcId,
listType: "country", //
isSubmit: false,
saveLoading: false,
tabValue: "listOfCountries",
selectedList: [], //
selectList: [], //
bringData: [],
commentText: "", //
page: 1,
total: 0,
pageSize: this.$store.getters.userInfo.configContent,
listForm: {
passFlag: " ", // 1
standNumber: "", //
standName: "",//
certifiedEngineer: "", //
qualityEngineer: "", //
certifiedEngineerName: "", //
qualityEngineerName: "", //
breakdownList: [{
applyArctic: "",
busStandCover: "",
claimType: "",
id: "",
itemsName: "",
itemsNum: "",
responsibleUnit: "", //
responsibleEngineer: "", //
standId: "",
svpps: ""
}],
dataList: [{
projectLine: "", //线
uname: "",//线
projectManager:"",// 线id
distributePerson: "", //
distributePersonId: "", //id
id: "",
sarStandProjectLibraries: [{
projectManager: '',
projectLevel: '',
projectNumber: '',
projectEndDate: '',
currentNode: '',
projectGroup: '',
productLine: '',
projectClassification: '',
projectStatus: '',
projectStartDate: '',
id: '',
projectName: '',
projectPlatfor: ''
}]
}]
},
choiceForm: {}, //
countryOptions: [], //
user1: "",
user2: "",
user3: "",
user4: "",
user5: "",
standMap: new Map()
};
},
methods: {
///
foldForm() {
this.foldFormFlag = !this.foldFormFlag
},
//
checkedRole (data) {
this.assigneeNewLoading = true
changeAssigneeNew({
taskId: this.$route.query.taskIds, // id
assignee: data[0].id, //
userId: this.$store.getters.userInfo.userId, //
pId: this.$route.query.prcId //
}).then(res => {
this.isTransfer = false
if (res.success) {
this.drawerModal = false
this.$message.success('调整成功')
this.$router.push("/processCenter");
this.processNum()
} else {
this.$message.warning(res.message)
}
})
},
//
processNum (row) {
axios.request({
url: '/api/lawss/activiti/getImg?_t=' + new Date().getTime(),
responseType: 'blob',
method: 'get',
params: {
prcNum: this.$route.query.prcNum
}
}).then(res => {
// let blob = new Blob([res.data], {type: 'image/jpg'})
// let url = window.URL.createObjectURL(res.data)
this.processStep = window.URL.createObjectURL(res.data)
})
},
//
handleTransfer(){
this.drawerModal = true
this.drawerTitle = '转办处理人'
this.selectPeople = row
},
processTable () {
this.$http.get('lawss/activiti/get_list_by_instance', {
prcNum: this.$route.query.prcNum,
sortWord: this.shunxu ? this.paixu : '',
shunxu: this.shunxu
}, {
loading: 'loading',
_this: this
}, res => {
this.detailData = res
}, e => {})
},
//tab
handleTabs(name) {
this.active = name;
},
//
handlePreview(item) {
let routeUrl = this.$router.resolve({
name: "OtherStandardDetails",
params: {
id: item.id,
pageType: "INLAND_STAND"
}
});
window.open(routeUrl.href, "_blank");
},
getData() {
return new Promise((resolve, reject) => {
inboundLiaisonDetail({
taskIds: this.taskIds,
pId: this.pId
}).then(res => {
if (res) {
const processForm = JSON.parse(res.mesg)
this.getFormFieldList(processForm)
}
}).catch(e => {
})
})
},
/**
* @description: 动态表单读取
*/
getFormFieldList (item) {
this.$nextTick(() => {
this.listForm = JSON.parse(JSON.stringify(item))
this.listForm.prcNum = this.prcNum
this.listForm.prcName = this.prcName
this.dataList = item.dataList
this.listForm.id = item.step3DTOS[0].id
this.listForm.standName = item.step3DTOS[0].standName
this.listForm.standNumber = item.step3DTOS[0].standNumber
this.listForm.qualityEngineerName = item.step3DTOS[0].qualityEngineerName
this.listForm.certifiedEngineerName = item.step3DTOS[0].certifiedEngineerName
})
},
//
beforeBack () {
if(!this.commentText){
this.$message.warning('请填写审批意见')
} else {
this.listForm.fenFlag = '2'
this.handleSubmit()
}
},
//
handleSubmit() {
this.isSubmit = true
this.listForm.prcCreateUser = this.$store.getters.userInfo.userId;
this.listForm.applyUpdUserId = this.$store.getters.userInfo.userId;
this.listForm.prcCreateUserName = this.$store.getters.userInfo.account;
this.listForm.zrUserId = this.$store.getters.userInfo.userId ;
this.listForm.commentText = this.commentText;
this.listForm.standId = this.listForm.standId;
this.listForm.fenFlag = "1";
this.listForm.dataList = this.dataList
const json = JSON.stringify(this.listForm);
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 => {
});
},
//
selectStandChange(data) {
this.selectList = [];
for (let i = 0; i < data.length; i++) {
this.selectList.push(data[i].id);
}
},
selectThree() {
},
pageChange(page) {
this.page = page;
this.searchData();
},
pageSizeChange(pageSize) {
this.pageSize = this.$store.getters.userInfo.configContent;
this.searchData();
}
},
computed: {
listNoDataText () {
return this.processType === 1 ? '暂无待办流程' : '暂无已办流程'
},
},
mounted() {
this.processTable()
this.getData()
}
};
</script>
<style lang="less" scoped>
@import '~@/assets/styles/phone';
.phoneXmpgStep6 {
/deep/.van-dialog__content {
min-height: 300px;
padding: 10px;
}
.prc-content-border {
overflow: auto;
}
/deep/.prc-content-border .el-form-item__content {
width: 270px;
}
.headerTabs {
height: 52px;
display: flex;
align-items: center;
position: absolute;
top: 52px;
right: 10px;
.headerTabsItem {
border: 1px solid #c1c1c1;
padding: 0 5px;
height: 30px;
line-height: 30px;
cursor: pointer;
}
.active {
border: 1px solid #E6A23C;
color: #fff;
background: #E6A23C;
}
}
.content {
border-top: 1px solid #DCDFE6;
display: flex;
flex-direction: column;
justify-content: space-between;
margin-top: 52px;
height: calc(~'100% - 155px');
overflow: auto;
.tableTitle {
margin-bottom: 10px;
height: 30px;
line-height: 30px;
position: relative;
font-size: 13px;
font-weight: bold;
.tableButton {
position: absolute;
right: 0;
top: 0;
}
}
}
}
</style>
@@ -0,0 +1,662 @@
<template>
<div class="phoneXmpgStep7 phoneBox">
<ProcessHeaderPhone toggle>
<template slot="proName">标准合规评估流程</template>
<template slot="proNode">标准法规部领导审批</template>
</ProcessHeaderPhone>
<div class="headerTabs">
<div class="headerTabsItem" :class="active === '1' ? 'active' : ''" @click="handleTabs('1')">基础信息</div>
<div class="headerTabsItem" :class="active === '2' ? 'active' : ''" @click="handleTabs('2')">审批历史</div>
</div>
<div class="content" v-show="active === '1'">
<div style="overflow: auto;">
<el-form
:model="listForm"
class="label-input-form"
label-width="210px"
>
<ProcessTitle>
<template slot="title">基础信息</template>
</ProcessTitle>
<el-collapse-transition>
<div class="prc-content-border" v-if="foldFormFlag === false">
<el-row :gutter="24">
<el-col :span="24">
<el-form-item label="标准编号" prop="standNumber" class="add-form-item form-item-disabled">
<el-input
class="input-jump"
v-model="listForm.standNumber"
placeholder="请输入标准编号"
readonly
@click.native="handlePreview(listForm)"
></el-input>
</el-form-item>
<el-form-item label="标准名称" prop="standName" class="add-form-item form-item-disabled">
<el-input
class="input-jump"
v-model="listForm.standName"
placeholder="请输入标准名称"
readonly
@click.native="handlePreview(listForm)"
></el-input>
</el-form-item>
<el-form-item label="认证工程师" v-if="listForm.certifiedEngineerName !== ''" prop="certifiedEngineerName" class="add-form-item form-item-disabled">
<el-input
readonly
v-model="listForm.certifiedEngineerName"
placeholder="请选择认证工程师"
></el-input>
</el-form-item>
<el-form-item label="认证工程师" v-else prop="certifiedEngineerName" class="add-form-item form-item-disabled">
<el-input
readonly
v-model="listForm.certifiedEngineerName"
placeholder="--"
></el-input>
</el-form-item>
<el-form-item v-if="listForm.qualityEngineerName !== '' " label="质量工程师" prop="qualityEngineerName" class="add-form-item form-item-disabled">
<el-input
readonly
v-model="listForm.qualityEngineerName"
placeholder="请选择质量工程师"
></el-input>
</el-form-item>
<el-form-item v-else label="质量工程师" prop="qualityEngineerName" class="add-form-item form-item-disabled">
<el-input
readonly
v-model="listForm.qualityEngineerName"
placeholder="--"
></el-input>
</el-form-item>
</el-col>
</el-row>
</div>
</el-collapse-transition>
<el-button v-if="foldFormFlag === false" style="width: 100%" icon="el-icon-caret-top" @click="foldForm">隐藏基础信息</el-button>
<el-button v-if="foldFormFlag === true" style="width: 100%" icon="el-icon-caret-bottom" @click="foldForm">展开基础信息</el-button>
<div class="prc-content-border" v-if="foldFormFlag === true" style="display: none">
<el-row :gutter="24">
<el-col :span="24">
<el-form-item label="标准编号" prop="standNumber" class="add-form-item form-item-disabled">
<el-input
v-model="listForm.standNumber"
placeholder="请输入标准编号"
readonly
@click.native="handlePreview(listForm)"
></el-input>
</el-form-item>
<el-form-item label="标准名称" prop="standName" class="add-form-item form-item-disabled">
<el-input
v-model="listForm.standName"
placeholder="请输入标准名称"
readonly
@click.native="handlePreview(listForm)"
></el-input>
</el-form-item>
<el-form-item label="认证工程师" v-if="listForm.certifiedEngineerName !== ''" prop="certifiedEngineerName" class="add-form-item form-item-disabled">
<el-input
readonly
v-model="listForm.certifiedEngineerName"
placeholder="请选择认证工程师"
></el-input>
</el-form-item>
<el-form-item label="认证工程师" v-else prop="certifiedEngineerName" class="add-form-item form-item-disabled">
<el-input
readonly
v-model="listForm.certifiedEngineerName"
placeholder="--"
></el-input>
</el-form-item>
<el-form-item v-if="listForm.qualityEngineerName !== '' " label="质量工程师" prop="qualityEngineerName" class="add-form-item form-item-disabled">
<el-input
readonly
v-model="listForm.qualityEngineerName"
placeholder="请选择质量工程师"
></el-input>
</el-form-item>
<el-form-item v-else label="质量工程师" prop="qualityEngineerName" class="add-form-item form-item-disabled">
<el-input
readonly
v-model="listForm.qualityEngineerName"
placeholder="--"
></el-input>
</el-form-item>
</el-col>
</el-row>
</div>
</el-form>
</div>
<ProcessTitle>
<template slot="title">填写信息</template>
</ProcessTitle>
<el-table
ref="multipleTable"
:data="dataList"
tooltip-effect="dark"
style="width: 100%"
border
@selection-change="selectStandChange"
height="55%"
:header-cell-style="{background: '#e8e8e8', color: '#333333', fontSize: '16px',
fontWeight: 'bold', fontFamily: 'MicrosoftYaHei-Bold'}">
<el-table-column
prop="productLine"
align="center"
width="200"
label="产品线">
</el-table-column>
<el-table-column
prop="projectNumber"
align="center"
width="200"
label="项目编号">
</el-table-column>
<el-table-column
prop="projectName"
align="center"
width="200"
label="项目名称">
</el-table-column>
<el-table-column
prop="itemNum"
align="center"
width="200"
label="条款号">
</el-table-column>
<el-table-column
prop="itemsName"
width="200"
align="center"
label="条款名称">
</el-table-column>
<el-table-column
prop="technicalRequir"
align="center"
width="250"
label="核心技术要求/变化点">
</el-table-column>
<el-table-column
prop="changePoint"
width="250"
align="center"
label="基于上一版本差异">
</el-table-column>
<el-table-column
prop="xCXSSRQ"
width="200"
align="center"
label="新车型实施日期">
<template slot-scope="scope">
<span>{{ scope.row.xCXSSRQ ? $moment(scope.row.xCXSSRQ).format('YYYY-MM-DD') : '' }}</span>
</template>
</el-table-column>
<el-table-column
prop="zCCSSRQ"
width="200"
align="center"
label="在产车实施日期">
<template slot-scope="scope">
<span>{{ scope.row.zCCSSRQ ? $moment(scope.row.zCCSSRQ).format('YYYY-MM-DD') : '' }}</span>
</template>
</el-table-column>
<el-table-column
prop="complianceReasons"
align="center"
width="160"
label="合规">
</el-table-column>
<el-table-column
align="center"
width="160"
prop="researchNonCompliance"
label="不合规">
<el-table-column
prop="noCompliance"
align="center"
width="170"
label="不合规项目">
</el-table-column>
<el-table-column
prop="countermeasures"
align="center"
width="160"
label="应对措施">
</el-table-column>
<el-table-column
prop="completionTime"
align="center"
width="120"
label="完成时间">
<template slot-scope="scope">
<span>{{ scope.row.completionTime ? $moment(scope.row.completionTime).format('YYYY-MM-DD') : '' }}</span>
</template>
</el-table-column>
</el-table-column>
<el-table-column
align="center"
width="150"
prop="implementer"
label="落实人">
</el-table-column>
<el-table-column
align="center"
width="150"
prop="distributePerson"
label="责任人">
</el-table-column>
</el-table>
<el-collapse accordion>
<el-collapse-item title="审批意见">
<div style="margin: 10px 0;">
<el-input
type="textarea"
:rows="3"
resize="none"
placeholder="请输入意见"
v-model="commentText">
</el-input>
</div>
</el-collapse-item>
</el-collapse>
</div>
<div class="content" v-show="active === '2'">
<el-table
height="100%"
ref="selection"
:data="histortData"
tooltip-effect="dark"
style="width: 100%"
border
row-key="id"
:header-cell-style="{background: '#f8f8f9', color: '#515a6e'}">
<el-table-column
prop="name"
label="任务步骤"
align="center"
width="130"
>
</el-table-column>
<el-table-column
prop="assignee"
label="任务受理人"
align="center"
width="130"
>
</el-table-column>
<el-table-column
prop="createTime"
label="创建时间"
width="130"
align="center">
<template slot-scope="scope">
<span>{{ scope.row.createTime ? $moment(scope.row.createTime).format('YYYY-MM-DD') : '' }}</span>
</template>
</el-table-column>
<el-table-column
prop="endTime"
label="完成时间"
width="130"
align="center">
<template slot-scope="scope">
<span>{{ scope.row.endTime ? $moment(scope.row.endTime).format('YYYY-MM-DD') : '' }}</span>
</template>
</el-table-column>
<el-table-column
prop="comment"
label="流程信息"
width="130"
align="center">
<template slot-scope="scope">
<span>{{ scope.row.commentText }}</span>
</template>
</el-table-column>
<el-table-column
prop="completeFlag"
label="状态"
align="center">
<template slot-scope="scope">
<span>{{ scope.row.endTime ? '已完成' : '未完成'}}</span>
</template>
</el-table-column>
</el-table>
</div>
<ProcessFooter
show-back
show-submit
:transfer-loading="isTransfer"
:submitLoading="isSubmit"
:saveLoading="saveLoading"
:approval="true"
@transfer="handleTransfer"
@back="beforeBack"
@submit="handleSubmit"
>
</ProcessFooter>
</div>
</template>
<script>
import { Dialog } from 'vant';
import ProcessHeaderPhone from '../../components/ProcessHeaderPhone'
import ProcessFooter from '../../components/ProcessFooter'
import ProcessTitle from '../../components/ProcessTitle'
import {inboundLiaisonDetail,processCreateStand,changeAssigneeNew} from 'api/process'
import axios from "axios";
import ProcessHeader from "process/components/ProcessHeader";
export default {
name: "phoneXmpgStep7",
components: {
ProcessHeader,
ProcessFooter,
ProcessHeaderPhone,
ProcessTitle
},
data() {
return {
//truefalse
foldFormFlag: false,
nodeList:[],
isTransfer: false,
drawerTitle:'',
//
drawerModal: false,
detailData: [],
// (1/2)
processType: 1,
loading: false,
dataList: [],//
active: "1",
userId:this.$store.getters.userInfo.userId,
taskIds: this.$route.query.taskIds,
pId: this.$route.query.prcId,
listType: "country", //
isSubmit: false,
saveLoading: false,
tabValue: "listOfCountries",
selectedList: [], //
selectList: [], //
bringData: [],
commentText: "", //
page: 1,
total: 0,
pageSize: this.$store.getters.userInfo.configContent,
listForm: {
passFlag: " ", // 1
standNumber: "", //
standName: "",//
certifiedEngineer: "", //
qualityEngineer: "", //
certifiedEngineerName: "", //
qualityEngineerName: "", //
breakdownList: [{
applyArctic: "",
busStandCover: "",
claimType: "",
id: "",
itemsName: "",
itemsNum: "",
responsibleUnit: "", //
responsibleEngineer: "", //
standId: "",
svpps: ""
}],
dataList: [{
projectLine: "", //线
uname: "",//线
projectManager:"",// 线id
distributePerson: "", //
distributePersonId: "", //id
id: "",
sarStandProjectLibraries: [{
projectManager: '',
projectLevel: '',
projectNumber: '',
projectEndDate: '',
currentNode: '',
projectGroup: '',
productLine: '',
projectClassification: '',
projectStatus: '',
projectStartDate: '',
id: '',
projectName: '',
projectPlatfor: ''
}]
}]
},
choiceForm: {}, //
countryOptions: [], //
user1: "",
user2: "",
user3: "",
user4: "",
user5: "",
standMap: new Map()
};
},
methods: {
///
foldForm() {
this.foldFormFlag = !this.foldFormFlag
},
//
checkedRole (data) {
this.assigneeNewLoading = true
changeAssigneeNew({
taskId: this.$route.query.taskIds, // id
assignee: data[0].id, //
userId: this.$store.getters.userInfo.userId, //
pId: this.$route.query.prcId //
}).then(res => {
this.isTransfer = false
if (res.success) {
this.drawerModal = false
this.$message.success('调整成功')
this.$router.push("/processCenter");
this.processNum()
} else {
this.$message.warning(res.message)
}
})
},
//
processNum (row) {
axios.request({
url: '/api/lawss/activiti/getImg?_t=' + new Date().getTime(),
responseType: 'blob',
method: 'get',
params: {
prcNum: this.$route.query.prcNum
}
}).then(res => {
// let blob = new Blob([res.data], {type: 'image/jpg'})
// let url = window.URL.createObjectURL(res.data)
this.processStep = window.URL.createObjectURL(res.data)
})
},
//
handleTransfer(){
this.drawerModal = true
this.drawerTitle = '转办处理人'
this.selectPeople = row
},
processTable () {
this.$http.get('lawss/activiti/get_list_by_instance', {
prcNum: this.$route.query.prcNum,
sortWord: this.shunxu ? this.paixu : '',
shunxu: this.shunxu
}, {
loading: 'loading',
_this: this
}, res => {
this.detailData = res
}, e => {})
},
//tab
handleTabs(name) {
this.active = name;
},
//
handlePreview(item) {
let routeUrl = this.$router.resolve({
name: "OtherStandardDetails",
params: {
id: item.id,
pageType: "INLAND_STAND"
}
});
window.open(routeUrl.href, "_blank");
},
getData() {
return new Promise((resolve, reject) => {
inboundLiaisonDetail({
taskIds: this.taskIds,
pId: this.pId
}).then(res => {
if (res) {
const processForm = JSON.parse(res.mesg)
this.getFormFieldList(processForm)
}
}).catch(e => {
})
})
},
/**
* @description: 动态表单读取
*/
getFormFieldList (item) {
this.$nextTick(() => {
this.listForm = JSON.parse(JSON.stringify(item))
this.listForm.prcNum = this.prcNum
this.listForm.prcName = this.prcName
this.listForm.id = item.id
this.dataList = item.dataList
})
},
//
beforeBack () {
if(!this.commentText){
this.$message.warning('请填写审批意见')
} else {
this.listForm.fenFlag = '2'
this.handleSubmit()
}
},
//
handleSubmit() {
this.isSubmit = true
this.listForm.prcCreateUser = this.$store.getters.userInfo.userId;
this.listForm.applyUpdUserId = this.$store.getters.userInfo.userId;
this.listForm.prcCreateUserName = this.$store.getters.userInfo.account;
this.listForm.zrUserId = this.$store.getters.userInfo.userId ;
this.listForm.commentText = this.commentText;
this.listForm.standId = this.listForm.standId;
this.listForm.fenFlag = "1";
this.listForm.dataList = this.dataList
const json = JSON.stringify(this.listForm);
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 => {
});
},
//
selectStandChange(data) {
this.selectList = [];
for (let i = 0; i < data.length; i++) {
this.selectList.push(data[i].id);
}
},
selectThree() {
},
pageChange(page) {
this.page = page;
this.searchData();
},
pageSizeChange(pageSize) {
this.pageSize = this.$store.getters.userInfo.configContent;
this.searchData();
}
},
computed: {
listNoDataText () {
return this.processType === 1 ? '暂无待办流程' : '暂无已办流程'
},
},
mounted() {
this.processTable()
this.getData()
}
};
</script>
<style lang="less" scoped>
@import '~@/assets/styles/phone';
.phoneXmpgStep7 {
/deep/.van-dialog__content {
min-height: 300px;
padding: 10px;
}
.prc-content-border {
overflow: auto;
}
/deep/.prc-content-border .el-form-item__content {
width: 270px;
}
.headerTabs {
height: 52px;
display: flex;
align-items: center;
position: absolute;
top: 52px;
right: 10px;
.headerTabsItem {
border: 1px solid #c1c1c1;
padding: 0 5px;
height: 30px;
line-height: 30px;
cursor: pointer;
}
.active {
border: 1px solid #E6A23C;
color: #fff;
background: #E6A23C;
}
}
.content {
border-top: 1px solid #DCDFE6;
display: flex;
flex-direction: column;
justify-content: space-between;
margin-top: 52px;
height: calc(~'100% - 155px');
overflow: auto;
.tableTitle {
margin-bottom: 10px;
height: 30px;
line-height: 30px;
position: relative;
font-size: 13px;
font-weight: bold;
.tableButton {
position: absolute;
right: 0;
top: 0;
}
}
}
}
</style>
@@ -0,0 +1,499 @@
<template>
<div class="phoneXmpg2Step2 phoneBox">
<ProcessHeaderPhone toggle>
<template slot="proName">项目合规评估流程</template>
<template slot="proNode">业务经理审批</template>
</ProcessHeaderPhone>
<div class="headerTabs">
<div class="headerTabsItem" :class="active === '1' ? 'active' : ''" @click="handleTabs('1')">基础信息</div>
<div class="headerTabsItem" :class="active === '2' ? 'active' : ''" @click="handleTabs('2')">审批历史</div>
</div>
<div class="content" v-show="active === '1'">
<div style="overflow: auto;">
<el-form
:model="listForm"
class="label-input-form"
label-width="210px"
>
<ProcessTitle>
<template slot="title">基础信息</template>
</ProcessTitle>
<el-collapse-transition>
<div class="prc-content-border" v-if="foldFormFlag === false">
<el-row :gutter="24">
<el-col :span="24">
<el-form-item label="项目编号" prop="projectNumber" class="add-form-item form-item-disabled">
<el-input
v-model="listForm.projectNumber"
placeholder="请输入项目编号"
disabled
clearable
></el-input>
</el-form-item>
<el-form-item label="项目名称" prop="projectName" class="add-form-item form-item-disabled">
<el-input
v-model="listForm.projectName"
placeholder="请输入项目名称"
disabled
clearable
></el-input>
</el-form-item>
</el-col>
</el-row>
</div>
</el-collapse-transition>
<el-button v-if="foldFormFlag === false" style="width: 100%" icon="el-icon-caret-top" @click="foldForm">隐藏基础信息</el-button>
<el-button v-if="foldFormFlag === true" style="width: 100%" icon="el-icon-caret-bottom" @click="foldForm">展开基础信息</el-button>
<div class="prc-content-border" v-if="foldFormFlag === true" style="display: none">
<el-row :gutter="24">
<el-col :span="24">
<el-form-item label="项目编号" prop="projectNumber" class="add-form-item form-item-disabled">
<el-input
v-model="listForm.projectNumber"
placeholder="请输入项目编号"
disabled
clearable
></el-input>
</el-form-item>
<el-form-item label="项目名称" prop="projectName" class="add-form-item form-item-disabled">
<el-input
v-model="listForm.projectName"
placeholder="请输入项目名称"
disabled
clearable
></el-input>
</el-form-item>
</el-col>
</el-row>
</div>
</el-form>
</div>
<ProcessTitle>
<template slot="title">填写信息</template>
</ProcessTitle>
<el-table
:data="dataList"
border
ref="selection"
height="100%"
style="width: 100%; border:1px solid #ccc"
:header-cell-style="{background: '#e8e8e8', color: '#333333', fontSize: '16px',
fontWeight: 'bold', height: '48px'}">
<el-table-column
align="center"
min-width="160"
label="标准号"
>
<template slot-scope="scope">
<a v-if="scope.row.standYear" class="table-jump" @click="handlePreview(scope.row)">{{ scope.row.standSort }} {{ scope.row.standNumber }}-{{ scope.row.standYear }}</a>
<a v-else @click="handlePreview(scope.row)" class="table-jump">{{ scope.row.standSort }} {{ scope.row.standNumber }}</a>
</template>
</el-table-column>
<el-table-column
prop="standName"
min-width= "200"
align="center"
label="中文名称"
>
<template slot-scope="scope">
<a @click="handlePreview(scope.row)" class="table-jump">{{ scope.row.standName }}</a>
</template>
</el-table-column>
<el-table-column
prop="standEnName"
label="英文名称"
min-width= "200"
align="center"
>
<template slot-scope="scope">
<a @click="handlePreview(scope.row)" class="table-jump">{{ scope.row.standEnName }}</a>
</template>
</el-table-column>
<el-table-column
prop="ssrq"
width="150px"
align="center"
label="标准实施日期">
<template slot-scope="scope">
<span>{{ scope.row.ssrq ? $moment(scope.row.ssrq).format("YYYY-MM-DD") : "" }}</span>
</template>
</el-table-column>
<el-table-column
prop="xcxssrq"
align="center"
min-width="150"
label="新车型实施日期">
<template slot-scope="scope">
<span>{{ scope.row.xcxssrq ? $moment(scope.row.xcxssrq).format("YYYY-MM-DD") : "" }}</span>
</template>
</el-table-column>
<el-table-column
prop="zccssrq"
align="center"
width="150px"
label="在产车实施日期">
<template slot-scope="scope">
<span>{{ scope.row.zccssrq ? $moment(scope.row.zccssrq).format("YYYY-MM-DD") : "" }}</span>
</template>
</el-table-column>
<el-table-column
prop="zrbm"
label="责任部门"
align="center"
width="140px"
>
</el-table-column>
</el-table>
<el-collapse accordion>
<el-collapse-item title="审批意见">
<div style="margin: 10px 0;">
<el-input
type="textarea"
:rows="3"
resize="none"
placeholder="请输入意见"
v-model="commentText">
</el-input>
</div>
</el-collapse-item>
</el-collapse>
</div>
<div class="content" v-show="active === '2'">
<el-table
height="100%"
ref="selection"
:data="detailData"
tooltip-effect="dark"
style="width: 100%"
border
row-key="id"
:header-cell-style="{background: '#f8f8f9', color: '#515a6e'}">
<el-table-column
prop="name"
label="任务步骤"
align="center"
width="130"
>
</el-table-column>
<el-table-column
prop="assignee"
label="任务受理人"
align="center"
width="130"
>
</el-table-column>
<el-table-column
prop="createTime"
label="创建时间"
width="130"
align="center">
<template slot-scope="scope">
<span>{{ scope.row.createTime ? $moment(scope.row.createTime).format('YYYY-MM-DD') : '' }}</span>
</template>
</el-table-column>
<el-table-column
prop="endTime"
label="完成时间"
width="130"
align="center">
<template slot-scope="scope">
<span>{{ scope.row.endTime ? $moment(scope.row.endTime).format('YYYY-MM-DD') : '' }}</span>
</template>
</el-table-column>
<el-table-column
prop="comment"
label="流程信息"
width="130"
align="center">
<template slot-scope="scope">
<span>{{ scope.row.commentText }}</span>
</template>
</el-table-column>
<el-table-column
prop="completeFlag"
label="状态"
align="center">
<template slot-scope="scope">
<span>{{ scope.row.endTime ? '已完成' : '未完成'}}</span>
</template>
</el-table-column>
</el-table>
</div>
<ProcessFooter
show-back
show-submit
:transfer-loading="isTransfer"
:submitLoading="isSubmit"
:saveLoading="saveLoading"
:approval="true"
@transfer="handleTransfer"
@back="beforeBack"
@submit="handleSubmit"
>
</ProcessFooter>
</div>
</template>
<script>
import { Dialog } from 'vant';
import ProcessHeaderPhone from '../../components/ProcessHeaderPhone'
import ProcessHeader from "../../components/ProcessHeader";
import ProcessFooter from "../../components/ProcessFooter";
import ProcessTitle from "../../components/ProcessTitle";
import { inboundLiaisonDetail, queryDetail ,changeAssigneeNew } from "api/process";
export default {
name: "phoneXmpg2Step2",
components: {
ProcessTitle,
ProcessHeader,
ProcessHeaderPhone,
ProcessFooter
},
data() {
return {
//truefalse
foldFormFlag: false,
nodeList:[],
drawerTitle:'',
isTransfer: false,
//
drawerModal: false,
active: "1",
loading: false,
// (1/2)
processType: 1,
isSubmit: false,
saveLoading: false,
//
listForm: {
BZFlag: " ", //1
projectNumber: "", //
projectName: "", //
dataList: [], //
breakdownList: [] //
},
dataList: [], //
commentText: "", //
detailData: [],//
userId: this.$store.getters.userInfo.userId,
taskIds: this.$route.query.taskIds,
pId: this.$route.query.prcId
};
},
methods: {
///
foldForm() {
this.foldFormFlag = !this.foldFormFlag
},
//
checkedTransferRole (data) {
this.assigneeNewLoading = true
changeAssigneeNew({
taskId: this.$route.query.taskIds, // id
assignee: data[0].id, //
userId: this.$store.getters.userInfo.userId, //
pId: this.$route.query.prcId //
}).then(res => {
this.isTransfer = false
if (res.success) {
this.drawerModal = false
this.$message.success('调整成功')
this.$router.push("/processCenter");
this.processNum()
} else {
this.$message.warning(res.message)
}
})
},
//
processNum (row) {
axios.request({
url: '/api/lawss/activiti/getImg?_t=' + new Date().getTime(),
responseType: 'blob',
method: 'get',
params: {
prcNum: this.$route.query.prcNum
}
}).then(res => {
// let blob = new Blob([res.data], {type: 'image/jpg'})
// let url = window.URL.createObjectURL(res.data)
this.processStep = window.URL.createObjectURL(res.data)
})
},
//
handleTransfer(){
this.drawerModal = true
this.drawerTitle = '转办处理人'
this.selectPeople = row
},
processTable() {
this.$http.get("lawss/activiti/get_list_by_instance", {
prcNum: this.$route.query.prcNum,
sortWord: this.shunxu ? this.paixu : "",
shunxu: this.shunxu
}, {
loading: "loading",
_this: this
}, res => {
this.detailData = res;
}, e => {
});
},
//tab
handleTabs(type) {
this.active = type;
},
//
handlePreview (item) {
let routeUrl = this.$router.resolve({
name: 'OtherStandardDetails',
params: {
id: item.standId,
pageType: 'INLAND_STAND'
}
})
window.open(routeUrl.href, '_blank')
},
//
getData() {
return new Promise((resolve, reject) => {
inboundLiaisonDetail({
taskIds: this.taskIds,
pId: this.pId
}).then(res => {
if (res) {
const processForm = JSON.parse(res.mesg);
this.getFormFieldList(processForm);
}
}).catch(e => {
});
});
},
//
getFormFieldList(item) {
this.$nextTick(() => {
this.listForm = JSON.parse(JSON.stringify(item));
this.listForm.prcNum = this.prcNum;
this.listForm.prcName = this.prcName;
this.listForm["id"] = item.id;
this.listForm.dataList = item.dataList;
this.dataList = item.dataList;
this.dataList.distributePerson = item.dataList[0].distributePerson;
this.listForm.breakdownList = item.breakdownList;
});
},
//
beforeBack() {
if(this.commentText === null || this.commentText === undefined || this.commentText === ''){
this.$message.warning('审批意见不能为空')
}else{
this.listForm.BZFlag = "2";
this.listForm.commentText = this.commentText;
const json = JSON.stringify(this.listForm);
this.$http.post("lawss/activiti/completeTask", {
taskIds: this.taskIds,
userId: this.userId,
json: json
}, {
_this: this
}, res => {
if (res.success) {
this.$message.success(res.message);
this.$router.push("/processCenter");
}
}, e => {
});
}
},
//
handleSubmit() {
this.isSubmit = true
this.listForm.BZFlag = "1";
this.listForm.commentText = this.commentText;
const json = JSON.stringify(this.listForm);
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 => {
});
}
},
computed: {
listNoDataText() {
return this.processType === 1 ? "暂无待办流程" : "暂无已办流程";
}
},
mounted() {
this.processTable();
this.getData();
}
};
</script>
<style lang="less" scoped>
@import '~@/assets/styles/phone';
.phoneXmpg2Step2 {
/deep/.van-dialog__content {
min-height: 300px;
padding: 10px;
}
.prc-content-border {
overflow: auto;
}
/deep/.prc-content-border .el-form-item__content {
width: 270px;
}
.headerTabs {
height: 52px;
display: flex;
align-items: center;
position: absolute;
top: 52px;
right: 10px;
.headerTabsItem {
border: 1px solid #c1c1c1;
padding: 0 5px;
height: 30px;
line-height: 30px;
cursor: pointer;
}
.active {
border: 1px solid #E6A23C;
color: #fff;
background: #E6A23C;
}
}
.content {
border-top: 1px solid #DCDFE6;
display: flex;
flex-direction: column;
justify-content: space-between;
margin-top: 52px;
height: calc(~'100% - 155px');
overflow: auto;
.tableTitle {
margin-bottom: 10px;
height: 30px;
line-height: 30px;
position: relative;
font-size: 13px;
font-weight: bold;
.tableButton {
position: absolute;
right: 0;
top: 0;
}
}
}
}
</style>
@@ -0,0 +1,580 @@
<template>
<div class="phoneXmpg2Step7 phoneBox">
<ProcessHeaderPhone toggle>
<template slot="proName">项目合规评估流程</template>
<template slot="proNode">分发负责人审批</template>
</ProcessHeaderPhone>
<div class="headerTabs">
<div class="headerTabsItem" :class="active === '1' ? 'active' : ''" @click="handleTabs('1')">基础信息</div>
<div class="headerTabsItem" :class="active === '2' ? 'active' : ''" @click="handleTabs('2')">审批历史</div>
</div>
<div class="content" v-show="active === '1'">
<div style="overflow: auto;">
<el-form
:model="listForm"
class="label-input-form"
label-width="210px"
>
<ProcessTitle>
<template slot="title">基础信息</template>
</ProcessTitle>
<el-collapse-transition>
<div class="prc-content-border" v-if="foldFormFlag === false">
<el-row :gutter="24">
<el-col :span="24">
<el-form-item label="项目编号" prop="projectNumber" class="add-form-item form-item-disabled">
<el-input
v-model="listForm.projectNumber"
placeholder="请输入项目编号"
disabled
clearable
></el-input>
</el-form-item>
<el-form-item label="项目名称" prop="projectName" class="add-form-item form-item-disabled">
<el-input
v-model="listForm.projectName"
placeholder="请输入项目名称"
disabled
clearable
></el-input>
</el-form-item>
</el-col>
</el-row>
</div>
</el-collapse-transition>
<el-button v-if="foldFormFlag === false" style="width: 100%" icon="el-icon-caret-top" @click="foldForm">隐藏基础信息</el-button>
<el-button v-if="foldFormFlag === true" style="width: 100%" icon="el-icon-caret-bottom" @click="foldForm">展开基础信息</el-button>
<div class="prc-content-border" v-if="foldFormFlag === true" style="display: none">
<el-row :gutter="24">
<el-col :span="24">
<el-form-item label="项目编号" prop="projectNumber" class="add-form-item form-item-disabled">
<el-input
v-model="listForm.projectNumber"
placeholder="请输入项目编号"
disabled
clearable
></el-input>
</el-form-item>
<el-form-item label="项目名称" prop="projectName" class="add-form-item form-item-disabled">
<el-input
v-model="listForm.projectName"
placeholder="请输入项目名称"
disabled
clearable
></el-input>
</el-form-item>
</el-col>
</el-row>
</div>
</el-form>
</div>
<ProcessTitle>
<template slot="title">填写信息</template>
</ProcessTitle>
<el-table
ref="multipleTable"
:data="dataList"
tooltip-effect="dark"
style="width: 100%"
border
height="55%"
:header-cell-style="{background: '#e8e8e8', color: '#333333', fontSize: '16px',
fontWeight: 'bold', fontFamily: 'MicrosoftYaHei-Bold'}">
<el-table-column
prop="standEnName"
label="标准编号"
width="180"
align="center"
>
<template slot-scope="scope">
<a v-if="scope.row.standYear" class="table-jump"
@click="handlePreview(scope.row)">{{ scope.row.standSort }} {{ scope.row.standNumber
}}-{{ scope.row.standYear }}</a>
<a v-else @click="handlePreview(scope.row)" class="table-jump">{{ scope.row.standSort }}
{{ scope.row.standNumber }}</a>
</template>
</el-table-column>
<el-table-column
prop="standName"
width="180"
align="center"
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="itemsNum"
align="center"
width="200"
label="条款号">
</el-table-column>
<el-table-column
prop="itemsName"
width="200"
align="center"
label="条款名称">
</el-table-column>
<el-table-column
prop="xCXSSRQ"
width="200"
align="center"
label="新车型实施日期">
<template slot-scope="scope">
<span>{{ scope.row.xCXSSRQ ? $moment(scope.row.xCXSSRQ).format('YYYY-MM-DD') : '' }}</span>
</template>
</el-table-column>
<el-table-column
prop="zCCSSRQ"
width="200"
align="center"
label="在产车实施日期">
<template slot-scope="scope">
<span>{{ scope.row.zCCSSRQ ? $moment(scope.row.zCCSSRQ).format('YYYY-MM-DD') : '' }}</span>
</template>
</el-table-column>
<el-table-column
prop="complianceReasons"
align="center"
width="160"
label="合规">
</el-table-column>
<el-table-column
align="center"
width="160"
prop="researchNonCompliance"
label="不合规">
<el-table-column
prop="noCompliance"
align="center"
width="170"
label="不合规项目">
</el-table-column>
<el-table-column
prop="countermeasures"
align="center"
width="160"
label="应对措施">
</el-table-column>
<el-table-column
prop="completionTime"
align="center"
width="120"
label="完成时间">
<template slot-scope="scope">
<span>{{ scope.row.completionTime ? $moment(scope.row.completionTime).format('YYYY-MM-DD') : '' }}</span>
</template>
</el-table-column>
</el-table-column>
<el-table-column
align="center"
width="150"
prop="distributePerson"
label="责任人">
</el-table-column>
</el-table>
<el-collapse accordion>
<el-collapse-item title="审批意见">
<div style="margin: 10px 0;">
<el-input
type="textarea"
:rows="3"
resize="none"
placeholder="请输入意见"
v-model="commentText">
</el-input>
</div>
</el-collapse-item>
</el-collapse>
</div>
<div class="content" v-show="active === '2'">
<el-table
height="100%"
ref="selection"
:data="detailData"
tooltip-effect="dark"
style="width: 100%"
border
row-key="id"
:header-cell-style="{background: '#f8f8f9', color: '#515a6e'}">
<el-table-column
prop="name"
label="任务步骤"
align="center"
width="130"
>
</el-table-column>
<el-table-column
prop="assignee"
label="任务受理人"
align="center"
width="130"
>
</el-table-column>
<el-table-column
prop="createTime"
label="创建时间"
width="130"
align="center">
<template slot-scope="scope">
<span>{{ scope.row.createTime ? $moment(scope.row.createTime).format('YYYY-MM-DD') : '' }}</span>
</template>
</el-table-column>
<el-table-column
prop="endTime"
label="完成时间"
width="130"
align="center">
<template slot-scope="scope">
<span>{{ scope.row.endTime ? $moment(scope.row.endTime).format('YYYY-MM-DD') : '' }}</span>
</template>
</el-table-column>
<el-table-column
prop="comment"
label="流程信息"
width="130"
align="center">
<template slot-scope="scope">
<span>{{ scope.row.commentText }}</span>
</template>
</el-table-column>
<el-table-column
prop="completeFlag"
label="状态"
align="center">
<template slot-scope="scope">
<span>{{ scope.row.endTime ? '已完成' : '未完成'}}</span>
</template>
</el-table-column>
</el-table>
</div>
<ProcessFooter
show-back
show-submit
:transfer-loading="isTransfer"
:submitLoading="isSubmit"
:saveLoading="saveLoading"
:approval="true"
@transfer="handleTransfer"
@back="beforeBack"
@submit="handleSubmit"
>
</ProcessFooter>
</div>
</template>
<script>
import { Dialog } from 'vant';
import ProcessHeaderPhone from '../../components/ProcessHeaderPhone'
import ProcessHeader from "../../components/ProcessHeader";
import ProcessFooter from "../../components/ProcessFooter";
import ProcessTitle from "../../components/ProcessTitle";
import { inboundLiaisonDetail, queryDetail ,changeAssigneeNew } from "api/process";
export default {
name: "phoneXmpg2Step7",
components: {
ProcessTitle,
ProcessHeader,
ProcessHeaderPhone,
ProcessFooter
},
data() {
return {
foldFormFlag: false,
total: 0,
currentPage: 1,
pageSize: 20,
nodeList:[],
drawerTitle:'',
isTransfer: false,
//
drawerModal: false,
active: "1",
loading: false,
// (1/2)
processType: 1,
isSubmit: false,
saveLoading: false,
//
listForm: {
ffFlag: " ", //1
projectNumber: "", //
projectName: "", //
dataList: [], //
breakdownList: [] //
},
dataList: [], //
commentText: "", //
detailData: [],//
userId: this.$store.getters.userInfo.userId,
taskIds: this.$route.query.taskIds,
pId: this.$route.query.prcId
};
},
methods: {
///
foldForm() {
this.foldFormFlag = !this.foldFormFlag
},
//
checkedTransferRole (data) {
this.assigneeNewLoading = true
changeAssigneeNew({
taskId: this.$route.query.taskIds, // id
assignee: data[0].id, //
userId: this.$store.getters.userInfo.userId, //
pId: this.$route.query.prcId //
}).then(res => {
this.isTransfer = false
if (res.success) {
this.drawerModal = false
this.$message.success('调整成功')
this.$router.push("/processCenter");
this.processNum()
} else {
this.$message.warning(res.message)
}
})
},
//
processNum (row) {
axios.request({
url: '/api/lawss/activiti/getImg?_t=' + new Date().getTime(),
responseType: 'blob',
method: 'get',
params: {
prcNum: this.$route.query.prcNum
}
}).then(res => {
// let blob = new Blob([res.data], {type: 'image/jpg'})
// let url = window.URL.createObjectURL(res.data)
this.processStep = window.URL.createObjectURL(res.data)
})
},
//
handleTransfer(){
this.drawerModal = true
this.drawerTitle = '转办处理人'
this.selectPeople = row
},
//
handlePreview(item) {
let routeUrl = this.$router.resolve({
name: "OtherStandardDetails",
params: {
id: item.standId,
pageType: "INLAND_STAND"
}
});
window.open(routeUrl.href, "_blank");
},
//
getStandData() {
this.$http.get("sarStandardsInfo/sar-standards-info/getSarStandardsInfoPage", {
standType: this.standardSearch.standType,
standNumber: this.standardSearch.standNumber,
page: this.pageNo,
pageSize: this.pageSizeNo
}, {
_this: this
}, res => {
this.standardData = res.data.list;
this.standardData.forEach(item => {
if (item.attrInfoMap === null) {
this.$set(item, "ZCCSSRQ", "");
this.$set(item, "XCXSSRQ", "");
} else {
this.$set(item, "ZCCSSRQ", item.attrInfoMap.ZCCSSRQ);
this.$set(item, "XCXSSRQ", item.attrInfoMap.XCXSSRQ);
}
});
this.totalNo = res.data.count;
}, e => {
});
},
processTable() {
this.$http.get("lawss/activiti/get_list_by_instance", {
prcNum: this.$route.query.prcNum,
sortWord: this.shunxu ? this.paixu : "",
shunxu: this.shunxu
}, {
loading: "loading",
_this: this
}, res => {
this.detailData = res;
}, e => {
});
},
//tab
handleTabs(type) {
this.active = type;
},
//
getData() {
return new Promise((resolve, reject) => {
inboundLiaisonDetail({
taskIds: this.taskIds,
pId: this.pId
}).then(res => {
if (res) {
const processForm = JSON.parse(res.mesg);
this.getFormFieldList(processForm);
}
}).catch(e => {
});
});
},
//
getFormFieldList(item) {
console.log(item);
this.$nextTick(() => {
this.listForm = JSON.parse(JSON.stringify(item));
let dataChildren = []
let dataListChildren = []
this.listForm.prcNum = this.prcNum;
this.listForm.prcName = this.prcName;
this.listForm["id"] = item.id;
this.listForm.dataList = item.dataList;
this.listForm.dataList.forEach(item => {
if(item.children.length < 1 && item.workPeopleId === this.$store.getters.userInfo.userId ){
this.dataList.push(item)
}
item.children.forEach(items=> {
if(items.key === item.standId){
this.$set(items, "standName", item.standName);
this.$set(items, "standEnName", item.standEnName);
this.$set(items, "standYear", item.standYear);
this.$set(items, "standSort", item.standSort);
this.$set(items, "standNumber", item.standNumber);
}
})
})
this.listForm.dataList.forEach(item => {
dataChildren.push(item.children)
})
dataChildren.forEach((item,index) => {
dataListChildren = dataListChildren.concat(item)
})
dataListChildren = this.dataList.concat(dataListChildren)
this.dataList = dataListChildren
});
},
//
beforeBack() {
if (this.commentText === null || this.commentText === undefined || this.commentText === "") {
this.$message.warning("请填写审批意见");
} else {
this.listForm.ffFlag = "2";
this.listForm.commentText = this.commentText;
const json = JSON.stringify(this.listForm);
this.$http.post("lawss/activiti/completeTask", {
taskIds: this.taskIds,
userId: this.userId,
json: json
}, {
_this: this
}, res => {
if (res.success) {
this.$message.success(res.message);
this.$router.push("/processCenter");
}
}, e => {
});
}
},
//
handleSubmit() {
this.isSubmit = true;
this.listForm.ffFlag = "1";
this.listForm.commentText = this.commentText;
const json = JSON.stringify(this.listForm);
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;
});
},
//
handleCurrentChange(currentPage) {
this.currentPage = currentPage;
},
},
computed: {
listNoDataText() {
return this.processType === 1 ? "暂无待办流程" : "暂无已办流程";
}
},
mounted() {
this.processTable();
this.getData();
}
};
</script>
<style lang="less" scoped>
@import '~@/assets/styles/phone';
.phoneXmpg2Step7 {
/deep/.van-dialog__content {
min-height: 300px;
padding: 10px;
}
.prc-content-border {
overflow: auto;
}
/deep/.prc-content-border .el-form-item__content {
width: 270px;
}
.headerTabs {
height: 52px;
display: flex;
align-items: center;
position: absolute;
top: 52px;
right: 10px;
.headerTabsItem {
border: 1px solid #c1c1c1;
padding: 0 5px;
height: 30px;
line-height: 30px;
cursor: pointer;
}
.active {
border: 1px solid #E6A23C;
color: #fff;
background: #E6A23C;
}
}
.content {
border-top: 1px solid #DCDFE6;
display: flex;
flex-direction: column;
justify-content: space-between;
margin-top: 52px;
height: calc(~'100% - 155px');
overflow: auto;
.tableTitle {
margin-bottom: 10px;
height: 30px;
line-height: 30px;
position: relative;
font-size: 13px;
font-weight: bold;
.tableButton {
position: absolute;
right: 0;
top: 0;
}
}
}
}
</style>
@@ -332,7 +332,7 @@ export default {
})
}else if (row.taskInfo === '企标汇总修订'){
this.$router.push({
name: 'bzrkStep3',
name: 'bussLibrary3',
query: {
taskIds: row.taskIds,
prcId: row.prcId,
@@ -343,7 +343,7 @@ export default {
})
}else if (row.taskInfo === '标准化员审批'){
this.$router.push({
name: 'bzrkStep4',
name: 'bussLibrary4',
query: {
taskIds: row.taskIds,
prcId: row.prcId,
@@ -354,7 +354,7 @@ export default {
})
}else if (row.taskInfo === '重新企标汇总修订'){
this.$router.push({
name: 'bzrkStepC3',
name: 'bussLibraryC3',
query: {
taskIds: row.taskIds,
prcId: row.prcId,
@@ -365,7 +365,7 @@ export default {
})
}else if (row.taskInfo === '会签征求意见'){
this.$router.push({
name: 'bzrkStep5',
name: 'bussLibrary5',
query: {
taskIds: row.taskIds,
prcId: row.prcId,
@@ -376,7 +376,7 @@ export default {
})
}else if (row.taskInfo === '主起草人修订并组织评审'){
this.$router.push({
name: 'bzrkStep6',
name: 'bussLibrary6',
query: {
taskIds: row.taskIds,
prcId: row.prcId,
@@ -387,7 +387,7 @@ export default {
})
}else if (row.taskInfo === '标准法规工程师复审'){
this.$router.push({
name: 'bzrkStep7',
name: 'bussLibrary7',
query: {
taskIds: row.taskIds,
prcId: row.prcId,
@@ -398,7 +398,7 @@ export default {
})
}else if (row.taskInfo === '重新修订并组织评审'){
this.$router.push({
name: 'bzrkStepC6',
name: 'bussLibraryC6',
query: {
taskIds: row.taskIds,
prcId: row.prcId,
@@ -409,7 +409,7 @@ export default {
})
}else if (row.taskInfo === '技术委员会负责人/起草中心主任审核'){
this.$router.push({
name: 'bzrkStep8',
name: 'bussLibrary8',
query: {
taskIds: row.taskIds,
prcId: row.prcId,
@@ -420,7 +420,7 @@ export default {
})
}else if (row.taskInfo === '标准法规部部长审核'){
this.$router.push({
name: 'bzrkStep9',
name: 'bussLibrary9',
query: {
taskIds: row.taskIds,
prcId: row.prcId,
@@ -431,7 +431,7 @@ export default {
})
}else if (row.taskInfo === '专委会副主任/起草单位中心主任审定'){
this.$router.push({
name: 'bzrkStep10',
name: 'bussLibrary10',
query: {
taskIds: row.taskIds,
prcId: row.prcId,
@@ -442,7 +442,7 @@ export default {
})
}else if (row.taskInfo === '专委会主任/总院院长或主管副院长批准'){
this.$router.push({
name: 'bzrkStep11',
name: 'bussLibrary11',
query: {
taskIds: row.taskIds,
prcId: row.prcId,
@@ -453,7 +453,7 @@ export default {
})
}else if (row.taskInfo === '主起草人培训'){
this.$router.push({
name: 'bzrkStep12',
name: 'bussLibrary12',
query: {
taskIds: row.taskIds,
prcId: row.prcId,
@@ -44,6 +44,7 @@
class="common-button-default"
size="mini"
@click="resetSelect">清空</el-button>
<el-button size="mini" type="danger" @click="dataDel">删除</el-button>
</el-form-item>
</div>
<div class="search-area-item">
@@ -115,16 +116,17 @@
<span>{{ scope.row.overTime ? $moment(scope.row.overTime).format('YYYY-MM-DD HH:mm:ss') : '' }}</span>
</template>
</el-table-column>
<el-table-column :label="$t('m.operation')" align="center" width="50">
<el-table-column :label="$t('m.operation')" align="center" width="80">
<template slot-scope="scope">
<div @click.stop style="display: inline-block">
<el-button size="mini" type="primary" @click="dealWith(scope.row)">办理</el-button>
<!-- <div @click.stop style="display: inline-block">
<el-dropdown trigger="click" @command="handleCommand">
<i class="iconfont">&#xe61e;</i>
<el-dropdown-menu slot="dropdown">
<el-dropdown-item :command="[scope.row, '办理']">办理</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
</div>
</div>-->
</template>
</el-table-column>
</el-table>
@@ -144,6 +146,7 @@
<script>
import {mapMutations, mapActions} from 'vuex'
import ProcessMixin from '../../../components/ProcessMixin'
import { taskDel } from '@/api/process.js'
export default {
name: 'ProcessCenter',
mixins: [ProcessMixin],
@@ -181,7 +184,7 @@ export default {
size: parseInt(this.$store.getters.userInfo.configContent),
userId: this.$store.getters.userInfo.usid || this.$store.getters.userInfo.userId,
prcName: this.searchForm.prcName,
prcType: parseInt(this.searchForm.prcType) || ''
prcType: this.searchForm.prcType
},
{
loading: 'loading',
@@ -198,6 +201,45 @@ export default {
handleSelectionChange (selected) { //
this.processListSelect = selected
},
/** 删除按钮 */
dataDel() {
if (this.processListSelect.length > 0) {
let msgIds = []
for (let i = 0; i < this.processListSelect.length; i++) {
let msgId = this.processListSelect[i].id
msgIds.push(msgId)
}
let delId = {
id: msgIds.join(',')
}
this.$confirm('确定删除这些数据?', '提示', {
confirmButtonText: this.$t('m.determine'),
cancelButtonText: this.$t('m.cancel'),
type: 'warning',
confirmButtonClass: 'common-button-primary',
roundButton: true
}).then(() => {
taskDel(delId).then(res => {
if (res === 'success') {
this.$message.success('删除成功')
this.pageNo = 1
this.processListSelect = []
this.queryProcess()
} else {
this.$message.warning('删除失败')
}
})
}).catch(() => {
this.$message({
type: 'info',
message: '已取消删除'
})
})
} else {
this.$message.warning('请选择一条数据进行删除')
}
},
pageChange (pageNo) { //
this.pageNo = pageNo
this.queryProcess()
@@ -245,6 +287,151 @@ export default {
}
})
}
break
case 'buss1':
if(mes !== null && mes.taskInfo !== null) {
if (mes.taskInfo === '企标编写') {
this.$router.push({
name: 'bussLibrary2',
query: {
type: 'buss1',
processName: mes.taskInfo,
bpnId: id,
verifySarStandard: true,
}
})
}else if (row.taskInfo === '企标汇总修订'){
this.$router.push({
name: 'bussLibrary3',
query: {
type: 'buss1',
processName: mes.taskInfo,
bpnId: id,
verifySarStandard: true,
}
})
}else if (row.taskInfo === '标准化员审批'){
this.$router.push({
name: 'bussLibrary4',
query: {
type: 'buss1',
processName: mes.taskInfo,
bpnId: id,
verifySarStandard: true,
}
})
}else if (row.taskInfo === '重新企标汇总修订'){
this.$router.push({
name: 'bussLibraryC3',
query: {
type: 'buss1',
processName: mes.taskInfo,
bpnId: id,
verifySarStandard: true,
}
})
}else if (mes.taskInfo === '会签征求意见'){
this.$router.push({
name: 'bussLibrary5',
query: {
type: 'buss1',
processName: mes.taskInfo,
bpnId: id,
verifySarStandard: true,
}
})
}else if (mes.taskInfo === '主起草人修订并组织评审'){
this.$router.push({
name: 'bussLibrary6',
query: {
type: 'buss1',
processName: mes.taskInfo,
bpnId: id,
verifySarStandard: true,
}
})
}else if (mes.taskInfo === '标准法规工程师复审'){
this.$router.push({
name: 'bussLibrary7',
query: {
type: 'buss1',
processName: mes.taskInfo,
bpnId: id,
verifySarStandard: true,
}
})
}else if (mes.taskInfo === '重新修订并组织评审'){
this.$router.push({
name: 'bussLibraryC6',
query: {
type: 'buss1',
processName: mes.taskInfo,
bpnId: id,
verifySarStandard: true,
}
})
}else if (mes.taskInfo === '技术委员会负责人/起草中心主任审核'){
this.$router.push({
name: 'bussLibrary8',
query: {
type: 'buss1',
processName: mes.taskInfo,
bpnId: id,
verifySarStandard: true,
}
})
}else if (mes.taskInfo === '标准法规部部长审核'){
this.$router.push({
name: 'bussLibrary9',
query: {
type: 'buss1',
processName: mes.taskInfo,
bpnId: id,
verifySarStandard: true,
}
})
}else if (mes.taskInfo === '专委会副主任/起草单位中心主任审定'){
this.$router.push({
name: 'bussLibrary10',
query: {
type: 'buss1',
processName: mes.taskInfo,
bpnId: id,
verifySarStandard: true,
}
})
}else if (mes.taskInfo === '专委会主任/总院院长或主管副院长批准'){
this.$router.push({
name: 'bussLibrary11',
query: {
type: 'buss1',
processName: mes.taskInfo,
bpnId: id,
verifySarStandard: true,
}
})
}else if (mes.taskInfo === '主起草人培训'){
this.$router.push({
name: 'bussLibrary12',
query: {
type: 'buss1',
processName: mes.taskInfo,
bpnId: id,
verifySarStandard: true,
}
})
}
}else {
this.$router.push({
name: 'bussLibrary1',
query: {
type: '1',
processName: '发起企标制修订流程',
bpnId: id,
verifySarStandard: true,
}
})
}
break
//
case '2':
@@ -20,10 +20,10 @@
<el-divider/>
<div style="float: left">
<el-button type="primary" size="small" @click="dataAdd">新增</el-button>
<el-button type="primary" size="small" @click="dialogVisible1 = true">导入</el-button>
<el-button type="primary" size="small" @click="dialogVisible2 = true">导出</el-button>
<el-button type="danger" size="small" @click="deleteDetail" icon="el-icon-delete">批量删除</el-button>
<el-button type="primary" size="small" onclick="">模板下载</el-button>
<!-- <el-button type="primary" size="small" @click="dialogVisible1 = true">导入</el-button>-->
<!-- <el-button type="primary" size="small" @click="dialogVisible2 = true">导出</el-button>-->
<el-button type="danger" size="small" @click="deleteDetail">批量删除</el-button>
<!-- <el-button type="primary" size="small" onclick="">模板下载</el-button>-->
</div>
</el-form>
<el-divider/>
@@ -19,10 +19,10 @@
<el-divider/>
<div style="float: left">
<el-button type="primary" size="small" @click="dataAdd">新增</el-button>
<el-button type="primary" size="small" @click="dialogVisible1 = true">导入</el-button>
<el-button type="primary" size="small" @click="dialogVisible2 = true">导出</el-button>
<el-button type="danger" size="small" @click="deleteDetail" icon="el-icon-delete">批量删除</el-button>
<el-button type="primary" size="small" onclick="">模板下载</el-button>
<!-- <el-button type="primary" size="small" @click="dialogVisible1 = true">导入</el-button>-->
<!-- <el-button type="primary" size="small" @click="dialogVisible2 = true">导出</el-button>-->
<el-button type="danger" size="small" @click="deleteDetail">批量删除</el-button>
<!-- <el-button type="primary" size="small" onclick="">模板下载</el-button>-->
</div>
</el-form>
<el-divider/>
@@ -26,10 +26,10 @@
<el-divider/>
<div style="float: left;">
<el-button type="primary" size="small" @click="tableAdd">新增</el-button>
<el-button type="primary" size="small" @click="dialogVisible1 = true">导入</el-button>
<el-button type="primary" size="small" @click="dialogVisible2 = true">导出</el-button>
<el-button type="danger" size="small" @click="deleteDetail" icon="el-icon-delete">批量删除</el-button>
<el-button type="primary" size="small" onclick="">模板下载</el-button>
<!-- <el-button type="primary" size="small" @click="dialogVisible1 = true">导入</el-button>-->
<!-- <el-button type="primary" size="small" @click="dialogVisible2 = true">导出</el-button>-->
<el-button type="danger" size="small" @click="deleteDetail">批量删除</el-button>
<!-- <el-button type="primary" size="small" onclick="">模板下载</el-button>-->
</div>
</el-form>
<el-divider/>
@@ -20,10 +20,10 @@
<el-divider/>
<div style="float: left">
<el-button type="primary" size="small" @click="formDataAdd">新增</el-button>
<el-button type="primary" size="small" @click="dialogVisible1 = true">导入</el-button>
<el-button type="primary" size="small" @click="dialogVisible2 = true">导出</el-button>
<el-button type="danger" size="small" @click="deleteDetail" icon="el-icon-delete">批量删除</el-button>
<el-button type="primary" size="small" onclick="">模板下载</el-button>
<!-- <el-button type="primary" size="small" @click="dialogVisible1 = true">导入</el-button>-->
<!-- <el-button type="primary" size="small" @click="dialogVisible2 = true">导出</el-button>-->
<el-button type="danger" size="small" @click="deleteDetail">批量删除</el-button>
<!-- <el-button type="primary" size="small" onclick="">模板下载</el-button>-->
</div>
</el-form>
<el-divider/>
@@ -37,10 +37,10 @@
<el-divider/>
<div style="float: left">
<el-button type="primary" size="small" @click="tableAdd">新增</el-button>
<el-button type="primary" size="small" @click="dialogVisible1 = true">导入</el-button>
<el-button type="primary" size="small" @click="dialogVisible2 = true">导出</el-button>
<el-button type="danger" size="small" @click="deleteDetail" icon="el-icon-delete">批量删除</el-button>
<el-button type="primary" size="small" onclick="">模板下载</el-button>
<!-- <el-button type="primary" size="small" @click="dialogVisible1 = true">导入</el-button>-->
<!-- <el-button type="primary" size="small" @click="dialogVisible2 = true">导出</el-button>-->
<el-button type="danger" size="small" @click="deleteDetail">批量删除</el-button>
<!-- <el-button type="primary" size="small" onclick="">模板下载</el-button>-->
</div>
</el-form>
<el-divider/>
@@ -26,10 +26,10 @@
<el-divider/>
<div style="float: left">
<el-button type="primary" size="small" @click="formDataAdd">新增</el-button>
<el-button type="primary" size="small" @click="dialogVisible1 = true">导入</el-button>
<el-button type="primary" size="small" @click="dialogVisible2 = true">导出</el-button>
<el-button type="danger" size="small" @click="deleteDetail" icon="el-icon-delete">批量删除</el-button>
<el-button type="primary" size="small" onclick="">模板下载</el-button>
<!-- <el-button type="primary" size="small" @click="dialogVisible1 = true">导入</el-button>-->
<!-- <el-button type="primary" size="small" @click="dialogVisible2 = true">导出</el-button>-->
<el-button type="danger" size="small" @click="deleteDetail">批量删除</el-button>
<!-- <el-button type="primary" size="small" onclick="">模板下载</el-button>-->
</div>
</el-form>
<el-divider/>
@@ -19,10 +19,10 @@
<el-divider/>
<div style="float: left">
<el-button type="primary" size="small" @click="dataAdd">新增</el-button>
<el-button type="primary" size="small" @click="dialogVisible1 = true">导入</el-button>
<el-button type="primary" size="small" @click="dialogVisible2 = true">导出</el-button>
<el-button type="danger" size="small" @click="deleteDetail" icon="el-icon-delete">批量删除</el-button>
<el-button type="primary" size="small" onclick="">模板下载</el-button>
<!-- <el-button type="primary" size="small" @click="dialogVisible1 = true">导入</el-button>-->
<!-- <el-button type="primary" size="small" @click="dialogVisible2 = true">导出</el-button>-->
<el-button type="danger" size="small" @click="deleteDetail">批量删除</el-button>
<!-- <el-button type="primary" size="small" onclick="">模板下载</el-button>-->
</div>
</el-form>
<el-divider/>
@@ -18,7 +18,7 @@
:indent="0"
:props="props"
:data="treeList"
default-expanded-keys="['3']"
:default-expanded-keys="['3']"
highlight-current
@node-click="treeClick"
:filter-node-method="filterNode">
@@ -404,11 +404,8 @@
v-btn-permission="'a7a38a95ea374695fc3128037f6feccf'">删除
</el-button>
</div>
<div v-else>
<div @click.stop style="display: inline-block">
<el-dropdown trigger="click" @command="handleCommand">
<el-button title="收藏" class="collection-btn" icon="el-icon-star-off" v-btn-permission="'d9730d984627af948053df56a2db7997'"
v-if="scope.row.collectBtn"
@click="handleCommand([scope.row, '收藏'])"
@@ -419,29 +416,6 @@
@click="handleCommand([scope.row, '取消收藏'])"
>
</el-button>
<!-- <i class="iconfont">&#xe61e;</i>-->
<!-- <el-dropdown-menu slot="dropdown">-->
<!-- <el-dropdown-item-->
<!-- v-if="scope.row.collectBtn"-->
<!-- :command="[scope.row, '收藏']"-->
<!-- v-btn-permission="'d9730d984627af948053df56a2db7997'"-->
<!-- >-->
<!-- 收藏-->
<!-- </el-dropdown-item>-->
<!-- <el-dropdown-item-->
<!-- v-else-->
<!-- :command="[scope.row, '取消收藏']"-->
<!-- v-btn-permission="'d9730d984627af948053df56a2db7997'"-->
<!-- >-->
<!-- 取消收藏-->
<!-- </el-dropdown-item>-->
<!-- <el-dropdown-item :command="[scope.row, '编辑']" v-btn-permission="'dd4ea796dab7a01b105ba657b1968a84'">编辑</el-dropdown-item>-->
<!-- &lt;!&ndash; <el-dropdown-item :command="[scope.row, '分享']" v-btn-permission="'ESPMBSD4ZP'">分享</el-dropdown-item>&ndash;&gt;-->
<!-- &lt;!&ndash; <el-dropdown-item :command="[scope.row, '授权']" v-btn-permission="'CWBPST294ZH7HSKD4452'" v-if="scope.row.attrInfoMap && scope.row.attrInfoMap.QBMJ === 'ACF675Z88W'">授权</el-dropdown-item>&ndash;&gt;-->
<!-- <el-dropdown-item :command="[scope.row, '删除']" v-btn-permission="'a7a38a95ea374695fc3128037f6feccf'">删除</el-dropdown-item>-->
<!-- &lt;!&ndash; <el-dropdown-item :command="[scope.row, '流程']">流程</el-dropdown-item>&ndash;&gt;-->
<!-- </el-dropdown-menu>-->
</el-dropdown>
</div>
</div>
@@ -173,7 +173,7 @@
align="center"
width="150">
<template slot-scope="scope">
<el-input style="margin: 10px 0;" disabled v-model="scope.row.phone"></el-input>
<el-input style="margin: 10px 0;" :disabled="DrawerType === 'see'" v-model="scope.row.phone"></el-input>
</template>
</el-table-column>
<el-table-column
@@ -182,7 +182,7 @@
align="center"
width="200">
<template slot-scope="scope">
<el-input style="margin: 10px 0;" disabled v-model="scope.row.email"></el-input>
<el-input style="margin: 10px 0; " :disabled="DrawerType === 'see'" v-model="scope.row.email"></el-input>
</template>
</el-table-column>
</el-table>
@@ -262,7 +262,7 @@
align="center"
width="150">
<template slot-scope="scope">
<el-input style="margin: 10px 0;" disabled v-model="scope.row.phone"></el-input>
<el-input style="margin: 10px 0;" :disabled="DrawerType === 'see'" v-model="scope.row.phone"></el-input>
</template>
</el-table-column>
<el-table-column
@@ -271,7 +271,7 @@
align="center"
width="200">
<template slot-scope="scope">
<el-input style="margin: 10px 0;" disabled v-model="scope.row.email"></el-input>
<el-input style="margin: 10px 0;" :disabled="DrawerType === 'see'" v-model="scope.row.email"></el-input>
</template>
</el-table-column>
<el-table-column
+160
View File
@@ -1248,6 +1248,26 @@ const routes = [
title: '标准调研流程'
}
},
{
path: '/phoneBzdyStep8',
name: 'phoneBzdyStep8',
component: () => import('@/pages/processCenter/pages/phone/bzdy/step8.vue'),
meta: {
isBoolean: true,
requireAuth: true,
title: '标准调研流程'
}
},
{
path: '/phoneBzdyStep9',
name: 'phoneBzdyStep9',
component: () => import('@/pages/processCenter/pages/phone/bzdy/step9.vue'),
meta: {
isBoolean: true,
requireAuth: true,
title: '标准调研流程'
}
},
{
path: '/bzdyStep1-9',
name: 'bzdyStep1-9',
@@ -1756,6 +1776,16 @@ const routes = [
title: '外部标准化协会入会流程(选择代表)'
}
},
{
path: '/phoneBzrhStep2',
name: 'phoneBzrhStep2',
component: () => import('@/pages/processCenter/pages/phone/bzhHd-rh/step2.vue'),
meta: {
isBoolean: true,
requireAuth: true,
title: '外部标准化协会入会流程(选择代表)'
}
},
{
path: '/bzrhStep3',
name: 'bzrhStep3',
@@ -1774,6 +1804,16 @@ const routes = [
title: '外部标准化协会入会流程(责任负责人审批)'
}
},
{
path: '/phoneBzrhStep4',
name: 'phoneBzrhStep4',
component: () => import('@/pages/processCenter/pages/phone/bzhHd-rh/step4.vue'),
meta: {
isBoolean: true,
requireAuth: true,
title: '外部标准化协会入会流程(责任负责人审批)'
}
},
{
path: '/bzrhStep5',
name: 'bzrhStep5',
@@ -1792,6 +1832,16 @@ const routes = [
title: '外部标准化协会入会流程(审批)'
}
},
{
path: '/phoneBzrhStep6',
name: 'phoneBzrhStep6',
component: () => import('@/pages/processCenter/pages/phone/bzhHd-rh/step6.vue'),
meta: {
isBoolean: true,
requireAuth: true,
title: '外部标准化协会入会流程(审批)'
}
},
{
path: '/bzrhStep6-1',
name: 'bzrhStep6-1',
@@ -1821,6 +1871,16 @@ const routes = [
title: '外部标准化协会参会流程(选择入会代表)'
}
},
{
path: '/phoneBzchStep2',
name: 'phoneBzchStep2',
component: () => import('@/pages/processCenter/pages/phone/bzhHd-ch/step2.vue'),
meta: {
isBoolean: true,
requireAuth: true,
title: '外部标准化协会参会流程(选择入会代表)'
}
},
{
path: '/bzchStep3',
name: 'bzchStep3',
@@ -1839,6 +1899,16 @@ const routes = [
title: '外部标准化协会参会流程(审批)'
}
},
{
path: '/phoneBzchStep4',
name: 'phoneBzchStep4',
component: () => import('@/pages/processCenter/pages/phone/bzhHd-ch/step4.vue'),
meta: {
isBoolean: true,
requireAuth: true,
title: '外部标准化协会参会流程(审批)'
}
},
{
path: '/bzchStep5',
name: 'bzchStep5',
@@ -1857,6 +1927,16 @@ const routes = [
title: '外部标准化协会参会流程(审定)'
}
},
{
path: '/phoneBzchStep6',
name: 'phoneBzchStep6',
component: () => import('@/pages/processCenter/pages/phone/bzhHd-ch/step6.vue'),
meta: {
isBoolean: true,
requireAuth: true,
title: '外部标准化协会参会流程(审定)'
}
},
{
path: '/bzchStep6-1',
name: 'bzchStep6-1',
@@ -1884,6 +1964,16 @@ const routes = [
title: '外部标准化会后管理流程(审批)'
}
},
{
path: '/phoneBzhhStep2',
name: 'phoneBzhhStep2',
component: () => import('@/pages/processCenter/pages/phone/bzhHd-hh/step2.vue'),
meta: {
isBoolean: true,
requireAuth: true,
title: '外部标准化会后管理流程(审批)'
}
},
{
path: '/phoneBzjdStep4',
name: 'phoneBzjdStep4',
@@ -1894,6 +1984,76 @@ const routes = [
title: '标准解读流程'
}
},
{
path: '/phoneBzqdfbStep4',
name: 'phoneBzqdfbStep4',
component: () => import('@/pages/processCenter/pages/phone/bzqdfb/step4.vue'),
meta: {
isBoolean: true,
requireAuth: true,
title: '标准清单发布/更新流程'
}
},
{
path: '/phoneXmpgStep2',
name: 'phoneXmpgStep2',
component: () => import('@/pages/processCenter/pages/phone/xmpg/step2.vue'),
meta: {
isBoolean: true,
requireAuth: true,
title: '标准合规评估流程'
}
},
{
path: '/phoneXmpgStep5',
name: 'phoneXmpgStep5',
component: () => import('@/pages/processCenter/pages/phone/xmpg/step5.vue'),
meta: {
isBoolean: true,
requireAuth: true,
title: '标准合规评估流程'
}
},
{
path: '/phoneXmpgStep6',
name: 'phoneXmpgStep6',
component: () => import('@/pages/processCenter/pages/phone/xmpg/step6.vue'),
meta: {
isBoolean: true,
requireAuth: true,
title: '标准合规评估流程'
}
},
{
path: '/phoneXmpgStep7',
name: 'phoneXmpgStep7',
component: () => import('@/pages/processCenter/pages/phone/xmpg/step7.vue'),
meta: {
isBoolean: true,
requireAuth: true,
title: '标准合规评估流程'
}
},
{
path: '/phoneXmpg2Step2',
name: 'phoneXmpg2Step22',
component: () => import('@/pages/processCenter/pages/phone/xmpg2/step2.vue'),
meta: {
isBoolean: true,
requireAuth: true,
title: '项目合规评估流程'
}
},
{
path: '/phoneXmpg2Step7',
name: 'phoneXmpg2Step7',
component: () => import('@/pages/processCenter/pages/phone/xmpg2/step7.vue'),
meta: {
isBoolean: true,
requireAuth: true,
title: '项目合规评估流程'
}
},
{
path: '/phoneWfhxStep5',
name: 'phoneWfhxStep5',