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

# Conflicts:
#	src/pages/regulatoryRepository/systemSearch/components/DialogTable.vue
This commit is contained in:
zhoulingpo
2023-11-28 10:33:42 +08:00
29 changed files with 467 additions and 316 deletions
@@ -1,15 +1,14 @@
<template> <template>
<!--流程-审批历史--> <!--流程-审批历史-->
<div class="flow-list"> <div class="historyTable">
<el-table <el-table
height="100%" height="100%"
ref="selection" ref="selection"
:data="data" :data="histortData"
tooltip-effect="dark" tooltip-effect="dark"
style="width: 100%" style="width: 100%"
border border
row-key="id" row-key="id"
:no-data-text="listNoDataText"
:header-cell-style="{background: '#f8f8f9', color: '#515a6e'}" :header-cell-style="{background: '#f8f8f9', color: '#515a6e'}"
> >
<el-table-column <el-table-column
@@ -75,24 +74,37 @@
<script> <script>
export default { export default {
name: "ApprovalHistory", name: "ApprovalHistory",
props: { data() {
data: { return {
type: Array, histortData: [],
required: true loading: false
},
loading: {
type: Boolean,
default: false
} }
}, },
computed: { props: {
listNoDataText () { prcNum: {
return this.processType === 1 ? '暂无待办流程' : '暂无已办流程' type: String
}
},
methods: {
getHistoryData () {
this.$http.get('lawss/activiti/get_list_by_instance', {
prcNum: this.prcNum || this.$route.query.prcNum
}, {
loading: "loading",
_this: this
}, res => {
this.histortData = res
}, e => {})
}, },
}, },
mounted () {
this.getHistoryData()
}
} }
</script> </script>
<style scoped> <style scoped>
.historyTable {
height: 100%;
}
</style> </style>
@@ -1,6 +1,6 @@
<!-- 多选时间组件 --> <!-- 多选时间组件 -->
<template> <template>
<el-tooltip class="item" effect="dark" :content="label" placement="top-start"> <!--<el-tooltip class="item" effect="dark" :content="label" placement="top-start">-->
<el-form-item <el-form-item
:label="label" :label="label"
:prop="prop" :prop="prop"
@@ -48,7 +48,7 @@
</div> </div>
</div> </div>
</el-form-item> </el-form-item>
</el-tooltip> <!--</el-tooltip>-->
</template> </template>
<script> <script>
@@ -16,13 +16,8 @@
style="width: 100%;" style="width: 100%;"
:header-cell-style="{background: '#e8e8e8', color: '#333333', fontSize: '16px',fontWeight: 'bold', height: '48px'}" :header-cell-style="{background: '#e8e8e8', color: '#333333', fontSize: '16px',fontWeight: 'bold', height: '48px'}"
@selection-change="handleSelectionChange"> @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center"/> <el-table-column type="selection" width="50" align="center"/>
<el-table-column <el-table-column type="index" label="序号" width="50" align="center"></el-table-column>
type="index"
width="55"
label="序号"
align="center">
</el-table-column>
<template v-for="item in options"> <template v-for="item in options">
<el-table-column <el-table-column
:prop="item.prop" :prop="item.prop"
+6 -3
View File
@@ -7,6 +7,7 @@
drag drag
:action="action" :action="action"
ref="importfile" ref="importfile"
:headers="headers"
name="file" name="file"
accept=".ZIP, .zip" accept=".ZIP, .zip"
:before-upload="beginImportFile" :before-upload="beginImportFile"
@@ -41,6 +42,9 @@ export default {
name: "importZip", name: "importZip",
data () { data () {
return { return {
headers:{
token: JSON.parse(localStorage.getItem('userInfo')).token
},
importFailed: false, importFailed: false,
importForm: {} importForm: {}
} }
@@ -86,12 +90,11 @@ export default {
importFileSuccess(response, file) { importFileSuccess(response, file) {
if (response.ok) { if (response.ok) {
this.$emit('update:visible', false) this.$emit('update:visible', false)
// this.visible = false this.$emit('onSuccess')
this.$message({ this.$message({
message: response.message, message: response.message || response.data,
type: 'success' type: 'success'
}) })
this.getData()
} else { } else {
this.importFailed = true this.importFailed = true
this.importForm.content = response.message this.importForm.content = response.message
@@ -58,10 +58,12 @@
class="common-button-primary" class="common-button-primary"
icon="el-icon-check" icon="el-icon-check"
type="primary" type="primary"
:loading="btnLoading"
@click="handleSubmit">提交</el-button> @click="handleSubmit">提交</el-button>
<el-button <el-button
class="common-button-default" class="common-button-default"
icon="el-icon-close" icon="el-icon-close"
:loading="btnLoading"
@click="handleClose">取消</el-button> @click="handleClose">取消</el-button>
</div> </div>
</el-drawer> </el-drawer>
@@ -102,6 +104,7 @@ export default {
drawerVisible: false, drawerVisible: false,
addModel: {}, addModel: {},
loading: false, loading: false,
btnLoading: false,
rules rules
}; };
}, },
@@ -228,13 +231,17 @@ export default {
} }
}) })
if (!flag) return; if (!flag) return;
const config = {
_this: this,
loading: 'loading'
}
let res = {} let res = {}
switch (this.drawerTitle) { switch (this.drawerTitle) {
case '新增体系': case '新增体系':
res = await this.$http._postData(this.api.addMenuStandard,this.addModel) res = await this.$http._postData(this.api.addMenuStandard,this.addModel, config)
break break
case '编辑体系': case '编辑体系':
res = await this.$http._putData(this.api.updateMenuStandard, this.addModel) res = await this.$http._putData(this.api.updateMenuStandard, this.addModel, config)
break break
} }
if(res.ok){ if(res.ok){
@@ -70,10 +70,10 @@
<el-form-item> <el-form-item>
<el-button size="mini" type="primary" @click="selectEdit" v-btn-permission="'786a941b255a4fe4d13b7e67f100a4e5'"> <el-button size="mini" type="primary" @click="selectEdit" v-btn-permission="'786a941b255a4fe4d13b7e67f100a4e5'">
批量配置岗位 批量配置角色
</el-button> </el-button>
<el-button size="mini" type="primary" @click="selectEditOfOrg" v-btn-permission="'786a941b255a4fe4d13b7e67f100a4e5'"> <el-button size="mini" type="primary" @click="selectEditOfOrg" v-btn-permission="'786a941b255a4fe4d13b7e67f100a4e5'">
根据部门批量配置岗位 根据部门批量配置角色
</el-button> </el-button>
</el-form-item> </el-form-item>
</el-form> </el-form>
@@ -139,20 +139,28 @@
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="NameList" prop="roles"
label="所属岗位"> label="角色"
<template slot-scope="scope"> >
<el-popover trigger="hover" placement="top"> <template slot-scope="scope">
{{ scope.row.NameList }} {{getRoleName(scope.row.roles)}}
<div slot="reference" class="name-wrapper">
<p v-if="!scope.row.institutionName ||scope.row.NameList.length<15">
{{ scope.row.NameList }}
</p>
<p v-else> {{ scope.row.NameList.substring(0, 15) }}...</p>
</div>
</el-popover>
</template> </template>
</el-table-column> </el-table-column>
<!-- <el-table-column-->
<!-- prop="NameList"-->
<!-- label="所属岗位">-->
<!-- <template slot-scope="scope">-->
<!-- <el-popover trigger="hover" placement="top">-->
<!-- {{ scope.row.NameList }}-->
<!-- <div slot="reference" class="name-wrapper">-->
<!-- <p v-if="!scope.row.institutionName ||scope.row.NameList.length<15">-->
<!-- {{ scope.row.NameList }}-->
<!-- </p>-->
<!-- <p v-else> {{ scope.row.NameList.substring(0, 15) }}...</p>-->
<!-- </div>-->
<!-- </el-popover>-->
<!-- </template>-->
<!-- </el-table-column>-->
<el-table-column <el-table-column
label="状态" label="状态"
width="100px"> width="100px">
@@ -176,8 +184,8 @@
禁用 禁用
</el-dropdown-item> </el-dropdown-item>
<el-dropdown-item v-btn-permission="'ce2d2b9bb8004e0d9efcabc42a9f354d'" :command="[scope.row, '配置岗位']"> <el-dropdown-item v-btn-permission="'ce2d2b9bb8004e0d9efcabc42a9f354d'" :command="[scope.row, '配置角色']">
配置岗位 配置角色
</el-dropdown-item> </el-dropdown-item>
</el-dropdown-menu> </el-dropdown-menu>
</el-dropdown> </el-dropdown>
@@ -201,7 +209,7 @@
<el-form-item class="search-item" style="padding-left: 25px"> <el-form-item class="search-item" style="padding-left: 25px">
<el-input v-model="sarPost.name" <el-input v-model="sarPost.name"
size="small" size="small"
placeholder="岗位名称查找" placeholder="角色名称查找"
clearable></el-input> clearable></el-input>
</el-form-item> </el-form-item>
<el-form-item label="" class="search-item btn-box"> <el-form-item label="" class="search-item btn-box">
@@ -270,7 +278,7 @@ export default {
nodeList: [], nodeList: [],
modalPost: false, modalPost: false,
sarPost: { sarPost: {
name: "", // 岗位名称 name: "", // 角色名称
}, },
filterText: '', // 树结构检索条件 filterText: '', // 树结构检索条件
defaultProps: { defaultProps: {
@@ -290,13 +298,19 @@ export default {
Loading: false, Loading: false,
butionLoading: false, butionLoading: false,
id: '', id: '',
// 批量配置岗位勾选暂存 // 批量配置角色勾选暂存
manageData: [], manageData: [],
configOrgManage:false, configOrgManage:false,
drawerTitle: '配置岗位' drawerTitle: '配置角色'
} }
}, },
methods: { methods: {
getRoleName(roles){
let names=roles.map(item=>{
return item.name
})
return names.join(',')
},
clearAllSearch() { clearAllSearch() {
this.searchForm = { this.searchForm = {
uname: "", uname: "",
@@ -312,39 +326,39 @@ export default {
}, },
PostSubmit() { PostSubmit() {
this.butionLoading = true this.butionLoading = true
if (this.drawerTitle === '配置岗位') { if (this.drawerTitle === '配置角色') {
this.$http.postData('sarUser/user/position', { this.$http.postData('sarUser/user/role', {
positionIds: this.$refs.tree2.getCheckedKeys(), roleIds: this.$refs.tree2.getCheckedKeys(),
userId: this.userId userId: this.userId
}, {}, res => { }, {}, res => {
if (res.ok) { if (res.ok) {
this.butionLoading = false this.butionLoading = false
this.$message.success('配置岗位成功') this.$message.success('配置角色成功')
this.modalPost = false this.modalPost = false
this.getData() this.getData()
} }
}) })
} else if(this.configOrgManage){ } else if(this.configOrgManage){
//批量配置岗位信息 //批量配置角色信息
this.$http.postData('sarUser/user/positionBatchByOrgId', { this.$http.postData('sarUser/user/roleBatchByOrgId', {
positionIds: this.$refs.tree2.getCheckedKeys(), roleIds: this.$refs.tree2.getCheckedKeys(),
orgId: this.id orgId: this.id
}, {}, res => { }, {}, res => {
if (res.ok) { if (res.ok) {
this.butionLoading = false this.butionLoading = false
this.$message.success('批量配置岗位成功') this.$message.success('批量配置角色成功')
this.modalPost = false this.modalPost = false
this.getData() this.getData()
} }
}) })
}else{ }else{
this.$http.postData('sarUser/user/positionBatch', { this.$http.postData('sarUser/user/roleBatch', {
positionIds: this.$refs.tree2.getCheckedKeys(), roleIds: this.$refs.tree2.getCheckedKeys(),
userId: this.userId userId: this.userId
}, {}, res => { }, {}, res => {
if (res.ok) { if (res.ok) {
this.butionLoading = false this.butionLoading = false
this.$message.success('配置岗位成功') this.$message.success('配置角色成功')
this.modalPost = false this.modalPost = false
this.getData() this.getData()
} }
@@ -369,14 +383,14 @@ export default {
case '禁用': case '禁用':
this.disableFlagEdit(command[0], 1) this.disableFlagEdit(command[0], 1)
break break
case '配置岗位': case '配置角色':
this.postsConfigure(command[0]) this.postsConfigure(command[0])
break break
} }
}, },
getTree2() { getTree2() {
this.$http.get('sarPosition/position', { this.$http.get('sarRole/role/allPage', {
current: this.page1, current: this.page1,
pageSize: this.pageSize1, pageSize: this.pageSize1,
...this.sarPost, ...this.sarPost,
@@ -389,7 +403,7 @@ export default {
}, },
postsConfigure(row) { postsConfigure(row) {
this.configOrgManage = false this.configOrgManage = false
this.drawerTitle = '配置岗位' this.drawerTitle = '配置角色'
var arr = [] var arr = []
this.userId = row.userId this.userId = row.userId
row.positions.forEach((item) => { row.positions.forEach((item) => {
@@ -558,7 +572,7 @@ export default {
this.getTree2() this.getTree2()
}, },
/** 批量编辑岗位的勾选数据 */ /** 批量编辑角色的勾选数据 */
selectedData(val) { selectedData(val) {
this.manageData = val this.manageData = val
}, },
@@ -571,16 +585,16 @@ export default {
this.manageData.forEach(item=>{ this.manageData.forEach(item=>{
this.userId.push(item.userId) this.userId.push(item.userId)
}) })
this.drawerTitle = '批量配置岗位' this.drawerTitle = '批量配置角色'
this.modalPost = true this.modalPost = true
}else{ }else{
this.$message.warning('请选择需要批量配置岗位的角色') this.$message.warning('请选择需要批量配置的角色')
} }
}, },
selectEditOfOrg() { selectEditOfOrg() {
this.configOrgManage = true this.configOrgManage = true
this.getTree2() this.getTree2()
this.drawerTitle = '批量配置岗位' this.drawerTitle = '批量配置角色'
this.modalPost = true this.modalPost = true
}, },
+3 -1
View File
@@ -105,6 +105,7 @@
<el-button type="primary" @click="relateDialogClose()"> </el-button> <el-button type="primary" @click="relateDialogClose()"> </el-button>
</span> </span>
</el-dialog> </el-dialog>
<loading :loading="loading">数据获取中</loading>
</div> </div>
</template> </template>
@@ -124,6 +125,7 @@ export default {
// 更新记录 // 更新记录
relateDialog: false, relateDialog: false,
relateNowList: [], relateNowList: [],
loading: false
} }
}, },
created() { created() {
@@ -132,7 +134,7 @@ export default {
methods: { methods: {
getData () { getData () {
const id = this.$route.params.id const id = this.$route.params.id
this.$http._getData(this.url.getMeetingInfo, { meetingId: id }).then(res => { this.$http._getData(this.url.getMeetingInfo, { meetingId: id }, { _this: this, loading: 'loading' }).then(res => {
if (res.ok) { if (res.ok) {
if (res.data.meetingTopicList && res.data.meetingTopicList.length > 0) { if (res.data.meetingTopicList && res.data.meetingTopicList.length > 0) {
const activeNames = [] const activeNames = []
@@ -257,6 +257,7 @@
<el-button type="primary" @click="relateDialogClose()"> </el-button> <el-button type="primary" @click="relateDialogClose()"> </el-button>
</span> </span>
</el-dialog> </el-dialog>
<loading :loading="loading">数据获取中</loading>
</div> </div>
</template> </template>
@@ -276,6 +277,7 @@ export default {
// 更新记录 // 更新记录
relateDialog: false, relateDialog: false,
relateNowList: [], relateNowList: [],
loading: false
} }
}, },
created() { created() {
@@ -284,7 +286,7 @@ export default {
methods: { methods: {
getData () { getData () {
const id = this.$route.params.id const id = this.$route.params.id
this.$http._getData(this.url.getLawsTopicInfo, { id }).then(res => { this.$http._getData(this.url.getLawsTopicInfo, { id }, { _this: this, loading: 'loading' }).then(res => {
if (res.ok) { if (res.ok) {
const activeNames = [] const activeNames = []
res.data.meetingList.forEach((item, index) => { res.data.meetingList.forEach((item, index) => {
@@ -82,6 +82,7 @@
<el-button type="primary" @click="relateDialogClose()"> </el-button> <el-button type="primary" @click="relateDialogClose()"> </el-button>
</span> </span>
</el-dialog> </el-dialog>
<loading :loading="loading">数据获取中</loading>
</div> </div>
</template> </template>
@@ -105,6 +106,7 @@ export default {
// 更新记录 // 更新记录
relateDialog: false, relateDialog: false,
relateNowList: [], relateNowList: [],
loading: false,
} }
}, },
created() { created() {
@@ -133,7 +135,7 @@ export default {
getData () { getData () {
const id = this.$route.params.id const id = this.$route.params.id
this.$http._getData(this.url.getLawsInformationInfo, { id }).then(res => { this.$http._getData(this.url.getLawsInformationInfo, { id }, { _this: this, loading: 'loading' }).then(res => {
if (res.ok) { if (res.ok) {
this.$set(this, 'form', res.data) this.$set(this, 'form', res.data)
} }
+17 -18
View File
@@ -649,26 +649,25 @@ export default {
case '重新起草': case '重新起草':
params.type = 'step1_1' params.type = 'step1_1'
break break
case '32': {
name = 'policyRegulatoryMaterials'
switch (row.taskInfo) {
case '批准':
params.type = 'step2'
break
case '重新起草':
params.type = 'step1_1'
break
}
} }
break
case '33':
name = 'policyConsultation'
break
case '34':
name = 'policyComplianceReview'
break
}
break break
case '32':
name = 'policyRegulatoryMaterials'
switch (row.taskInfo) {
case '批准':
params.type = 'step2'
break
case '重新起草':
params.type = 'step1_1'
break
}
break
case '33':
name = 'policyConsultation'
break
case '34':
name = 'policyComplianceReview'
break
} }
this.$router.push({ name, query, params }) this.$router.push({ name, query, params })
}, },
@@ -177,7 +177,7 @@
</div> </div>
<div class="drawer-footer"> <div class="drawer-footer">
<el-button icon="el-icon-check" type="primary" @click="onSubmit" :loading="isSubmit">提交</el-button> <el-button icon="el-icon-check" type="primary" @click="onSubmit" :loading="isSubmit">提交</el-button>
<el-button icon="el-icon-close" @click="onClose">取消</el-button> <el-button icon="el-icon-close" @click="onClose" :loading="isSubmit">取消</el-button>
</div> </div>
<TopicsTable ref="TopicsTableRef" @dragIn="dragIn"></TopicsTable> <TopicsTable ref="TopicsTableRef" @dragIn="dragIn"></TopicsTable>
</el-drawer> </el-drawer>
@@ -352,6 +352,7 @@ export default {
onSubmit () { onSubmit () {
this.$refs.formRef.validate(valid => { this.$refs.formRef.validate(valid => {
if (valid) { if (valid) {
this.isSubmit = true
if (this.title === '新增') { if (this.title === '新增') {
this.$http._postData(this.api.add, this.form).then(res => { this.$http._postData(this.api.add, this.form).then(res => {
if (res.ok) { if (res.ok) {
@@ -359,6 +360,8 @@ export default {
this.onClose() this.onClose()
this.$emit('load') this.$emit('load')
} }
}).finally(() => {
this.isSubmit = false
}) })
} else { } else {
this.$http._putData(this.api.update, this.form).then(res => { this.$http._putData(this.api.update, this.form).then(res => {
@@ -367,6 +370,8 @@ export default {
this.onClose() this.onClose()
this.$emit('load') this.$emit('load')
} }
}).finally(() => {
this.isSubmit = false
}) })
} }
} }
+2 -5
View File
@@ -150,14 +150,11 @@
</el-table-column> </el-table-column>
<el-table-column <el-table-column
show-overflow-tooltip show-overflow-tooltip
prop="agendaName" prop="agendaNameStr"
label="议题名称" label="议题名称"
align="center" align="center"
sortable="custom" sortable="custom"
> >
<template slot-scope="scope">
<span>{{ scope.row.meetingTopicList.map(item => item.agendaName).join(',') }}</span>
</template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
v-if="isPermission('62cdf3d570941c154d28371632ccfa2e,71155d105e930bb8e7881a8a9809646a') > 0" v-if="isPermission('62cdf3d570941c154d28371632ccfa2e,71155d105e930bb8e7881a8a9809646a') > 0"
@@ -179,7 +176,7 @@
<!-- 新增编辑 --> <!-- 新增编辑 -->
<editDrawer ref="editDrawerRef" :dict="dict" :showDrawer.sync="showDrawer" :title="titleDrawer" :editForm="editForm" @load="getData"></editDrawer> <editDrawer ref="editDrawerRef" :dict="dict" :showDrawer.sync="showDrawer" :title="titleDrawer" :editForm="editForm" @load="getData"></editDrawer>
<!-- 导入 --> <!-- 导入 -->
<ImportZip :visible.sync="importModalShowFlag" :action="importExcelUrl"></ImportZip> <ImportZip :visible.sync="importModalShowFlag" :action="importExcelUrl" @onSuccess="getData"></ImportZip>
<!-- 导出 --> <!-- 导出 -->
<ExportDialog ref="exportDialogRef" @exportName="handleExport"></ExportDialog> <ExportDialog ref="exportDialogRef" @exportName="handleExport"></ExportDialog>
</div> </div>
@@ -50,10 +50,12 @@
class="common-button-primary" class="common-button-primary"
icon="el-icon-check" icon="el-icon-check"
type="primary" type="primary"
:loading="loading"
@click="saveProduct('productModelAdd')">提交</el-button> @click="saveProduct('productModelAdd')">提交</el-button>
<el-button <el-button
class="common-button-default" class="common-button-default"
icon="el-icon-close" icon="el-icon-close"
:loading="loading"
@click="closeDrawer">取消</el-button> @click="closeDrawer">取消</el-button>
</div> </div>
</el-drawer> </el-drawer>
@@ -93,6 +95,7 @@ export default {
{type: 'string', max: 500, message: '最多输入500位', trigger: 'blur'} {type: 'string', max: 500, message: '最多输入500位', trigger: 'blur'}
], ],
}, },
loading: false,
} }
}, },
methods: { methods: {
@@ -150,7 +153,8 @@ export default {
this.productModelAdd.validFlag = '0' this.productModelAdd.validFlag = '0'
if (this.modalType === 1) { if (this.modalType === 1) {
this.$http.postData('sarResource/ts-resource/add', this.productModelAdd, { this.$http.postData('sarResource/ts-resource/add', this.productModelAdd, {
_this: this _this: this,
loading: 'loading'
}, res => { }, res => {
if (res.ok) { if (res.ok) {
this.$emit('selectMenuList') this.$emit('selectMenuList')
@@ -161,7 +165,8 @@ export default {
}, e => {}) }, e => {})
} else if (this.modalType === 2) { } else if (this.modalType === 2) {
this.$http.putData('sarResource/ts-resource', this.productModelAdd, { this.$http.putData('sarResource/ts-resource', this.productModelAdd, {
_this: this _this: this,
loading: 'loading'
}, res => { }, res => {
this.$emit('selectMenuList') this.$emit('selectMenuList')
this.closeDrawer() this.closeDrawer()
@@ -259,7 +259,7 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="备注(最终政策发布)" prop="lawsRemark" label-width="150px" class="add-form-item"> <el-form-item label="备注(最终政策发布)" prop="lawsRemark" label-width="150px" class="add-form-item" title="备注(最终政策发布)">
<el-input v-model="sarLawsStandEO.lawsRemark" <el-input v-model="sarLawsStandEO.lawsRemark"
placeholder="请输入备注(最终政策发布)" placeholder="请输入备注(最终政策发布)"
clearable></el-input> clearable></el-input>
@@ -541,7 +541,7 @@
</div> </div>
<div class="drawer-footer"> <div class="drawer-footer">
<el-button icon="el-icon-check" type="primary" @click="saveOrUpdateStands" :loading="isSubmit">提交</el-button> <el-button icon="el-icon-check" type="primary" @click="saveOrUpdateStands" :loading="isSubmit">提交</el-button>
<el-button icon="el-icon-close" @click="resetForm">取消</el-button> <el-button icon="el-icon-close" @click="resetForm" :loading="isSubmit">取消</el-button>
</div> </div>
</el-drawer> </el-drawer>
<Role-tree <Role-tree
@@ -330,7 +330,7 @@
</div> </div>
<div class="drawer-footer"> <div class="drawer-footer">
<el-button icon="el-icon-check" type="primary" @click="onSubmit" :loading="isSubmit">提交</el-button> <el-button icon="el-icon-check" type="primary" @click="onSubmit" :loading="isSubmit">提交</el-button>
<el-button icon="el-icon-close" @click="onClose">取消</el-button> <el-button icon="el-icon-close" @click="onClose" :loading="isSubmit">取消</el-button>
</div> </div>
</el-drawer> </el-drawer>
</template> </template>
@@ -538,6 +538,7 @@ export default {
onSubmit () { onSubmit () {
this.$refs.formRef.validate(valid => { this.$refs.formRef.validate(valid => {
if (valid) { if (valid) {
this.isSubmit = true
if (this.title === '新增') { if (this.title === '新增') {
this.$http._postData(this.api.add, this.form).then(res => { this.$http._postData(this.api.add, this.form).then(res => {
if (res.ok) { if (res.ok) {
@@ -545,6 +546,8 @@ export default {
this.onClose() this.onClose()
this.$emit('load') this.$emit('load')
} }
}).finally(() => {
this.isSubmit = false
}) })
} else { } else {
this.$http._putData(this.api.update, this.form).then(res => { this.$http._putData(this.api.update, this.form).then(res => {
@@ -553,6 +556,8 @@ export default {
this.onClose() this.onClose()
this.$emit('load') this.$emit('load')
} }
}).finally(() => {
this.isSubmit = false
}) })
} }
} }
@@ -181,7 +181,7 @@
<!-- 新增编辑 --> <!-- 新增编辑 -->
<editDrawer ref="editDrawerRef" :showDrawer.sync="showDrawer" :title="titleDrawer" :editForm="editForm" @load="getData"></editDrawer> <editDrawer ref="editDrawerRef" :showDrawer.sync="showDrawer" :title="titleDrawer" :editForm="editForm" @load="getData"></editDrawer>
<!-- 导入 --> <!-- 导入 -->
<ImportZip :visible.sync="importModalShowFlag" :action="importExcelUrl"></ImportZip> <ImportZip :visible.sync="importModalShowFlag" :action="importExcelUrl" @onSuccess="getData"></ImportZip>
<!-- 导出 --> <!-- 导出 -->
<ExportDialog ref="exportDialogRef" @exportName="handleExport"></ExportDialog> <ExportDialog ref="exportDialogRef" @exportName="handleExport"></ExportDialog>
</div> </div>
@@ -133,7 +133,7 @@
<el-table-column <el-table-column
show-overflow-tooltip show-overflow-tooltip
prop="firstTypeName" prop="firstTypeName"
label="1级资料类" label="1级资料类"
align="center" align="center"
sortable="custom" sortable="custom"
> >
@@ -141,7 +141,7 @@
<el-table-column <el-table-column
show-overflow-tooltip show-overflow-tooltip
prop="secondTypeName" prop="secondTypeName"
label="2级资料类" label="2级资料类"
align="center" align="center"
sortable="custom" sortable="custom"
> >
@@ -199,7 +199,7 @@
<!-- 新增编辑 --> <!-- 新增编辑 -->
<editDrawer ref="editDrawerRef" :dict="dict" @load="getData"></editDrawer> <editDrawer ref="editDrawerRef" :dict="dict" @load="getData"></editDrawer>
<!-- 导入 --> <!-- 导入 -->
<ImportZip :visible.sync="importModalShowFlag" :action="importExcelUrl"></ImportZip> <ImportZip :visible.sync="importModalShowFlag" :action="importExcelUrl" @onSuccess="getData"></ImportZip>
<!-- 导出 --> <!-- 导出 -->
<ExportDialog ref="exportDialogRef" @exportName="handleExport"></ExportDialog> <ExportDialog ref="exportDialogRef" @exportName="handleExport"></ExportDialog>
</div> </div>
@@ -89,11 +89,13 @@
class="common-button-primary" class="common-button-primary"
icon="el-icon-check" icon="el-icon-check"
type="primary" type="primary"
:loading="loading"
@click="handleSubmit">提交 @click="handleSubmit">提交
</el-button> </el-button>
<el-button <el-button
class="common-button-default" class="common-button-default"
icon="el-icon-close" icon="el-icon-close"
:loading="loading"
@click="handleCancel">取消 @click="handleCancel">取消
</el-button> </el-button>
</div> </div>
@@ -123,10 +125,12 @@ export default {
}, },
DrawerRules: { DrawerRules: {
name: [ name: [
{required: true, message: '目录名称不能为空', trigger: 'change'} {required: true, message: '目录名称不能为空', trigger: 'change'},
{type: 'string', max: 100, message: '最多输入100位'}
], ],
sort: [ sort: [
{required: true, message: '目录顺序不能为空', trigger: 'change'} {required: true, message: '目录顺序不能为空且为正整数', trigger: 'change'},
{type: 'string', validator: this.verify.validStandNumInCompile2, trigger: 'blur'}
] ]
}, },
@@ -135,7 +139,8 @@ export default {
addTreeNode: 'lawss/sarLawsInformation/tree/addTreeNode', addTreeNode: 'lawss/sarLawsInformation/tree/addTreeNode',
updateTreeNode: 'lawss/sarLawsInformation/tree/updateTreeNode', updateTreeNode: 'lawss/sarLawsInformation/tree/updateTreeNode',
deleteTreeNode: 'lawss/sarLawsInformation/tree/deleteTreeNode', deleteTreeNode: 'lawss/sarLawsInformation/tree/deleteTreeNode',
} },
loading: false,
} }
}, },
created() { created() {
@@ -219,7 +224,11 @@ export default {
if (valid) { if (valid) {
let method = this.DrawerTitle === '新增目录' ? '_postData' : '_putData' let method = this.DrawerTitle === '新增目录' ? '_postData' : '_putData'
let url = this.DrawerTitle === '新增目录' ? this.url.addTreeNode : this.url.updateTreeNode let url = this.DrawerTitle === '新增目录' ? this.url.addTreeNode : this.url.updateTreeNode
this.$http[method](url, this.DrawerModel).then(res => { const config = {
_this: this,
loading: 'loading',
}
this.$http[method](url, this.DrawerModel, config).then(res => {
if (res.ok) { if (res.ok) {
this.$message.success('操作成功') this.$message.success('操作成功')
this.getMenuList() this.getMenuList()
@@ -143,7 +143,7 @@
</div> </div>
<div class="drawer-footer"> <div class="drawer-footer">
<el-button icon="el-icon-check" type="primary" @click="onSubmit" :loading="isSubmit">提交</el-button> <el-button icon="el-icon-check" type="primary" @click="onSubmit" :loading="isSubmit">提交</el-button>
<el-button icon="el-icon-close" @click="onClose">取消</el-button> <el-button icon="el-icon-close" @click="onClose" :loading="isSubmit">取消</el-button>
</div> </div>
<Role-tree <Role-tree
:is-title="choiceTitle" :is-title="choiceTitle"
@@ -270,6 +270,7 @@ export default {
onSubmit () { onSubmit () {
this.$refs.formRef.validate(valid => { this.$refs.formRef.validate(valid => {
if (valid) { if (valid) {
this.isSubmit = true
if (this.title === '新增') { if (this.title === '新增') {
this.$http._postData(this.url.add, this.form, { _this: this, loading: 'isSubmit' }).then(res => { this.$http._postData(this.url.add, this.form, { _this: this, loading: 'isSubmit' }).then(res => {
if (res.ok) { if (res.ok) {
@@ -277,6 +278,8 @@ export default {
this.onClose() this.onClose()
this.$emit('load') this.$emit('load')
} }
}).finally(() => {
this.isSubmit = false
}) })
} else { } else {
this.$http._putData(this.url.update, this.form,{ _this: this, loading: 'isSubmit' }).then(res => { this.$http._putData(this.url.update, this.form,{ _this: this, loading: 'isSubmit' }).then(res => {
@@ -285,6 +288,8 @@ export default {
this.onClose() this.onClose()
this.$emit('load') this.$emit('load')
} }
}).finally(() => {
this.isSubmit = false
}) })
} }
} }
@@ -136,8 +136,8 @@
<businessDivisionList v-if="isBusinessDivisionList" ref="businessDivisionListRef"/> <businessDivisionList v-if="isBusinessDivisionList" ref="businessDivisionListRef"/>
<productPlanningList v-if="isProductPlanningList" ref="productPlanningListRef"/> <productPlanningList v-if="isProductPlanningList" ref="productPlanningListRef"/>
</div> </div>
<el-collapse accordion v-if="showCommentText"> <el-collapse accordion v-if="showCommentText" v-model="activeName">
<el-collapse-item title="意见填写"> <el-collapse-item title="意见填写" name="1">
<div style="margin: 10px 0;"> <div style="margin: 10px 0;">
<el-input type="textarea" <el-input type="textarea"
:rows="3" :rows="3"
@@ -152,9 +152,9 @@
<div class="content" v-show="showPersonnel && active === '2'"> <div class="content" v-show="showPersonnel && active === '2'">
<personnelInformation ref="personnelInformationRef"/> <personnelInformation ref="personnelInformationRef"/>
</div> </div>
<div class="content" v-show="showApprovalHistory && active === '3'" <div class="content" v-if="showApprovalHistory && active === '3'"
style="padding-top: 20px"> style="padding-top: 20px">
<approvalHistory/> <ApprovalHistory/>
</div> </div>
<ProcessFooter :show-submit="showSubmit" <ProcessFooter :show-submit="showSubmit"
:show-save="showSave" :show-save="showSave"
@@ -191,6 +191,7 @@
import ProcessFooter from "../../components/ProcessFooter"; import ProcessFooter from "../../components/ProcessFooter";
import processFile from "../../components/processFile"; import processFile from "../../components/processFile";
import approvalHistory from "./components/approvalHistory";//审批历史 import approvalHistory from "./components/approvalHistory";//审批历史
import ApprovalHistory from "@/components/hzwlComponents/ApprovalHistory";
import personnelInformation from "./components/personnelInformation";//人员信息 import personnelInformation from "./components/personnelInformation";//人员信息
import fetchList from "./components/fetchList";//未选择责任人时的列表 import fetchList from "./components/fetchList";//未选择责任人时的列表
import businessDivisionList from "./components/businessDivisionList";//责任人为事业部时的列表 import businessDivisionList from "./components/businessDivisionList";//责任人为事业部时的列表
@@ -213,6 +214,7 @@
ProcessFooter, ProcessFooter,
processFile, processFile,
approvalHistory, approvalHistory,
ApprovalHistory,
personnelInformation, personnelInformation,
fetchList, fetchList,
businessDivisionList, businessDivisionList,
@@ -260,6 +262,7 @@
isReject: false, isReject: false,
roleForm: {}, roleForm: {},
departmentList: [], departmentList: [],
activeName: '1'
} }
}, },
computed: { computed: {
@@ -212,8 +212,8 @@
</el-form> </el-form>
<solicitationList v-if="showSolicitation" ref="solicitationListRef"/> <solicitationList v-if="showSolicitation" ref="solicitationListRef"/>
</div> </div>
<el-collapse accordion v-if="showCommentText"> <el-collapse accordion v-if="showCommentText" v-model="activeName">
<el-collapse-item title="意见填写"> <el-collapse-item title="意见填写" name="1">
<div style="margin: 10px 0;"> <div style="margin: 10px 0;">
<el-input type="textarea" <el-input type="textarea"
:rows="3" :rows="3"
@@ -228,9 +228,9 @@
<div class="content" v-show="showPersonnel && active === '2'"> <div class="content" v-show="showPersonnel && active === '2'">
<personnelInformation ref="personnelInformationRef"/> <personnelInformation ref="personnelInformationRef"/>
</div> </div>
<div class="content" v-show="showApprovalHistory && active === '3'" <div class="content" v-if="showApprovalHistory && active === '3'"
style="padding-top: 20px"> style="padding-top: 20px">
<approvalHistory/> <ApprovalHistory/>
</div> </div>
<ProcessFooter :show-submit="showSubmit" <ProcessFooter :show-submit="showSubmit"
:show-save="showSave" :show-save="showSave"
@@ -268,6 +268,7 @@
import ProcessTitle from "../../components/ProcessTitle"; import ProcessTitle from "../../components/ProcessTitle";
import ProcessFooter from "../../components/ProcessFooter"; import ProcessFooter from "../../components/ProcessFooter";
import approvalHistory from "./components/approvalHistory";//审批历史 import approvalHistory from "./components/approvalHistory";//审批历史
import ApprovalHistory from "@/components/hzwlComponents/ApprovalHistory";
import personnelInformation from "./components/personnelInformation";//人员信息 import personnelInformation from "./components/personnelInformation";//人员信息
import solicitationList from "./components/solicitationList";//征求意见列表 import solicitationList from "./components/solicitationList";//征求意见列表
import policySolicitingOpinions from "./components/policySolicitingOpinions"; import policySolicitingOpinions from "./components/policySolicitingOpinions";
@@ -289,6 +290,7 @@
ProcessTitle, ProcessTitle,
ProcessFooter, ProcessFooter,
approvalHistory, approvalHistory,
ApprovalHistory,
personnelInformation, personnelInformation,
solicitationList, solicitationList,
policySolicitingOpinions, policySolicitingOpinions,
@@ -347,6 +349,7 @@
selectType: '', selectType: '',
roleForm: {}, roleForm: {},
bpnId: this.$route.query.bpnId, bpnId: this.$route.query.bpnId,
activeName: '1'
} }
}, },
computed: { computed: {
@@ -43,9 +43,7 @@
<div class="block" style="padding-top: 20px;" v-show="active === '2'"> <div class="block" style="padding-top: 20px;" v-show="active === '2'">
<PersonInfo ref="roleForm" :roleForm="roleForm" :roleRules="roleRules" :disabled="disabled"></PersonInfo> <PersonInfo ref="roleForm" :roleForm="roleForm" :roleRules="roleRules" :disabled="disabled"></PersonInfo>
</div> </div>
<div class="block" style="padding-top: 20px;" v-show="active === '3'"> <ApprovalHistory v-if="active === '3'"></ApprovalHistory>
<ApprovalHistory :data="processData" :loading="processLoading"></ApprovalHistory>
</div>
</el-form> </el-form>
</div> </div>
<ProcessFooter <ProcessFooter
@@ -58,6 +56,7 @@
@submit="handleSubmit" @submit="handleSubmit"
> >
</ProcessFooter> </ProcessFooter>
<loading :loading="loading">数据获取中</loading>
</div> </div>
</template> </template>
@@ -183,16 +182,14 @@ export default {
roleForm, roleForm,
roleRules, roleRules,
dict: {}, dict: {},
// 审批历史
processData: [],
processLoading: false,
showProcess: false, showProcess: false,
loading: false
} }
}, },
created() { created() {
this.getDicTypeListCode() this.getDicTypeListCode()
this.getData() this.getData()
this.processTable()
}, },
methods: { methods: {
handleTabs(tab) { handleTabs(tab) {
@@ -232,6 +229,7 @@ export default {
this.title = '重新起草' this.title = '重新起草'
} }
this.showProcess = true this.showProcess = true
this.loading = true
inboundLiaisonDetail({ inboundLiaisonDetail({
taskIds, taskIds,
pId: prcId pId: prcId
@@ -251,36 +249,40 @@ export default {
this.reloadForm = true this.reloadForm = true
}) })
} }
}).finally(() => {
this.loading = false
}) })
return; return;
} }
// 根据草稿查询流程详情 // 根据草稿查询流程详情
if(bpnId) { if(bpnId) {
this.loading = true
queryTaskFirst({ bpnId }).then(res => { queryTaskFirst({ bpnId }).then(res => {
this.reloadForm = false this.reloadForm = false
let mes = JSON.parse(res.mes) if (mes.form) {
this.$set(this, 'form', mes.form) // 驳回
let mes = JSON.parse(res.mes)
this.$set(this, 'form', mes.form)
} else {
// 撤回
this.form = JSON.parse(JSON.stringify(mes))
this.roleForm = {
applyUserId: mes.applyUserId,
applyUserName: mes.applyUserName,
jlUserId: mes.jlUserId,
jlUserName: mes.jlUserName,
}
}
this.roleForm = mes.roleForm this.roleForm = mes.roleForm
this.$nextTick(() => { this.$nextTick(() => {
this.reloadForm = true this.reloadForm = true
}) })
}).finally(() => {
this.loading = false
}) })
} }
}, },
// 审批历史
processTable () {
if (this.$route.query.prcNum) {
this.$http.get('lawss/activiti/get_list_by_instance', {
prcNum: this.$route.query.prcNum
}, {
loading: 'processLoading',
_this: this
}, res => {
this.$set(this, 'processData', res)
}, e => {})
}
},
//保存 //保存
handleSave() { handleSave() {
this.footerLoading = true this.footerLoading = true
@@ -424,6 +426,10 @@ export default {
flex-direction: column; flex-direction: column;
justify-content: space-between; justify-content: space-between;
height: calc(~'100% - 103px'); height: calc(~'100% - 103px');
overflow: auto; //overflow: auto;
.label-input-form {
overflow-y: auto;
min-height: 100%;
}
} }
</style> </style>
@@ -39,9 +39,7 @@
</div> </div>
<ReceiptDescription v-model="form.commentText" prop="commentText" title="审批意见"></ReceiptDescription> <ReceiptDescription v-model="form.commentText" prop="commentText" title="审批意见"></ReceiptDescription>
</div> </div>
<div class="block" style="padding-top: 20px;" v-show="active === '3'"> <ApprovalHistory v-if="active === '3'"></ApprovalHistory>
<ApprovalHistory :data="processData" :loading="processLoading"></ApprovalHistory>
</div>
</el-form> </el-form>
</div> </div>
<ProcessFooter <ProcessFooter
@@ -62,6 +60,7 @@
@checkedRole="checkedRole" @checkedRole="checkedRole"
:nodeList="nodeList" :nodeList="nodeList"
></Role-tree> ></Role-tree>
<loading :loading="loading">数据获取中</loading>
</div> </div>
</template> </template>
@@ -186,20 +185,17 @@ export default {
roleRules, roleRules,
dict: {}, dict: {},
// 审批历史
processData: [],
processLoading: false,
// 选人抽屉 // 选人抽屉
drawerModal: false, drawerModal: false,
drawerTitle: '', drawerTitle: '',
nodeList: [], nodeList: [],
loading: false
} }
}, },
created() { created() {
this.getDicTypeListCode() this.getDicTypeListCode()
this.getData() this.getData()
this.processTable()
}, },
methods: { methods: {
handleTabs(tab) { handleTabs(tab) {
@@ -227,6 +223,7 @@ export default {
}, },
getData() { getData() {
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
this.loading = true
inboundLiaisonDetail({ inboundLiaisonDetail({
taskIds: this.$route.query.taskIds, taskIds: this.$route.query.taskIds,
pId: this.$route.query.prcId pId: this.$route.query.prcId
@@ -240,21 +237,11 @@ export default {
this.reloadForm = true this.reloadForm = true
}) })
} }
}).catch(e => { }).finally(() => {
this.loading = false
}) })
}) })
}, },
// 审批历史
processTable () {
this.$http._getData('lawss/activiti/get_list_by_instance',{
prcNum: this.$route.query.prcNum
},{
loading: 'processLoading',
_this: this
}).then(res => {
this.$set(this, 'processData', res)
})
},
handleTransfer() { handleTransfer() {
this.drawerModal = true this.drawerModal = true
this.drawerTitle = '转办处理人' this.drawerTitle = '转办处理人'
@@ -388,6 +375,10 @@ export default {
flex-direction: column; flex-direction: column;
justify-content: space-between; justify-content: space-between;
height: calc(~'100% - 103px'); height: calc(~'100% - 103px');
overflow: auto; //overflow: auto;
.label-input-form {
overflow-y: auto;
min-height: 100%;
}
} }
</style> </style>
@@ -97,9 +97,7 @@
<div class="block" style="padding-top: 20px;" v-show="active === '2'"> <div class="block" style="padding-top: 20px;" v-show="active === '2'">
<PersonInfo ref="roleForm" :roleForm="roleForm" :roleRules="roleRules" :disabled="disabled"></PersonInfo> <PersonInfo ref="roleForm" :roleForm="roleForm" :roleRules="roleRules" :disabled="disabled"></PersonInfo>
</div> </div>
<div class="block" style="padding-top: 20px;" v-show="active === '3'"> <ApprovalHistory v-if="active === '3'"></ApprovalHistory>
<ApprovalHistory :data="processData" :loading="processLoading"></ApprovalHistory>
</div>
</el-form> </el-form>
</div> </div>
<ProcessFooter <ProcessFooter
@@ -124,6 +122,7 @@
@checkedRole="checkedRole" @checkedRole="checkedRole"
:nodeList="nodeList" :nodeList="nodeList"
></Role-tree> ></Role-tree>
<loading :loading="loading">数据获取中</loading>
</div> </div>
</template> </template>
@@ -214,9 +213,6 @@ export default {
rules, rules,
roleForm, roleForm,
roleRules, roleRules,
// 审批历史
processData: [],
processLoading: false,
showProcess: false, showProcess: false,
// 底部按钮 // 底部按钮
showProcessFooter: true, showProcessFooter: true,
@@ -228,14 +224,15 @@ export default {
drawerModal: false, drawerModal: false,
drawerTitle: '', drawerTitle: '',
nodeList: [], nodeList: [],
dict: {}
dict: {},
loading: false
} }
}, },
created() { created() {
this.getDicTypeListCode() this.getDicTypeListCode()
this.setAuth() this.setAuth()
this.getData() this.getData()
this.processTable()
}, },
methods: { methods: {
handleTabs (tab) { handleTabs (tab) {
@@ -297,6 +294,7 @@ export default {
const { bpnId, taskIds, prcId } = this.$route.query const { bpnId, taskIds, prcId } = this.$route.query
if (taskIds) { if (taskIds) {
this.loading = true
inboundLiaisonDetail({ inboundLiaisonDetail({
taskIds, taskIds,
pId: prcId pId: prcId
@@ -316,36 +314,40 @@ export default {
this.reloadForm = true this.reloadForm = true
}) })
} }
}).finally(() => {
this.loading = false
}) })
return; return;
} }
// 根据草稿查询流程详情 // 根据草稿查询流程详情
if(bpnId) { if(bpnId) {
this.loading = true
queryTaskFirst({ bpnId }).then(res => { queryTaskFirst({ bpnId }).then(res => {
this.reloadForm = false this.reloadForm = false
let mes = JSON.parse(res.mes) let mes = JSON.parse(res.mes)
this.$set(this, 'form', mes.form) if (mes.form) {
this.roleForm = mes.roleForm // 驳回
this.$set(this, 'form', mes.form)
this.roleForm = mes.roleForm
} else {
// 撤回
this.form = JSON.parse(JSON.stringify(mes))
this.roleForm = {
applyUserId: mes.applyUserId,
applyUserName: mes.applyUserName,
approverId: mes.approverId,
approverName: mes.approverName
}
}
this.$nextTick(() => { this.$nextTick(() => {
this.reloadForm = true this.reloadForm = true
}) })
}).finally(() => {
this.loading = false
}) })
} }
}, },
// 审批历史
processTable () {
if (this.$route.query.prcNum) {
this.$http.get('lawss/activiti/get_list_by_instance', {
prcNum: this.$route.query.prcNum
}, {
loading: 'processLoading',
_this: this
}, res => {
this.$set(this, 'processData', res)
}, e => {})
}
},
//保存 //保存
handleSave() { handleSave() {
this.footerLoading = true this.footerLoading = true
@@ -553,6 +555,10 @@ export default {
flex-direction: column; flex-direction: column;
justify-content: space-between; justify-content: space-between;
height: calc(~'100% - 103px'); height: calc(~'100% - 103px');
overflow: auto; //overflow: auto;
.label-input-form {
overflow-y: auto;
min-height: 100%;
}
} }
</style> </style>
@@ -71,9 +71,7 @@
<div class="block" style="padding-top: 20px;" v-show="active === '2'"> <div class="block" style="padding-top: 20px;" v-show="active === '2'">
<PersonInfo ref="roleForm" :roleForm="roleForm" :roleRules="roleRules" :disabled="disabled"></PersonInfo> <PersonInfo ref="roleForm" :roleForm="roleForm" :roleRules="roleRules" :disabled="disabled"></PersonInfo>
</div> </div>
<div class="block" style="padding-top: 20px;" v-show="active === '3'"> <ApprovalHistory v-if="active === '3'"></ApprovalHistory>
<ApprovalHistory :data="processData" :loading="processLoading"></ApprovalHistory>
</div>
</el-form> </el-form>
</div> </div>
<ProcessFooter <ProcessFooter
@@ -99,6 +97,7 @@
@checkedRole="checkedRole" @checkedRole="checkedRole"
:nodeList="nodeList" :nodeList="nodeList"
></Role-tree> ></Role-tree>
<loading :loading="loading">数据获取中</loading>
</div> </div>
</template> </template>
@@ -313,15 +312,14 @@ export default {
roleForm, roleForm,
roleRules, roleRules,
options, options,
// 审批历史
processData: [],
processLoading: false,
showProcess: false, // 审批历史 showProcess: false, // 审批历史
// 福田全公司选人解决方案 // 福田全公司选人解决方案
drawerModal: false, drawerModal: false,
drawerTitle: '', drawerTitle: '',
nodeList: [], nodeList: [],
loading: false
} }
}, },
watch: { watch: {
@@ -335,7 +333,6 @@ export default {
created() { created() {
this.setAuth() this.setAuth()
this.getData() this.getData()
this.processTable()
}, },
methods: { methods: {
handleTabs(tab) { handleTabs(tab) {
@@ -448,6 +445,7 @@ export default {
const { bpnId, taskIds, prcId } = this.$route.query const { bpnId, taskIds, prcId } = this.$route.query
if (taskIds) { if (taskIds) {
this.loading = true
inboundLiaisonDetail({ inboundLiaisonDetail({
taskIds, taskIds,
pId: prcId pId: prcId
@@ -471,36 +469,44 @@ export default {
this.reloadForm = true this.reloadForm = true
}) })
} }
}).finally(() => {
this.loading = false
}) })
return; return;
} }
// 根据草稿查询流程详情 // 根据草稿查询流程详情
if(bpnId) { if(bpnId) {
this.loading = true
queryTaskFirst({ bpnId }).then(res => { queryTaskFirst({ bpnId }).then(res => {
this.reloadForm = false this.reloadForm = false
let mes = JSON.parse(res.mes) let mes = JSON.parse(res.mes)
this.$set(this, 'form', mes.form) if (mes.form) {
this.roleForm = mes.roleForm // 驳回
this.$set(this, 'form', mes.form)
this.roleForm = mes.roleForm
} else {
// 撤回
this.form = JSON.parse(JSON.stringify(mes))
this.roleForm = {
applyUserId: mes.applyUserId,
applyUserName: mes.applyUserName,
ministerId: mes.ministerId,
ministerIdName: mes.ministerIdName,
inspectorId: mes.inspectorId,
inspectorIdName: mes.inspectorIdName,
presidentId: mes.presidentId,
presidentIdName: mes.presidentIdName
}
}
this.$nextTick(() => { this.$nextTick(() => {
this.reloadForm = true this.reloadForm = true
}) })
}).finally(() => {
this.loading = false
}) })
} }
}, },
// 审批历史
processTable () {
if (this.$route.query.prcNum) {
this.$http.get('lawss/activiti/get_list_by_instance', {
prcNum: this.$route.query.prcNum
}, {
loading: 'processLoading',
_this: this
}, res => {
this.$set(this, 'processData', res)
}, e => {})
}
},
handleTransfer() { handleTransfer() {
this.drawerModal = true this.drawerModal = true
@@ -703,6 +709,10 @@ export default {
flex-direction: column; flex-direction: column;
justify-content: space-between; justify-content: space-between;
height: calc(~'100% - 103px'); height: calc(~'100% - 103px');
overflow: auto; //overflow: auto;
.label-input-form {
overflow-y: auto;
min-height: 100%;
}
} }
</style> </style>
@@ -61,7 +61,7 @@
</ProcessTitle> </ProcessTitle>
<div class="prc-content-border"> <div class="prc-content-border">
<el-row :gutter="24"> <el-row :gutter="24">
<el-col :span="12"> <el-col :span="24" style="position: relative">
<UploadFormItem <UploadFormItem
label="会议资料" label="会议资料"
prop="conferenceMaterials" prop="conferenceMaterials"
@@ -71,6 +71,7 @@
:size="2048" :size="2048"
:disabled="disabled"> :disabled="disabled">
</UploadFormItem> </UploadFormItem>
<!--<div style="height: 90%;width: 1px;background-color: #ddd;position: absolute;top: 5%;right: 0"></div>-->
</el-col> </el-col>
</el-row> </el-row>
</div> </div>
@@ -79,9 +80,7 @@
<div class="block" style="padding-top: 20px;" v-show="active === '2'"> <div class="block" style="padding-top: 20px;" v-show="active === '2'">
<PersonInfo ref="roleForm" :roleForm="roleForm" :roleRules="roleRules" :disabled="disabled"></PersonInfo> <PersonInfo ref="roleForm" :roleForm="roleForm" :roleRules="roleRules" :disabled="disabled"></PersonInfo>
</div> </div>
<div class="block" style="padding-top: 20px;" v-show="active === '3'"> <ApprovalHistory v-if="active === '3'"></ApprovalHistory>
<ApprovalHistory :data="processData" :loading="processLoading"></ApprovalHistory>
</div>
</el-form> </el-form>
</div> </div>
<ProcessFooter <ProcessFooter
@@ -108,6 +107,7 @@
@checkedRole="checkedRole" @checkedRole="checkedRole"
:nodeList="nodeList" :nodeList="nodeList"
></Role-tree> ></Role-tree>
<loading :loading="loading">数据获取中</loading>
</div> </div>
</template> </template>
@@ -216,21 +216,19 @@ export default {
roleForm, roleForm,
roleRules, roleRules,
options, options,
// 审批历史
processData: [],
processLoading: false,
showProcess: false, // 审批历史 showProcess: false, // 审批历史
// 福田全公司选人解决方案 // 福田全公司选人解决方案
drawerModal: false, drawerModal: false,
drawerTitle: '', drawerTitle: '',
nodeList: [], nodeList: [],
loading: false
} }
}, },
created() { created() {
this.setAuth() this.setAuth()
this.getData() this.getData()
this.processTable()
}, },
methods: { methods: {
handleTabs(tab) { handleTabs(tab) {
@@ -326,6 +324,7 @@ export default {
const { bpnId, taskIds, prcId } = this.$route.query const { bpnId, taskIds, prcId } = this.$route.query
if (taskIds) { if (taskIds) {
this.loading = true
inboundLiaisonDetail({ inboundLiaisonDetail({
taskIds, taskIds,
pId: prcId pId: prcId
@@ -349,36 +348,44 @@ export default {
this.reloadForm = true this.reloadForm = true
}) })
} }
}).finally(() => {
this.loading = false
}) })
return; return;
} }
// 根据草稿查询流程详情 // 根据草稿查询流程详情
if(bpnId) { if(bpnId) {
this.loading = true
queryTaskFirst({ bpnId }).then(res => { queryTaskFirst({ bpnId }).then(res => {
this.reloadForm = false this.reloadForm = false
let mes = JSON.parse(res.mes) let mes = JSON.parse(res.mes)
this.$set(this, 'form', mes.form) if (mes.form) {
this.roleForm = mes.roleForm // 驳回
this.$set(this, 'form', mes.form)
this.roleForm = mes.roleForm
} else {
// 撤回
this.form = JSON.parse(JSON.stringify(mes))
this.roleForm = {
applyUserId: mes.applyUserId,
applyUserName: mes.applyUserName,
ministerId: mes.ministerId,
ministerIdName: mes.ministerIdName,
inspectorId: mes.inspectorId,
inspectorIdName: mes.inspectorIdName,
presidentId: mes.presidentId,
presidentIdName: mes.presidentIdName,
}
}
this.$nextTick(() => { this.$nextTick(() => {
this.reloadForm = true this.reloadForm = true
}) })
}).finally(() => {
this.loading = false
}) })
} }
}, },
// 审批历史
processTable () {
if (this.$route.query.prcNum) {
this.$http.get('lawss/activiti/get_list_by_instance', {
prcNum: this.$route.query.prcNum
}, {
loading: 'processLoading',
_this: this
}, res => {
this.$set(this, 'processData', res)
}, e => {})
}
},
handleTransfer() { handleTransfer() {
this.drawerModal = true this.drawerModal = true
@@ -581,6 +588,10 @@ export default {
flex-direction: column; flex-direction: column;
justify-content: space-between; justify-content: space-between;
height: calc(~'100% - 103px'); height: calc(~'100% - 103px');
overflow: auto; //overflow: auto;
.label-input-form {
overflow-y: auto;
min-height: 100%;
}
} }
</style> </style>
@@ -28,9 +28,7 @@
<div class="block" style="padding-top: 20px;" v-show="active === '2'"> <div class="block" style="padding-top: 20px;" v-show="active === '2'">
<PersonInfo ref="roleForm" :roleForm="roleForm" :roleRules="roleRules" :disabled="disabled"></PersonInfo> <PersonInfo ref="roleForm" :roleForm="roleForm" :roleRules="roleRules" :disabled="disabled"></PersonInfo>
</div> </div>
<div class="block" style="padding-top: 20px;" v-show="active === '3'"> <ApprovalHistory v-if="active === '3'"></ApprovalHistory>
<ApprovalHistory :data="processData" :loading="processLoading"></ApprovalHistory>
</div>
</el-form> </el-form>
</div> </div>
<ProcessFooter <ProcessFooter
@@ -43,6 +41,7 @@
@submit="handleSubmit" @submit="handleSubmit"
> >
</ProcessFooter> </ProcessFooter>
<loading :loading="loading">数据获取中</loading>
</div> </div>
</template> </template>
@@ -250,17 +249,15 @@ export default {
roleRules, roleRules,
reloadForm: true, // 重新渲染表单 reloadForm: true, // 重新渲染表单
// bpnId: this.$route.query.bpnId || '', // bpnId: this.$route.query.bpnId || '',
// 审批历史 showProcess: false,
processData: [],
processLoading: false, loading: false,
showProcess: false
} }
}, },
created() { created() {
this.getDicTypeListCode() this.getDicTypeListCode()
this.resolveRules() this.resolveRules()
this.getData() this.getData()
this.processTable()
}, },
watch: { watch: {
'form.isRelateAccess' () { 'form.isRelateAccess' () {
@@ -301,6 +298,7 @@ export default {
this.title = '重新起草' this.title = '重新起草'
} }
this.showProcess = true this.showProcess = true
this.loading = true
inboundLiaisonDetail({ inboundLiaisonDetail({
taskIds, taskIds,
pId: prcId pId: prcId
@@ -320,39 +318,42 @@ export default {
this.reloadForm = true this.reloadForm = true
}) })
} }
}).catch(e => { }).finally(() => {
this.loading = false
}) })
return; return;
} }
// 根据草稿查询流程详情 // 根据草稿查询流程详情
if(this.$route.query.bpnId){ if(this.$route.query.bpnId){
this.loading = true
queryTaskFirst({ queryTaskFirst({
bpnId: this.$route.query.bpnId bpnId: this.$route.query.bpnId
}).then(res => { }).then(res => {
this.reloadForm = false this.reloadForm = false
let mes = JSON.parse(res.mes) let mes = JSON.parse(res.mes)
this.$set(this, 'form', mes.form) if (mes.form) {
this.roleForm = mes.roleForm // 驳回
this.$set(this, 'form', mes.form)
this.roleForm = mes.roleForm
} else {
// 撤回
this.form = JSON.parse(JSON.stringify(mes))
this.roleForm = {
jlUserId: mes.jlUserId,
jlUserName: mes.jlUserName,
prcCreateUser: mes.prcCreateUser,
prcCreateUserName: mes.prcCreateUserName,
}
}
this.$nextTick(() => { this.$nextTick(() => {
this.reloadForm = true this.reloadForm = true
}) })
}).finally(() => {
this.loading = false
}) })
} }
}, },
// 审批历史
processTable () {
if (this.$route.query.prcNum) {
this.$http.get('lawss/activiti/get_list_by_instance', {
prcNum: this.$route.query.prcNum
}, {
loading: 'processLoading',
_this: this
}, res => {
this.$set(this, 'processData', res)
}, e => {})
}
},
// 带入流程 // 带入流程
dragIn (form) { dragIn (form) {
this.reloadForm = false this.reloadForm = false
@@ -569,19 +570,10 @@ export default {
flex-direction: column; flex-direction: column;
justify-content: space-between; justify-content: space-between;
height: calc(~'100% - 103px'); height: calc(~'100% - 103px');
overflow: auto; //overflow: auto;
//.tableTitle { .label-input-form {
// margin-bottom: 10px; overflow-y: auto;
// height: 30px; min-height: 100%;
// line-height: 30px; }
// position: relative;
// font-size: 13px;
// font-weight: bold;
// .tableButton {
// position: absolute;
// right: 0;
// top: 0;
// }
//}
} }
</style> </style>
@@ -24,9 +24,7 @@
<RelatesInfo :form="form" :dict="dict" :disabled="disabled"></RelatesInfo> <RelatesInfo :form="form" :dict="dict" :disabled="disabled"></RelatesInfo>
<ReceiptDescription v-model="form.commentText" prop="commentText" title="审批意见"></ReceiptDescription> <ReceiptDescription v-model="form.commentText" prop="commentText" title="审批意见"></ReceiptDescription>
</div> </div>
<div class="block" style="padding-top: 20px;" v-show="active === '3'"> <ApprovalHistory v-if="active === '3'"></ApprovalHistory>
<ApprovalHistory :data="processData" :loading="processLoading"></ApprovalHistory>
</div>
</el-form> </el-form>
</div> </div>
<ProcessFooter <ProcessFooter
@@ -48,6 +46,7 @@
@checkedRole="checkedRole" @checkedRole="checkedRole"
:nodeList="nodeList" :nodeList="nodeList"
></Role-tree> ></Role-tree>
<loading :loading="loading">数据获取中</loading>
</div> </div>
</template> </template>
@@ -260,19 +259,17 @@ export default {
taskIds: this.$route.query.taskIds, taskIds: this.$route.query.taskIds,
pId: this.$route.query.prcId, pId: this.$route.query.prcId,
processData: [], // 审批历史
processLoading: false,
// 选人抽屉 // 选人抽屉
drawerModal: false, drawerModal: false,
drawerTitle: '', drawerTitle: '',
nodeList: [], nodeList: [],
loading: false,
} }
}, },
created() { created() {
this.getDicTypeListCode() this.getDicTypeListCode()
this.getData() this.getData()
this.processTable()
this.resolveRules() this.resolveRules()
}, },
watch: { watch: {
@@ -287,6 +284,7 @@ export default {
}, },
getData() { getData() {
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
this.loading = true
inboundLiaisonDetail({ inboundLiaisonDetail({
taskIds: this.$route.query.taskIds, taskIds: this.$route.query.taskIds,
pId: this.$route.query.prcId pId: this.$route.query.prcId
@@ -300,24 +298,11 @@ export default {
this.reloadForm = true this.reloadForm = true
}) })
} }
}).catch(e => { }).finally(() => {
this.loading = false
}) })
}) })
}, },
// 审批历史
processTable () {
this.processLoading = true
this.$http.get('lawss/activiti/get_list_by_instance', {
prcNum: this.$route.query.prcNum
}, {
loading: 'processLoading',
_this: this
}, res => {
this.$set(this, 'processData', res)
// this.processData = res
this.processLoading = false
}, e => {})
},
resolveRules () { resolveRules () {
this.reloadForm = false this.reloadForm = false
let rules = {} let rules = {}
@@ -478,19 +463,10 @@ export default {
flex-direction: column; flex-direction: column;
justify-content: space-between; justify-content: space-between;
height: calc(~'100% - 103px'); height: calc(~'100% - 103px');
overflow: auto; //overflow: auto;
.tableTitle { .label-input-form {
margin-bottom: 10px; overflow-y: auto;
height: 30px; min-height: 100%;
line-height: 30px;
position: relative;
font-size: 13px;
font-weight: bold;
.tableButton {
position: absolute;
right: 0;
top: 0;
}
} }
} }
</style> </style>
@@ -2,6 +2,13 @@
<el-dialog :title="title" :visible.sync="visible" custom-class="customDialog" width="1005px"> <el-dialog :title="title" :visible.sync="visible" custom-class="customDialog" width="1005px">
<div class="search-area"> <div class="search-area">
<el-form :modal="searchForm" :inline="true" class="label-input-form"> <el-form :modal="searchForm" :inline="true" class="label-input-form">
<el-form-item label="体系结构" class="search-item">
<el-input v-model="searchForm.standSystem"
placeholder="请选择体系结构"
readonly
@click.native="choice"
></el-input>
</el-form-item>
<el-form-item label="标准编号" class="search-item"> <el-form-item label="标准编号" class="search-item">
<el-input v-model="searchForm.standNo" <el-input v-model="searchForm.standNo"
placeholder="根据标准编号查找" placeholder="根据标准编号查找"
@@ -23,14 +30,6 @@
<el-option v-for="item in dict.commonState" :value="item.value" :label="item.label"></el-option> <el-option v-for="item in dict.commonState" :value="item.value" :label="item.label"></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="数据来源" class="search-item">
<el-select v-model="searchForm.dataSource"
placeholder="请选择数据来源">
<el-option value="INLAND" label="国内标准库"></el-option>
<el-option value="FOREIGN" label="海外标准库"></el-option>
<el-option value="ENTERPRISE" label="企业标准库"></el-option>
</el-select>
</el-form-item>
<el-form-item label="发布日期" class="search-item"> <el-form-item label="发布日期" class="search-item">
<el-date-picker <el-date-picker
:value="releaseDate" :value="releaseDate"
@@ -78,6 +77,14 @@
:maxlength="100" :maxlength="100"
></el-input> ></el-input>
</el-form-item> </el-form-item>
<el-form-item label="数据来源" class="search-item">
<el-select v-model="searchForm.dataSource"
placeholder="请选择数据来源">
<el-option value="INLAND" label="国内标准库"></el-option>
<el-option value="FOREIGN" label="海外标准库"></el-option>
<el-option value="ENTERPRISE" label="企业标准库"></el-option>
</el-select>
</el-form-item>
<el-form-item class="search-item btn-box"> <el-form-item class="search-item btn-box">
<el-button <el-button
type="primary" type="primary"
@@ -113,9 +120,9 @@
align="center"> align="center">
</el-table-column> </el-table-column>
<el-table-column <el-table-column
label="序号"
type="index" type="index"
width="55" width="55"
label="序号"
align="center"> align="center">
<template slot-scope="{scope, column, $index}"> <template slot-scope="{scope, column, $index}">
{{ ($index + 1) + (searchForm.page - 1) * searchForm.pageSize }} {{ ($index + 1) + (searchForm.page - 1) * searchForm.pageSize }}
@@ -123,22 +130,29 @@
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="standSystem" prop="standSystem"
width="200" width="160"
show-overflow-tooltip
label="体系结构"> label="体系结构">
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="standNo" prop="standNo"
width="200" width="125"
show-overflow-tooltip
label="标准编号"> label="标准编号">
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="standName" prop="standName"
width="200" width="200"
show-overflow-tooltip
label="标准名称"> label="标准名称">
<template slot-scope="{row, column, $index}">
<a class="table-jump" style="color: #2d8cf0" @click="handlePreview(row)">{{ row.standName }}</a>
</template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="standState" prop="standState"
width="80" width="80"
show-overflow-tooltip
label="标准状态"> label="标准状态">
<!--<template slot-scope="scope">--> <!--<template slot-scope="scope">-->
<!--<span v-if="dict.commonState">{{ this.dict.commonState.find(item => item.value === scope.row.standState).label }}</span>--> <!--<span v-if="dict.commonState">{{ this.dict.commonState.find(item => item.value === scope.row.standState).label }}</span>-->
@@ -148,32 +162,38 @@
prop="releaseDate" prop="releaseDate"
width="110" width="110"
sortable sortable
show-overflow-tooltip
label="发布日期"> label="发布日期">
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="implementDate" prop="implementDate"
width="110" width="110"
sortable="custom" sortable="custom"
show-overflow-tooltip
label="实施日期"> label="实施日期">
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="replaceStandardNo" prop="replaceStandardNo"
width="120" width="120"
show-overflow-tooltip
label="代替标准"> label="代替标准">
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="dept" prop="dept"
width="150" width="150"
show-overflow-tooltip
label="编制单位"> label="编制单位">
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="draftUserName" prop="draftUserName"
width="200" width="200"
show-overflow-tooltip
label="起草人"> label="起草人">
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="dataSource" prop="dataSource"
width="100" width="100"
show-overflow-tooltip
label="数据来源"> label="数据来源">
</el-table-column> </el-table-column>
</el-table> </el-table>
@@ -188,16 +208,31 @@
</div> </div>
<loading :loading="loading">加载中...</loading> <loading :loading="loading">加载中...</loading>
<ExportDialog appendToBody ref="exportDialogRef" @exportName="handleExport"></ExportDialog> <ExportDialog appendToBody ref="exportDialogRef" @exportName="handleExport"></ExportDialog>
<!-- 组件树-->
<tree-select-new
:multiple=false
:lazy=false
:modalShowFlag="modalShowFlag"
drawerTitle="标准体系"
nodeKey="id"
width="500"
:data="standSystemData"
:defaultProps="defaultProps"
:checkedKeys="[]"
@popoverHide="popoverHide"
@popoverHideCancel="popoverHideCancel"></tree-select-new>
</el-dialog> </el-dialog>
</template> </template>
<script> <script>
import ExportDialog from '@/components/hzwlComponents/exportDialog' import ExportDialog from '@/components/hzwlComponents/exportDialog'
import TreeSelectNew from "@/components/treeSelect/treeSelectNew.vue";
export default { export default {
name: "DialogTable", name: "DialogTable",
components: { components: {
ExportDialog ExportDialog,
TreeSelectNew,
}, },
data () { data () {
const pickerOptions = { const pickerOptions = {
@@ -229,6 +264,9 @@ export default {
} }
const searchForm = { const searchForm = {
menuId: '', menuId: '',
// 体系结构
standSystemId: '',
standSystem: '',
standNo: '', standNo: '',
standName: '', standName: '',
standState: '', standState: '',
@@ -257,10 +295,21 @@ export default {
data: [], data: [],
selected: [], selected: [],
loading: false, loading: false,
// 标准体系树
modalShowFlag: false,
standSystemData: [],
defaultProps: {
children: 'children',
label: 'menuName'
},
api: {
getListStandLimit: "lawss/sarMenuStandardLimit/getListStandLimit",
},
} }
}, },
created() { created() {
this.getDicTypeListCode() this.getDicTypeListCode()
this.getListStandLimit()
}, },
methods: { methods: {
open (cfg) { open (cfg) {
@@ -366,10 +415,52 @@ export default {
this.$refs.exportDialogRef.cancel() this.$refs.exportDialogRef.cancel()
this.$message.success('导出信息成功') this.$message.success('导出信息成功')
}, },
async getListStandLimit () {
const res = await this.$http._getData(this.api.getListStandLimit,{
dicId:'9m4qqqaansxmox5e82zm'
},{
_this:this,
loading: 'loading'
})
if (res.ok && res.data) {
this.standSystemData = res.data
}
},
choice () {
this.modalShowFlag = true
},
popoverHideCancel() {
this.modalShowFlag = false
},
popoverHide(checkedIds, checkedData) {
this.searchForm.standSystem = checkedData.menuName
this.searchForm.standSystemId = checkedIds
this.modalShowFlag = false
},
getDicTypeListCode () { getDicTypeListCode () {
this.$http._getData('sys/dictype/getDicTypeListCode').then(res => { this.$http._getData('sys/dictype/getDicTypeListCode').then(res => {
this.dict = { ...res.data } this.dict = { ...res.data }
}) })
},
handlePreview (row) {
let name,pageType;
switch (row.dataSource) {
case '国内标准库':
name = 'OtherStandardDetails'
pageType = 'INLAND_STAND'
break
case '海外标准库':
name = 'OtherStandardDetails'
pageType = 'FOREIGN_STAND'
break
case '企业标准库':
name = 'OtherBussStandardDetails'
pageType = 'BUSINESS_STAND'
break
}
const id = row.standId
const routeUrl = this.$router.resolve({ name, params: { id, pageType } })
window.open(routeUrl.href, '_blank')
} }
} }
} }