This commit is contained in:
zhutianqi
2021-07-08 17:31:21 +08:00
parent cf357076ea
commit edf0a1ad03
5 changed files with 681 additions and 193 deletions
@@ -6,23 +6,19 @@
<el-transfer <el-transfer
:data="data" :data="data"
v-model="value" v-model="value"
:titles="['可选模块','个人模块']" :titles="['可选模块','个人展示模块']"
@change="handleChange" @change="handleChange"
@left-check-change="selectedChange" @left-check-change="selectedChange"
@right-check-change="selectedChange" @right-check-change="selectedChange"
filterable> filterable>
</el-transfer> </el-transfer>
<div class="btn-group"> <div class="btn-group">
<!-- <div class="button-wrapper">-->
<!-- <el-button type="primary" size="small" class="searchAngNewBtn" @click="reloadMockData(1)">{{$t('m.moveUp')}}</el-button>-->
<!-- <el-button type="primary" size="small" class="searchAngNewBtn" @click="reloadMockData(2)" style="margin-left: 0.5rem;">{{$t('m.moveDown')}}</el-button>-->
<!-- </div>-->
</div> </div>
</div> </div>
</div> </div>
<el-divider></el-divider> <el-divider></el-divider>
<div class="footer"> <div class="footer">
<el-button type="primary" size="small" class="searchAngNewBtn" v-btn-permission="'NQDDVW8JW3EUVAEXZH3F'" @click="savePersonal">保存修改</el-button> <el-button type="primary" size="small" class="searchAngNewBtn" @click="savePersonal">保存修改</el-button>
</div> </div>
</div> </div>
</template> </template>
@@ -47,46 +43,36 @@ export default {
listStyle: { listStyle: {
width: '5rem', width: '5rem',
height: '8rem' height: '8rem'
} },
oldData: []
} }
}, },
methods: { methods: {
// 右侧列表元素变化时触发 // 右侧列表元素变化时触发
handleChange (newTargetKeys, direction, moveKeys) { handleChange (newTargetKeys, direction, moveKeys) {
this.targetKeys = newTargetKeys if (direction === 'left') {
this.numData = [] this.oldData.forEach( item => {
moveKeys.forEach( items => {
if (items === item.id) {
item.state = 1
}
})
})
} else if (direction === 'right'){
this.oldData.forEach( item => {
moveKeys.forEach( items => {
if (items === item.id) {
item.state = 0
}
})
})
}
this.targetKeys = newTargetKeys
this.numData = []
}, },
selectedChange (sourceSelectedKeys, targetSelectedKeys) { selectedChange (sourceSelectedKeys, targetSelectedKeys) {
this.numData = sourceSelectedKeys this.numData = sourceSelectedKeys
this.sourceSelectedKeys = targetSelectedKeys this.sourceSelectedKeys = targetSelectedKeys
},
renderPersonal (item) {
return item.label
},
// 上移,下移
reloadMockData (flag) {
if (this.numData.length > 1 || this.numData.length === 0) {
this.$message({
message: '选择个人板块一条板块进行上移下移操作',
type: 'warning'
})
} else {
// numData : 选中的值
let num = this.targetKeys.indexOf(this.numData[0])
if (flag === 1) {
// 1表示上移
if (num > 0) {
this.value.splice(num, 1)
this.value.splice(num - 1, 0, this.numData[0])
}
} else {
// 2表示下移
this.targetKeys.splice(num, 1)
this.targetKeys.splice(num + 1, 0, this.numData[0])
// targetKeys 变了
// this.data = JSON.stringify(this.targetKeys)
}
}
}, },
savePersonal () { savePersonal () {
if (this.targetKeys.length === 0) { if (this.targetKeys.length === 0) {
@@ -96,9 +82,10 @@ export default {
}) })
return return
} }
this.$http.post('person/personModuleUser/insertModule', this.$http.postData('sarPersonalCenter/sar-user-personal-menu/update',
{ {
moduleIds: this.targetKeys sarUserPersonalMenus: this.oldData,
userId: this.$store.getters.userInfo.userId
}, { }, {
_this: this _this: this
}, res => { }, res => {
@@ -113,16 +100,14 @@ export default {
}, },
// 获取模块 // 获取模块
selectPersonConf () { selectPersonConf () {
this.$http.get('person/personModule/queryByList', this.$http.get('/sarPersonalCenter/sar-user-personal-menu/getList',
{ {
userId: this.$store.getters.userInfo.userId userId: this.$store.getters.userInfo.userId
}, {_this: this}, res => { }, {_this: this}, res => {
res.data.map((item) => { res.data.records.map((item) => {
if (item.moduleName === '首页') { if (item.menuName === '首页') {
this.selected.push(item) this.selected.push(item)
} else if (item.moduleName === '待办任务') { } else if (item.state == 0) {
this.selected.push(item)
} else if (item.flag === '0') {
this.selected.push(item) this.selected.push(item)
} }
}) })
@@ -132,16 +117,17 @@ export default {
} }
// 左侧数据会筛选出右侧数据进行显示 // 左侧数据会筛选出右侧数据进行显示
var j var j
for (j = 0; j < res.data.length; j++) { for (j = 0; j < res.data.records.length; j++) {
let moduleLabel = {} let moduleLabel = {}
moduleLabel = res.data[j].moduleName moduleLabel = res.data.records[j].menuName
let moduleid = {} let moduleid = {}
moduleid = res.data[j].id moduleid = res.data.records[j].id
this.data.push({ this.data.push({
label: moduleLabel, label: moduleLabel,
key: moduleid, key: moduleid,
disabled: moduleLabel === '首页' || moduleLabel === '待办任务' disabled: moduleLabel === '首页'
}) })
this.oldData = JSON.parse(JSON.stringify(res.data.records))
} }
this.value = this.targetKeys this.value = this.targetKeys
}, e => { }, e => {
@@ -260,16 +260,16 @@ export default {
}, },
roleFormRules: { roleFormRules: {
dockUserName: [ dockUserName: [
{ required: true, message: '请输入调研标题', trigger: 'change' }, { required: true, message: '请选择责任部门对接人', trigger: 'change' },
], ],
ministerUserName: [ ministerUserName: [
{ required: true, message: '请输入调研标题', trigger: 'change' }, { required: true, message: '请选择标准法规部部长', trigger: 'change' },
], ],
directorUserName: [ directorUserName: [
{ required: true, message: '请输入调研标题', trigger: 'change' }, { required: true, message: '请选择技术管理中心主任', trigger: 'change' },
], ],
presidentUserName: [ presidentUserName: [
{ required: true, message: '请输入调研标题', trigger: 'change' }, { required: true, message: '请选择工程研究院院长', trigger: 'change' },
] ]
}, },
fileUrl: 'api/att/attFile/upload', fileUrl: 'api/att/attFile/upload',
@@ -7,13 +7,14 @@
</ProcessHeader> </ProcessHeader>
<div class="headerTabs"> <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> </div>
<div class="content" v-if="active === '1'"> <div class="content" v-show="active === '1'">
<div style="flex: auto; overflow: auto;"> <div style="flex: auto; overflow: auto;">
<el-form <el-form
ref="bzzqyjForm" ref="bzzqyjForm"
:model="form" :model="form"
:rules="formRules"
class="label-input-form" class="label-input-form"
label-width="210px" label-width="210px"
> >
@@ -27,25 +28,29 @@
<div class="addButton"> <div class="addButton">
<el-button size="small" type="primary" @click="addZqyjList">选择征求意见</el-button> <el-button size="small" type="primary" @click="addZqyjList">选择征求意见</el-button>
</div> </div>
</el-form-item> </el-form-item>
<el-form-item label="标准编号" prop="cid" class="add-form-item form-item-disabled"> <el-form-item label="标准编号" prop="cid" class="add-form-item form-item-disabled">
<el-select v-model="form.cid" placeholder="请选择标准编号"> <el-input
<el-option label="GB 472726" value="1"></el-option> disabled
<el-option label="GB/T 8453291" value="2"></el-option> v-model="form.cid"
</el-select> placeholder="请输入标准编号"
clearable
></el-input>
</el-form-item> </el-form-item>
<el-form-item label="标准名称" prop="cname" class="add-form-item form-item-disabled"> <el-form-item label="标准名称" prop="cname" class="add-form-item form-item-disabled">
<el-select v-model="form.cname" placeholder="请选择标准名称"> <el-input
<el-option label="标准1" value="1"></el-option> disabled
<el-option label="标准2" value="2"></el-option> v-model="form.cname"
</el-select> placeholder="请输入标准名称"
clearable
></el-input>
</el-form-item> </el-form-item>
<el-form-item label="征求意见结束日期" prop="endTime" class="add-form-item form-item-disabled"> <el-form-item label="征求意见结束日期" prop="endTime" class="add-form-item form-item-disabled">
<el-date-picker <el-date-picker
v-model="form.endTime" disabled
type="date" v-model="form.endTime"
placeholder="请选择结束日期"> type="date"
placeholder="请选择结束日期">
</el-date-picker> </el-date-picker>
</el-form-item> </el-form-item>
</el-col> </el-col>
@@ -53,13 +58,27 @@
</div> </div>
</el-form> </el-form>
</div> </div>
<el-collapse accordion>
<el-collapse-item title="意见填写">
<div style="margin: 10px 0;">
<el-input
type="textarea"
:rows="3"
resize="none"
placeholder="请输入意见"
v-model="commentText">
</el-input>
</div>
</el-collapse-item>
</el-collapse>
</div> </div>
<div class="content" v-if="active === '2'"> <div class="content" v-show="active === '2'">
<div class="block" style="padding-top: 20px;"> <div class="block" style="padding-top: 20px;">
<el-timeline> <el-timeline>
<el-form <el-form
ref="Form" ref="Form"
:model="roleForm" :model="roleForm"
:rules="roleFormRules"
class="label-input-form"> class="label-input-form">
<el-timeline-item timestamp="发起流程" placement="top" :color="roleForm.startUser ? '#66b1ff' : ''"> <el-timeline-item timestamp="发起流程" placement="top" :color="roleForm.startUser ? '#66b1ff' : ''">
<el-card> <el-card>
@@ -67,66 +86,66 @@
<h4>流程发起人</h4> <h4>流程发起人</h4>
<div style="margin-top: 10px;width: 300px;"> <div style="margin-top: 10px;width: 300px;">
<el-input v-model="roleForm.startUser" style="display: none;"/> <el-input v-model="roleForm.startUser" style="display: none;"/>
<el-input v-model="roleForm.startUserName" placeholder="流程发起人"/> <el-input v-model="roleForm.startUserName" placeholder="流程发起人" disabled/>
</div> </div>
</el-form-item> </el-form-item>
</el-card> </el-card>
</el-timeline-item> </el-timeline-item>
<el-timeline-item timestamp="选择责任人" placement="top" :color="roleForm.dockUser ? '#66b1ff' : ''"> <el-timeline-item timestamp="指派责任人" placement="top" :color="roleForm.dockUserList ? '#66b1ff' : ''">
<el-card> <el-card>
<el-form-item prop="dockUserName" style="margin-bottom: 0"> <el-form-item prop="dockUserList" style="margin-bottom: 0">
<h4>责任对接人</h4> <h4>责任部门对接人</h4>
<div style="margin-top: 10px;width: 300px;"> <div style="margin-top: 10px;width: 300px;">
<el-input v-model="roleForm.dockUser" style="display: none;"/> <el-input v-model="roleForm.dockUserList" style="display: none;"/>
<el-input <el-input
v-model="roleForm.dockUserName" v-model="roleForm.dockUserListName"
placeholder="选择责任人" placeholder="选择责任部门对接人"
@click.native="choiceZRR('dockUser', '选择责任人', roleForm.dockUser)"> @click.native="choiceZRRS">
</el-input> </el-input>
</div> </div>
</el-form-item> </el-form-item>
</el-card> </el-card>
</el-timeline-item> </el-timeline-item>
<el-timeline-item timestamp="填写意见" placement="top" :color="roleForm.ministerUser ? '#66b1ff' : ''"> <el-timeline-item timestamp="审核征求意见" placement="top" :color="roleForm.ministerUser ? '#66b1ff' : ''">
<el-card> <el-card>
<el-form-item prop="mainUserName" style="margin-bottom: 0"> <el-form-item prop="ministerUser" style="margin-bottom: 0">
<h4>责任人</h4> <h4>标准法规部部长</h4>
<div style="margin-top: 10px;width: 300px;"> <div style="margin-top: 10px;width: 300px;">
<el-input v-model="roleForm.mainUser" style="display: none;"/> <el-input v-model="roleForm.ministerUser" style="display: none;"/>
<el-input <el-input
v-model="roleForm.mainUserName" v-model="roleForm.ministerUserName"
placeholder="选择责任人·" placeholder="选择标准法规部部长·"
@click.native="choiceZRR('mainUser', '选择责任人', roleForm.mainUser)" @click.native="choiceZRR('ministerUser', '选择标准法规部部长', roleForm.ministerUser)"
/> />
</div> </div>
</el-form-item> </el-form-item>
</el-card> </el-card>
</el-timeline-item> </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-card>
<el-form-item prop="engineerUserName" style="margin-bottom: 0"> <el-form-item prop="directorUser" style="margin-bottom: 0">
<h4>标准法规工程师</h4> <h4>技术管理中心主任</h4>
<div style="margin-top: 10px;width: 300px;"> <div style="margin-top: 10px;width: 300px;">
<el-input v-model="roleForm.engineerUser" style="display: none;"/> <el-input v-model="roleForm.directorUser" style="display: none;"/>
<el-input <el-input
v-model="roleForm.engineerUserName" v-model="roleForm.directorUserName"
placeholder="选择标准法规工程师" placeholder="选择技术管理中心主任"
@click.native="choiceZRR('engineerUser', '选择标准法规工程师', roleForm.engineerUser)" @click.native="choiceZRR('directorUser', '选择技术管理中心主任', roleForm.directorUser)"
/> />
</div> </div>
</el-form-item> </el-form-item>
</el-card> </el-card>
</el-timeline-item> </el-timeline-item>
<el-timeline-item timestamp="审核" placement="top" :color="roleForm.presidentUser ? '#66b1ff' : ''"> <el-timeline-item timestamp="批准征求意见" placement="top" :color="roleForm.presidentUser ? '#66b1ff' : ''">
<el-card> <el-card>
<el-form-item prop="checkUserName" style="margin-bottom: 0"> <el-form-item prop="presidentUser" style="margin-bottom: 0">
<h4>责任对接人标准法规部门负责人</h4> <h4>工程研究总院院长</h4>
<div style="margin-top: 10px;width: 300px;"> <div style="margin-top: 10px;width: 300px;">
<el-input v-model="roleForm.checkUser" style="display: none;"/> <el-input v-model="roleForm.presidentUser" style="display: none;"/>
<el-input <el-input
v-model="roleForm.checkUserName" v-model="roleForm.presidentUserName"
placeholder="选择责任对接人,标准法规部门负责人" placeholder="选择工程研究总院院长"
@click.native="choiceZRR('checkUser', '选择责任对接人,标准法规部门负责人', roleForm.checkUserName)" @click.native="choiceZRR('presidentUser', '选择工程研究总院院长', roleForm.presidentUser)"
/> />
</div> </div>
</el-form-item> </el-form-item>
@@ -152,42 +171,43 @@
custom-class="demo-drawer" custom-class="demo-drawer"
> >
<div class="standardForComments"> <div class="standardForComments">
<!-- 顶部工具栏 -->
<table-tools-bar>
<div slot="left">
<div class="search-area">
<el-form :model="standCommonlySearch" inline class="label-input-form">
<el-formItem label="类别" class="search-item">
<el-input v-model="standCommonlySearch.categorg" class="s-c-input" placeholder="标准/政策" clearable :maxlength="100"></el-input>
</el-formItem>
<el-formItem label="关键字" class="search-item">
<el-input v-model="standCommonlySearch.cname" class="s-c-input" placeholder="请输入关键字" clearable :maxlength="100"></el-input>
</el-formItem>
<el-formItem label="开始日期" class="search-item">
<el-datePicker v-model="standCommonlySearch.start" :editable="false"
placeholder="请选择开始日期"></el-datePicker>
</el-formItem>
<el-formItem label="结束日期" class="search-item">
<el-datePicker v-model="standCommonlySearch.end" :editable="false"
placeholder="请选择结束日期"></el-datePicker>
</el-formItem>
<el-formItem class="search-item btn-box">
<el-button
type="primary"
size="mini"
class="common-button-primary"
@click="sarStandCompareHisInfo">查询</el-button>
<el-button
class="common-button-default"
size="mini"
@click="clearSearchStand">清空</el-button>
</el-formItem>
</el-form>
</div>
</div>
</table-tools-bar>
<div class="content"> <div class="content">
<!-- 顶部工具栏 -->
<table-tools-bar>
<div slot="left">
<div class="search-area">
<el-form :model="standCommonlySearch" inline class="label-input-form">
<el-formItem label="类别" class="search-item">
<el-input v-model="standCommonlySearch.categorg" class="s-c-input" placeholder="标准/政策" clearable :maxlength="100"></el-input>
</el-formItem>
<el-formItem label="关键字" class="search-item">
<el-input v-model="standCommonlySearch.cname" class="s-c-input" placeholder="请输入关键字" clearable :maxlength="100"></el-input>
</el-formItem>
<el-formItem label="开始日期" class="search-item">
<el-datePicker v-model="standCommonlySearch.start" :editable="false"
placeholder="请选择开始日期"></el-datePicker>
</el-formItem>
<el-formItem label="结束日期" class="search-item">
<el-datePicker v-model="standCommonlySearch.end" :editable="false"
placeholder="请选择结束日期"></el-datePicker>
</el-formItem>
<el-formItem class="search-item btn-box">
<el-button
type="primary"
size="mini"
class="common-button-primary"
@click="sarStandCompareHisInfo">查询</el-button>
<el-button
class="common-button-default"
size="mini"
@click="clearSearchStand">清空</el-button>
</el-formItem>
</el-form>
</div>
</div>
</table-tools-bar>
<div class="table-wrap"> <div class="table-wrap">
<div style="position: absolute;height: calc(100% - 10px);width: 100%;"> <div style="position: absolute;height: calc(100% - 10px);width: 100%;">
<el-table <el-table
@@ -216,6 +236,57 @@
</div> </div>
</div> </div>
</el-drawer> </el-drawer>
<el-drawer
:title="drawerTitle"
:visible.sync="modalshowflag"
:wrapperClosable="false"
size="800px">
<el-tree
v-if="modalshowflag"
node-key="id"
style="height: 100%; overflow: auto;"
class="filter-tree"
:data="treeData"
:props="defaultProps"
:default-checked-keys="nodeList"
highlight-current
check-strictly
@check="drawerCheck"
default-expand-all
:expand-on-click-node="false"
show-checkbox
ref="tree">
</el-tree>
<div id="roleFormButton" class="demo-drawer-footer">
<el-button class="common-button-primary" size="mini" icon="el-icon-check" type="primary" @click="saveUserInfo">确定</el-button>
<el-button class="common-button-default" size="mini" icon="el-icon-close" @click="cancleUserInfo">取消</el-button>
</div>
</el-drawer>
<el-drawer
title="选择责任部门对接人"
:visible.sync="modalshowflag2"
:wrapperClosable="false"
size="800px">
<el-tree
v-if="modalshowflag2"
style="height: 100%; overflow: auto;"
node-key="id"
class="filter-tree"
:data="treeData"
:props="defaultProps"
:default-checked-keys="nodeList2"
highlight-current
check-strictly
default-expand-all
:expand-on-click-node="false"
show-checkbox
ref="tree2">
</el-tree>
<div id="roleFormButton2" class="demo-drawer-footer">
<el-button class="common-button-primary" size="mini" icon="el-icon-check" type="primary" @click="saveUserInfo2">确定</el-button>
<el-button class="common-button-default" size="mini" icon="el-icon-close" @click="cancleUserInfo2">取消</el-button>
</div>
</el-drawer>
</div> </div>
</template> </template>
@@ -229,6 +300,7 @@ export default {
name: "bzzqyjStep1", name: "bzzqyjStep1",
data() { data() {
return { return {
commentText: '',
textarea: '', // 意见 textarea: '', // 意见
title: '', // 新增抽屉标题 title: '', // 新增抽屉标题
listModel: false, // 新增抽屉开关 listModel: false, // 新增抽屉开关
@@ -241,6 +313,17 @@ export default {
endTime: '', // 结束日期 endTime: '', // 结束日期
cname: '', // 名称 cname: '', // 名称
}, },
formRules: {
cid: [
{ required: true, message: '请输入标准编号', trigger: 'change' },
],
endTime: [
{ required: true, message: '请输入标准结束日期', trigger: 'change' },
],
cname: [
{ required: true, message: '请输入标准名称', trigger: 'change' },
],
},
// 标准征求意见数据可库 // 标准征求意见数据可库
standCommonlySearch: { standCommonlySearch: {
categorg: '', categorg: '',
@@ -259,15 +342,41 @@ export default {
roleForm: { roleForm: {
startUserName: this.$store.getters.userInfo.userName, startUserName: this.$store.getters.userInfo.userName,
startUser: this.$store.getters.userInfo.userId, startUser: this.$store.getters.userInfo.userId,
dockUser: '', dockUserList: '',
dockUserName: '', dockUserListName: '',
mainUser: '', ministerUser: '',
mainUserName: '', ministerUserName: '',
engineerUser: '', directorUser: '',
engineerUserName: '', directorUserName: '',
checkUser: '', presidentUser: '',
checkUserName: '', presidentUserName: '',
} },
roleFormRules: {
dockUserList: [
{ required: true, message: '请选择责任部门对接人', trigger: 'change' },
],
ministerUser: [
{ required: true, message: '请选择标准法规部部长', trigger: 'change' },
],
directorUser: [
{ required: true, message: '请选择技术管理中心主任', trigger: 'change' },
],
presidentUser: [
{ required: true, message: '请选择工程研究院院长', trigger: 'change' },
]
},
treeData: [],
nodeList: [],
nodeList2: [],
type: '',
drawerTitle: '',
modalshowflag: false,
modalshowflag2: false,
defaultProps: {
children: 'children',
label: 'name'
},
roleRow: {},
} }
}, },
components: { components: {
@@ -276,6 +385,7 @@ export default {
ProcessTitle ProcessTitle
}, },
mounted () { mounted () {
this.getTree()
this.sarStandCompareHis() this.sarStandCompareHis()
this.tableHeight = $('.content').height() - 44 this.tableHeight = $('.content').height() - 44
window.onresize = () => { window.onresize = () => {
@@ -287,7 +397,6 @@ export default {
this.title = '标准征求意见库' this.title = '标准征求意见库'
this.listModel = true this.listModel = true
}, },
/** 标准征求意见库方法* /** 标准征求意见库方法*
* **********************************************/ * **********************************************/
// 清空 // 清空
@@ -348,7 +457,6 @@ export default {
for (let i = 0; i < this.selectedList.length; i++) { for (let i = 0; i < this.selectedList.length; i++) {
bringData.push(deposit.get(this.selectedList[i])); bringData.push(deposit.get(this.selectedList[i]));
} }
console.log(bringData)
this.form.cid = bringData[0].cid this.form.cid = bringData[0].cid
this.form.cname = bringData[0].cname; this.form.cname = bringData[0].cname;
this.form.endTime = bringData[0].endTime; this.form.endTime = bringData[0].endTime;
@@ -360,18 +468,107 @@ export default {
} }
}, },
/*** **********************************************/ /*** **********************************************/
/** 流程节点负责人的选择 *****************************/ /** 流程节点负责人的选择 *****************************/
choiceZRR() { choiceZRR (type, title, id) {
// this.choice this.nodeList = []
this.nodeList.push(id)
this.type = type
this.drawerTitle = title
this.modalshowflag = true
},
getTree () {
this.$http.get('SarInstitution/institution/institutionAndUser', {}, {}, res=> {
this.treeData = res.data
})
},
saveUserInfo () {
if (this.type === 'ministerUser') {
this.roleForm.ministerUser = this.roleRow.id
this.roleForm.ministerUserName = this.roleRow.name
} else if (this.type === 'directorUser') {
this.roleForm.directorUser = this.roleRow.id
this.roleForm.directorUserName = this.roleRow.name
} else if (this.type === 'presidentUser') {
this.roleForm.presidentUser = this.roleRow.id
this.roleForm.presidentUserName = this.roleRow.name
}
this.modalshowflag = false
},
cancleUserInfo () {
this.modalshowflag = false
},
drawerCheck (data) {
var getlist = this.$refs.tree.getCheckedNodes().concat(this.$refs.tree.getHalfCheckedNodes());
if(getlist.length == 1) {
this.roleRow = getlist[0]
}else {
this.$refs.tree.setCheckedKeys([data.id]);
this.roleRow = this.$refs.tree.getCheckedNodes()[0]
}
},
choiceZRRS () {
this.nodeList2 = []
if ( this.roleForm.dockUserList.length > 0) {
this.nodeList2 = this.roleForm.dockUserList.split(',')
}
this.modalshowflag2 = true
},
saveUserInfo2 () {
var idList = ''
var nameList = ''
this.$refs.tree2.getCheckedNodes().concat(this.$refs.tree2.getHalfCheckedNodes()).forEach( item => {
if (nameList.length > 0) {
nameList += ','
idList += ','
}
idList += item.id
nameList += item.name
})
this.roleForm.dockUserList = idList
this.roleForm.dockUserListName = nameList
this.modalshowflag2 = false
},
cancleUserInfo2 () {
this.modalshowflag2 = false
}, },
handleTabs(name) { handleTabs(name) {
this.active = name this.active = name
}, },
// 流程也的提交按钮和保存按钮操作
handleSave() {}, handleSave() {},
handleSubmit() {} handleSubmit() {
this.$refs['bzzqyjForm'].validate((valid) => {
if (valid) {
this.$refs['Form'].validate((valid) => {
if (valid) {
this.$http.get('lawss/activiti/startProcess', {
type: '3'
}, {}, res => {
if (res.ok) {
var json = Object.assign(this.form, this.roleForm)
json.commentText = this.commentText
this.$http.post('lawss/activiti/completeTask', {
json: JSON.stringify(json),
taskId: res.data,
userId: this.$store.getters.userInfo.userId
}, {}, res => {
if (res.success) {
this.$message.success('流程发起成功')
this.$router.push('/processCenter')
}
})
} else {
this.$message.warning('流程启动失败')
}
})
} else {
return this.$message.warning('请完善人员信息')
}
})
} else {
return this.$message.warning('请完善基础信息')
}
})
}
} }
} }
</script> </script>
@@ -412,7 +609,7 @@ export default {
display: flex; display: flex;
flex-direction: column; flex-direction: column;
justify-content: space-between; justify-content: space-between;
height: calc(~'100% - 103px'); height: calc(~'100% - 107px');
overflow: auto; overflow: auto;
} }
.standardForComments { .standardForComments {
@@ -1,13 +1,300 @@
<template> <template>
<div class="bzdyStep2">
<!-- 标准调研流程-->
<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-form-item label="责任人" prop="responUserList" class="add-form-item form-item-disabled">
<el-input
v-model="form.responUserList"
style="display: none;"
clearable
></el-input>
<el-input v-model="form.responUserListName" placeholder="请选择责任人" @click.native="choiceZRR"></el-input>
</el-form-item>
</el-col>
</el-row>
</div>
</el-form>
</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>
<el-drawer
title="选择责任人"
:visible.sync="modalshowflag"
:wrapperClosable="false"
size="800px">
<el-tree
v-if="modalshowflag"
style="height: 100%; overflow: auto;"
node-key="id"
class="filter-tree"
:data="treeData"
:props="defaultProps"
:default-checked-keys="nodeList"
highlight-current
check-strictly
default-expand-all
:expand-on-click-node="false"
show-checkbox
ref="tree">
</el-tree>
<div id="roleFormButton" class="demo-drawer-footer">
<el-button class="common-button-primary" size="mini" icon="el-icon-check" type="primary" @click="saveUserInfo">确定</el-button>
<el-button class="common-button-default" size="mini" icon="el-icon-close" @click="cancleUserInfo">取消</el-button>
</div>
</el-drawer>
</div>
</template> </template>
<script> <script>
export default { import ProcessHeader from '../../components/ProcessHeader'
name: "step2" import ProcessFooter from '../../components/ProcessFooter'
} import ProcessTitle from '../../components/ProcessTitle'
import {inboundLiaisonDetail,processCreateStand} from 'api/process'
export default {
name: "bzzqyjStep2",
data() {
return {
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: '', // 名称
responUserList: '',
responUserListName: ''
},
formRules: {
responUserList: [
{ required: true, message: '请选择责任人', trigger: 'change' },
]
},
json: {}
}
},
components: {
ProcessHeader,
ProcessFooter,
ProcessTitle
},
methods: {
saveUserInfo () {
var idList = ''
var nameList = ''
this.$refs.tree.getCheckedNodes().concat(this.$refs.tree.getHalfCheckedNodes()).forEach( item => {
if (nameList.length > 0) {
nameList += ','
idList += ','
}
idList += item.id
nameList += item.name
})
this.form.responUserList = idList
this.form.responUserListName = nameList
this.modalshowflag = false
},
cancleUserInfo () {
this.modalshowflag = false
},
choiceZRR () {
this.nodeList = []
if (this.form.responUserList.length > 0) {
this.nodeList = this.form.responUserList.split(',')
}
this.modalshowflag = true
},
getTree () {
this.$http.get('SarInstitution/institution/institutionAndUser', {}, {}, res=> {
this.treeData = res.data
})
},
handleTabs(name) {
this.active = name
},
handleSave() {},
handleSubmit() {
this.$refs['bzzqyjForm'].validate((valid) => {
if (valid) {
var json = this.json
json.commentText = this.commentText
json.responUserList = this.form.responUserList
json.responUserListName = this.form.responUserListName
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 {
return 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
}).catch(e => {
})
})
},
},
mounted () {
this.getTree()
this.getData()
}
}
</script> </script>
<style scoped> <style lang="less" scoped>
@import '~@/assets/styles/style';
.bzdyStep2 {
/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> </style>
@@ -252,6 +252,7 @@ export default {
} }
}) })
} }
break
case '2': case '2':
if (row.taskInfo === '责任对接人选择责任人') { if (row.taskInfo === '责任对接人选择责任人') {
this.$router.push({ this.$router.push({
@@ -343,43 +344,59 @@ export default {
}) })
} }
break; break;
break
case '3':
if (row.taskInfo === '责任对接人选择责任人') {
this.$router.push({
name: 'bzzqyjStep2',
query: {
taskIds: row.taskIds,
prcId: row.prcId,
prcNum: row.prcNum,
prcName: row.prcName,
prcType: row.prcType
}
})
}
break
//标准清单更新/发布流程 //标准清单更新/发布流程
case'4' : case'4' :
if (row.taskInfo === '进行会签,填写意见') { if (row.taskInfo === '进行会签,填写意见') {
this.$router.push({ this.$router.push({
name: 'bzqdfbStep2', name: 'bzqdfbStep2',
query: { query: {
taskIds: row.taskIds, taskIds: row.taskIds,
prcId: row.prcId, prcId: row.prcId,
prcNum: row.prcNum, prcNum: row.prcNum,
prcName: row.prcName, prcName: row.prcName,
prcType: row.prcType prcType: row.prcType
} }
}) })
} else if (row.taskInfo === '根据会签意见修订') { } else if (row.taskInfo === '根据会签意见修订') {
this.$router.push({ this.$router.push({
name: 'bzqdfbStep3', name: 'bzqdfbStep3',
query: { query: {
taskIds: row.taskIds, taskIds: row.taskIds,
prcId: row.prcId, prcId: row.prcId,
prcNum: row.prcNum, prcNum: row.prcNum,
prcName: row.prcName, prcName: row.prcName,
prcType: row.prcType prcType: row.prcType
} }
}) })
}else if (row.taskInfo === '业务经理审批') { }else if (row.taskInfo === '业务经理审批') {
this.$router.push({ this.$router.push({
name: 'bzqdfbStep4', name: 'bzqdfbStep4',
query: { query: {
taskIds: row.taskIds, taskIds: row.taskIds,
prcId: row.prcId, prcId: row.prcId,
prcNum: row.prcNum, prcNum: row.prcNum,
prcName: row.prcName, prcName: row.prcName,
prcType: row.prcType prcType: row.prcType
} }
}) })
} }
break; break;
break
//项目合规评估流程 //项目合规评估流程
case '5' : case '5' :
if(row.taskInfo === ''){ if(row.taskInfo === ''){
@@ -394,6 +411,7 @@ export default {
} }
}) })
} }
break
} }
}, },