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

This commit is contained in:
super_liu
2021-07-09 18:16:10 +08:00
30 changed files with 3869 additions and 201 deletions
+3
View File
@@ -906,3 +906,6 @@ tr.el-table__row{
margin: 10px;
width: calc(~'100% - 20px');
}
.button-list {
padding: 5px 0px;
}
+41
View File
@@ -282,6 +282,47 @@ export default {
exeFun.call(this, err)
})
},
downloadFile (url, param, fileName) {
_axios({
method: 'post',
url,
data: param,
responseType: 'blob'
}).then(
res => {
const data = res.data
const r = new FileReader()
r.onload = function () {
try {
const resData = JSON.parse(this.result)
} catch (err) {
// 下载正常处理
// 兼容ie11
if (window.navigator.msSaveOrOpenBlob) {
try {
const blobObject = new Blob([data])
window.navigator.msSaveOrOpenBlob(blobObject, fileName)
} catch (e) {
console.log(e)
}
return
}
// a标签实现下载
let url = window.URL.createObjectURL(new Blob([data]))
let link = document.createElement('a')
link.style.display = 'none'
link.href = url
link.setAttribute('download', fileName)
document.body.appendChild(link)
link.click()
resolve(fileName)
}
}
r.readAsText(data) // FileReader的API
}).catch(res => {
console.log(res)
})
},
/**
* @description: delete方法
* @author: chenxiaoxi
@@ -107,6 +107,7 @@
ref="tree2"
node-key="id"
class="filter-tree"
style="height: 100%; overflow: auto;"
v-if="modalPost"
:props="props"
:data="postList"
@@ -102,6 +102,7 @@
ref="tree"
node-key="id"
class="filter-tree"
style="height: 100%; overflow: auto;"
v-if="modalRole"
:props="props"
:data="roleList"
@@ -206,6 +206,7 @@
class="filter-tree1"
:data="treeData"
:props="defaultProps"
style="height: 100%; overflow: auto;"
default-expand-all
check-strictly
node-key="id"
+3 -1
View File
@@ -90,6 +90,7 @@ export default {
let userInfoStr = Base64.decode(res.data)
let userInfo2 = decodeURIComponent(userInfoStr)
let userInfoObj = JSON.parse(userInfo2)
userInfoObj.userId = userInfoObj.usid
this.setToken(userInfoObj.usid) // vuex存储token
this.getByUserInfoCode(userInfoObj.usid).then((userInfo) => {
if (userInfo !== '' && userInfo !== null) {
@@ -114,7 +115,8 @@ export default {
// 获取用户菜单
this.getMenu().then((menuList) => {
let hasHomeMenu = menuList.some((menuItem) => {
return menuItem.id === 'G72J4WNFM8'
// return menuItem.id === 'G72J4WNFM8'
return menuItem.id === 'asdfadf'
})
if (hasHomeMenu) {
@@ -55,13 +55,6 @@
- -
</div>
</el-form-item>
<!-- <el-form-item label="审批意见" prop="text" class="add-form-item form-item-disabled">-->
<!-- <el-input-->
<!-- v-model="form.text"-->
<!-- placeholder="请输入审批意见"-->
<!-- clearable-->
<!-- ></el-input>-->
<!-- </el-form-item>-->
</el-col>
</el-row>
</div>
@@ -84,13 +77,13 @@
<ProcessFooter
show-save
show-submit
show-back
:submitLoading="isSubmit"
:saveLoading="saveLoading"
approval
@back="handleSubmitNo"
@save="handleSave"
@submit="handleSubmit"
show-back
@back="handleSubmitNo"
approval
submitBTNText="同意"
>
</ProcessFooter>
@@ -563,7 +563,7 @@
size="800px">
<el-tree
v-if="modalshowflag"
style="height: 100%;"
style="height: 100%; overflow: auto;"
node-key="id"
class="filter-tree"
:data="treeData"
@@ -845,6 +845,7 @@ export default {
let json = this.listForm;
json.zrUserId = this.$store.getters.userInfo.userId;
json.jlUserId = this.$store.getters.userInfo.userId;
// (如果是业务经理应该这样写 后续需要更改 例:json.jlUserId = this.roleForm.directorUser;)
json.applyUpdUserId = this.$store.getters.userInfo.userId;
json.approvalOpinion = "";
json.prcCreateUser = this.$store.getters.userInfo.userId;
@@ -1,13 +1,357 @@
<template>
<div class="bzdyStep3">
<!-- 标准调研流程-->
<ProcessHeader toggle>
<template slot="proName">标准征求意见流程</template>
<template slot="proNode">填写征求意见</template>
</ProcessHeader>
<div class="headerTabs">
<div class="headerTabsItem" :class="active === '1' ? 'active' : ''" @click="handleTabs('1')">基础信息</div>
</div>
<div class="content" v-show="active === '1'">
<div style="flex: auto; overflow: auto;">
<el-form
ref="bzzqyjForm"
:model="form"
:rules="formRules"
class="label-input-form"
label-width="210px"
>
<ProcessTitle>
<template slot="title">基础信息</template>
</ProcessTitle>
<div class="prc-content-border">
<el-row :gutter="24">
<el-col :span="24">
<el-form-item label="标准编号" prop="cid" class="add-form-item form-item-disabled">
<el-input
disabled
v-model="form.cid"
placeholder="请输入标准编号"
clearable
></el-input>
</el-form-item>
<el-form-item label="标准名称" prop="cname" class="add-form-item form-item-disabled">
<el-input
disabled
v-model="form.cname"
placeholder="请输入标准名称"
clearable
></el-input>
</el-form-item>
<el-form-item label="征求意见结束日期" prop="endTime" class="add-form-item form-item-disabled">
<el-date-picker
disabled
v-model="form.endTime"
type="date"
placeholder="请选择结束日期">
</el-date-picker>
</el-form-item>
</el-col>
</el-row>
</div>
</el-form>
<ProcessTitle>
<template slot="title">征求意见列表</template>
</ProcessTitle>
<div class="button-list">
<el-button type="primary"
class="common-button-primary add-button"
@click="addModal"
size="mini">新增</el-button>
<el-button type="primary"
class="common-button-primary add-button"
@click="addDelete"
size="mini">删除</el-button>
</div>
<el-table
ref="multipleTable"
:data="data"
tooltip-effect="dark"
border
style="width: 100%; flex: auto;"
class="drag-table"
:header-cell-style="{background: '#E8E8E8', color: '#333333', fontSize: '16px',
fontWeight: 'bold', height: '48px'}"
@selection-change="handleSelectionChange">
<el-table-column
type="selection"
width="55"
align="center">
</el-table-column>
<el-table-column
type="index"
label="序号"
width="55"
align="center">
</el-table-column>
<el-table-column
prop="chapterNumber"
label="章条编号"
width="170px">
<template slot-scope="scope">
<el-input style="margin: 10px 0;" v-model="scope.row.chapterNumber"></el-input>
</template>
</el-table-column>
<el-table-column
prop="chapterName"
label="章节名称">
<template slot-scope="scope">
<el-input style="margin: 10px 0;" v-model="scope.row.chapterName"></el-input>
</template>
</el-table-column>
<el-table-column
prop="commentText"
label="修改意见内容(包括理由或依据)">
<template slot-scope="scope">
<el-input style="margin: 10px 0;" v-model="scope.row.commentText"></el-input>
</template>
</el-table-column>
</el-table>
</div>
<el-collapse accordion>
<el-collapse-item title="意见填写">
<div style="margin: 10px 0;">
<el-input
type="textarea"
:rows="3"
resize="none"
placeholder="请输入意见"
v-model="commentText">
</el-input>
</div>
</el-collapse-item>
</el-collapse>
</div>
<ProcessFooter
show-save
show-submit
:submitLoading="isSubmit"
:saveLoading="saveLoading"
@save="handleSave"
@submit="handleSubmit"
>
</ProcessFooter>
</div>
</template>
<script>
export default {
name: "step3"
}
import ProcessHeader from '../../components/ProcessHeader'
import ProcessFooter from '../../components/ProcessFooter'
import ProcessTitle from '../../components/ProcessTitle'
import {inboundLiaisonDetail,processCreateStand} from 'api/process'
export default {
name: "bzzqyjStep3",
data() {
return {
idList: [],
data: [],
commentText: '',
taskIds: this.$route.query.taskIds,
pId: this.$route.query.prcId,
roleRow: {},
nodeList: [],
type: '',
defaultProps: {
children: 'children',
label: 'name'
},
treeData: [], // 人员数据
modalshowflag: false, // drawer开关
drawerTitle: '', //drawer标题
textarea: '', // 意见
ListModel: false, // 新增编辑抽屉开关
active: '1', // 默认显示
isSubmit: false,
saveLoading: false,
form: {
cid: '', // 编号
endTime: '', // 结束日期
cname: '', // 名称
},
formRules: {
responUserList: [
{ required: true, message: '请选择责任人', trigger: 'change' },
]
},
json: {}
}
},
components: {
ProcessHeader,
ProcessFooter,
ProcessTitle
},
methods: {
handleSelectionChange (val) {
this.idList = []
val.forEach( item => {
this.idList.push(item.id)
})
},
addDelete () {
if (this.idList.length > 0) {
this.$confirm('删除选中数据, 是否继续?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
for (let a = 0; a < this.data.length; a++) {
this.idList.forEach(item => {
if (this.data[a].id === item) {
this.data.splice(a, 1)
}
})
}
}).catch(() => {
this.$message({
type: 'info',
message: '已取消删除'
});
});
} else {
this.$message.warning('请选择要删除的数据')
}
},
addModal () {
var id = Number(Math.random().toString().substr(3, 3) + Date.now()).toString(36);
var json = {
chapterNumber: '',
chapterName: '',
commentText: '',
id: id,
responUserName: this.$store.getters.userInfo.userName,
responUser: this.$store.getters.userInfo.userId,
department: this.$store.getters.userInfo.orgName
}
this.data.push(json)
},
handleTabs(name) {
this.active = name
},
handleSave() {},
handleSubmit() {
if (this.data.length < 1) {
this.$message.warning('请输入征求意见搞')
} else {
var a = 0
var b = 0
var c = 0
for (let s1 = 0; s1 < this.data.length; s1++) {
if (!this.data[s1].chapterNumber) {
a++
}
if (!this.data[s1].chapterName) {
b++
}
if (!this.data[s1].commentText) {
c++
}
}
if (a > 0) {
this.$message.warning('请输入章节编号')
} else if (b > 0) {
this.$message.warning('请输入章节名称')
} else if (c > 0) {
this.$message.warning('请输入意见内容')
} else {
var json = this.json
json.commentText = this.commentText
json.info = this.data
json.department = this.$store.getters.userInfo.orgName
this.$http.post('lawss/activiti/completeTask', {
json: JSON.stringify(json),
taskId: this.taskIds,
userId: this.$store.getters.userInfo.userId
}, {}, res => {
if (res.success) {
this.$message.success('提交成功')
this.$router.push('/processCenter')
}
})
}
}
},
getData() {
return new Promise((resolve, reject) => {
inboundLiaisonDetail({
taskIds: this.taskIds,
pId: this.pId
}).then(res => {
let data = JSON.parse(res.mesg)
this.form.cid = data.cid
this.form.endTime = data.endTime
this.form.cname = data.cname
this.json = data
}).catch(e => {
})
})
},
},
mounted () {
this.getData()
}
}
</script>
<style scoped>
<style lang="less" scoped>
@import '~@/assets/styles/style';
.bzdyStep3 {
/deep/.el-drawer__container {
.prc-content-border {
border: none;
padding: 0 20px 0;
}
}
.fileClass {
cursor: pointer;
}
.fileClass:hover{
color: #0c91e5;
}
position: relative;
height: 100%;
.headerTabs {
height: 52px;
display: flex;
align-items: center;
position: absolute;
top: 0;
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 {
display: flex;
flex-direction: column;
justify-content: space-between;
height: calc(~'100% - 103px');
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>
@@ -1,13 +1,293 @@
<template>
<div class="bzdyStep4">
<!-- 标准调研流程-->
<ProcessHeader toggle>
<template slot="proName">标准征求意见流程</template>
<template slot="proNode">对接人批准</template>
</ProcessHeader>
<div class="headerTabs">
<div class="headerTabsItem" :class="active === '1' ? 'active' : ''" @click="handleTabs('1')">基础信息</div>
</div>
<div class="content" v-show="active === '1'">
<div style="flex: auto; overflow: auto;">
<el-form
ref="bzzqyjForm"
:model="form"
:rules="formRules"
class="label-input-form"
label-width="210px"
>
<ProcessTitle>
<template slot="title">基础信息</template>
</ProcessTitle>
<div class="prc-content-border">
<el-row :gutter="24">
<el-col :span="24">
<el-form-item label="标准编号" prop="cid" class="add-form-item form-item-disabled">
<el-input
disabled
v-model="form.cid"
placeholder="请输入标准编号"
clearable
></el-input>
</el-form-item>
<el-form-item label="标准名称" prop="cname" class="add-form-item form-item-disabled">
<el-input
disabled
v-model="form.cname"
placeholder="请输入标准名称"
clearable
></el-input>
</el-form-item>
<el-form-item label="征求意见结束日期" prop="endTime" class="add-form-item form-item-disabled">
<el-date-picker
disabled
v-model="form.endTime"
type="date"
placeholder="请选择结束日期">
</el-date-picker>
</el-form-item>
</el-col>
</el-row>
</div>
</el-form>
<ProcessTitle>
<template slot="title">征求意见列表</template>
</ProcessTitle>
<el-table
ref="multipleTable"
:data="data"
tooltip-effect="dark"
border
style="width: 100%; flex: auto;"
class="drag-table"
:header-cell-style="{background: '#E8E8E8', color: '#333333', fontSize: '16px',
fontWeight: 'bold', height: '48px'}">
<el-table-column
type="index"
label="序号"
width="55"
align="center">
</el-table-column>
<el-table-column
prop="chapterNumber"
label="章条编号"
width="170px">
</el-table-column>
<el-table-column
prop="chapterName"
label="章节名称">
</el-table-column>
<el-table-column
prop="commentText"
label="修改意见内容(包括理由或依据)">
</el-table-column>
<el-table-column
prop="department"
label="提出部门">
</el-table-column>
<el-table-column
prop="responUserName"
label="提出人">
</el-table-column>
</el-table>
</div>
<el-collapse accordion>
<el-collapse-item title="意见填写">
<div style="margin: 10px 0;">
<el-input
type="textarea"
:rows="3"
resize="none"
placeholder="请输入意见"
v-model="commentText">
</el-input>
</div>
</el-collapse-item>
</el-collapse>
</div>
<ProcessFooter
show-save
show-submit
:submitLoading="isSubmit"
:saveLoading="saveLoading"
@save="handleSave"
@submit="handleSubmit"
show-back
@back="handleSubmitNo"
approval
submitBTNText="同意"
>
</ProcessFooter>
</div>
</template>
<script>
export default {
name: "step4"
}
import ProcessHeader from '../../components/ProcessHeader'
import ProcessFooter from '../../components/ProcessFooter'
import ProcessTitle from '../../components/ProcessTitle'
import {inboundLiaisonDetail,processCreateStand} from 'api/process'
export default {
name: "bzzqyjStep4",
data() {
return {
data: [],
commentText: '',
taskIds: this.$route.query.taskIds,
pId: this.$route.query.prcId,
roleRow: {},
nodeList: [],
type: '',
defaultProps: {
children: 'children',
label: 'name'
},
treeData: [], // 人员数据
modalshowflag: false, // drawer开关
drawerTitle: '', //drawer标题
textarea: '', // 意见
ListModel: false, // 新增编辑抽屉开关
active: '1', // 默认显示
isSubmit: false,
saveLoading: false,
form: {
cid: '', // 编号
endTime: '', // 结束日期
cname: '', // 名称
},
formRules: {
responUserList: [
{ required: true, message: '请选择责任人', trigger: 'change' },
]
},
json: {}
}
},
components: {
ProcessHeader,
ProcessFooter,
ProcessTitle
},
methods: {
handleTabs(name) {
this.active = name
},
handleSave() {},
handleSubmit() {
var json = this.json
json.actionFlag = 0
json.commentText = this.commentText
this.$http.post('lawss/activiti/completeTask', {
json: JSON.stringify(json),
taskId: this.taskIds,
userId: this.$store.getters.userInfo.userId
}, {}, res => {
if (res.success) {
this.$message.success('提交成功')
this.$router.push('/processCenter')
}
})
},
handleSubmitNo () {
if (this.commentText) {
var json = this.json
json.actionFlag = 1
json.commentText = this.commentText
this.$http.post('lawss/activiti/completeTask', {
json: JSON.stringify(json),
taskId: this.taskIds,
userId: this.$store.getters.userInfo.userId
}, {}, res => {
if (res.success) {
this.$message.success('提交成功')
this.$router.push('/processCenter')
}
})
} else {
this.$message.warning('请输入反馈意见')
}
},
getData() {
return new Promise((resolve, reject) => {
inboundLiaisonDetail({
taskIds: this.taskIds,
pId: this.pId
}).then(res => {
let data = JSON.parse(res.mesg)
this.form.cid = data.cid
this.form.endTime = data.endTime
this.form.cname = data.cname
this.json = data
this.data = data.info
}).catch(e => {
})
})
},
},
mounted () {
this.getData()
}
}
</script>
<style scoped>
<style lang="less" scoped>
@import '~@/assets/styles/style';
.bzdyStep4 {
/deep/.el-drawer__container {
.prc-content-border {
border: none;
padding: 0 20px 0;
}
}
.fileClass {
cursor: pointer;
}
.fileClass:hover{
color: #0c91e5;
}
position: relative;
height: 100%;
.headerTabs {
height: 52px;
display: flex;
align-items: center;
position: absolute;
top: 0;
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 {
display: flex;
flex-direction: column;
justify-content: space-between;
height: calc(~'100% - 103px');
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>
@@ -1,13 +1,346 @@
<template>
<div class="bzdyStep5">
<!-- 标准调研流程-->
<ProcessHeader toggle>
<template slot="proName">标准征求意见流程</template>
<template slot="proNode">汇总填写处理意见</template>
</ProcessHeader>
<div class="headerTabs">
<div class="headerTabsItem" :class="active === '1' ? 'active' : ''" @click="handleTabs('1')">基础信息</div>
</div>
<div class="content" v-show="active === '1'">
<div style="flex: auto; overflow: auto;">
<el-form
ref="bzzqyjForm"
:model="form"
:rules="formRules"
class="label-input-form"
label-width="210px"
>
<ProcessTitle>
<template slot="title">基础信息</template>
</ProcessTitle>
<div class="prc-content-border">
<el-row :gutter="24">
<el-col :span="24">
<el-form-item label="标准编号" prop="cid" class="add-form-item form-item-disabled">
<el-input
disabled
v-model="form.cid"
placeholder="请输入标准编号"
clearable
></el-input>
</el-form-item>
<el-form-item label="标准名称" prop="cname" class="add-form-item form-item-disabled">
<el-input
disabled
v-model="form.cname"
placeholder="请输入标准名称"
clearable
></el-input>
</el-form-item>
<el-form-item label="征求意见结束日期" prop="endTime" class="add-form-item form-item-disabled">
<el-date-picker
disabled
v-model="form.endTime"
type="date"
placeholder="请选择结束日期">
</el-date-picker>
</el-form-item>
</el-col>
</el-row>
</div>
</el-form>
<ProcessTitle>
<template slot="title">征求意见列表</template>
</ProcessTitle>
<el-table
ref="multipleTable"
:data="data"
tooltip-effect="dark"
border
style="width: 100%; flex: auto;"
class="drag-table"
:header-cell-style="{background: '#E8E8E8', color: '#333333', fontSize: '16px',
fontWeight: 'bold', height: '48px'}">
<el-table-column
type="index"
label="序号"
width="55"
align="center">
</el-table-column>
<el-table-column
prop="chapterNumber"
label="章条编号"
width="170px">
<template slot-scope="scope">
<div v-if="scope.row.state == '2'">
<el-input style="margin: 10px 0;" v-model="scope.row.chapterNumber" @change="changeInput(scope.$index)"></el-input>
</div>
<div v-else>
{{ scope.row.chapterNumber }}
</div>
</template>
</el-table-column>
<el-table-column
prop="chapterName"
label="章节名称">
<template slot-scope="scope">
<div v-if="scope.row.state == '2'">
<el-input style="margin: 10px 0;" v-model="scope.row.chapterName"></el-input>
</div>
<div v-else>
{{ scope.row.chapterName }}
</div>
</template>
</el-table-column>
<el-table-column
prop="commentText"
label="修改意见内容(包括理由或依据)">
<template slot-scope="scope">
<div v-if="scope.row.state == '2'">
<el-input style="margin: 10px 0;" v-model="scope.row.commentText"></el-input>
</div>
<div v-else>
{{ scope.row.commentText }}
</div>
</template>
</el-table-column>
<el-table-column
prop="department"
label="提出部门">
</el-table-column>
<el-table-column
prop="responUserName"
label="提出人">
</el-table-column>
<el-table-column
prop="state"
label="处理意见">
<template slot-scope="scope">
<div style="margin: 5px 0;">
<el-select
:disabled="scope.row.type"
v-model="scope.row.state"
collapse-tags
style="margin-left: 20px;"
placeholder="请选择处理意见">
<el-option key="1" label="上报" value="1"></el-option>
<el-option key="2" label="处理后上报" value="2"></el-option>
<el-option key="3" label="不上报" value="3"></el-option>
</el-select>
</div>
</template>
</el-table-column>
</el-table>
</div>
<el-collapse accordion>
<el-collapse-item title="意见填写">
<div style="margin: 10px 0;">
<el-input
type="textarea"
:rows="3"
resize="none"
placeholder="请输入意见"
v-model="commentText">
</el-input>
</div>
</el-collapse-item>
</el-collapse>
</div>
<ProcessFooter
show-save
show-submit
:submitLoading="isSubmit"
:saveLoading="saveLoading"
@save="handleSave"
@submit="handleSubmit"
>
</ProcessFooter>
</div>
</template>
<script>
export default {
name: "step5"
}
import ProcessHeader from '../../components/ProcessHeader'
import ProcessFooter from '../../components/ProcessFooter'
import ProcessTitle from '../../components/ProcessTitle'
import {inboundLiaisonDetail,processCreateStand} from 'api/process'
export default {
name: "bzzqyjStep5",
data() {
return {
oldData: [],
data: [],
commentText: '',
taskIds: this.$route.query.taskIds,
pId: this.$route.query.prcId,
roleRow: {},
nodeList: [],
type: '',
defaultProps: {
children: 'children',
label: 'name'
},
treeData: [], // 人员数据
modalshowflag: false, // drawer开关
drawerTitle: '', //drawer标题
textarea: '', // 意见
ListModel: false, // 新增编辑抽屉开关
active: '1', // 默认显示
isSubmit: false,
saveLoading: false,
form: {
cid: '', // 编号
endTime: '', // 结束日期
cname: '', // 名称
},
formRules: {
responUserList: [
{ required: true, message: '请选择责任人', trigger: 'change' },
]
},
json: {}
}
},
components: {
ProcessHeader,
ProcessFooter,
ProcessTitle
},
methods: {
changeInput (index) {
this.data[index].type = true
},
handleTabs(name) {
this.active = name
},
handleSave() {},
handleSubmit() {
if (this.data.length < 1) {
this.$message.warning('请输入征求意见搞')
} else {
var a = 0
var b = 0
var c = 0
for (let s1 = 0; s1 < this.data.length; s1++) {
if (!this.data[s1].chapterNumber) {
a++
}
if (!this.data[s1].chapterName) {
b++
}
if (!this.data[s1].commentText) {
c++
}
}
if (a > 0) {
this.$message.warning('请输入章节编号')
} else if (b > 0) {
this.$message.warning('请输入章节名称')
} else if (c > 0) {
this.$message.warning('请输入意见内容')
} else {
var json = this.json
json.oldinfo = this.oldData
json.commentText = this.commentText
this.$http.post('lawss/activiti/completeTask', {
json: JSON.stringify(json),
taskId: this.taskIds,
userId: this.$store.getters.userInfo.userId
}, {}, res => {
if (res.success) {
this.$message.success('提交成功')
this.$router.push('/processCenter')
}
})
}
}
},
getData() {
return new Promise((resolve, reject) => {
inboundLiaisonDetail({
taskIds: this.taskIds,
pId: this.pId
}).then(res => {
let data = JSON.parse(res.mesg)
this.form.cid = data.cid
this.form.endTime = data.endTime
this.form.cname = data.cname
this.oldData = JSON.parse(JSON.stringify(data.summaryList))
data.summaryList.forEach( item => {
item.state = '1'
item.type = false
})
this.json = data
this.data = data.summaryList
}).catch(e => {
})
})
},
},
mounted () {
this.getData()
}
}
</script>
<style scoped>
<style lang="less" scoped>
@import '~@/assets/styles/style';
.bzdyStep5 {
/deep/.el-drawer__container {
.prc-content-border {
border: none;
padding: 0 20px 0;
}
}
.fileClass {
cursor: pointer;
}
.fileClass:hover{
color: #0c91e5;
}
position: relative;
height: 100%;
.headerTabs {
height: 52px;
display: flex;
align-items: center;
position: absolute;
top: 0;
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 {
display: flex;
flex-direction: column;
justify-content: space-between;
height: calc(~'100% - 103px');
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,364 @@
<template>
<div class="bzdyStep6">
<!-- 标准调研流程-->
<ProcessHeader toggle>
<template slot="proName">标准征求意见流程</template>
<template slot="proNode">责任人会签</template>
</ProcessHeader>
<div class="headerTabs">
<div class="headerTabsItem" :class="active === '1' ? 'active' : ''" @click="handleTabs('1')">基础信息</div>
</div>
<div class="content" v-show="active === '1'">
<div style="flex: auto; overflow: auto;">
<el-form
ref="bzzqyjForm"
:model="form"
:rules="formRules"
class="label-input-form"
label-width="210px"
>
<ProcessTitle>
<template slot="title">基础信息</template>
</ProcessTitle>
<div class="prc-content-border">
<el-row :gutter="24">
<el-col :span="24">
<el-form-item label="标准编号" prop="cid" class="add-form-item form-item-disabled">
<el-input
disabled
v-model="form.cid"
placeholder="请输入标准编号"
clearable
></el-input>
</el-form-item>
<el-form-item label="标准名称" prop="cname" class="add-form-item form-item-disabled">
<el-input
disabled
v-model="form.cname"
placeholder="请输入标准名称"
clearable
></el-input>
</el-form-item>
<el-form-item label="征求意见结束日期" prop="endTime" class="add-form-item form-item-disabled">
<el-date-picker
disabled
v-model="form.endTime"
type="date"
placeholder="请选择结束日期">
</el-date-picker>
</el-form-item>
</el-col>
</el-row>
</div>
</el-form>
<ProcessTitle>
<template slot="title">征求意见列表</template>
</ProcessTitle>
<div class="button-list">
<el-button type="primary"
class="common-button-primary add-button"
@click="upload(data, '汇总单.xls')"
size="mini">导出汇总单</el-button>
<el-button type="primary"
class="common-button-primary add-button"
@click="upload(oldData, '征求意见搞.xls')"
size="mini">导出征求意见搞</el-button>
</div>
<el-table
ref="multipleTable"
:data="data"
tooltip-effect="dark"
border
style="width: 100%; flex: auto;"
class="drag-table"
:header-cell-style="{background: '#E8E8E8', color: '#333333', fontSize: '16px',
fontWeight: 'bold', height: '48px'}">
<el-table-column
type="index"
label="序号"
width="55"
align="center">
</el-table-column>
<el-table-column
prop="chapterNumber"
label="章条编号"
width="170px">
</el-table-column>
<el-table-column
prop="chapterName"
label="章节名称">
</el-table-column>
<el-table-column
prop="commentText"
label="修改意见内容(包括理由或依据)">
</el-table-column>
<el-table-column
prop="department"
label="提出部门">
</el-table-column>
<el-table-column
prop="responUserName"
label="提出人">
</el-table-column>
<el-table-column
prop="state"
label="处理意见">
<template slot-scope="scope">
<div>{{ stateText(scope.row.state) }}</div>
</template>
</el-table-column>
</el-table>
</div>
<el-collapse accordion>
<el-collapse-item title="意见填写">
<div style="margin: 10px 0;">
<el-input
type="textarea"
:rows="3"
resize="none"
placeholder="请输入意见"
v-model="commentText">
</el-input>
</div>
</el-collapse-item>
</el-collapse>
</div>
<ProcessFooter
show-save
show-submit
:submitLoading="isSubmit"
:saveLoading="saveLoading"
@save="handleSave"
@submit="handleSubmit"
show-back
@back="handleSubmitNo"
approval
submitBTNText="同意"
>
</ProcessFooter>
</div>
</template>
<script>
import ProcessHeader from '../../components/ProcessHeader'
import ProcessFooter from '../../components/ProcessFooter'
import ProcessTitle from '../../components/ProcessTitle'
import {inboundLiaisonDetail,processCreateStand} from 'api/process'
export default {
name: "bzzqyjStep6",
data() {
return {
oldData: [],
data: [],
commentText: '',
taskIds: this.$route.query.taskIds,
pId: this.$route.query.prcId,
roleRow: {},
nodeList: [],
type: '',
defaultProps: {
children: 'children',
label: 'name'
},
treeData: [], // 人员数据
modalshowflag: false, // drawer开关
drawerTitle: '', //drawer标题
textarea: '', // 意见
ListModel: false, // 新增编辑抽屉开关
active: '1', // 默认显示
isSubmit: false,
saveLoading: false,
form: {
cid: '', // 编号
endTime: '', // 结束日期
cname: '', // 名称
},
formRules: {
responUserList: [
{ required: true, message: '请选择责任人', trigger: 'change' },
]
},
json: {}
}
},
components: {
ProcessHeader,
ProcessFooter,
ProcessTitle
},
methods: {
stateText (row) {
if (row === '1') {
return '上报'
} else if (row === '2') {
return '处理后上报'
}
},
upload (row, title) {
var params = {
columnName: {
chapterNumber : '章条编号',
chapterName : '章节名称',
commentText: '修改意见内容(包括理由或依据)',
department: '提出部门',
responUserName: '提出人'
},
dataList: []
}
params.dataList = row
this.$http.downloadFile('/api/lawss/activiti/export_excel', params, title, res => {})
},
handleTabs(name) {
this.active = name
},
handleSave() {},
handleSubmit() {
if (this.data.length < 1) {
this.$message.warning('请输入征求意见搞')
} else {
var a = 0
var b = 0
var c = 0
for (let s1 = 0; s1 < this.data.length; s1++) {
if (!this.data[s1].chapterNumber) {
a++
}
if (!this.data[s1].chapterName) {
b++
}
if (!this.data[s1].commentText) {
c++
}
}
if (a > 0) {
this.$message.warning('请输入章节编号')
} else if (b > 0) {
this.$message.warning('请输入章节名称')
} else if (c > 0) {
this.$message.warning('请输入意见内容')
} else {
var json = this.json
json.actionFlag = 0
json.commentText = this.commentText
this.$http.post('lawss/activiti/completeTask', {
json: JSON.stringify(json),
taskId: this.taskIds,
userId: this.$store.getters.userInfo.userId
}, {}, res => {
if (res.success) {
this.$message.success('提交成功')
this.$router.push('/processCenter')
}
})
}
}
},
handleSubmitNo() {
if (this.commentText) {
var json = this.json
json.actionFlag = 1
json.commentText = this.commentText
this.$http.post('lawss/activiti/completeTask', {
json: JSON.stringify(json),
taskIds: this.taskIds,
userId: this.$store.getters.userInfo.userId
}, {}, res => {
if (res.success) {
this.$message.success('驳回成功')
this.$router.push('/processCenter')
}
})
} 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.cid = data.cid
this.form.endTime = data.endTime
this.form.cname = data.cname
var arr = []
data.summaryList.forEach( item => {
if (item.state != '3') {
arr.push(item)
}
})
this.json = data
this.data = arr
this.oldData = data.oldinfo
}).catch(e => {
})
})
},
},
mounted () {
this.getData()
}
}
</script>
<style lang="less" scoped>
@import '~@/assets/styles/style';
.bzdyStep6 {
/deep/.el-drawer__container {
.prc-content-border {
border: none;
padding: 0 20px 0;
}
}
.fileClass {
cursor: pointer;
}
.fileClass:hover{
color: #0c91e5;
}
position: relative;
height: 100%;
.headerTabs {
height: 52px;
display: flex;
align-items: center;
position: absolute;
top: 0;
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 {
display: flex;
flex-direction: column;
justify-content: space-between;
height: calc(~'100% - 103px');
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,367 @@
<template>
<div class="bzdyStep7">
<!-- 标准调研流程-->
<ProcessHeader toggle>
<template slot="proName">标准征求意见流程</template>
<template slot="proNode">标准法规部部长审核</template>
</ProcessHeader>
<div class="headerTabs">
<div class="headerTabsItem" :class="active === '1' ? 'active' : ''" @click="handleTabs('1')">基础信息</div>
</div>
<div class="content" v-show="active === '1'">
<div style="flex: auto; overflow: auto;">
<el-form
ref="bzzqyjForm"
:model="form"
:rules="formRules"
class="label-input-form"
label-width="210px"
>
<ProcessTitle>
<template slot="title">基础信息</template>
</ProcessTitle>
<div class="prc-content-border">
<el-row :gutter="24">
<el-col :span="24">
<el-form-item label="标准编号" prop="cid" class="add-form-item form-item-disabled">
<el-input
disabled
v-model="form.cid"
placeholder="请输入标准编号"
clearable
></el-input>
</el-form-item>
<el-form-item label="标准名称" prop="cname" class="add-form-item form-item-disabled">
<el-input
disabled
v-model="form.cname"
placeholder="请输入标准名称"
clearable
></el-input>
</el-form-item>
<el-form-item label="征求意见结束日期" prop="endTime" class="add-form-item form-item-disabled">
<el-date-picker
disabled
v-model="form.endTime"
type="date"
placeholder="请选择结束日期">
</el-date-picker>
</el-form-item>
</el-col>
</el-row>
</div>
</el-form>
<ProcessTitle>
<template slot="title">征求意见列表</template>
</ProcessTitle>
<div class="button-list">
<el-button type="primary"
class="common-button-primary add-button"
@click="upload(data, '汇总单.xls')"
size="mini">导出汇总单</el-button>
<el-button type="primary"
class="common-button-primary add-button"
@click="upload(oldData, '征求意见搞.xls')"
size="mini">导出征求意见搞</el-button>
</div>
<el-table
ref="multipleTable"
:data="data"
tooltip-effect="dark"
border
style="width: 100%; flex: auto;"
class="drag-table"
:header-cell-style="{background: '#E8E8E8', color: '#333333', fontSize: '16px',
fontWeight: 'bold', height: '48px'}">
<el-table-column
type="index"
label="序号"
width="55"
align="center">
</el-table-column>
<el-table-column
prop="chapterNumber"
label="章条编号"
width="170px">
</el-table-column>
<el-table-column
prop="chapterName"
label="章节名称">
</el-table-column>
<el-table-column
prop="commentText"
label="修改意见内容(包括理由或依据)">
</el-table-column>
<el-table-column
prop="department"
label="提出部门">
</el-table-column>
<el-table-column
prop="responUserName"
label="提出人">
</el-table-column>
<el-table-column
prop="state"
label="处理意见">
<template slot-scope="scope">
<div>{{ stateText(scope.row.state) }}</div>
</template>
</el-table-column>
</el-table>
</div>
<el-collapse accordion>
<el-collapse-item title="意见填写">
<div style="margin: 10px 0;">
<el-input
type="textarea"
:rows="3"
resize="none"
placeholder="请输入意见"
v-model="commentText">
</el-input>
</div>
</el-collapse-item>
</el-collapse>
</div>
<ProcessFooter
show-save
show-submit
:submitLoading="isSubmit"
:saveLoading="saveLoading"
@save="handleSave"
@submit="handleSubmit"
show-back
@back="handleSubmitNo"
approval
submitBTNText="同意"
>
</ProcessFooter>
</div>
</template>
<script>
import ProcessHeader from '../../components/ProcessHeader'
import ProcessFooter from '../../components/ProcessFooter'
import ProcessTitle from '../../components/ProcessTitle'
import {inboundLiaisonDetail,processCreateStand} from 'api/process'
export default {
name: "bzzqyjStep7",
data() {
return {
oldData: [],
data: [],
commentText: '',
taskIds: this.$route.query.taskIds,
pId: this.$route.query.prcId,
roleRow: {},
nodeList: [],
type: '',
defaultProps: {
children: 'children',
label: 'name'
},
treeData: [], // 人员数据
modalshowflag: false, // drawer开关
drawerTitle: '', //drawer标题
textarea: '', // 意见
ListModel: false, // 新增编辑抽屉开关
active: '1', // 默认显示
isSubmit: false,
saveLoading: false,
form: {
cid: '', // 编号
endTime: '', // 结束日期
cname: '', // 名称
},
formRules: {
responUserList: [
{ required: true, message: '请选择责任人', trigger: 'change' },
]
},
json: {}
}
},
components: {
ProcessHeader,
ProcessFooter,
ProcessTitle
},
methods: {
upload (row, title) {
var params = {
columnName: {
chapterNumber : '章条编号',
chapterName : '章节名称',
commentText: '修改意见内容(包括理由或依据)',
department: '提出部门',
responUserName: '提出人'
},
dataList: []
}
params.dataList = row
this.$http.downloadFile('/api/lawss/activiti/export_excel', params, title, res => {})
},
stateText (row) {
if (row === '1') {
return '上报'
} else if (row === '2') {
return '处理后上报'
}
},
upload (row) {
console.log(row);
},
handleTabs(name) {
this.active = name
},
handleSave() {},
handleSubmit() {
if (this.data.length < 1) {
this.$message.warning('请输入征求意见搞')
} else {
var a = 0
var b = 0
var c = 0
for (let s1 = 0; s1 < this.data.length; s1++) {
if (!this.data[s1].chapterNumber) {
a++
}
if (!this.data[s1].chapterName) {
b++
}
if (!this.data[s1].commentText) {
c++
}
}
if (a > 0) {
this.$message.warning('请输入章节编号')
} else if (b > 0) {
this.$message.warning('请输入章节名称')
} else if (c > 0) {
this.$message.warning('请输入意见内容')
} else {
var json = this.json
json.actionFlag = 0
json.commentText = this.commentText
this.$http.post('lawss/activiti/completeTask', {
json: JSON.stringify(json),
taskId: this.taskIds,
userId: this.$store.getters.userInfo.userId
}, {}, res => {
if (res.success) {
this.$message.success('提交成功')
this.$router.push('/processCenter')
}
})
}
}
},
handleSubmitNo() {
if (this.commentText) {
var json = this.json
json.actionFlag = 1
json.commentText = this.commentText
this.$http.post('lawss/activiti/completeTask', {
json: JSON.stringify(json),
taskIds: this.taskIds,
userId: this.$store.getters.userInfo.userId
}, {}, res => {
if (res.success) {
this.$message.success('驳回成功')
this.$router.push('/processCenter')
}
})
} 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.cid = data.cid
this.form.endTime = data.endTime
this.form.cname = data.cname
var arr = []
data.summaryList.forEach( item => {
if (item.state != '3') {
arr.push(item)
}
})
this.json = data
this.data = arr
this.oldData = data.oldinfo
}).catch(e => {
})
})
},
},
mounted () {
this.getData()
}
}
</script>
<style lang="less" scoped>
@import '~@/assets/styles/style';
.bzdyStep7 {
/deep/.el-drawer__container {
.prc-content-border {
border: none;
padding: 0 20px 0;
}
}
.fileClass {
cursor: pointer;
}
.fileClass:hover{
color: #0c91e5;
}
position: relative;
height: 100%;
.headerTabs {
height: 52px;
display: flex;
align-items: center;
position: absolute;
top: 0;
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 {
display: flex;
flex-direction: column;
justify-content: space-between;
height: calc(~'100% - 103px');
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,367 @@
<template>
<div class="bzdyStep8">
<!-- 标准调研流程-->
<ProcessHeader toggle>
<template slot="proName">标准征求意见流程</template>
<template slot="proNode">技术管理中心主任审定</template>
</ProcessHeader>
<div class="headerTabs">
<div class="headerTabsItem" :class="active === '1' ? 'active' : ''" @click="handleTabs('1')">基础信息</div>
</div>
<div class="content" v-show="active === '1'">
<div style="flex: auto; overflow: auto;">
<el-form
ref="bzzqyjForm"
:model="form"
:rules="formRules"
class="label-input-form"
label-width="210px"
>
<ProcessTitle>
<template slot="title">基础信息</template>
</ProcessTitle>
<div class="prc-content-border">
<el-row :gutter="24">
<el-col :span="24">
<el-form-item label="标准编号" prop="cid" class="add-form-item form-item-disabled">
<el-input
disabled
v-model="form.cid"
placeholder="请输入标准编号"
clearable
></el-input>
</el-form-item>
<el-form-item label="标准名称" prop="cname" class="add-form-item form-item-disabled">
<el-input
disabled
v-model="form.cname"
placeholder="请输入标准名称"
clearable
></el-input>
</el-form-item>
<el-form-item label="征求意见结束日期" prop="endTime" class="add-form-item form-item-disabled">
<el-date-picker
disabled
v-model="form.endTime"
type="date"
placeholder="请选择结束日期">
</el-date-picker>
</el-form-item>
</el-col>
</el-row>
</div>
</el-form>
<ProcessTitle>
<template slot="title">征求意见列表</template>
</ProcessTitle>
<div class="button-list">
<el-button type="primary"
class="common-button-primary add-button"
@click="upload(data, '汇总单.xls')"
size="mini">导出汇总单</el-button>
<el-button type="primary"
class="common-button-primary add-button"
@click="upload(oldData, '征求意见搞.xls')"
size="mini">导出征求意见搞</el-button>
</div>
<el-table
ref="multipleTable"
:data="data"
tooltip-effect="dark"
border
style="width: 100%; flex: auto;"
class="drag-table"
:header-cell-style="{background: '#E8E8E8', color: '#333333', fontSize: '16px',
fontWeight: 'bold', height: '48px'}">
<el-table-column
type="index"
label="序号"
width="55"
align="center">
</el-table-column>
<el-table-column
prop="chapterNumber"
label="章条编号"
width="170px">
</el-table-column>
<el-table-column
prop="chapterName"
label="章节名称">
</el-table-column>
<el-table-column
prop="commentText"
label="修改意见内容(包括理由或依据)">
</el-table-column>
<el-table-column
prop="department"
label="提出部门">
</el-table-column>
<el-table-column
prop="responUserName"
label="提出人">
</el-table-column>
<el-table-column
prop="state"
label="处理意见">
<template slot-scope="scope">
<div>{{ stateText(scope.row.state) }}</div>
</template>
</el-table-column>
</el-table>
</div>
<el-collapse accordion>
<el-collapse-item title="意见填写">
<div style="margin: 10px 0;">
<el-input
type="textarea"
:rows="3"
resize="none"
placeholder="请输入意见"
v-model="commentText">
</el-input>
</div>
</el-collapse-item>
</el-collapse>
</div>
<ProcessFooter
show-save
show-submit
:submitLoading="isSubmit"
:saveLoading="saveLoading"
@save="handleSave"
@submit="handleSubmit"
show-back
@back="handleSubmitNo"
approval
submitBTNText="同意"
>
</ProcessFooter>
</div>
</template>
<script>
import ProcessHeader from '../../components/ProcessHeader'
import ProcessFooter from '../../components/ProcessFooter'
import ProcessTitle from '../../components/ProcessTitle'
import {inboundLiaisonDetail,processCreateStand} from 'api/process'
export default {
name: "bzzqyjStep8",
data() {
return {
oldData: [],
data: [],
commentText: '',
taskIds: this.$route.query.taskIds,
pId: this.$route.query.prcId,
roleRow: {},
nodeList: [],
type: '',
defaultProps: {
children: 'children',
label: 'name'
},
treeData: [], // 人员数据
modalshowflag: false, // drawer开关
drawerTitle: '', //drawer标题
textarea: '', // 意见
ListModel: false, // 新增编辑抽屉开关
active: '1', // 默认显示
isSubmit: false,
saveLoading: false,
form: {
cid: '', // 编号
endTime: '', // 结束日期
cname: '', // 名称
},
formRules: {
responUserList: [
{ required: true, message: '请选择责任人', trigger: 'change' },
]
},
json: {}
}
},
components: {
ProcessHeader,
ProcessFooter,
ProcessTitle
},
methods: {
upload (row, title) {
var params = {
columnName: {
chapterNumber : '章条编号',
chapterName : '章节名称',
commentText: '修改意见内容(包括理由或依据)',
department: '提出部门',
responUserName: '提出人'
},
dataList: []
}
params.dataList = row
this.$http.downloadFile('/api/lawss/activiti/export_excel', params, title, res => {})
},
stateText (row) {
if (row === '1') {
return '上报'
} else if (row === '2') {
return '处理后上报'
}
},
upload (row) {
console.log(row);
},
handleTabs(name) {
this.active = name
},
handleSave() {},
handleSubmit() {
if (this.data.length < 1) {
this.$message.warning('请输入征求意见搞')
} else {
var a = 0
var b = 0
var c = 0
for (let s1 = 0; s1 < this.data.length; s1++) {
if (!this.data[s1].chapterNumber) {
a++
}
if (!this.data[s1].chapterName) {
b++
}
if (!this.data[s1].commentText) {
c++
}
}
if (a > 0) {
this.$message.warning('请输入章节编号')
} else if (b > 0) {
this.$message.warning('请输入章节名称')
} else if (c > 0) {
this.$message.warning('请输入意见内容')
} else {
var json = this.json
json.actionFlag = 0
json.commentText = this.commentText
this.$http.post('lawss/activiti/completeTask', {
json: JSON.stringify(json),
taskId: this.taskIds,
userId: this.$store.getters.userInfo.userId
}, {}, res => {
if (res.success) {
this.$message.success('提交成功')
this.$router.push('/processCenter')
}
})
}
}
},
handleSubmitNo() {
if (this.commentText) {
var json = this.json
json.actionFlag = 1
json.commentText = this.commentText
this.$http.post('lawss/activiti/completeTask', {
json: JSON.stringify(json),
taskIds: this.taskIds,
userId: this.$store.getters.userInfo.userId
}, {}, res => {
if (res.success) {
this.$message.success('驳回成功')
this.$router.push('/processCenter')
}
})
} 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.cid = data.cid
this.form.endTime = data.endTime
this.form.cname = data.cname
var arr = []
data.summaryList.forEach( item => {
if (item.state != '3') {
arr.push(item)
}
})
this.json = data
this.data = arr
this.oldData = data.oldinfo
}).catch(e => {
})
})
},
},
mounted () {
this.getData()
}
}
</script>
<style lang="less" scoped>
@import '~@/assets/styles/style';
.bzdyStep8 {
/deep/.el-drawer__container {
.prc-content-border {
border: none;
padding: 0 20px 0;
}
}
.fileClass {
cursor: pointer;
}
.fileClass:hover{
color: #0c91e5;
}
position: relative;
height: 100%;
.headerTabs {
height: 52px;
display: flex;
align-items: center;
position: absolute;
top: 0;
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 {
display: flex;
flex-direction: column;
justify-content: space-between;
height: calc(~'100% - 103px');
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,367 @@
<template>
<div class="bzdyStep9">
<!-- 标准调研流程-->
<ProcessHeader toggle>
<template slot="proName">标准征求意见流程</template>
<template slot="proNode">工程研究总院院长批准</template>
</ProcessHeader>
<div class="headerTabs">
<div class="headerTabsItem" :class="active === '1' ? 'active' : ''" @click="handleTabs('1')">基础信息</div>
</div>
<div class="content" v-show="active === '1'">
<div style="flex: auto; overflow: auto;">
<el-form
ref="bzzqyjForm"
:model="form"
:rules="formRules"
class="label-input-form"
label-width="210px"
>
<ProcessTitle>
<template slot="title">基础信息</template>
</ProcessTitle>
<div class="prc-content-border">
<el-row :gutter="24">
<el-col :span="24">
<el-form-item label="标准编号" prop="cid" class="add-form-item form-item-disabled">
<el-input
disabled
v-model="form.cid"
placeholder="请输入标准编号"
clearable
></el-input>
</el-form-item>
<el-form-item label="标准名称" prop="cname" class="add-form-item form-item-disabled">
<el-input
disabled
v-model="form.cname"
placeholder="请输入标准名称"
clearable
></el-input>
</el-form-item>
<el-form-item label="征求意见结束日期" prop="endTime" class="add-form-item form-item-disabled">
<el-date-picker
disabled
v-model="form.endTime"
type="date"
placeholder="请选择结束日期">
</el-date-picker>
</el-form-item>
</el-col>
</el-row>
</div>
</el-form>
<ProcessTitle>
<template slot="title">征求意见列表</template>
</ProcessTitle>
<div class="button-list">
<el-button type="primary"
class="common-button-primary add-button"
@click="upload(data, '汇总单.xls')"
size="mini">导出汇总单</el-button>
<el-button type="primary"
class="common-button-primary add-button"
@click="upload(oldData, '征求意见搞.xls')"
size="mini">导出征求意见搞</el-button>
</div>
<el-table
ref="multipleTable"
:data="data"
tooltip-effect="dark"
border
style="width: 100%; flex: auto;"
class="drag-table"
:header-cell-style="{background: '#E8E8E8', color: '#333333', fontSize: '16px',
fontWeight: 'bold', height: '48px'}">
<el-table-column
type="index"
label="序号"
width="55"
align="center">
</el-table-column>
<el-table-column
prop="chapterNumber"
label="章条编号"
width="170px">
</el-table-column>
<el-table-column
prop="chapterName"
label="章节名称">
</el-table-column>
<el-table-column
prop="commentText"
label="修改意见内容(包括理由或依据)">
</el-table-column>
<el-table-column
prop="department"
label="提出部门">
</el-table-column>
<el-table-column
prop="responUserName"
label="提出人">
</el-table-column>
<el-table-column
prop="state"
label="处理意见">
<template slot-scope="scope">
<div>{{ stateText(scope.row.state) }}</div>
</template>
</el-table-column>
</el-table>
</div>
<el-collapse accordion>
<el-collapse-item title="意见填写">
<div style="margin: 10px 0;">
<el-input
type="textarea"
:rows="3"
resize="none"
placeholder="请输入意见"
v-model="commentText">
</el-input>
</div>
</el-collapse-item>
</el-collapse>
</div>
<ProcessFooter
show-save
show-submit
:submitLoading="isSubmit"
:saveLoading="saveLoading"
@save="handleSave"
@submit="handleSubmit"
show-back
@back="handleSubmitNo"
approval
submitBTNText="同意"
>
</ProcessFooter>
</div>
</template>
<script>
import ProcessHeader from '../../components/ProcessHeader'
import ProcessFooter from '../../components/ProcessFooter'
import ProcessTitle from '../../components/ProcessTitle'
import {inboundLiaisonDetail,processCreateStand} from 'api/process'
export default {
name: "bzzqyjStep9",
data() {
return {
oldData: [],
data: [],
commentText: '',
taskIds: this.$route.query.taskIds,
pId: this.$route.query.prcId,
roleRow: {},
nodeList: [],
type: '',
defaultProps: {
children: 'children',
label: 'name'
},
treeData: [], // 人员数据
modalshowflag: false, // drawer开关
drawerTitle: '', //drawer标题
textarea: '', // 意见
ListModel: false, // 新增编辑抽屉开关
active: '1', // 默认显示
isSubmit: false,
saveLoading: false,
form: {
cid: '', // 编号
endTime: '', // 结束日期
cname: '', // 名称
},
formRules: {
responUserList: [
{ required: true, message: '请选择责任人', trigger: 'change' },
]
},
json: {}
}
},
components: {
ProcessHeader,
ProcessFooter,
ProcessTitle
},
methods: {
upload (row, title) {
var params = {
columnName: {
chapterNumber : '章条编号',
chapterName : '章节名称',
commentText: '修改意见内容(包括理由或依据)',
department: '提出部门',
responUserName: '提出人'
},
dataList: []
}
params.dataList = row
this.$http.downloadFile('/api/lawss/activiti/export_excel', params, title, res => {})
},
stateText (row) {
if (row === '1') {
return '上报'
} else if (row === '2') {
return '处理后上报'
}
},
upload (row) {
console.log(row);
},
handleTabs(name) {
this.active = name
},
handleSave() {},
handleSubmit() {
if (this.data.length < 1) {
this.$message.warning('请输入征求意见搞')
} else {
var a = 0
var b = 0
var c = 0
for (let s1 = 0; s1 < this.data.length; s1++) {
if (!this.data[s1].chapterNumber) {
a++
}
if (!this.data[s1].chapterName) {
b++
}
if (!this.data[s1].commentText) {
c++
}
}
if (a > 0) {
this.$message.warning('请输入章节编号')
} else if (b > 0) {
this.$message.warning('请输入章节名称')
} else if (c > 0) {
this.$message.warning('请输入意见内容')
} else {
var json = this.json
json.actionFlag = 0
json.commentText = this.commentText
this.$http.post('lawss/activiti/completeTask', {
json: JSON.stringify(json),
taskId: this.taskIds,
userId: this.$store.getters.userInfo.userId
}, {}, res => {
if (res.success) {
this.$message.success('提交成功')
this.$router.push('/processCenter')
}
})
}
}
},
handleSubmitNo() {
if (this.commentText) {
var json = this.json
json.actionFlag = 1
json.commentText = this.commentText
this.$http.post('lawss/activiti/completeTask', {
json: JSON.stringify(json),
taskIds: this.taskIds,
userId: this.$store.getters.userInfo.userId
}, {}, res => {
if (res.success) {
this.$message.success('驳回成功')
this.$router.push('/processCenter')
}
})
} 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.cid = data.cid
this.form.endTime = data.endTime
this.form.cname = data.cname
var arr = []
data.summaryList.forEach( item => {
if (item.state != '3') {
arr.push(item)
}
})
this.json = data
this.data = arr
this.oldData = data.oldinfo
}).catch(e => {
})
})
},
},
mounted () {
this.getData()
}
}
</script>
<style lang="less" scoped>
@import '~@/assets/styles/style';
.bzdyStep9 {
/deep/.el-drawer__container {
.prc-content-border {
border: none;
padding: 0 20px 0;
}
}
.fileClass {
cursor: pointer;
}
.fileClass:hover{
color: #0c91e5;
}
position: relative;
height: 100%;
.headerTabs {
height: 52px;
display: flex;
align-items: center;
position: absolute;
top: 0;
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 {
display: flex;
flex-direction: column;
justify-content: space-between;
height: calc(~'100% - 103px');
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>
@@ -230,7 +230,7 @@
size="800px">
<el-tree
v-if="modalshowflag"
style="height: 100%;"
style="height: 100%; overflow: auto;"
node-key="id"
class="filter-tree"
:data="treeData"
@@ -149,7 +149,7 @@
size="800px">
<el-tree
v-if="modalshowflag"
style="height: 100%;"
style="height: 100%; overflow: auto;"
node-key="id"
class="filter-tree"
:data="treeData"
@@ -142,7 +142,7 @@
size="800px">
<el-tree
v-if="modalshowflag"
style="height: 100%;"
style="height: 100%; overflow: auto;"
node-key="id"
class="filter-tree"
:data="treeData"
@@ -39,6 +39,22 @@
clearable
></el-input>
</el-form-item>
<el-form-item label="认证工程师" prop="certifiedEngineer" class="add-form-item form-item-disabled">
<el-input
v-model="listForm.certifiedEngineer"
placeholder="请选择认证工程师"
clearable
@click.native="choiceZRR('certifiedEngineer', '选择认证工程师', roleForm.certifiedEngineer)"
></el-input>
</el-form-item>
<el-form-item label="质量工程师" prop="qualityEngineer" class="add-form-item form-item-disabled">
<el-input
v-model="listForm.qualityEngineer"
placeholder="请选择质量工程师"
clearable
@click.native="choiceZRR('qualityEngineer', '选择质量工程师', roleForm.qualityEngineer)"
></el-input>
</el-form-item>
</el-col>
</el-row>
</el-form>
@@ -70,19 +86,17 @@
label="产品线">
</el-table-column>
<el-table-column
prop="projectManager"
prop="uname"
label="产品线责任人">
</el-table-column>
<!-- distribute-->
<el-table-column
prop="ministerUser"
label="分发责任人">
<template>
<el-input
placeholder="请选择分发责任人"
v-model="ffzrr"
@click.native="choiceZRR('ministerUser', '请选择分发责任人', roleForm.ministerUser)"
>
</el-input>
<template slot-scope="scope">
<el-input v-model="roleForm.ministerUser" style="display: none;"></el-input>
<el-input v-model="roleForm.ministerUserName" placeholder="选择标准法规工程师"
@click.native="choiceZRR('ministerUser', '选择标准法规工程师', roleForm.ministerUser)"></el-input>
</template>
</el-table-column>
</el-table>
@@ -113,8 +127,8 @@
<h4>标准法法规业务经理</h4>
<div style="margin-top: 10px;width: 300px;">
<el-input v-model="roleForm.dockUser" style="display: none;"></el-input>
<el-input v-model="roleForm.dockUserName" placeholder="选择审核责任人"
@click.native="choiceZRR('dockUser', '选择责任人', roleForm.dockUser)">
<el-input v-model="roleForm.dockUserName" placeholder="选择业务经理"
@click.native="choiceZRR('dockUser', '选择业务经理', roleForm.dockUser)">
</el-input>
</div>
</el-form-item>
@@ -126,20 +140,56 @@
<h4>分发责任人</h4>
<div style="margin-top: 10px;width: 300px;">
<el-input v-model="roleForm.ministerUser" style="display: none;"></el-input>
<el-input v-model="roleForm.ministerUserName" placeholder="选择标准/政策法规工程师"
@click.native="choiceZRR('ministerUser', '选择标准法规部部长', roleForm.ministerUser)"></el-input>
<el-input v-model="roleForm.ministerUserName" placeholder="选择标准法规工程师"
@click.native="choiceZRR('ministerUser', '选择标准法规工程师', roleForm.ministerUser)"></el-input>
</div>
</el-form-item>
</el-card>
</el-timeline-item>
<el-timeline-item timestamp="审批" placement="top" :color="roleForm.directorUser ? '#66b1ff' : ''">
<el-timeline-item timestamp="责任人填写评估反馈" placement="top" :color="roleForm.directorUser ? '#66b1ff' : ''">
<el-card>
<el-form-item prop="directorUserName" style="margin-bottom: 0">
<h4>业务经理</h4>
<h4>责任人</h4>
<div style="margin-top: 10px;width: 300px;">
<el-input v-model="roleForm.directorUser" style="display: none;"></el-input>
<el-input v-model="roleForm.directorUserName" placeholder="选择业务经理"
@click.native="choiceZRR('directorUser', '选择技术管理中心主任', roleForm.directorUser)"></el-input>
<el-input v-model="roleForm.directorUserName" placeholder="责任人"
@click.native="choiceZRR('directorUser', '选择责任人', roleForm.directorUser)"></el-input>
</div>
</el-form-item>
</el-card>
</el-timeline-item>
<el-timeline-item timestamp="分发责任人进行任务分发" placement="top" :color="roleForm.ministerUser ? '#66b1ff' : ''">
<el-card>
<el-form-item prop="ministerUserName" style="margin-bottom: 0">
<h4>分发责任人</h4>
<div style="margin-top: 10px;width: 300px;">
<el-input v-model="roleForm.ministerUser" style="display: none;"></el-input>
<el-input v-model="roleForm.ministerUserName" placeholder="选择标准法规工程师"
@click.native="choiceZRR('ministerUser', '选择标准法规工程师', roleForm.ministerUser)"></el-input>
</div>
</el-form-item>
</el-card>
</el-timeline-item>
<el-timeline-item timestamp="产品线责任人审批" placement="top" :color="roleForm.directorUser ? '#66b1ff' : ''">
<el-card>
<el-form-item prop="directorUserName" style="margin-bottom: 0">
<h4>产品线责任人</h4>
<div style="margin-top: 10px;width: 300px;">
<el-input v-model="roleForm.directorUser" placeholder="产品线责任人" ></el-input>
<!-- <el-input v-model="roleForm.directorUserName" placeholder="责任人"-->
<!-- @click.native="choiceZRR('directorUser', '选择分发责任人', roleForm.directorUser)"></el-input>-->
</div>
</el-form-item>
</el-card>
</el-timeline-item>
<el-timeline-item timestamp="标准法规部领导审批" placement="top" :color="roleForm.directorUser ? '#66b1ff' : ''">
<el-card>
<el-form-item prop="directorUserName" style="margin-bottom: 0">
<h4>标准法规部领导</h4>
<div style="margin-top: 10px;width: 300px;">
<el-input v-model="roleForm.directorUser" style="display: none;"></el-input>
<el-input v-model="roleForm.directorUserName" placeholder="请选择标准法规部领导"
@click.native="choiceZRR('directorUser', '选择标准法规部领导', roleForm.directorUser)"></el-input>
</div>
</el-form-item>
</el-card>
@@ -254,7 +304,7 @@
</el-table-column>
<el-table-column
show-overflow-tooltip
prop="projectManager"
prop="uname"
label="产品线责任人">
</el-table-column>
</el-table>
@@ -290,7 +340,7 @@
size="800px">
<el-tree
v-if="modalshowflag"
style="height: 100%;"
style="height: 100%; overflow: auto;"
node-key="id"
class="filter-tree"
:data="treeData"
@@ -376,6 +426,7 @@ export default {
]
},
ListModel: false, //选择拆分标准抽屉状态
treeData: [], // 人员数据
isSubmit: false,
saveLoading: false,
selectedList: [], //拆分标准的选择框
@@ -390,13 +441,26 @@ export default {
listForm: {
standNumber: "", //标准编号
standName: "",//标准名称
certifiedEngineer: '', //认证工程师
qualityEngineer: '', //质量工程师
breakdownList: [{
applyArctic: '',
busStandCover: '',
claimType: '',
id: '',
itemsName:'',
itemsNum:'',
responsibleUnit: '',
standId: '',
svpps: '',
}],
dataList: [{
projectLine: '', //产品线
projectManager:'',//产品线责任人
uname:'',//产品线责任人
ffzrr: '', //分发责任人
id: "",
sarStandProjectLibraries: [],
}]
}],
},
choiceForm: {}, //选择标准清单列表
};
@@ -415,6 +479,10 @@ export default {
} else if (this.type === "presidentUser") {
this.roleForm.presidentUser = this.roleRow.id;
this.roleForm.presidentUserName = this.roleRow.name;
}else if(this.type === 'qualityEngineer') {
this.listForm.qualityEngineer = this.roleRow.name
}else if(this.type === 'certifiedEngineer') {
this.listForm.certifiedEngineer = this.roleRow.name
}
this.modalshowflag = false;
},
@@ -453,6 +521,7 @@ export default {
okStand() {
if(this.standList.length >= 1){
this.dataList = this.standList
this.roleForm.directorUser = this.dataList[0].uname
this.listForm.dataList = this.standList
this.standModel = false
}else{
@@ -490,7 +559,6 @@ export default {
json.approvalOpinion = "";
json.prcCreateUser = this.$store.getters.userInfo.userId;
json.prcCreateUserName = this.$store.getters.userInfo.account;
json.standName = this.listForm.listName;
json.standId = this.listForm.standId;
this.$http.get("lawss/activiti/startProcess", { type: "5" }, {
_this: this
@@ -521,7 +589,18 @@ export default {
if(this.selectedList.length == 1){
this.listForm.standNumber = this.selectedList[0].standNumber
this.listForm.standName = this.selectedList[0].standName
this.ListModel = false
this.listForm.id = this.selectedList[0].id
this.$http.get('SarStandItems/sar-stand-items/findAllItems',{
ids: this.listForm.id,
type:'FBGBJBD',
}, {
_this:this
}, res => {
this.listForm.breakdownList = res.data
this.ListModel = false
}, e => {
this.$message.error('添加失败')
})
}else if(this.selectedList.length > 1){
this.$message.warning('您只能选择一条数据进行带入')
}else{
@@ -569,11 +648,14 @@ export default {
},
//获取产品线数据
getProductData() {
this.$http.get('sarStandProjectLibrary/queryProjectManager','',{
this.$http.get('sarStandProjectLibrary/queryProjectManager',{
current: this.pageNo,
pageSize: this.pageSizeNo,
},{
_this: this
}, res => {
this.productData = res.data
// this.totalNo = res.data
this.productData = res.data.records
this.totalNo = res.data.total
}, e => {
})
@@ -0,0 +1,449 @@
<!--项目评估流程- 业务经理审批 -->
<template>
<div class="xmpg-step2">
<ProcessHeader toggle>
<template slot="proName">项目合规评估流程</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 === '3' ? 'active' : ''" @click="handleTabs('3')">审批历史</div>
</div>
<div class="content" v-if="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="standNumber" class="add-form-item form-item-disabled">
<el-input
v-model="listForm.standNumber"
placeholder="请输入标准编号"
clearable
></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="请输入标准名称"
clearable
></el-input>
</el-form-item>
<el-form-item label="认证工程师" prop="certifiedEngineer" class="add-form-item form-item-disabled">
<el-input
v-model="listForm.certifiedEngineer"
placeholder="请选择认证工程师"
clearable
></el-input>
</el-form-item>
<el-form-item label="质量工程师" prop="qualityEngineer" class="add-form-item form-item-disabled">
<el-input
v-model="listForm.qualityEngineer"
placeholder="请选择质量工程师"
clearable
></el-input>
</el-form-item>
</el-col>
</el-row>
</el-form>
<process-title>
<template slot="title">填写信息</template>
</process-title>
<div class="tableTitle">
</div>
<el-table
:data="dataList"
border
ref="selection"
height="49%"
style="width: 100%;"
@selection-change="selectStandChange"
:header-cell-style="{background: '#e8e8e8', color: '#333333', fontSize: '16px',
fontWeight: 'bold', height: '48px'}">
<el-table-column
type="selection"
width="55"
align="center">
</el-table-column>
<el-table-column
prop="productLine"
label="条款号">
</el-table-column>
<el-table-column
prop="productLine"
label="产品线">
</el-table-column>
<el-table-column
prop="productLine"
label="项目名称">
</el-table-column>
<el-table-column
prop="uname"
label="产品线责任人">
</el-table-column>
<el-table-column
prop="ministerUser"
label="分发责任人">
<!-- <template slot-scope="scope">-->
<!-- <el-input v-model="roleForm.ministerUser" style="display: none;"></el-input>-->
<!-- <el-input v-model="roleForm.ministerUserName" placeholder="选择标准法规工程师"-->
<!-- @click.native="choiceZRR('ministerUser', '选择标准法规工程师', roleForm.ministerUser)"></el-input>-->
<!-- </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-if="active === '3'">
<div class="flow-list">
<el-table
height="100%"
ref="selection"
:data="detailData"
tooltip-effect="dark"
style="width: 100%"
border
row-key="id"
:no-data-text="listNoDataText"
:header-cell-style="{background: '#f8f8f9', color: '#515a6e'}"
>
<el-table-column
type="selection"
width="55"
align="center">
</el-table-column>
<el-table-column
prop="name"
label="任务步骤"
align="center"
sortable="custom"
>
</el-table-column>
<el-table-column
prop="assignee"
label="任务受理人"
align="center"
sortable="custom"
>
</el-table-column>
<el-table-column
prop="createTime"
label="创建时间"
sortable="custom"
align="center">
<template slot-scope="scope">
<span>{{ scope.row.createTime ? $moment(scope.row.createTime).format('YYYY-MM-DD') : '' }}</span>
</template>
</el-table-column>
<el-table-column
prop="endTime"
label="完成时间"
align="center">
<template slot-scope="scope">
<span>{{ scope.row.endTime ? $moment(scope.row.endTime).format('YYYY-MM-DD') : '' }}</span>
</template>
</el-table-column>
<el-table-column
prop="comment"
label="审批意见"
align="center">
<template slot-scope="scope">
<span>{{scope.row.commentText}}</span>
</template>
</el-table-column>
<el-table-column
prop="completeFlag"
label="状态"
align="center">
<template slot-scope="scope">
<span>{{ scope.row.endTime ? '已完成' : '未完成'}}</span>
</template>
</el-table-column>
</el-table>
<loading :loading="loading">流程列表加载中</loading>
</div>
</div>
<ProcessFooter
show-back
show-submit
:submitLoading="isSubmit"
:saveLoading="saveLoading"
:approval="true"
@back="beforeBack"
@submit="handleSubmit"
>
</ProcessFooter>
</div>
</template>
<script>
import ProcessHeader from "../../components/ProcessHeader";
import ProcessFooter from "../../components/ProcessFooter";
import ProcessTitle from "../../components/ProcessTitle";
import { inboundLiaisonDetail, queryDetail } from "api/process";
export default {
name: "xmpgStep2",
components: {
ProcessHeader,
ProcessFooter,
ProcessTitle
},
data() {
return {
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: {
listType: "", //区分是哪个清单
listName: "", //清单名称
applyRegion: "", //适用区域
descriptionList: "", //清单说明
enclosure: "", //附件
inforlist: "",//用来存放标准的id
dataList: [{
standNumber: "", //标准号
cnName: "", //中文名称
enName: "", //英文名称
isSubTime: "", //发布日期
newCarTime: "", //新车型实施日期
oldCarTime: "", //在产车实施日期
applyCar: "", //适用车型
textState: "", //文本状态
id: ""
}]
},
choiceForm: {}, //选择标准清单列表
countryOptions: [], //适用区域下拉框数据
user1: "",
user2: "",
user3: "",
user4: "",
user5: "",
standMap: new Map()
};
},
methods: {
processTable () {
this.$http.get('lawss/activiti/get_list_by_instance', {
prcNum: this.$route.query.prcNum,
sortWord: this.shunxu ? this.paixu : '',
shunxu: this.shunxu
}, {
loading: 'loading',
_this: this
}, res => {
this.detailData = res
}, e => {})
},
//tab发生变化
handleTabs(name) {
this.active = name;
},
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
})
},
//驳回事件
beforeBack () {
this.listForm.approvalOpinion = '1'
this.handleSubmit()
},
//提交事件
handleSubmit() {
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.approvalOpinion = "";
this.listForm.standId = this.listForm.standId;
this.listForm.signFlag = "";
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 => {
});
},
//标准表格选择框改变
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()
// console.log(this.$store.getters.getHandleInfo);
}
};
</script>
<style lang="less" scoped>
@import '~@/assets/styles/style';
.xmpg-step2 {
/deep/ .el-drawer__container {
.prc-content-border {
border: none;
padding: 0 20px 0;
}
}
.choiceBtn {
.el-button--primary {
width: 150px;
}
}
position: relative;
height: 100%;
.headerTabs {
height: 52px;
display: flex;
align-items: center;
position: absolute;
top: 0;
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 {
display: flex;
flex-direction: column;
justify-content: space-between;
height: calc(~'100% - 103px');
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;
}
.accessStandardsAndRegulations {
height: 100%;
}
}
}
.demo-drawer-content {
margin-top: 10px;
}
}
</style>
@@ -0,0 +1,449 @@
<!--项目评估流程 - 分发责任人进行任务分发 -->
<template>
<div class="xmpg-step3">
<ProcessHeader toggle>
<template slot="proName">项目合规评估流程</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 === '3' ? 'active' : ''" @click="handleTabs('3')">审批历史</div>
</div>
<div class="content" v-if="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="standNumber" class="add-form-item form-item-disabled">
<el-input
v-model="listForm.standNumber"
placeholder="请输入标准编号"
clearable
></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="请输入标准名称"
clearable
></el-input>
</el-form-item>
<el-form-item label="认证工程师" prop="certifiedEngineer" class="add-form-item form-item-disabled">
<el-input
v-model="listForm.certifiedEngineer"
placeholder="请选择认证工程师"
clearable
></el-input>
</el-form-item>
<el-form-item label="质量工程师" prop="qualityEngineer" class="add-form-item form-item-disabled">
<el-input
v-model="listForm.qualityEngineer"
placeholder="请选择质量工程师"
clearable
></el-input>
</el-form-item>
</el-col>
</el-row>
</el-form>
<process-title>
<template slot="title">填写信息</template>
</process-title>
<div class="tableTitle">
</div>
<el-table
:data="dataList"
border
ref="selection"
height="49%"
style="width: 100%;"
@selection-change="selectStandChange"
:header-cell-style="{background: '#e8e8e8', color: '#333333', fontSize: '16px',
fontWeight: 'bold', height: '48px'}">
<el-table-column
type="selection"
width="55"
align="center">
</el-table-column>
<el-table-column
prop="productLine"
label="条款号">
</el-table-column>
<el-table-column
prop="productLine"
label="产品线">
</el-table-column>
<el-table-column
prop="productLine"
label="项目名称">
</el-table-column>
<el-table-column
prop="uname"
label="产品线责任人">
</el-table-column>
<el-table-column
prop="ministerUser"
label="分发责任人">
<!-- <template slot-scope="scope">-->
<!-- <el-input v-model="roleForm.ministerUser" style="display: none;"></el-input>-->
<!-- <el-input v-model="roleForm.ministerUserName" placeholder="选择标准法规工程师"-->
<!-- @click.native="choiceZRR('ministerUser', '选择标准法规工程师', roleForm.ministerUser)"></el-input>-->
<!-- </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-if="active === '3'">
<div class="flow-list">
<el-table
height="100%"
ref="selection"
:data="detailData"
tooltip-effect="dark"
style="width: 100%"
border
row-key="id"
:no-data-text="listNoDataText"
:header-cell-style="{background: '#f8f8f9', color: '#515a6e'}"
>
<el-table-column
type="selection"
width="55"
align="center">
</el-table-column>
<el-table-column
prop="name"
label="任务步骤"
align="center"
sortable="custom"
>
</el-table-column>
<el-table-column
prop="assignee"
label="任务受理人"
align="center"
sortable="custom"
>
</el-table-column>
<el-table-column
prop="createTime"
label="创建时间"
sortable="custom"
align="center">
<template slot-scope="scope">
<span>{{ scope.row.createTime ? $moment(scope.row.createTime).format('YYYY-MM-DD') : '' }}</span>
</template>
</el-table-column>
<el-table-column
prop="endTime"
label="完成时间"
align="center">
<template slot-scope="scope">
<span>{{ scope.row.endTime ? $moment(scope.row.endTime).format('YYYY-MM-DD') : '' }}</span>
</template>
</el-table-column>
<el-table-column
prop="comment"
label="审批意见"
align="center">
<template slot-scope="scope">
<span>{{scope.row.commentText}}</span>
</template>
</el-table-column>
<el-table-column
prop="completeFlag"
label="状态"
align="center">
<template slot-scope="scope">
<span>{{ scope.row.endTime ? '已完成' : '未完成'}}</span>
</template>
</el-table-column>
</el-table>
<loading :loading="loading">流程列表加载中</loading>
</div>
</div>
<ProcessFooter
show-back
show-submit
:submitLoading="isSubmit"
:saveLoading="saveLoading"
:approval="true"
@back="beforeBack"
@submit="handleSubmit"
>
</ProcessFooter>
</div>
</template>
<script>
import ProcessHeader from "../../components/ProcessHeader";
import ProcessFooter from "../../components/ProcessFooter";
import ProcessTitle from "../../components/ProcessTitle";
import { inboundLiaisonDetail, queryDetail } from "api/process";
export default {
name: "xmpgStep3",
components: {
ProcessHeader,
ProcessFooter,
ProcessTitle
},
data() {
return {
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: {
listType: "", //区分是哪个清单
listName: "", //清单名称
applyRegion: "", //适用区域
descriptionList: "", //清单说明
enclosure: "", //附件
inforlist: "",//用来存放标准的id
dataList: [{
standNumber: "", //标准号
cnName: "", //中文名称
enName: "", //英文名称
isSubTime: "", //发布日期
newCarTime: "", //新车型实施日期
oldCarTime: "", //在产车实施日期
applyCar: "", //适用车型
textState: "", //文本状态
id: ""
}]
},
choiceForm: {}, //选择标准清单列表
countryOptions: [], //适用区域下拉框数据
user1: "",
user2: "",
user3: "",
user4: "",
user5: "",
standMap: new Map()
};
},
methods: {
processTable () {
this.$http.get('lawss/activiti/get_list_by_instance', {
prcNum: this.$route.query.prcNum,
sortWord: this.shunxu ? this.paixu : '',
shunxu: this.shunxu
}, {
loading: 'loading',
_this: this
}, res => {
this.detailData = res
}, e => {})
},
//tab发生变化
handleTabs(name) {
this.active = name;
},
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
})
},
//驳回事件
beforeBack () {
this.listForm.approvalOpinion = '1'
this.handleSubmit()
},
//提交事件
handleSubmit() {
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.approvalOpinion = "";
this.listForm.standId = this.listForm.standId;
this.listForm.signFlag = "";
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 => {
});
},
//标准表格选择框改变
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()
// console.log(this.$store.getters.getHandleInfo);
}
};
</script>
<style lang="less" scoped>
@import '~@/assets/styles/style';
.xmpg-step3 {
/deep/ .el-drawer__container {
.prc-content-border {
border: none;
padding: 0 20px 0;
}
}
.choiceBtn {
.el-button--primary {
width: 150px;
}
}
position: relative;
height: 100%;
.headerTabs {
height: 52px;
display: flex;
align-items: center;
position: absolute;
top: 0;
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 {
display: flex;
flex-direction: column;
justify-content: space-between;
height: calc(~'100% - 103px');
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;
}
.accessStandardsAndRegulations {
height: 100%;
}
}
}
.demo-drawer-content {
margin-top: 10px;
}
}
</style>
@@ -0,0 +1,13 @@
<template>
</template>
<script>
export default {
name: "xmpgStep4"
};
</script>
<style scoped>
</style>
@@ -0,0 +1,13 @@
<template>
</template>
<script>
export default {
name: "xmpgStep5"
};
</script>
<style scoped>
</style>
@@ -0,0 +1,13 @@
<template>
</template>
<script>
export default {
name: "xmpgStep6"
};
</script>
<style scoped>
</style>
@@ -0,0 +1,13 @@
<template>
</template>
<script>
export default {
name: "xmpgStep7"
};
</script>
<style scoped>
</style>
@@ -357,6 +357,83 @@ export default {
prcType: row.prcType
}
})
} else if (row.taskInfo === '责任人填写征求意见'){
this.$router.push({
name: 'bzzqyjStep3',
query: {
taskIds: row.taskIds,
prcId: row.prcId,
prcNum: row.prcNum,
prcName: row.prcName,
prcType: row.prcType
}
})
} else if (row.taskInfo === '责任对接人审批') {
this.$router.push({
name: 'bzzqyjStep4',
query: {
taskIds: row.taskIds,
prcId: row.prcId,
prcNum: row.prcNum,
prcName: row.prcName,
prcType: row.prcType
}
})
} else if (row.taskInfo === '标准法规工程师汇总填写处理意见') {
this.$router.push({
name: 'bzzqyjStep5',
query: {
taskIds: row.taskIds,
prcId: row.prcId,
prcNum: row.prcNum,
prcName: row.prcName,
prcType: row.prcType
}
})
} else if (row.taskInfo === '责任人会签') {
this.$router.push({
name: 'bzzqyjStep6',
query: {
taskIds: row.taskIds,
prcId: row.prcId,
prcNum: row.prcNum,
prcName: row.prcName,
prcType: row.prcType
}
})
} else if (row.taskInfo === '部长+对接人审核') {
this.$router.push({
name: 'bzzqyjStep7',
query: {
taskIds: row.taskIds,
prcId: row.prcId,
prcNum: row.prcNum,
prcName: row.prcName,
prcType: row.prcType
}
})
} else if (row.taskInfo.indexOf('技术委员会相关专委会主任') == 0 ) {
this.$router.push({
name: 'bzzqyjStep8',
query: {
taskIds: row.taskIds,
prcId: row.prcId,
prcNum: row.prcNum,
prcName: row.prcName,
prcType: row.prcType
}
})
} else {
this.$router.push({
name: 'bzzqyjStep9',
query: {
taskIds: row.taskIds,
prcId: row.prcId,
prcNum: row.prcNum,
prcName: row.prcName,
prcType: row.prcType
}
})
}
break
//标准清单更新/发布流程
@@ -14,10 +14,10 @@
</el-form-item>
<el-form-item label="项目名称" class="search-item">
<el-input
v-model="projectLibrarySearch.projectName"
placeholder="根据项目名称查找"
:maxlength="100"
clearable
v-model="projectLibrarySearch.projectName"
placeholder="根据项目名称查找"
:maxlength="100"
clearable
></el-input>
</el-form-item>
<el-form-item label="项目分类" class="search-item">
@@ -66,31 +66,11 @@
v-btn-permission="'e5ca15122f554414e6365eb09efac5c4'"
@click="selectMoreBtn"
><i class="iconfont">&#xe7a5;</i>高级查询</el-button>
</el-form-item>
</el-form>
</div>
<div class="right">
</div>
</div>
<div class="container">
<div class="non-content">
<el-tabs v-model="ifMaintaince" @tab-click="handleClick" style="height: 100%">
@@ -212,7 +192,6 @@
<i class="iconfont">&#xe61e;</i>
<el-dropdown-menu slot="dropdown">
<el-dropdown-item :command="[scope.row, '查看']" v-btn-permission="'633e82816590af9027dc2fddc562d046'">查看</el-dropdown-item>
<el-dropdown-item :command="[scope.row, '删除']" v-btn-permission="'0b59eceb360b7bd7ae6f64835a8c4514'">删除</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
</div>
@@ -225,6 +204,76 @@
@pageChange="pageChange"
@pageSizeChange="pageSizeChange"></pagination>
<loading :loading="loading">数据获取中</loading>
<!-- 高级搜索-->
<table-tools-bar v-model="isAdvancedSearch" @search="getLocalProductTableBtn"
@reset="clearAllSearch" >
<div slot="content">
<el-form :model="localProTableSearch" :inline="true" class="label-input-form table-lattice" style="display: flex;flex-wrap: wrap">
<!-- 产品平台-->
<el-form-item label="产品平台" class="serch-form-item">
<el-input v-model="localProTableSearch.projectPlatfor" placeholder="根据产品平台" clearable :maxlength="100"
@keyup.enter.native="getLocalProductTableBtn"></el-input>
</el-form-item>
<!-- 项目编号-->
<el-form-item label="项目编号" class="serch-form-item">
<el-input v-model="localProTableSearch.projectNumber" placeholder="根据项目编号" clearable :maxlength="500"
@keyup.enter.native="getLocalProductTableBtn"></el-input>
</el-form-item>
<!-- 项目名称-->
<el-form-item label="项目名称" class="serch-form-item">
<el-input v-model="projectLibrarySearch.projectName" placeholder="根据项目名称" clearable :maxlength="500"
@keyup.enter.native="getLocalProductTableBtn"></el-input>
</el-form-item>
<!-- 项目分类-->
<el-form-item label="项目分类" class="serch-form-item">
<el-select v-model="projectLibrarySearch.projectClassification" placeholder="根据项目分类" clearable
@keyup.enter.native="getLocalProductTableBtn">
<el-option v-for="opt in productTypeOptions" :value="opt.value === undefined ? '' :opt.label" :key="opt.label" :label="opt.label">{{ opt.label}}</el-option>
</el-select>
</el-form-item>
<!-- 项目状态-->
<el-form-item label="项目状态" class="serch-form-item">
<el-select v-model="projectLibrarySearch.projectStatus" placeholder="根据项目状态" clearable
@keyup.enter.native="getLocalProductTableBtn">
<el-option v-for="opt in xmztOptions" :value="opt.value === undefined ? '' :opt.label" :key="opt.label" :label="opt.label">{{ opt.label}}</el-option>
</el-select>
</el-form-item>
<!-- 项目群-->
<el-form-item label="项目群" class="serch-form-item">
<el-input v-model="localProTableSearch.projectGroup" placeholder="根据项目群" clearable :maxlength="500"
@keyup.enter.native="getLocalProductTableBtn"></el-input>
</el-form-item>
<!-- 产品线-->
<el-form-item label="产品线" class="serch-form-item">
<el-input v-model="localProTableSearch.productLine" placeholder="根据产品线" clearable :maxlength="500"
@keyup.enter.native="getLocalProductTableBtn"></el-input>
</el-form-item>
<!-- 项目开始时间-->
<el-form-item label="项目开始时间" class="serch-form-item">
<el-date-picker type="date" placeholder="选择日期" v-model="localProTableSearch.projectStartDate" style="width: 100%;"></el-date-picker>
</el-form-item>
<!-- 项目完成时间-->
<el-form-item label="项目完成时间" class="serch-form-item">
<el-date-picker type="date" placeholder="选择日期" v-model="localProTableSearch.projectEndDate" style="width: 100%;"></el-date-picker>
</el-form-item>
<!-- 当前节点-->
<el-form-item label="当前节点" class="serch-form-item">
<el-input v-model="localProTableSearch.currentNode" placeholder="根据当前节点" clearable :maxlength="500"
@keyup.enter.native="getLocalProductTableBtn"></el-input>
</el-form-item>
<!-- 项目级别-->
<el-form-item label="项目级别" class="serch-form-item">
<el-input v-model="localProTableSearch.projectLevel" placeholder="根据项目级别" clearable :maxlength="500"
@keyup.enter.native="getLocalProductTableBtn"></el-input>
</el-form-item>
<!-- 项目经理-->
<el-form-item label="项目经理" class="serch-form-item">
<el-input v-model="localProTableSearch.projectManager" placeholder="根据项目经理" clearable :maxlength="500"
@keyup.enter.native="getLocalProductTableBtn"></el-input>
</el-form-item>
</el-form>
</div>
</table-tools-bar>
</div>
</div>
@@ -272,14 +321,20 @@ export default {
deptUser: [],
//查询3类
projectLibrarySearch: {
// 项目名称
projectName: '',
// 项目分类
projectClassification: '',
// 项目状态
projectStatus: '',
},
//查询3类
projectLibrarySearchDefault: {
// 项目名称
projectName: '',
// 项目分类
projectClassification: '',
// 项目状态
projectStatus: '',
},
// 查询条件
@@ -287,22 +342,60 @@ export default {
page: 1,
pageSize: this.$store.getters.userInfo.configContent,
validFlag: 0,
// 项目编号
projectNumber:'',
productSet: '',
productName: '',
productBrand: '',
advanceSearchVOStr: ''
advanceSearchVOStr: '',
// 产品平台
projectPlatfor:'',
// 产品线
productLine:'',
// 项目名称
projectName: '',
// 项目群
projectGroup: '',
// 项目开始日期
projectStartDate: '',
// 项目完成日期
projectEndDate: '',
// 当前节点
currentNode: '',
// 项目级别
projectLevel: '',
// 项目经理
projectManager: '',
},
// 查询条件
localProTableSearchDefault: {
page: 1,
pageSize: this.$store.getters.userInfo.configContent,
validFlag: 0,
// 项目编号
projectNumber:'',
productSet: '',
productName: '',
productBrand: '',
advanceSearchVOStr: ''
advanceSearchVOStr: '',
// 产品平台
projectPlatfor:'',
// 产品线
productLine:'',
// 项目名称
projectName: '',
// 项目群
projectGroup: '',
// 项目开始日期
projectStartDate: '',
// 项目完成日期
projectEndDate: '',
// 当前节点
currentNode: '',
// 项目级别
projectLevel: '',
// 项目经理
projectManager: '',
},
total: 0,
// 列表数据
@@ -339,94 +432,6 @@ export default {
value: '2'
}
],
//9宫格列表
localProLib:{
// 产品平台
projectPlatfor: '',
// 项目编号
projectNumber: '',
// 项目名称
projectName: '',
// 项目分类
projectClassification: '',
// 项目状态
projectStatus: '',
// 项目群
projectGroup: '',
// 项目开始日期
projectStartDate: '',
// 项目完成日期
projectEndDate: '',
// 当前节点
currentNode: '',
// 项目级别
projectLevel: '',
// 项目经理
projectManager: '',
},
localProEO: {
// 项目相关人员
userEOList: [],
// 产品代码
produceCode: '',
// 项目阶段
productStage: '',
// 整车项目编号
zhengcarNo: '',
// 整车SOP时间
zhengcarSopTime: '',
// 项目编号
productNo: '',
// 项目类型
productTypeCode: '',
// 生产基地
producePlace: '',
// 基础车型
baseCartype: '',
// 左驾右驾
leftRight: '',
// 项目经理
productManager: '',
productManagerShow: '',
// 是否纳入开发
isDevelop: '',
energyKind: '',
// 平台
flatform: '',
// 项目名称
productName: '',
// 车型系列
productSet: '',
// 项目类别
productType: '',
// 项目状态
productBrand: '',
// SOP时间
sopTime: '',
// 阀点
pointTime: [],
// 计划通过时间
planPassTime: '',
// 实际通过时间
actualPassTime: '',
// 目标市场
targetMarket: '',
// 公告车型号
carModel: '',
// 项目相关人员id
relatePerson: '',
// eop信息
eopTime: '',
// 项目相关信息
saleMarket: '',
// 判断是国内还是海外
prodectCode: '',
// carModeFile: ''
// carModeFileList: ''
// 相关人员信息
relatePersonShow: ''
// 相关人员姓名
},
// 项目类型
protypeOptions: [],
// 生产基地
@@ -716,31 +721,6 @@ export default {
this.isAdvancedSearch = true
this.threeOptions = []
},
twoSelectChange (val, obj) {
console.log('twoSelectChange')
if (val === 'product_type') {
this.threeOptions = this.productTypeOptions
} else if (val === 'product_brand') {
this.threeOptions = this.xmztOptions
} else if (val === 'target_market') {
this.threeOptions = this.targetMarketOptions
} else if (val === 'left_right') {
this.threeOptions = [{
label: '左驾',
value: '1'
},{
label: '右驾',
value: '2'
}]
}
},
// 编辑项目相关人员回显选中人员数据
relatePersonTreeShow () {
let checkedArr = this.localProEO.relatePerson ? this.localProEO.relatePerson.split(',') : []
if (checkedArr.length > 0) {
this.$refs.relatePersonRoleTree.checkedNode(this.localProEO.relatePerson.split(','))
}
},
// 获取标准类别List数据
getAllInforList () {
this.$http.get('sys/dictype/getDicTypeListCode', {}, {_this: this}, res => {
@@ -954,6 +934,7 @@ export default {
this.localProTableSearch = {...this.localProTableSearchDefault}
this.projectLibrarySearch = {...this.projectLibrarySearchDefault}
this.localProTableSearch.page = 1
this.isAdvancedSearch=false
this.getLocalProductTable()
},
resolveTime (data) {
@@ -1146,7 +1127,7 @@ export default {
// 条件分页查询
getLocalProductTableBtn () {
this.projectLibrarySearch.page = 1
this.isAdvancedSearch=false
this.getLocalProductTable()
},
// 查询本地产品
@@ -1551,6 +1532,8 @@ export default {
</script>
<style lang="less" scoped>
@import '~@/assets/styles/mixins';
@import '~@/assets/styles/style';
.local-products-or-project-library {
//position: relative;
height: 100%;
@@ -1580,4 +1563,24 @@ export default {
::v-deep .el-drawer{
outline: none!important;
}
.label-input-form {
&.table-lattice{
/deep/.el-form-item__label {
width:100px;
height:30px;
border: 1px solid #DCDFE6;
border-right: none;
line-height:30px;
text-align: center;
margin-top: 7px;
background: #F9F9F9;
}
/deep/.el-input__inner {
height: 30px;
line-height: 30px;
border-radius: 0 !important;
width: 200px;
}
}
}
</style>
@@ -131,7 +131,8 @@ export default {
form: {
cid: this.$route.query.item.cid,
page: 1,
size: this.$store.getters.userInfo.configContent
size: this.$store.getters.userInfo.configContent,
userId: this.$store.getters.userInfo.userId,
} // 详情数据
}
},
+90
View File
@@ -285,6 +285,60 @@ const routes = [
title: '项目合规评估流程'
}
},
{
path: '/xmpgStep2',
name: 'xmpgStep2',
component: () => import('@/pages/processCenter/pages/creatProcess/xmpg/step2.vue'),
meta: {
requireAuth: true,
title: '项目合规评估流程'
}
},
{
path: '/xmpgStep3',
name: 'xmpgStep3',
component: () => import('@/pages/processCenter/pages/creatProcess/xmpg/step3.vue'),
meta: {
requireAuth: true,
title: '项目合规评估流程'
}
},
{
path: '/xmpgStep4',
name: 'xmpgStep4',
component: () => import('@/pages/processCenter/pages/creatProcess/xmpg/step4.vue'),
meta: {
requireAuth: true,
title: '项目合规评估流程'
}
},
{
path: '/xmpgStep5',
name: 'xmpgStep5',
component: () => import('@/pages/processCenter/pages/creatProcess/xmpg/step5.vue'),
meta: {
requireAuth: true,
title: '项目合规评估流程'
}
},
{
path: '/xmpgStep6',
name: 'xmpgStep6',
component: () => import('@/pages/processCenter/pages/creatProcess/xmpg/step6.vue'),
meta: {
requireAuth: true,
title: '项目合规评估流程'
}
},
{
path: '/xmpgStep7',
name: 'xmpgStep7',
component: () => import('@/pages/processCenter/pages/creatProcess/xmpg/step7.vue'),
meta: {
requireAuth: true,
title: '项目合规评估流程'
}
},
{
path: '/wfhxzgStep1',
name: 'wfhxzgStep2',
@@ -447,6 +501,42 @@ const routes = [
title: '标准调研流程'
}
},
{
path: '/bzzqyjStep6',
name: 'bzzqyjStep6',
component: () => import('@/pages/processCenter/pages/creatProcess/bzzqyj/step6.vue'),
meta: {
requireAuth: true,
title: '标准调研流程'
}
},
{
path: '/bzzqyjStep7',
name: 'bzzqyjStep7',
component: () => import('@/pages/processCenter/pages/creatProcess/bzzqyj/step7.vue'),
meta: {
requireAuth: true,
title: '标准调研流程'
}
},
{
path: '/bzzqyjStep8',
name: 'bzzqyjStep8',
component: () => import('@/pages/processCenter/pages/creatProcess/bzzqyj/step8.vue'),
meta: {
requireAuth: true,
title: '标准调研流程'
}
},
{
path: '/bzzqyjStep9',
name: 'bzzqyjStep9',
component: () => import('@/pages/processCenter/pages/creatProcess/bzzqyj/step9.vue'),
meta: {
requireAuth: true,
title: '标准调研流程'
}
},
{
path: '/bzdyStep4',
name: 'bzdyStep4',
+1 -1
View File
@@ -6,8 +6,8 @@
// 服务器地址
// const devIp = '39.98.140.126'
// const devInterfacePORT = '10005'
// const devIp = '192.168.10.248'
const devIp = '192.168.10.248'
const devIp = '192.168.10.30'
const devInterfacePORT = '9999'
// 云端端口号
const DEV_CLOUD_RES_INTERFACE_PORT = '7777'