【修改】修改报告上传流程

This commit is contained in:
zhoulingpo
2023-05-09 09:20:54 +08:00
parent 4bd06f2360
commit 64bee0eb7d
15 changed files with 660 additions and 368 deletions
+1 -1
View File
@@ -8,7 +8,7 @@
<div class="menu-data" @click="handleRouter(item)" <div class="menu-data" @click="handleRouter(item)"
:style="{'padding-left': item.level >= 2 ? '30px' : '10px'}"> :style="{'padding-left': item.level >= 2 ? '30px' : '10px'}">
<div class="menu-data-flex"> <div class="menu-data-flex">
<img class="menu-icon" v-if="item.icon" :src="item.icon" alt=""> <!-- <img class="menu-icon" v-if="item.icon" :src="item.icon" alt="">-->
<span> <i class="icon-level2" v-if="item.level===3"></i> {{ item.label }}</span> <span> <i class="icon-level2" v-if="item.level===3"></i> {{ item.label }}</span>
</div> </div>
</div> </div>
+190 -16
View File
@@ -3,6 +3,155 @@
<div> <div>
<!-- 弹窗,dialogModel则作为单独组件使用 --> <!-- 弹窗,dialogModel则作为单独组件使用 -->
<el-dialog <el-dialog
v-if="isOrg"
append-to-body
:title="showTitle"
:visible.sync="isVisible"
:close-on-click-modal="false"
class="org-table"
@close="handleClose">
<template >
<div class="search-area search-new">
<el-form
:model="searchForm"
inline
class="label-input-form"
@keyup.enter.native="handleSearch">
<el-row :gutter="24">
<el-col :xl="8" :lg="8">
<el-form-item label="部门名称" class="search-item">
<!-- <el-input :placeholder="'根据角色名查询'" class="search-item" v-model="searchForm.roleName"/>-->
<el-input v-model="searchForm.orgName" maxlength="50" placeholder="请输入部门名称"></el-input>
</el-form-item>
</el-col>
<el-col :xl="8" :lg="8">
<el-form-item label="部门编码" class="search-item">
<!-- <el-input-->
<!-- v-model="searchForm.uname"-->
<!-- placeholder="根据姓名查询"-->
<!-- clearable></el-input>-->
<el-input :placeholder="'请输入部门编码'" v-model="searchForm.orgCode"/>
</el-form-item>
</el-col>
<el-col :xl="8" :lg="24">
<el-form-item class="tag-btns">
<!-- :loading="loading.searching"-->
<el-button
:disabled="loading.searching"
type="primary"
size="small"
@click="handleSearch">查询
</el-button>
<el-button
size="small"
@click="handleReset">重置
</el-button>
</el-form-item>
</el-col>
</el-row>
</el-form>
</div>
<div class="org-user v-class">
<el-table
v-if="isVisible"
ref="orgTable"
:data="tableData"
tooltip-effect="dark"
style="width: 100%"
border
stripe
:header-cell-style="{ background: '#f8f8f9', color: '#515a6e' }"
height="350"
v-loading="loading.loadData"
:cell-class-name="cellClassName"
@select="selectionRow"
@select-all="selectionRowAll">
<el-table-column v-if="maxSelected && maxSelected == 1" label="" width="35" align="center">
<template slot-scope="scope">
<el-radio class="tableRadio" v-model="tableChecked" @change="radioChange(scope.row)"
:label="scope.row.USID">{{ null }}
</el-radio>
</template>
</el-table-column>
<el-table-column
v-else
type="selection"
width="55"
align="center"
:selectable="isSelectable">
</el-table-column>
<!-- v-if="workNumFlag"-->
<el-table-column
label="部门名称"
width="120"
prop="orgName"
align="center"
show-overflow-tooltip>
</el-table-column>
<el-table-column
label="部门编码"
width="120"
:prop="orgCode"
align="center"
show-overflow-tooltip>
</el-table-column>
<el-table-column
prop="orgLevel"
label="部门级别"
align="center"
show-overflow-tooltip>
</el-table-column>
</el-table>
</div>
<el-pagination
class="pagination"
:current-page="page"
:page-sizes="[5, 10, 20]"
:pageSize="pageSize"
:total="total"
@current-change="handlePageChange"
@size-change="handlePageSizeChange"
layout="total, sizes, prev, pager, next, jumper"
></el-pagination>
<template v-if="btnFlag">
<!-- 已选择的用户 -->
<template v-if="maxSelected !== 1">
<el-divider content-position="left">已选择</el-divider>
<div class="checked-user-list">
<el-tag
size="medium"
closable
v-for="item in checkedList"
:key="item.usid || item.USID || item.id"
@close="handleRemove(item)">{{ item.uname || item.USNAME || item.name || item.orgName}}
</el-tag>
<el-button
type="danger"
size="mini"
@click="handleCleanChecked"
v-show="checkedIdList.length > 1">全部删除
</el-button>
</div>
</template>
<div style="text-align: right;" class="dialog-footer">
<el-button size="small"
type="primary"
class="common-button-primary"
@click="handleConfirm">
</el-button>
<el-button size="small"
class="common-button-default"
@click="handleCancel">
</el-button>
</div>
</template>
</template>
</el-dialog>
<el-dialog
v-else
append-to-body append-to-body
:title="showTitle" :title="showTitle"
:visible.sync="isVisible" :visible.sync="isVisible"
@@ -211,6 +360,10 @@ export default {
name: 'OrgTable', name: 'OrgTable',
mixins: [], mixins: [],
props: { props: {
isOrg: {
type: Boolean,
default: false
},
title: { title: {
type: String, type: String,
default: '组织机构' default: '组织机构'
@@ -422,6 +575,8 @@ export default {
} else if (!chkItem.uname && chkItem.USNAME) { } else if (!chkItem.uname && chkItem.USNAME) {
chkItem.uname = chkItem.USNAME chkItem.uname = chkItem.USNAME
chkItem.USNAME = chkItem.USNAME chkItem.USNAME = chkItem.USNAME
}else{
chkItem.orgName = chkItem.orgName
} }
}) })
this.$emit('confirm', this.checkedList, checkedIdList) this.$emit('confirm', this.checkedList, checkedIdList)
@@ -531,23 +686,42 @@ export default {
} }
// let this.notUserId.length > 0 ? this.notUserId.toString() : null // let this.notUserId.length > 0 ? this.notUserId.toString() : null
// getRoleAndUserByOrgIdPage( // getRoleAndUserByOrgIdPage(
if(this.isOrg){
this.$api.org.sysOrgList(param).then((res) => {
this.loading.loadData = false
this.loading.searching = false
if (res.ok) {
this.total = res.data.total
this.tableData = res.data.records
const checkedRow = []
this.tableData.map(dataItem => {
const id = dataItem.usid || dataItem.USID || dataItem.orgId || dataItem.id
if (this.checkedIdList.includes(id)) {
checkedRow.push(dataItem)
}
})
this.checkedRow(checkedRow)
}
})
}else{
this.$api.user.sysUserList(param).then((res) => {
this.loading.loadData = false
this.loading.searching = false
if (res.ok) {
this.total = res.data.total
this.tableData = res.data.records
const checkedRow = []
this.tableData.map(dataItem => {
const id = dataItem.usid || dataItem.USID || dataItem.orgId || dataItem.id
if (this.checkedIdList.includes(id)) {
checkedRow.push(dataItem)
}
})
this.checkedRow(checkedRow)
}
})
this.$api.user.sysUserList(param).then((res) => { }
this.loading.loadData = false
this.loading.searching = false
if (res.ok) {
this.total = res.data.total
this.tableData = res.data.records
const checkedRow = []
this.tableData.map(dataItem => {
const id = dataItem.usid || dataItem.USID || dataItem.orgId || dataItem.id
if (this.checkedIdList.includes(id)) {
checkedRow.push(dataItem)
}
})
this.checkedRow(checkedRow)
}
})
}, },
// handleRowSelect(selection, row) { // handleRowSelect(selection, row) {
+37 -2
View File
@@ -53,6 +53,24 @@
:loading="TransferLoading" :loading="TransferLoading"
v-if="showTransfer" round v-if="showTransfer" round
>转办</el-button> >转办</el-button>
<el-button
type="primary"
size="large"
class="common-button-primary"
@click="handleSubmit('n')"
:loading="btyLoading"
v-if="showNoAgree" round>
不同意
</el-button>
<el-button
type="primary"
size="large"
class="common-button-primary"
@click="handleSubmit('y')"
:loading="tyLoading"
v-if="showAgree" round>
同意
</el-button>
<el-button <el-button
type="primary" type="primary"
size="large" size="large"
@@ -128,6 +146,22 @@ export default {
name: 'ProcessFooter', name: 'ProcessFooter',
mixins: [], mixins: [],
props: { props: {
btyLoading:{
type: Boolean,
default: false
},
tyLoading:{
type: Boolean,
default: false
},
showAgree:{
type: Boolean,
default: false
},
showNoAgree:{
type: Boolean,
default: false
},
// 是否显示结束流程按钮 // 是否显示结束流程按钮
showOver: { showOver: {
type: Boolean, type: Boolean,
@@ -249,8 +283,9 @@ export default {
handleReset () { handleReset () {
this.$emit('reset') this.$emit('reset')
}, },
handleSubmit () { handleSubmit (type) {
this.$emit('submit')
this.$emit('submit',type)
}, },
cancel () { cancel () {
if (this.$store.state.detailMap !== '') { if (this.$store.state.detailMap !== '') {
-1
View File
@@ -110,7 +110,6 @@ export default {
alert("hhhh") alert("hhhh")
}, },
addToListTwo() { addToListTwo() {
debugger
let currentValue = this.listTwo.slice(); let currentValue = this.listTwo.slice();
const itemsToBeMoved = []; const itemsToBeMoved = [];
const key = this.props.key; const key = this.props.key;
+32
View File
@@ -14,3 +14,35 @@ export const basMessage = new Esenum({
mark: {name: "水印前缀", value: "WATERMARK_PREFIX",index:0} mark: {name: "水印前缀", value: "WATERMARK_PREFIX",index:0}
}) })
export const privacyLevelOptions= new Esenum([
{
value:'外部公开',
label:'外部公开'
},
{
value:'普通商密',
label:'普通商密'
},
{
value:'核心商密',
label:'核心商密'
},
{
value:'内部公开',
label:'内部公开'
},
{
value:'用户信息',
label:'用户信息'
},
{
value:'敏感信息',
label:'敏感信息'
},
])
export const confidentialLevelOptions = new Esenum([
{
value:'一般隐私',
label:'一般隐私'
}
])
+1
View File
@@ -121,6 +121,7 @@
default-expand-all default-expand-all
:filter-node-method="filterNode" :filter-node-method="filterNode"
ref="tree" ref="tree"
check-strictly
@check="getHalfCheckedNode" @check="getHalfCheckedNode"
> >
+21
View File
@@ -55,6 +55,9 @@
:filter-node-method="filterNode" :filter-node-method="filterNode"
ref="tree" ref="tree"
@check="getHalfCheckedNode" @check="getHalfCheckedNode"
check-strictly
@check-change="setCheckedNodes"
:key="treeKey"
> >
<template slot-scope="{node}"> <template slot-scope="{node}">
<!-- <span v-if="node.label.length <= 10">{{ // node.label }}</span>--> <!-- <span v-if="node.label.length <= 10">{{ // node.label }}</span>-->
@@ -307,6 +310,7 @@ export default {
}, },
data() { data() {
return { return {
treeKey:'',
watermarkText: '', // 水印 watermarkText: '', // 水印
fullscreen: false, fullscreen: false,
/* =============================================== 操作日志 =============================================== */ /* =============================================== 操作日志 =============================================== */
@@ -464,6 +468,16 @@ export default {
}, },
methods: { methods: {
setCheckedNodes(node, checked) {
node.checked = checked;
if (node.children && node.children.length > 0) {
for (let child of node.children) {
this.setCheckedNodes(child, checked);
}
}
},
init() { init() {
this.getTreeLabel() this.getTreeLabel()
// this.labelList(); // this.labelList();
@@ -782,6 +796,13 @@ export default {
}; };
this.tags = [] // 关键词 this.tags = [] // 关键词
this.dialogReport = true; this.dialogReport = true;
// this.$router.push({
// path:'/reportprocess/launch',
// query:{
// id:this.$route.query.id,
// isBegin:1
// }
// })
}, },
// 必填项 // 必填项
checkReportF() { checkReportF() {
@@ -159,7 +159,6 @@ export default {
if (this.$route.query.taskDefinitionKey == 'reEdit' ){ if (this.$route.query.taskDefinitionKey == 'reEdit' ){
// 有idde // 有idde
console.log(this.value) console.log(this.value)
debugger
var idsList=this.checkIds.filter(item=>{ var idsList=this.checkIds.filter(item=>{
if(item.id && item.id !=''){ if(item.id && item.id !=''){
return item return item
@@ -163,7 +163,6 @@ export default {
this.disabled=true this.disabled=true
} }
this.getProcessDetail(params).then(res=>{ this.getProcessDetail(params).then(res=>{
debugger
this.tableData = JSON.parse(this.processOld.dataJson) this.tableData = JSON.parse(this.processOld.dataJson)
this.$set(this.applicationForm,'power',this.tableData[0].power) this.$set(this.applicationForm,'power',this.tableData[0].power)
this.$set(this.applicationForm,'applyReason',this.tableData[0].applyReason) this.$set(this.applicationForm,'applyReason',this.tableData[0].applyReason)
@@ -19,18 +19,6 @@
<!-- </el-form-item>--> <!-- </el-form-item>-->
<!-- </el-col>--> <!-- </el-col>-->
<!-- </el-row>--> <!-- </el-row>-->
<el-row :gutter="24">
<el-col :span="24">
<el-form-item label="审批结果:" prop="flag"
label-width="132px" class="add-form-item"
:class="{'form-item-disabled': formdisableflag}">
<el-radio-group :disabled="formdisableflag" v-model="examineForm.flag" >
<el-radio :label="'1'">同意</el-radio>
<el-radio :label="'2'">不同意</el-radio>
</el-radio-group>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="24"> <el-row :gutter="24">
<el-col :span="24"> <el-col :span="24">
<el-form-item :prop="!formdisableflag?'approvalOpinion':''" label-width="132px" class="add-form-item"> <el-form-item :prop="!formdisableflag?'approvalOpinion':''" label-width="132px" class="add-form-item">
@@ -44,6 +32,17 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<process-footer
v-if="!isDisable"
showCancel
:show-transfer="isShowTran"
:show-agree="isAgree"
:show-no-agree="isNoAgree"
:btyLoading="isBty"
:tyLoading="isTy"
@transfer="handleTransfer"
@submit="handleSubmit"
></process-footer>
<!-- <el-row :gutter="24">--> <!-- <el-row :gutter="24">-->
<!-- <el-col :span="24">--> <!-- <el-col :span="24">-->
<!-- <el-form-item label="附件" prop="entStandText" label-width="132px" class="add-form-item"--> <!-- <el-form-item label="附件" prop="entStandText" label-width="132px" class="add-form-item"-->
@@ -63,12 +62,18 @@
</el-form> </el-form>
</div> </div>
</template> </template>
<script> <script>
import processFooter from '@/components/ProcessFooter'
export default { export default {
name: 'AuditOperation', name: 'AuditOperation',
components:{
processFooter,
},
props: { props: {
isDisable:{ isDisable:{
type:Boolean, type:Boolean,
@@ -76,11 +81,32 @@ export default {
}, },
examine:{ examine:{
type:Object type:Object
},
taskId:{
type:String,
default:''
},
prcId:{
type:String,
default:''
},
prcType:{
type:String,
default:''
} }
}, },
data () { data () {
return { return {
isBty:false,
isTy:false,
isNoAgree: true,
isAgree: true,
visibleTree: false,
isSubmit: false,
tranLoading: false,
isShowTran: true,
isShowSubmit: true,
examineForm: { examineForm: {
planReasonFile: '', planReasonFile: '',
oldName: '', oldName: '',
@@ -107,19 +133,42 @@ export default {
} }
}, },
methods: { methods: {
handleTransfer(){
debugger
this.$emit('handleTransfer')
},
handleSubmit(type) {
debugger
if(type=='n'){
// 校验原因是否填写
this.examineForm.flag=2
if(this.examineForm.approvalOpinion==''){
this.$message.warning("请您填写原因")
return
}
}else{
this.examineForm.flag=1
}
this.$emit('handleSubmit')
// if (this.$refs.operationRef.submit()) {
// 通过了校验 需要整合参数 拿到原来的dataJson 再把新添加的增进去 在拼成dataJson
},
/** 在提交表单的校验 通过继续执行 */ /** 在提交表单的校验 通过继续执行 */
submit () { submit () {
this.isSubmit = false let v
this.$refs.examineForm.validate((valid) => { this.$refs.examineForm.validate((valid) => {
v=valid
if (valid) { if (valid) {
this.isSubmit = true
return true return true
} else { } else {
this.$message.warning('请检查表单是否填写正确') this.$message.warning('请检查表单是否填写正确')
return false return false
} }
}) })
return v
} }
} }
+224 -179
View File
@@ -2,14 +2,6 @@
<div> <div>
<el-form ref="processFormRef" :model="form" label-width="150px" <el-form ref="processFormRef" :model="form" label-width="150px"
:rules="processFormRule" class="label-input-form" size="medium"> :rules="processFormRule" class="label-input-form" size="medium">
<el-row>
<el-col :span="9">
<el-form-item label="流程名称:" prop="prcName">
<el-input :disabled="formControl || formControlname" v-model="form.prcName"
placeholder="请输入流程名称"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row> <el-row>
<el-col :span="9"> <el-col :span="9">
<el-form-item label="报告名称:" prop="name"> <el-form-item label="报告名称:" prop="name">
@@ -28,22 +20,52 @@
<el-row> <el-row>
<el-col :span="9"> <el-col :span="9">
<el-form-item label="报告所属部门:" prop="department"> <el-form-item label="报告所属部门:" prop="department">
<el-input :disabled="formControl" v-model="form.department" placeholder="请选择报告所属部门" <el-input readonly :disabled="formControl" v-model="form.departmentName" @click.na.native="handleClick" placeholder="请选择报告所属部门"
maxlength="100"></el-input> ></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="9" :offset="6"> <el-col :span="9" :offset="6">
<el-form-item label="报告涉密等级:" prop="confidentialLevel"> <el-form-item label="标签:" prop="department">
<el-select :disabled="formControl" v-model="form.confidentialLevel" placeholder="请选择报告涉密等级"> <el-cascader :disabled="formControl" width="100%" v-model="form.labelList" :options="cascaderOptions"
<el-option v-for="item in dict['classified_level']" :key="item.itemValue" :label="item.itemName" filterable
:value="item.itemValue"> :props="{ checkStrictly: true }" clearable placeholder="请选择标签">
</el-option> <template slot-scope="{ node, data }">
</el-select> <span :title="data.label">{{ data.label }}</span>
</template>
</el-cascader>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<el-row> <el-row>
<el-col :span="9"> <el-col :span="9" >
<el-form-item label="报告涉密等级:" prop="confidentialLevel">
<el-select :disabled="formControl" v-model="form.confidentialLevel" placeholder="请选择报告涉密等级" @change="reportLevel">
<el-option v-for="item in privacyLevelOptions " :key="item.value" :label="item.value"
:value="item.value">
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="9" :offset="6" v-if="isShowTime">
<el-form-item label="保密到期日期:" prop="secrecyLast">
<el-date-picker :disabled="formControl" v-model="form.secrecyLast" type="year" value-format="yyyy"
placeholder="请选择保密到期日期"
prefix-icon="null" :picker-options="proOptions"/>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="9" >
<el-form-item label="报告隐私等级:" prop="privacyLevel">
<el-select :disabled="formControl" v-model="form.privacyLevel" placeholder="请选择报告隐私等级">
<el-option v-for="item in confidentialLevelOptions" :key="item.value" :label="item.value"
:value="item.value">
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="9" :offset="6">
<el-form-item label="关键词:" prop="tags"> <el-form-item label="关键词:" prop="tags">
<vue-tags-input :disabled="formControl" :class="{'is-diable':formControl}" placeholder="请输入关键词" <vue-tags-input :disabled="formControl" :class="{'is-diable':formControl}" placeholder="请输入关键词"
v-model="form.tags" :tags="tags" v-model="form.tags" :tags="tags"
@@ -64,30 +86,10 @@
}"/> }"/>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="9" :offset="6">
<el-form-item label="报告隐私等级:" prop="privacyLevelOptions">
<el-select :disabled="formControl" v-model="form.privacyLevelOptions" placeholder="请选择报告隐私等级">
<el-option v-for="item in dict['privacy_level']" :key="item.itemValue" :label="item.itemName" :value="item.itemValue">
</el-option>
</el-select>
</el-form-item>
</el-col>
</el-row> </el-row>
<el-row> <el-row>
<el-col :span="9"> <el-col :span="24">
<el-form-item label="标签:" prop="department">
<el-cascader :disabled="formControl" width="100%" v-model="form.labelList" :options="cascaderOptions"
filterable
:props="{ checkStrictly: true }" clearable placeholder="请选择标签">
<template slot-scope="{ node, data }">
<span :title="data.label">{{ data.label }}</span>
</template>
</el-cascader>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="18">
<el-form-item label="内容摘要:" prop="mainContent"> <el-form-item label="内容摘要:" prop="mainContent">
<el-input :disabled="formControl" v-model="form.mainContent" placeholder="请填写内容摘要" type="textarea" <el-input :disabled="formControl" v-model="form.mainContent" placeholder="请填写内容摘要" type="textarea"
maxlength="500"></el-input> maxlength="500"></el-input>
@@ -95,63 +97,45 @@
</el-col> </el-col>
</el-row> </el-row>
<el-row> <el-row>
<el-col :span="9"> <el-col :span="5">
<el-form-item label="上传报告:" prop="fileId"> <el-form-item label="上传报告:" prop="fileId">
<el-upload action="#" :http-request="(params) => uploadFile(params)" :show-file-list="true" <el-upload action="#" :http-request="(params) => uploadFile(params)" :show-file-list="false"
:before-upload="beforeUploadFile" :on-remove="handleRemove" :before-upload="beforeUploadFile" :on-remove="handleRemove"
:file-list="fileList"> :file-list="fileList">
<el-button :disabled="formControl">选择文件</el-button> <el-button class="uploadBtn" :disabled="formControl">选择文件</el-button>
</el-upload>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="9">
<el-form-item label="权限设置:" required>
<el-button :disabled="formControl" @click="openDialog">权限设置</el-button>
</el-form-item>
</el-col>
</el-row>
</el-form>
<el-dialog title="权限设置" :visible.sync="dialogUser" width="950px" :close-on-click-modal="false"
:close-on-press-escape="false" modal-append-to-body append-to-body>
<div class="user-form">
<div style="text-align: center">
<newTranslate
@loadMore="loadMore"
style="text-align: left; display: inline-block"
filterable
v-model="listOne"
:titles="['全部人员', '预览权限人员','预览和下载权限人员']"
:props="{
key: 'value',
label: 'desc'
}"
:loadingMore="loadingMore"
:data="allUser"
:listTwo.sync="listTwo"
:button-texts="['全部', '预览', '预览与下载']"
></newTranslate>
</div>
<div class="done">
<el-button type="default" @click="closeD">取消</el-button>
<el-button type="primary" v-if="!formControl" @click="saveCheck">确定</el-button>
</div> </el-upload>
</div>
</el-dialog> </el-form-item>
</el-col>
<el-col :span="8">
<span class="uploadFile" v-if="form.fileName">
<span :title="fileList[0].name">{{fileList[0].name}}</span>
<i class="el-icon-cloudy iconstyle"></i>
<i class="el-icon-delete iconstyle" @click="delFile"></i>
</span>
</el-col>
</el-row>
</el-form>
<orgTable :visible.sync="visibleOrgTable" title="人员列表" dialog-model :config="{
value: orgTableVal,
valueName: orgTableValName
}" :workNumFlag="true" :isOrg="true" :maxSelected="100" @confirm="isTreeOk"></orgTable>
</div> </div>
</template> </template>
<script> <script>
import {fileType} from '@/utils/fileType' import {fileType} from '@/utils/fileType'
import newTranslate from "../../../components/newTranslate"; import newTranslate from "../../../components/newTranslate";
import VueTagsInput from '@johmun/vue-tags-input'; import VueTagsInput from '@johmun/vue-tags-input';
import orgTable from '@/components/OrgTable'
import {privacyLevelOptions,confidentialLevelOptions} from '@/utils/Enum/enum'
export default { export default {
dicts:['classified_level','privacy_level'], dicts: ['classified_level', 'privacy_level'],
components: { components: {
VueTagsInput, VueTagsInput,
newTranslate newTranslate,
orgTable
}, },
props: { props: {
@@ -169,14 +153,18 @@ export default {
}, },
data() { data() {
return { return {
loadingMore:false, privacyLevelOptions,
confidentialLevelOptions,
orgTableVal:'',
orgTableValName: '',
visibleOrgTable:false,
isShowTime:false, //是否显示日期
loadingMore: false,
listTwo: [], //存储下载预览的 listTwo: [], //存储下载预览的
allUser: [], //存储全部的 allUser: [], //存储全部的
listOne: [1], listOne: [1],
dialogUser: false, dialogUser: false,
confidentialLevelOptions: [],
cascaderOptions: [], cascaderOptions: [],
privacyLevelOptions: [],
tags: [], tags: [],
pickerOptions: { pickerOptions: {
disabledDate(time) { disabledDate(time) {
@@ -185,7 +173,7 @@ export default {
}, },
form: {}, form: {},
processFormRule: { processFormRule: {
fileId:[ fileId: [
{ {
required: true, required: true,
message: "上传报告不能为空", message: "上传报告不能为空",
@@ -242,25 +230,57 @@ export default {
pageNo: 1, pageNo: 1,
pageSize: 10 pageSize: 10
}, },
fileList:[] fileList: []
} }
}, },
watch:{ watch: {
processForm(val){ processForm(val) {
debugger this.form = this.processForm
this.form=this.processForm
} }
}, },
methods: { methods: {
loadMore(){ handleClick(){
this.orgTableVal=this.form.department
this.orgTableValName=this.form.departmentName
this.visibleOrgTable=true
},
isTreeOk(checkedList){
const parts = []
const partsName = []
checkedList.map((item, index) => {
parts.push(item.id)
partsName.push(item.orgName)
})
this.qcrList = checkedList
this.form.department = parts.toString()
this.form.departmentName = partsName.toString()
},
delFile() {
this.fileList=[]
this.form.fileName = '';
this.form.fileId = '';
},
reportLevel(item){
let imList=['普通商密','核心商密']
if( imList.indexOf(this.form.confidentialLevel)>-1){
this.isShowTime=true
this.form.secrecyLast = ''
}else{
this.isShowTime=false
this.form.secrecyLast = ''
}
},
loadMore() {
this.q.pageNo++ this.q.pageNo++
this.getAllPerson() this.getAllPerson()
}, },
closeD() { closeD() {
if (this.$route.query.isBegin || this.$route.query.isDraft) { if (this.$route.query.isBegin || this.$route.query.isDraft) {
this.listOne=[] this.listOne = []
this.listTwo=[] this.listTwo = []
}else{ } else {
} }
this.dialogUser = false this.dialogUser = false
@@ -284,30 +304,31 @@ export default {
} }
return obj return obj
}) })
this.form.powerList=[...list1,...list2] this.form.powerList = [...list1, ...list2]
this.dialogUser = false this.dialogUser = false
} else { } else {
//如果是发起人编辑节点 //如果是发起人编辑节点
let list1 = this.listOne.map(item => { let list1 = this.listOne.map(item => {
let obj = { let obj = {
userId: item.id, userId: item.id,
power: 1 power: 1
} }
return obj return obj
}) })
let list2 = this.listTwo.map(item => { let list2 = this.listTwo.map(item => {
let obj = { let obj = {
userId: item.id, userId: item.id,
power: 2 power: 2
} }
return obj return obj
}) })
this.form.powerList = [...list1, ...list2] this.form.powerList = [...list1, ...list2]
}
} else {
} }
}else{}
}, },
//获取全部人员 //获取全部人员
getAllPerson() { getAllPerson() {
this.$api.user.sysUserList(this.q).then(({data}) => { this.$api.user.sysUserList(this.q).then(({data}) => {
let newlist = data.records.map(item => { let newlist = data.records.map(item => {
@@ -318,7 +339,7 @@ export default {
} }
return obj return obj
}) })
this.allUser=[...this.allUser,...newlist] this.allUser = [...this.allUser, ...newlist]
this.total = data.total this.total = data.total
this.q.pageNo = data.current this.q.pageNo = data.current
this.q.pageSize = data.size this.q.pageSize = data.size
@@ -326,77 +347,76 @@ export default {
this.q.pageNo = 1 this.q.pageNo = 1
this.sysUserList() this.sysUserList()
} }
this.loadingMore=false this.loadingMore = false
}) })
}, },
handleChange(value, direction, movedKeys) { handleChange(value, direction, movedKeys) {
console.log(value, direction, movedKeys); console.log(value, direction, movedKeys);
}, },
openDialog() { openDialog() {
this.dialogUser = true this.dialogUser = true
}, },
handleRemove(file, fileList) { handleRemove(file, fileList) {
console.log(file, fileList); console.log(file, fileList);
this.form.fileName =''; this.form.fileName = '';
this.form.fileId = ''; this.form.fileId = '';
this.fileList=[] this.fileList = []
}, },
//用递归方式去除children //用递归方式去除children
getTreeData(data) { getTreeData(data) {
for (var i = 0; i < data.length; i++) { for (var i = 0; i < data.length; i++) {
if (data[i].children.length < 1) { if (data[i].children.length < 1) {
// children若为空数组,则将children设为undefined // children若为空数组,则将children设为undefined
data[i].children = undefined; data[i].children = undefined;
} else { } else {
// children若不为空数组,则继续 递归调用 本方法 // children若不为空数组,则继续 递归调用 本方法
this.getTreeData(data[i].children); this.getTreeData(data[i].children);
}
} }
return data;
},
updateList() {
this.$api.report.labelList().then(res => {
this.cascaderOptions = this.getTreeData(res.data)
})
this.$forceUpdate()
},
// 上传文件
uploadFile(params) {
let fd = new FormData();
fd.append('file', params.file);
this.$api.report.reportUploadFile(fd).then(({data}) => {
this.form.fileName = data.name;
this.form.fileId = data.key;
this.fileList = [data]
})
},
// 上传文件前
beforeUploadFile(file) {
let realFileType = file.name.split('.')[file.name.split('.').length - 1];
const isType = (
file.type === fileType.pdf || file.type === fileType.xls || file.type === fileType.xlsx || file.type === fileType.doc || file.type === fileType.docx || file.type === fileType.ppt || file.type === fileType.pptx
|| realFileType === 'pdf' || realFileType === 'xls' || realFileType === 'xlsx' || realFileType === 'doc' || realFileType === 'docx' || realFileType === 'ppt' || realFileType === 'pptx'
);
const isSize = file.size / 1024 / 1024 < 200;
if (!isType) {
this.$message.error('仅能上传 pdfxlsxlsxdocdocxpptpptx 格式文件');
}
if (!isSize) {
this.$message.error('您最大可上传200M文件');
}
return isType && isSize;
},
submit() {
let flag
this.$refs.processFormRef.validate(v => {
flag = v
return v
})
return flag
} }
return data;
}, },
updateList() { mounted() {
this.$api.report.labelList().then(res => {
this.cascaderOptions = this.getTreeData(res.data)
})
this.$forceUpdate()
},
// 上传文件
uploadFile(params) {
let fd = new FormData();
fd.append('file', params.file);
this.$api.report.reportUploadFile(fd).then(({data}) => {
this.form.fileName = data.name;
this.form.fileId = data.key;
this.fileList=[data]
})
},
// 上传文件前
beforeUploadFile(file) {
let realFileType = file.name.split('.')[file.name.split('.').length - 1];
const isType = (
file.type === fileType.pdf || file.type === fileType.xls || file.type === fileType.xlsx || file.type === fileType.doc || file.type === fileType.docx || file.type === fileType.ppt || file.type === fileType.pptx
|| realFileType === 'pdf' || realFileType === 'xls' || realFileType === 'xlsx' || realFileType === 'doc' || realFileType === 'docx' || realFileType === 'ppt' || realFileType === 'pptx'
);
const isSize = file.size / 1024 / 1024 < 200;
if (!isType) {
this.$message.error('仅能上传 pdfxlsxlsxdocdocxpptpptx 格式文件');
}
if (!isSize) {
this.$message.error('您最大可上传200M文件');
}
return isType && isSize;
},
submit() {
let flag
this.$refs.processFormRef.validate(v => {
flag = v
return v
})
return flag
}
},
mounted()
{
this.updateList() this.updateList()
this.getAllPerson() this.getAllPerson()
} }
@@ -448,5 +468,30 @@ export default {
} }
} }
} }
.uploadBtn {
vertical-align: super;
}
.uploadFile{
margin-left: -35px;
height: 36px;
display: inline-block;
span{
display: inline-block;
color:#555;
max-width: 200px;
font-size: 15px;
word-break: keep-all;
text-overflow: ellipsis;
overflow: hidden;
}
.iconstyle{
margin-left: 5px;
font-size: 25px;
vertical-align: center;
line-height: 40px;
color: #555;
cursor: pointer;
}
}
</style> </style>
+48 -57
View File
@@ -12,26 +12,19 @@
:process-form="processForm"></report-form> :process-form="processForm"></report-form>
</div> </div>
<div class="process_content" v-if="$route.query.type !=='yiban'">
<span class="base_title">审核信息</span>
<audit-operation ref="operationRef" :prcId="prcId" :prcType="prcType" :taskId="taskId"
:examine="submitjson" :is-disable="disabled" @handleSubmit="handleSubmit" @handleTransfer="handleTransfer"></audit-operation>
</div>
<div class="process_content"> <div class="process_content">
<span class="base_title">审批历史</span> <span class="base_title">审批历史</span>
<process-approval-history :prcNum="prcNum"></process-approval-history> <process-approval-history :prcNum="prcNum"></process-approval-history>
</div> </div>
<!-- v-if="$route.query.type !=='yiban'"--> <!-- v-if="$route.query.type !=='yiban'"-->
<div class="process_content" v-if="$route.query.type !=='yiban'">
<span class="base_title">审核信息</span>
<audit-operation ref="operationRef" :examine="submitjson" :is-disable="disabled"></audit-operation>
</div>
</div> </div>
<process-footer
v-if="!disabled"
showCancel
:show-transfer="isShowTran"
:show-submit="isShowSubmit"
:submitLoading="isSubmit"
:TransferLoading="tranLoading"
@transfer="handleTransfer"
@submit="handleSubmit"
></process-footer>
<!-- <process-choose-tree--> <!-- <process-choose-tree-->
<!-- dialog-model--> <!-- dialog-model-->
<!-- :visible.sync="visibleTree"--> <!-- :visible.sync="visibleTree"-->
@@ -49,8 +42,7 @@
<script> <script>
import processHeader from '@/components/ProcessHeader' import processHeader from '@/components/ProcessHeader'
import processFooter from '@/components/ProcessFooter' import processChooseTree from '@//components/OrgTable'
import processChooseTree from '../../components/OrgTable'
import processApprovalHistory from '@/components/ProcessApprovalHistory' import processApprovalHistory from '@/components/ProcessApprovalHistory'
import auditOperation from './components/AuditOperation' import auditOperation from './components/AuditOperation'
import reportTable from './components/reportForm' import reportTable from './components/reportForm'
@@ -63,11 +55,10 @@ export default {
components: { components: {
processHeader, processHeader,
reportTable, reportTable,
processFooter,
processApprovalHistory, processApprovalHistory,
auditOperation, auditOperation,
processChooseTree, reportForm,
reportForm processChooseTree
}, },
data () { data () {
return { return {
@@ -83,11 +74,8 @@ export default {
}] }]
}, },
processForm: { prcName : ''}, processForm: { prcName : ''},
visibleTree: false, visibleTree: false,
isSubmit: false,
tranLoading: false,
isShowTran: true,
isShowSubmit: true,
formControl: true, formControl: true,
disabled:false, disabled:false,
assignForm: {}, assignForm: {},
@@ -102,7 +90,7 @@ export default {
}, },
PERMISSION, PERMISSION,
submitjson:{}, submitjson:{},
prcType:2 prcType: 4
} }
}, },
created () { created () {
@@ -142,22 +130,22 @@ export default {
// 选择转办 // 选择转办
handleDblClick(treeNode) { handleDblClick(treeNode) {
this.JuggleSub(this.taskId).then(res=> { this.JuggleSub(this.taskId).then(res=> {
if(res){ if(res){
if( treeNode[0].USID == this.$store.getters.userInfo.usid){ if( treeNode[0].USID == this.$store.getters.userInfo.usid){
this.$message.warning("您不能转办给自己") this.$message.warning("您不能转办给自己")
}else{ }else{
this.$api.process.changeAssignee({ this.$api.process.changeAssignee({
taskId: this.taskId, taskId: this.taskId,
assignee: treeNode[0].USID, assignee: treeNode[0].USID,
userId: this.$store.getters.userInfo.usid, userId: this.$store.getters.userInfo.usid,
pId: this.prcId pId: this.prcId
}).then(() => { }).then(() => {
this.$message.success('转办成功') this.$message.success('转办成功')
this.$router.push({path: '/userCenter/processCenter', query: {id: this.$route.query.id}}) this.$router.push({path: '/userCenter/processCenter', query: {id: this.$route.query.id}})
this.visibleTree = false this.visibleTree = false
}) })
}
} }
}
}) })
// taskId: this.$store.getters.getHandleInfo.taskId, // 任务id // taskId: this.$store.getters.getHandleInfo.taskId, // 任务id
// assignee: treeNode[0].userId, // 转办人 // assignee: treeNode[0].userId, // 转办人
@@ -166,25 +154,28 @@ export default {
}, },
handleSubmit() { handleSubmit(type) {
this.JuggleSub(this.taskId).then(res=> { if(this.$refs.operationRef.submit()){
if(res){ this.JuggleSub(this.taskId).then(res=> {
let submit = JSON.parse(this.processOld.submitJson) if(res){
let dataJson = this.processOld.dataJson let submit = JSON.parse(this.processOld.submitJson)
let submitJson = JSON.stringify({...submit, ...this.$refs.operationRef.examineForm}) let dataJson = this.processOld.dataJson
this.completeProcess({ let submitJson = JSON.stringify({...submit, ...this.$refs.operationRef.examineForm})
dataJson, this.completeProcess({
submitJson, dataJson,
taskId: this.taskId, submitJson,
userId: this.$store.getters.userInfo.usid, taskId: this.taskId,
prcType: this.prcType userId: this.$store.getters.userInfo.usid,
}) prcType: this.prcType
} })
}) }
// if (this.$refs.operationRef.submit()) { })
// 通过了校验 需要整合参数 拿到原来的dataJson 再把新添加的增进去 在拼成dataJson }
} // if (this.$refs.operationRef.submit()) {
// 通过了校验 需要整合参数 拿到原来的dataJson 再把新添加的增进去 在拼成dataJson
},
} }
} }
+41 -94
View File
@@ -3,7 +3,9 @@
<div class="process_box"> <div class="process_box">
<process-header v-if="$route.query.isBegin || $route.query.isDraft" :title="'发起流程'"></process-header> <process-header v-if="$route.query.isBegin || $route.query.isDraft" :title="'发起流程'"></process-header>
<process-header v-else-if="$route.query.type == 'yiban'" :title="'已办流程'" :proceesNum="prcNum"></process-header> <process-header v-else-if="$route.query.type == 'yiban'" :title="'已办流程'" :proceesNum="prcNum"></process-header>
<process-header v-else :title="'发起人修改'" :proceesNum="prcNum"></process-header> <process-header v-else-if=" $route.query.taskDefinitionKey == 'reEdit'" :title="'发起人修改'" :proceesNum="prcNum"></process-header>
<process-header v-else="" :title="'发起流程'" ></process-header>
<div class="procedure"> <div class="procedure">
<div class="process_content"> <div class="process_content">
@@ -23,29 +25,16 @@
:rules="assignFormRules" class="label-input-form" size="medium"> :rules="assignFormRules" class="label-input-form" size="medium">
<el-row> <el-row>
<el-col :span="9"> <el-col :span="9">
<el-form-item label="选择一级审批人:" prop="oneApprove"> <el-form-item label="选择审批人:" prop="oneApprove">
<el-input readonly :disabled="formControl" v-model="assignForm.oneApproveName" <el-input readonly :disabled="formControl" v-model="assignForm.oneApproveName"
@click.native="handleCheck('spr1')" placeholder="请选择审批人"></el-input>
placeholder="请选择一级审批人员"></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> <el-col :span="9" style="margin-left: 5px">
<el-row> <el-button size="medium" type="primary" @click="handleCheck('spr1')">选取</el-button>
<el-col :span="9">
<el-form-item label="选择二级审批人员:" prop="twoApprove">
<el-input readonly :disabled="formControl" v-model="assignForm.twoApproveName"
@click.native="handleCheck('spr2')"
placeholder="请选择二级审批人员"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<el-form-item label="说明:" prop="remark">
<el-input type="textarea" :disabled="formControl" v-model="assignForm.remark" placeholder="请输入说明"></el-input>
</el-form-item>
</el-col> </el-col>
</el-row> </el-row>
</el-form> </el-form>
</div> </div>
</div> </div>
@@ -113,55 +102,26 @@ export default {
prcName: '', prcName: '',
privacyLevel: '', privacyLevel: '',
}, },
processFormRule: {
prcName: [{
required: true,
message: '请输入流程名称',
trigger: 'change'
}, {
max: 100,
message: '申请原因最多填写100字符',
trigger: 'change'
}]
},
applicationFormRule: {
applyReason: [{
max: 500, message: '申请原因最多填写500字符'
}],
power: [{
required: true,
message: '请选择申请权限'
}]
},
assignFormRules: { assignFormRules: {
oneApprove: [{ oneApprove: [{
required: true, required: true,
message: '请选择一级审批人', message: '请选择审批人',
trigger: 'change' trigger: 'change'
}], }],
twoApprove: [{
required: true,
message: '请选择二级审批人员',
trigger: 'change'
}],
remark: [{
max: 500, message: '说明最多填写500字符'
}]
}, },
prcType: 2, prcType: 4,
prcName:'' prcName:''
} }
}, },
async created() { async created() {
// 第一次进入此页面 需要清楚校验
if (this.$route.query.isBegin) { // if (this.$route.query.isBegin) {
// if (this.$route.query.ids.split(',').length > 0) { // if (this.$route.query.ids.split(',').length > 0) {
// this.reportList(this.$route.query.ids) // this.reportList(this.$route.query.ids)
// } // }
this.isShowSave = true
this.$store.commit('setHandleProcess','')
this.handleReset()
}
// 如果是从草稿进入的 // 如果是从草稿进入的
if (this.$route.query.isDraft) { if (this.$route.query.isDraft) {
this.isShowSave = true this.isShowSave = true
@@ -170,16 +130,11 @@ export default {
this.prcId = this.$store.getters.handleProcess?.prcId this.prcId = this.$store.getters.handleProcess?.prcId
this.prcName = this.$store.getters.handleProcess?.prcName this.prcName = this.$store.getters.handleProcess?.prcName
this.getDraftDetail().then(res => { this.getDraftDetail().then(res => {
this.$set(this.processForm,'prcName', this.prcName)
if(this.processOld.submitJson !== '{}'){ if(this.processOld.submitJson !== '{}'){
let submitJson=JSON.parse(this.processOld.submitJson) let submitJson=JSON.parse(this.processOld.submitJson)
this.processForm=JSON.parse(this.processOld.dataJson) this.processForm=JSON.parse(this.processOld.dataJson)
this.$set(this.assignForm,'oneApprove',submitJson.oneApprove) this.$set(this.assignForm,'oneApprove',submitJson.oneApprove)
this.$set(this.assignForm,'oneApproveName',submitJson.oneApproveName) this.$set(this.assignForm,'oneApproveName',submitJson.oneApproveName)
this.$set(this.assignForm,'twoApprove',submitJson.twoApprove)
this.$set(this.assignForm,'twoApproveName',submitJson.twoApproveName)
this.$set(this.assignForm,'remark',submitJson.remark)
} }
this.$nextTick(()=>{ this.$nextTick(()=>{
this.$refs.processFormRef.clearValidate() this.$refs.processFormRef.clearValidate()
@@ -188,51 +143,56 @@ export default {
}) })
} }
if (this.$route.query.taskDefinitionKey == 'reEdit' ) { else if (this.$route.query.taskDefinitionKey == 'reEdit' ) {
this.taskId = this.$store.getters.handleProcess.taskId this.taskId = this.$store.getters.handleProcess.taskId
this.prcNum = this.$store.getters.handleProcess.prcNum this.prcNum = this.$store.getters.handleProcess.prcNum
this.prcId = this.$store.getters.handleProcess.prcId this.prcId = this.$store.getters.handleProcess.prcId
this.prcName = this.$store.getters.handleProcess.prcName
this.prcName = JSON.stringify(this.prcName)
this.initShow = true this.initShow = true
this.formControlname = true this.formControlname = true
this.$set(this.processForm,'prcName',this.$route.query.prcName)
await this.getProcessDetail() await this.getProcessDetail()
let submitJson = JSON.parse(this.processOld.submitJson) let submitJson = JSON.parse(this.processOld.submitJson)
// this.applicationForm.applyReason = applyReason.applyReason // this.applicationForm.applyReason = applyReason.applyReason
this.processForm=JSON.parse(this.processOld.dataJson) this.processForm=JSON.parse(this.processOld.dataJson)
this.$set(this.assignForm,'oneApprove',submitJson.oneApprove) this.$set(this.assignForm,'oneApprove',submitJson.oneApprove)
this.$set(this.assignForm,'oneApproveName',submitJson.oneApproveName) this.$set(this.assignForm,'oneApproveName',submitJson.oneApproveName)
this.$set(this.assignForm,'twoApprove',submitJson.twoApprove)
this.$set(this.assignForm,'twoApproveName',submitJson.twoApproveName)
this.$set(this.assignForm,'remark',submitJson.remark)
} }
if (this.$route.query.type == 'yiban') { else if (this.$route.query.type == 'yiban') {
this.taskId = this.$store.getters.handleProcess.taskId this.taskId = this.$store.getters.handleProcess.taskId
this.prcNum = this.$store.getters.handleProcess.prcNum this.prcNum = this.$store.getters.handleProcess.prcNum
this.prcId = this.$store.getters.handleProcess.prcId this.prcId = this.$store.getters.handleProcess.prcId
this.prcName = this.$store.getters.handleProcess.prcName
this.formControl = true this.formControl = true
this.initShow = true this.initShow = true
this.showTableD = true this.showTableD = true
this.$set(this.processForm,'prcName', this.prcName)
this.getProcessDetail().then((res) => { this.getProcessDetail().then((res) => {
let submitJson = JSON.parse(this.processOld.submitJson) let submitJson = JSON.parse(this.processOld.submitJson)
this.processForm=JSON.parse(this.processOld.dataJson) this.processForm=JSON.parse(this.processOld.dataJson)
// this.applicationForm.applyReason = applyReason.applyReason // this.applicationForm.applyReason = applyReason.applyReason
this.$set(this.assignForm,'oneApprove',submitJson.oneApprove) this.$set(this.assignForm,'oneApprove',submitJson.oneApprove)
this.$set(this.assignForm,'oneApproveName',submitJson.oneApproveName) this.$set(this.assignForm,'oneApproveName',submitJson.oneApproveName)
this.$set(this.assignForm,'twoApprove',submitJson.twoApprove)
this.$set(this.assignForm,'twoApproveName',submitJson.twoApproveName)
this.$set(this.assignForm,'remark',submitJson.remark)
}) })
}else{
// 第一次进入此页面 需要清楚校验
this.isShowSave = true
this.$store.commit('setHandleProcess','')
this.handleReset()
} }
}, },
methods: { methods: {
handleReset() { handleReset() {
this.processForm.prcName = '' this.processForm={
if(this.$route.query.taskDefinitionKey == 'reEdit'){ departmentName:'',
this.processForm.prcName = this.prcName department:'',
name:'',
year:'',
labelList:'',
confidentialLevel:'',
secrecyLast:'',
privacyLevel:'',
tags:'',
mainContent:'',
fileId:'',
fileName:'',
} }
this.applicationForm = { this.applicationForm = {
applyReason: '', applyReason: '',
@@ -244,6 +204,7 @@ export default {
twoApprove: '' twoApprove: ''
} }
this.$nextTick(() => { this.$nextTick(() => {
this.$refs.applicationFormRef.clearValidate()
this.$refs.assignFormRef.clearValidate() this.$refs.assignFormRef.clearValidate()
}) })
@@ -283,25 +244,11 @@ export default {
} }
// console.log(this.assignForm.name1Id, this.assignForm.name2Id) // console.log(this.assignForm.name1Id, this.assignForm.name2Id)
}, },
// 获取表格列表 吧查询到的值传给子组件
reportList(ids) {
this.$api.permissionProcess.getReportLisy({
pageSize:1000,
pageNo:1,
ids: ids.split(',')
}).then(({data}) => {
this.tableData = data.records.map(item => {
item.reportId = item['id']
delete item['id']
return item
})
})
},
// 保存 // 保存
handleSave(){ handleSave(){
this.saveLoading = true this.saveLoading = true
let submitJson = JSON.stringify({...this.assignForm, userId: this.$store.getters.userInfo.usid,approvalOpinion:this.assignForm.remark}) let submitJson = JSON.stringify({...this.assignForm, userId: this.$store.getters.userInfo.usid})
let dataJson = JSON.stringify(this.processForm) let dataJson = JSON.stringify(this.processForm)
let params = { let params = {
prcName: this.processForm.prcName, prcName: this.processForm.prcName,
@@ -332,8 +279,8 @@ export default {
handleSubmit() { handleSubmit() {
console.log(this.$store.getters.userInfo.usid, " this.$store.getters.userInfo.USID") console.log(this.$store.getters.userInfo.usid, " this.$store.getters.userInfo.USID")
this.$refs.assignFormRef.validate(async v => { this.$refs.assignFormRef.validate(async v => {
debugger
this.processForm=this.$refs.basMes.form this.processForm=this.$refs.basMes.form
this.processForm.prcName=this.processForm.name
let z=this.$refs.basMes.submit() let z=this.$refs.basMes.submit()
if (v && z) { if (v && z) {
//如果不是第一次 //如果不是第一次
@@ -341,7 +288,7 @@ export default {
let flag=await this.JuggleSub(this.taskId) let flag=await this.JuggleSub(this.taskId)
if(flag){ if(flag){
let dataJson = JSON.stringify(this.processForm) let dataJson = JSON.stringify(this.processForm)
let submitJson = JSON.stringify({...this.assignForm, userId: this.$store.getters.userInfo.usid,approvalOpinion:this.assignForm.remark}) let submitJson = JSON.stringify({...this.assignForm, userId: this.$store.getters.userInfo.usid})
this.completeProcess({ this.completeProcess({
dataJson, dataJson,
submitJson, submitJson,
@@ -371,7 +318,7 @@ export default {
} }
form.approvalOpinion = this.assignForm.remark form.approvalOpinion = this.assignForm.remark
form.prcType = this.prcType form.prcType = this.prcType
form.prcName = this.processForm.prcName form.prcName = this.processForm.name
form.userId = this.$store.getters.userInfo.usid form.userId = this.$store.getters.userInfo.usid
form.bpnId = this.$store.getters.handleProcess?.id form.bpnId = this.$store.getters.handleProcess?.id
//...this.applicationForm,...this.processForm, //...this.applicationForm,...this.processForm,
@@ -137,7 +137,7 @@ export default {
} }
}) })
};break; };break;
case '2' : case '4' :
if (row.taskDefinitionKey == 'start' || row.taskDefinitionKey == 'reEdit') { if (row.taskDefinitionKey == 'start' || row.taskDefinitionKey == 'reEdit') {
this.$router.push({ this.$router.push({
path: '/reportprocess/launch', path: '/reportprocess/launch',
@@ -128,7 +128,7 @@ export default {
} }
}) })
};break; };break;
case '2' : case '4' :
if (row.taskDefinitionKey == 'start' || row.taskDefinitionKey == 'reEdit') { if (row.taskDefinitionKey == 'start' || row.taskDefinitionKey == 'reEdit') {
this.$router.push({ this.$router.push({
path: '/reportprocess/launch', path: '/reportprocess/launch',