|
@@ -1,428 +1,495 @@
|
|
|
<template>
|
|
<template>
|
|
|
- <div class="main-container">
|
|
|
|
|
|
|
+ <div class="main-container">
|
|
|
|
|
+ <div slot="west">
|
|
|
|
|
+ <ibps-type-tree
|
|
|
|
|
+ :width="width"
|
|
|
|
|
+ :height="height"
|
|
|
|
|
+ title="记录分类"
|
|
|
|
|
+ :location="location"
|
|
|
|
|
+ category-key="FLOW_TYPE"
|
|
|
|
|
+ :hasPermission="selection"
|
|
|
|
|
+ @node-click="handleNodeClick"
|
|
|
|
|
+ @expand-collapse="handleExpandCollapse"
|
|
|
|
|
+ />
|
|
|
|
|
+ </div>
|
|
|
|
|
+ <ibps-crud
|
|
|
|
|
+ v-if="!listType"
|
|
|
|
|
+ ref="crud"
|
|
|
|
|
+ :style="{ marginLeft: width + 'px' }"
|
|
|
|
|
+ :height="height"
|
|
|
|
|
+ :data="listData"
|
|
|
|
|
+ :toolbars="listConfig.toolbars"
|
|
|
|
|
+ :search-form="listConfig.searchForm"
|
|
|
|
|
+ :pk-key="pkKey"
|
|
|
|
|
+ :displayField="tableTitle"
|
|
|
|
|
+ :columns="listConfig.columns"
|
|
|
|
|
+ :row-handle="listConfig.rowHandle"
|
|
|
|
|
+ :pagination="pagination"
|
|
|
|
|
+ :loading="loading"
|
|
|
|
|
+ :index-row="false"
|
|
|
|
|
+ :selection-row="selection"
|
|
|
|
|
+ @action-event="handleAction"
|
|
|
|
|
+ @sort-change="handleSortChange"
|
|
|
|
|
+ @column-link-click="handleLinkClick"
|
|
|
|
|
+ @pagination-change="handlePaginationChange"
|
|
|
|
|
+ >
|
|
|
|
|
+ <template slot="selectCont" slot-scope="scope">
|
|
|
|
|
+ <el-popover
|
|
|
|
|
+ :ref="'popover2-' + scope.row.id"
|
|
|
|
|
+ placement="bottom"
|
|
|
|
|
+ width="250"
|
|
|
|
|
+ popper-class="popverClass"
|
|
|
|
|
+ trigger="click"
|
|
|
|
|
+ @show="getReportAndFile(scope.row)"
|
|
|
|
|
+ >
|
|
|
|
|
+ <!-- 触发事件 -->
|
|
|
|
|
+ <!-- @click="handleAction('detail',null,null,scope.row)"-->
|
|
|
|
|
+ <div class="div_test el-icon-s-order" slot="reference">查阅记录</div>
|
|
|
|
|
+ <!-- 弹框内容 -->
|
|
|
|
|
+ <div class="div_content">
|
|
|
|
|
+ <!-- 获取所有输出报告-->
|
|
|
|
|
+ <div
|
|
|
|
|
+ v-if="currReportCont.report.length > 0"
|
|
|
|
|
+ v-for="(item, i) in currReportCont.report"
|
|
|
|
|
+ class="content_butts"
|
|
|
|
|
+ >
|
|
|
|
|
+ <span style="cursor: pointer;" @click="clickCont(currReportCont, i)">
|
|
|
|
|
+ <i class="el-icon-tickets" style="font-size: 18px;"/>
|
|
|
|
|
+ {{
|
|
|
|
|
+ item.slice(-item.split('').reverse().join('').indexOf(' '), -item.split('').reverse().join('').indexOf('.') - 1)
|
|
|
|
|
+ }}
|
|
|
|
|
+ <!-- {{ item.split('/')[1].split('.')[0].split(' ')[1] }} -->
|
|
|
|
|
+ </span>
|
|
|
|
|
+ <br />
|
|
|
|
|
+ </div>
|
|
|
|
|
|
|
|
- <div slot="west">
|
|
|
|
|
- <ibps-type-tree :width="width" :height="height" title="记录分类" :location="location" category-key="FLOW_TYPE"
|
|
|
|
|
- @node-click="handleNodeClick" @expand-collapse="handleExpandCollapse" />
|
|
|
|
|
- </div>
|
|
|
|
|
- <ibps-crud v-if="!listType" ref="crud" :style="{ marginLeft: width + 'px' }" :height="height" :data="listData"
|
|
|
|
|
- :toolbars="listConfig.toolbars" :search-form="listConfig.searchForm" :pk-key="pkKey" :displayField="tableTitle"
|
|
|
|
|
- :columns="listConfig.columns" :row-handle="listConfig.rowHandle" :pagination="pagination" :loading="loading"
|
|
|
|
|
- :index-row="false" :selection-row="selection" @action-event="handleAction" @sort-change="handleSortChange"
|
|
|
|
|
- @column-link-click="handleLinkClick" @pagination-change="handlePaginationChange">
|
|
|
|
|
-
|
|
|
|
|
- <template slot="selectCont" slot-scope="scope">
|
|
|
|
|
- <el-popover :ref="'popover2-' + scope.row.id" placement="bottom" width="250" popper-class="popverClass"
|
|
|
|
|
- trigger="click" @show="getReportAndFile(scope.row)">
|
|
|
|
|
- <!-- 触发事件 --> <!-- @click="handleAction('detail',null,null,scope.row)"-->
|
|
|
|
|
- <div class="div_test el-icon-s-order" slot="reference">查阅记录</div>
|
|
|
|
|
- <!-- 弹框内容 -->
|
|
|
|
|
- <div class="div_content">
|
|
|
|
|
- <!-- 获取所有输出报告-->
|
|
|
|
|
- <div class="content_butts" v-if="currReportCont.report.length > 0"
|
|
|
|
|
- v-for="(item, i) in currReportCont.report">
|
|
|
|
|
- <span style="cursor: pointer;" @click="clickCont(currReportCont, i)">
|
|
|
|
|
- <i class="el-icon-tickets" style="font-size: 18px;" />
|
|
|
|
|
- {{ item.slice(-item.split("").reverse().join("").indexOf(' '),
|
|
|
|
|
- -item.split("").reverse().join("").indexOf('.') - 1)
|
|
|
|
|
- }}
|
|
|
|
|
- <!-- {{ item.split('/')[1].split('.')[0].split(' ')[1] }} -->
|
|
|
|
|
- </span>
|
|
|
|
|
- <br>
|
|
|
|
|
- </div>
|
|
|
|
|
-
|
|
|
|
|
- <div class="content_butts" v-if="currReportCont.file">
|
|
|
|
|
- <ibps-attachment v-model="fileId" placeholder="请选择" :download="true" :readonly="true" accept="*"
|
|
|
|
|
- :multiple="true" upload-type="attachment" store="id" media-type="" media="" style="width:100%;" />
|
|
|
|
|
- </div>
|
|
|
|
|
-
|
|
|
|
|
-
|
|
|
|
|
- </div>
|
|
|
|
|
- </el-popover>
|
|
|
|
|
- </template>
|
|
|
|
|
-
|
|
|
|
|
- </ibps-crud>
|
|
|
|
|
- <typeList v-else :listType="listType" :tableTitle="tableTitle" :reportAll="reportAll" :typeId="typeId" />
|
|
|
|
|
|
|
+ <div class="content_butts" v-if="currReportCont.file">
|
|
|
|
|
+ <ibps-attachment
|
|
|
|
|
+ v-model="fileId"
|
|
|
|
|
+ placeholder="请选择"
|
|
|
|
|
+ :download="true"
|
|
|
|
|
+ :readonly="true"
|
|
|
|
|
+ accept="*"
|
|
|
|
|
+ :multiple="true"
|
|
|
|
|
+ upload-type="attachment"
|
|
|
|
|
+ store="id"
|
|
|
|
|
+ media-type=""
|
|
|
|
|
+ media=""
|
|
|
|
|
+ style="width: 100%;"
|
|
|
|
|
+ />
|
|
|
|
|
+ </div>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ </el-popover>
|
|
|
|
|
+ </template>
|
|
|
|
|
+ </ibps-crud>
|
|
|
|
|
+ <typeList
|
|
|
|
|
+ v-else
|
|
|
|
|
+ :listType="listType"
|
|
|
|
|
+ :tableTitle="tableTitle"
|
|
|
|
|
+ :reportAll="reportAll"
|
|
|
|
|
+ :typeId="typeId"
|
|
|
|
|
+ />
|
|
|
|
|
|
|
|
- <bpmn-formrender :visible="dialogFormVisible" :instance-id="instanceId"
|
|
|
|
|
- @close="visible => dialogFormVisible = visible" />
|
|
|
|
|
-
|
|
|
|
|
- <el-dialog :close-on-click-modal="false" :close-on-press-escape="false" :top="'3vh'" :width="'90%'"
|
|
|
|
|
- class="js-custom-dialog" append-to-body :fullscreen="false" :visible.sync="visible">
|
|
|
|
|
-
|
|
|
|
|
- <iframe :src="srcUrl" :height="'100%'" :width="'100%'" frameborder="0" scrolling="no" />
|
|
|
|
|
-
|
|
|
|
|
- </el-dialog>
|
|
|
|
|
-
|
|
|
|
|
- </div>
|
|
|
|
|
|
|
+ <bpmn-formrender
|
|
|
|
|
+ :visible="dialogFormVisible"
|
|
|
|
|
+ :instance-id="instanceId"
|
|
|
|
|
+ @close="(visible) => (dialogFormVisible = visible)"
|
|
|
|
|
+ />
|
|
|
|
|
|
|
|
|
|
+ <el-dialog
|
|
|
|
|
+ :close-on-click-modal="false"
|
|
|
|
|
+ :close-on-press-escape="false"
|
|
|
|
|
+ :top="'3vh'"
|
|
|
|
|
+ :width="'90%'"
|
|
|
|
|
+ class="js-custom-dialog"
|
|
|
|
|
+ append-to-body
|
|
|
|
|
+ :fullscreen="false"
|
|
|
|
|
+ :visible.sync="visible"
|
|
|
|
|
+ >
|
|
|
|
|
+ <iframe
|
|
|
|
|
+ :src="srcUrl"
|
|
|
|
|
+ :height="'100%'"
|
|
|
|
|
+ :width="'100%'"
|
|
|
|
|
+ frameborder="0"
|
|
|
|
|
+ scrolling="no"
|
|
|
|
|
+ />
|
|
|
|
|
+ </el-dialog>
|
|
|
|
|
+ </div>
|
|
|
</template>
|
|
</template>
|
|
|
|
|
|
|
|
<script>
|
|
<script>
|
|
|
-import { queryPageList } from '@/api/platform/bpmn/bpmInstHis'
|
|
|
|
|
-import ActionUtils from '@/utils/action'
|
|
|
|
|
-import IbpsTypeTree from '@/business/platform/cat/type/tree'
|
|
|
|
|
-import FixHeight from '@/mixins/height'
|
|
|
|
|
-import { searchOptions, resultTypeOptions, statusOptions, deleteRoleName } from './constants'
|
|
|
|
|
-import BpmnFormrender from '@/business/platform/bpmn/form/dialog'
|
|
|
|
|
-import curdPost from '@/business/platform/form/utils/custom/joinCURD.js' //增删改查规则
|
|
|
|
|
-import IbpsAttachment from '@/business/platform/file/attachment/selector'
|
|
|
|
|
-import typeList from './typeIndex.vue'
|
|
|
|
|
-import { listTypeData } from './corresponding/index.js'
|
|
|
|
|
-import GetReport from './corresponding/getReport.js'
|
|
|
|
|
-export default {
|
|
|
|
|
- components: {
|
|
|
|
|
- IbpsTypeTree,
|
|
|
|
|
- BpmnFormrender,
|
|
|
|
|
- typeList,
|
|
|
|
|
- 'ibps-attachment': IbpsAttachment
|
|
|
|
|
- },
|
|
|
|
|
- mixins: [FixHeight, GetReport],
|
|
|
|
|
- props: {
|
|
|
|
|
- location: {
|
|
|
|
|
- type: String,
|
|
|
|
|
- default: 'initial'
|
|
|
|
|
- }
|
|
|
|
|
- },
|
|
|
|
|
- data() {
|
|
|
|
|
- return {
|
|
|
|
|
- width: 200,
|
|
|
|
|
- selection: false,
|
|
|
|
|
- dialogFormVisible: false, // 弹窗
|
|
|
|
|
- instanceId: '', // 编辑dialog需要使用
|
|
|
|
|
- pkKey: 'id', // 主键 如果主键不是pk需要传主键
|
|
|
|
|
- tableTitle: '',
|
|
|
|
|
- typeId: '',
|
|
|
|
|
- listType: '',
|
|
|
|
|
- srcUrl: '', //报表字段
|
|
|
|
|
- fileId: '',//文件字段
|
|
|
|
|
- isDisable: false, //判断多次点击
|
|
|
|
|
- forClick: '',//判断是否重复点击
|
|
|
|
|
- visible: false,
|
|
|
|
|
- currReportCont: {},
|
|
|
|
|
- title: '',
|
|
|
|
|
- loading: true,
|
|
|
|
|
- height: document.clientHeight,
|
|
|
|
|
- reportAll: [],
|
|
|
|
|
- listData: [],
|
|
|
|
|
- pagination: {},
|
|
|
|
|
- sorts: {},
|
|
|
|
|
- listConfig: {
|
|
|
|
|
- toolbars: [
|
|
|
|
|
- { key: 'search' },
|
|
|
|
|
- // { key: 'resetSearch' }
|
|
|
|
|
- ],
|
|
|
|
|
- searchForm: {
|
|
|
|
|
- forms: [
|
|
|
|
|
- { prop: 'Q^subject_^SL', label: '关键字:', width: 125 },
|
|
|
|
|
- /* { prop: 'Q^proc_def_name_^SL', label: '任务名称' }, */
|
|
|
|
|
- // {
|
|
|
|
|
- // prop: ['Q^create_Time_^DL', 'Q^create_Time_^DG'],
|
|
|
|
|
- // label: '完成年度',
|
|
|
|
|
- // fieldType: 'daterange',
|
|
|
|
|
- // },
|
|
|
|
|
- /* {
|
|
|
|
|
- prop: 'Q^status_^S',
|
|
|
|
|
- label: '任务状态',
|
|
|
|
|
- fieldType: 'select',
|
|
|
|
|
- options: searchOptions
|
|
|
|
|
- } */
|
|
|
|
|
- ]
|
|
|
|
|
|
|
+ import { queryPageList } from '@/api/platform/bpmn/bpmInstHis'
|
|
|
|
|
+ import ActionUtils from '@/utils/action'
|
|
|
|
|
+ import IbpsTypeTree from '@/business/platform/cat/type/tree'
|
|
|
|
|
+ import FixHeight from '@/mixins/height'
|
|
|
|
|
+ import { searchOptions, resultTypeOptions, statusOptions, deleteRoleName } from './constants'
|
|
|
|
|
+ import BpmnFormrender from '@/business/platform/bpmn/form/dialog'
|
|
|
|
|
+ import curdPost from '@/business/platform/form/utils/custom/joinCURD.js' //增删改查规则
|
|
|
|
|
+ import IbpsAttachment from '@/business/platform/file/attachment/selector'
|
|
|
|
|
+ import typeList from './typeIndex.vue'
|
|
|
|
|
+ import { listTypeData } from './corresponding/index.js'
|
|
|
|
|
+ import GetReport from './corresponding/getReport.js'
|
|
|
|
|
+ export default {
|
|
|
|
|
+ components: {
|
|
|
|
|
+ IbpsTypeTree,
|
|
|
|
|
+ BpmnFormrender,
|
|
|
|
|
+ typeList,
|
|
|
|
|
+ 'ibps-attachment': IbpsAttachment
|
|
|
},
|
|
},
|
|
|
- // 表格字段配置
|
|
|
|
|
- columns: [
|
|
|
|
|
- /* { prop: 'subject', label: '任务标题', link: 'dialog', width: 250 }, */
|
|
|
|
|
- { prop: 'tYear', label: '年份', width: 58 },
|
|
|
|
|
- { prop: 'tDept', label: '部门', width: 80 },
|
|
|
|
|
- { prop: 'procDefName', label: '表单名称' },
|
|
|
|
|
- { prop: 'tUser', label: '编制人', width: 80 },
|
|
|
|
|
- { prop: 'endTime', label: '完成时间', sortable: 'custom', dateFormat: 'yyyy-MM-dd', width: 150 },
|
|
|
|
|
- ],
|
|
|
|
|
- rowHandle: {
|
|
|
|
|
- actions: [/* {
|
|
|
|
|
- key: 'detail',label:"内容及附件"
|
|
|
|
|
- } */],
|
|
|
|
|
- effect: 'display',
|
|
|
|
|
- width: '100'//固定按钮
|
|
|
|
|
- }
|
|
|
|
|
- }
|
|
|
|
|
- }
|
|
|
|
|
- },
|
|
|
|
|
- created() {
|
|
|
|
|
- this.loadData()
|
|
|
|
|
- this.getConfig() //获取配置的报表
|
|
|
|
|
- let roleArr = this.$store.getters.userInfo.role
|
|
|
|
|
- // console.log(roleArr)
|
|
|
|
|
- for (let i = 0; i < roleArr.length; i++) {
|
|
|
|
|
- if (roleArr[i].name == deleteRoleName) {
|
|
|
|
|
- this.listConfig.toolbars.push({ key: 'remove' })
|
|
|
|
|
- this.selection = true
|
|
|
|
|
- return;
|
|
|
|
|
- }
|
|
|
|
|
- }
|
|
|
|
|
- },
|
|
|
|
|
- methods: {
|
|
|
|
|
- /*获取配置报表数据*/
|
|
|
|
|
- getConfig() {
|
|
|
|
|
- curdPost('select', this.packNameWhere('t_lcidglbdbb', { '1': '1' })).then(response => {
|
|
|
|
|
- this.reportAll = response.variables.data
|
|
|
|
|
- })
|
|
|
|
|
- },
|
|
|
|
|
- /* 封装表名与条件*/
|
|
|
|
|
- packNameWhere(name, where) {
|
|
|
|
|
- let cont = {}
|
|
|
|
|
- cont['tableName'] = name
|
|
|
|
|
- cont['paramWhere'] = where
|
|
|
|
|
- return cont
|
|
|
|
|
- },
|
|
|
|
|
- // 加载数据
|
|
|
|
|
- loadData() {
|
|
|
|
|
- this.loading = true
|
|
|
|
|
- queryPageList(this.getSearcFormData()).then(response => {
|
|
|
|
|
- let data = response.data.dataResult
|
|
|
|
|
- for (let i in data) {
|
|
|
|
|
- let dept, user, tName, tYear
|
|
|
|
|
- let arr = this.getParenthesesStr(data[i].subject)
|
|
|
|
|
- if (arr.length == 4) { //如果是年度计划, 标题编辑中取年份, 去除默认给与的年份
|
|
|
|
|
- data[i]['tYear'] = arr[0]
|
|
|
|
|
- data[i]['tDept'] = arr[2]
|
|
|
|
|
- data[i]['tUser'] = arr[3]
|
|
|
|
|
- } else if (arr.length > 1) {
|
|
|
|
|
- data[i]['tYear'] = arr[0]
|
|
|
|
|
- data[i]['tDept'] = arr[1]
|
|
|
|
|
- data[i]['tUser'] = arr[2]
|
|
|
|
|
- }
|
|
|
|
|
- }
|
|
|
|
|
- // console.log('csnz\n',response.data,'\n')
|
|
|
|
|
- ActionUtils.handleListData(this, response.data)
|
|
|
|
|
- this.loading = false
|
|
|
|
|
- }).catch(() => {
|
|
|
|
|
- this.loading = false
|
|
|
|
|
- })
|
|
|
|
|
- },
|
|
|
|
|
- getParenthesesStr(text) {
|
|
|
|
|
- let result = ''
|
|
|
|
|
- if (!text) return result
|
|
|
|
|
- let regex = /\((.+?)\)/g;
|
|
|
|
|
- let options = text.match(regex)
|
|
|
|
|
- if (options) {
|
|
|
|
|
- let option = options[0]
|
|
|
|
|
- if (option) {
|
|
|
|
|
- result = option.substring(1, option.length - 1)
|
|
|
|
|
- }
|
|
|
|
|
- if (options[1]) {
|
|
|
|
|
- let yersOption = options[1]
|
|
|
|
|
- if (yersOption) {
|
|
|
|
|
- result = result + '/' + yersOption.substring(1, yersOption.length - 1)
|
|
|
|
|
- }
|
|
|
|
|
- }
|
|
|
|
|
- }
|
|
|
|
|
- return result.split('/')
|
|
|
|
|
- },
|
|
|
|
|
- /**
|
|
|
|
|
- * 获取格式化参数
|
|
|
|
|
- */
|
|
|
|
|
- getSearcFormData() {
|
|
|
|
|
- const params = this.$refs['crud'] ? this.$refs['crud'].getSearcFormData() : {}
|
|
|
|
|
-
|
|
|
|
|
- if (this.$utils.isNotEmpty(this.typeId)) {
|
|
|
|
|
- params['Q^TYPE_ID_^S'] = this.typeId
|
|
|
|
|
- }
|
|
|
|
|
-
|
|
|
|
|
- params['Q^status_^S'] = "end"
|
|
|
|
|
- let cont = ActionUtils.formatParams(
|
|
|
|
|
- params,
|
|
|
|
|
- this.pagination,
|
|
|
|
|
- this.sorts)
|
|
|
|
|
-
|
|
|
|
|
- cont.parameters.push({
|
|
|
|
|
- "parameters": [
|
|
|
|
|
- {
|
|
|
|
|
- "parameters": [
|
|
|
|
|
- {
|
|
|
|
|
- "key": "Q^proc_Def_Key_^NE",
|
|
|
|
|
- "value": "Process_08hbmhs",
|
|
|
|
|
- "param": "name"
|
|
|
|
|
- }
|
|
|
|
|
- ]
|
|
|
|
|
- },
|
|
|
|
|
- {
|
|
|
|
|
- "parameters": [
|
|
|
|
|
- {
|
|
|
|
|
- "key": "Q^proc_Def_Key_^NE",
|
|
|
|
|
- "value": "Process_0xlaidt",
|
|
|
|
|
- "param": "name1"
|
|
|
|
|
- }
|
|
|
|
|
- ]
|
|
|
|
|
- },
|
|
|
|
|
- {
|
|
|
|
|
- "parameters": [
|
|
|
|
|
- {
|
|
|
|
|
- "key": "Q^proc_Def_Key_^NE",
|
|
|
|
|
- "value": "Process_0ocg0f1",
|
|
|
|
|
- "param": "name2"
|
|
|
|
|
- }
|
|
|
|
|
- ]
|
|
|
|
|
- }
|
|
|
|
|
- ]
|
|
|
|
|
- })
|
|
|
|
|
- return cont
|
|
|
|
|
-
|
|
|
|
|
- },
|
|
|
|
|
- /**
|
|
|
|
|
- * 处理分页事件
|
|
|
|
|
- */
|
|
|
|
|
- handlePaginationChange(page) {
|
|
|
|
|
- ActionUtils.setPagination(this.pagination, page)
|
|
|
|
|
- this.loadData()
|
|
|
|
|
- },
|
|
|
|
|
- /**
|
|
|
|
|
- * 处理排序
|
|
|
|
|
- */
|
|
|
|
|
- handleSortChange(sort) {
|
|
|
|
|
- ActionUtils.setSorts(this.sorts, sort)
|
|
|
|
|
- this.loadData()
|
|
|
|
|
- },
|
|
|
|
|
- handleLinkClick(data, columns) {
|
|
|
|
|
- this.handleEdit(data.id)
|
|
|
|
|
- },
|
|
|
|
|
- /**
|
|
|
|
|
- * 查询
|
|
|
|
|
- */
|
|
|
|
|
- search() {
|
|
|
|
|
- this.loadData()
|
|
|
|
|
- },
|
|
|
|
|
- /* 防止多次快速查询*/
|
|
|
|
|
- numbersClick() {
|
|
|
|
|
- this.isDisable = true
|
|
|
|
|
- setTimeout(() => {
|
|
|
|
|
- this.isDisable = false
|
|
|
|
|
- }, 600)
|
|
|
|
|
- },
|
|
|
|
|
-
|
|
|
|
|
- /**
|
|
|
|
|
- * 处理按钮事件
|
|
|
|
|
- */
|
|
|
|
|
- handleAction(command, position, selection, data) {
|
|
|
|
|
- switch (command) {
|
|
|
|
|
- case 'search':// 查询
|
|
|
|
|
- ActionUtils.setFirstPagination(this.pagination)
|
|
|
|
|
- this.search()
|
|
|
|
|
- break
|
|
|
|
|
- // case 'resetSearch':
|
|
|
|
|
- // this.typeId = ''
|
|
|
|
|
- // this.tableTitle = ''
|
|
|
|
|
- // this.search()
|
|
|
|
|
- // break
|
|
|
|
|
- case 'remove':
|
|
|
|
|
- let str = ""
|
|
|
|
|
- selection.forEach((item, index) => {
|
|
|
|
|
- if (index == 0) {
|
|
|
|
|
- str += item
|
|
|
|
|
- } else {
|
|
|
|
|
- str += "," + item
|
|
|
|
|
|
|
+ mixins: [FixHeight, GetReport],
|
|
|
|
|
+ props: {
|
|
|
|
|
+ location: {
|
|
|
|
|
+ type: String,
|
|
|
|
|
+ default: 'initial'
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ data() {
|
|
|
|
|
+ return {
|
|
|
|
|
+ width: 200,
|
|
|
|
|
+ selection: false,
|
|
|
|
|
+ dialogFormVisible: false, // 弹窗
|
|
|
|
|
+ instanceId: '', // 编辑dialog需要使用
|
|
|
|
|
+ pkKey: 'id', // 主键 如果主键不是pk需要传主键
|
|
|
|
|
+ tableTitle: '',
|
|
|
|
|
+ typeId: '',
|
|
|
|
|
+ listType: '',
|
|
|
|
|
+ srcUrl: '', //报表字段
|
|
|
|
|
+ fileId: '', //文件字段
|
|
|
|
|
+ isDisable: false, //判断多次点击
|
|
|
|
|
+ forClick: '', //判断是否重复点击
|
|
|
|
|
+ visible: false,
|
|
|
|
|
+ currReportCont: {},
|
|
|
|
|
+ title: '',
|
|
|
|
|
+ loading: true,
|
|
|
|
|
+ height: document.clientHeight,
|
|
|
|
|
+ reportAll: [],
|
|
|
|
|
+ listData: [],
|
|
|
|
|
+ pagination: {},
|
|
|
|
|
+ sorts: {},
|
|
|
|
|
+ listConfig: {
|
|
|
|
|
+ toolbars: [
|
|
|
|
|
+ { key: 'search' }
|
|
|
|
|
+ ],
|
|
|
|
|
+ searchForm: {
|
|
|
|
|
+ forms: [
|
|
|
|
|
+ {
|
|
|
|
|
+ prop: 'Q^subject_^SL',
|
|
|
|
|
+ label: '关键字:',
|
|
|
|
|
+ width: 125
|
|
|
|
|
+ }
|
|
|
|
|
+ // { prop: 'Q^proc_def_name_^SL', label: '任务名称' },
|
|
|
|
|
+ // {
|
|
|
|
|
+ // prop: ['Q^create_Time_^DL', 'Q^create_Time_^DG'],
|
|
|
|
|
+ // label: '完成年度',
|
|
|
|
|
+ // fieldType: 'daterange',
|
|
|
|
|
+ // },
|
|
|
|
|
+ // {
|
|
|
|
|
+ // prop: 'Q^status_^S',
|
|
|
|
|
+ // label: '任务状态',
|
|
|
|
|
+ // fieldType: 'select',
|
|
|
|
|
+ // options: searchOptions
|
|
|
|
|
+ // }
|
|
|
|
|
+ ]
|
|
|
|
|
+ },
|
|
|
|
|
+ // 表格字段配置
|
|
|
|
|
+ columns: [
|
|
|
|
|
+ // { prop: 'subject', label: '任务标题', link: 'dialog', width: 250 },
|
|
|
|
|
+ { prop: 'tYear', label: '年份', width: 58 },
|
|
|
|
|
+ { prop: 'tDept', label: '部门', width: 80 },
|
|
|
|
|
+ { prop: 'procDefName', label: '表单名称' },
|
|
|
|
|
+ { prop: 'tUser', label: '编制人', width: 80 },
|
|
|
|
|
+ {
|
|
|
|
|
+ prop: 'endTime',
|
|
|
|
|
+ label: '完成时间',
|
|
|
|
|
+ sortable: 'custom',
|
|
|
|
|
+ dateFormat: 'yyyy-MM-dd',
|
|
|
|
|
+ width: 150
|
|
|
|
|
+ }
|
|
|
|
|
+ ],
|
|
|
|
|
+ rowHandle: {
|
|
|
|
|
+ actions: [
|
|
|
|
|
+ // {
|
|
|
|
|
+ // key: 'detail',label: '内容及附件'
|
|
|
|
|
+ // }
|
|
|
|
|
+ ],
|
|
|
|
|
+ effect: 'display',
|
|
|
|
|
+ width: '100' //固定按钮
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|
|
|
- })
|
|
|
|
|
- let data = {}
|
|
|
|
|
- data['tableName'] = "ibps_bpm_inst_his"
|
|
|
|
|
- data['paramWhere'] = "{id_:'" + str + "'}"
|
|
|
|
|
- let this_ = this
|
|
|
|
|
- curdPost('batchDelete', data).then(response => {
|
|
|
|
|
- this_.$message({
|
|
|
|
|
- message: '删除成功!',
|
|
|
|
|
- type: 'warning'
|
|
|
|
|
- })
|
|
|
|
|
- this.search()
|
|
|
|
|
- })
|
|
|
|
|
|
|
+ },
|
|
|
|
|
+ created() {
|
|
|
|
|
+ this.loadData()
|
|
|
|
|
+ this.getConfig() //获取配置的报表
|
|
|
|
|
+ let roleArr = this.$store.getters.userInfo.role
|
|
|
|
|
+ // console.log(roleArr)
|
|
|
|
|
+ for (let i = 0; i < roleArr.length; i++) {
|
|
|
|
|
+ if (roleArr[i].name == deleteRoleName) {
|
|
|
|
|
+ this.listConfig.toolbars.push({ key: 'remove' })
|
|
|
|
|
+ this.selection = true
|
|
|
|
|
+ return
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ methods: {
|
|
|
|
|
+ // 截取事务说明字段内容
|
|
|
|
|
+ getDesc(row, column, cellValue, index) {
|
|
|
|
|
+ let hasDesc = cellValue.includes('#')
|
|
|
|
|
+ if (!hasDesc) {
|
|
|
|
|
+ return ''
|
|
|
|
|
+ }
|
|
|
|
|
+ return cellValue.split('#')[1]
|
|
|
|
|
+ },
|
|
|
|
|
+ // 获取配置报表数据
|
|
|
|
|
+ getConfig() {
|
|
|
|
|
+ const params = {
|
|
|
|
|
+ tableName: 't_lcidglbdbb',
|
|
|
|
|
+ paramWhere: {
|
|
|
|
|
+ 1: '1'
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ curdPost('select', params).then((response) => {
|
|
|
|
|
+ this.reportAll = response.variables.data
|
|
|
|
|
+ })
|
|
|
|
|
+ },
|
|
|
|
|
+ // 加载数据
|
|
|
|
|
+ loadData() {
|
|
|
|
|
+ this.loading = true
|
|
|
|
|
+ queryPageList(this.getSearcFormData()).then((response) => {
|
|
|
|
|
+ let data = response.data.dataResult
|
|
|
|
|
+ for (let i in data) {
|
|
|
|
|
+ let dept, user, tName, tYear
|
|
|
|
|
+ let arr = this.getParenthesesStr(data[i].subject)
|
|
|
|
|
+ if (arr.length == 4) {
|
|
|
|
|
+ //如果是年度计划, 标题编辑中取年份, 去除默认给与的年份
|
|
|
|
|
+ data[i]['tYear'] = arr[0]
|
|
|
|
|
+ data[i]['tDept'] = arr[2]
|
|
|
|
|
+ data[i]['tUser'] = arr[3]
|
|
|
|
|
+ } else if (arr.length > 1) {
|
|
|
|
|
+ data[i]['tYear'] = arr[0]
|
|
|
|
|
+ data[i]['tDept'] = arr[1]
|
|
|
|
|
+ data[i]['tUser'] = arr[2]
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ // console.log('csnz\n',response.data,'\n')
|
|
|
|
|
+ ActionUtils.handleListData(this, response.data)
|
|
|
|
|
+ this.loading = false
|
|
|
|
|
+ }).catch(() => {
|
|
|
|
|
+ this.loading = false
|
|
|
|
|
+ })
|
|
|
|
|
+ },
|
|
|
|
|
+ getParenthesesStr(text) {
|
|
|
|
|
+ let result = ''
|
|
|
|
|
+ if (!text) return result
|
|
|
|
|
+ let regex = /\((.+?)\)/g
|
|
|
|
|
+ let options = text.match(regex)
|
|
|
|
|
+ if (options) {
|
|
|
|
|
+ let option = options[0]
|
|
|
|
|
+ if (option) {
|
|
|
|
|
+ result = option.substring(1, option.length - 1)
|
|
|
|
|
+ }
|
|
|
|
|
+ if (options[1]) {
|
|
|
|
|
+ let yersOption = options[1]
|
|
|
|
|
+ if (yersOption) {
|
|
|
|
|
+ result =
|
|
|
|
|
+ result + '/' + yersOption.substring(1, yersOption.length - 1)
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ return result.split('/')
|
|
|
|
|
+ },
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 获取格式化参数
|
|
|
|
|
+ */
|
|
|
|
|
+ getSearcFormData() {
|
|
|
|
|
+ const params = this.$refs['crud'] ? this.$refs['crud'].getSearcFormData() : {}
|
|
|
|
|
|
|
|
- break
|
|
|
|
|
|
|
+ if (this.$utils.isNotEmpty(this.typeId)) {
|
|
|
|
|
+ params['Q^TYPE_ID_^S'] = this.typeId
|
|
|
|
|
+ }
|
|
|
|
|
|
|
|
- case 'detail':// 明细
|
|
|
|
|
- ActionUtils.selectedRecord(selection).then((id) => {
|
|
|
|
|
- this.handleEdit(id)
|
|
|
|
|
- this.title = '信息'
|
|
|
|
|
- }).catch(() => { })
|
|
|
|
|
- break
|
|
|
|
|
- default:
|
|
|
|
|
- break
|
|
|
|
|
- }
|
|
|
|
|
- },
|
|
|
|
|
|
|
+ params['Q^status_^S'] = 'end'
|
|
|
|
|
+ let cont = ActionUtils.formatParams(
|
|
|
|
|
+ params,
|
|
|
|
|
+ this.pagination,
|
|
|
|
|
+ this.sorts
|
|
|
|
|
+ )
|
|
|
|
|
|
|
|
- handleNodeClick(typeId, typeName) {
|
|
|
|
|
- this.tableTitle = typeName.name
|
|
|
|
|
- this.typeId = typeId
|
|
|
|
|
- // console.log(typeId)
|
|
|
|
|
- /* 如果是特殊处理添加列表中的数据*/
|
|
|
|
|
- if (!listTypeData[typeId]) {
|
|
|
|
|
- this.listType = ''
|
|
|
|
|
- this.loadData()
|
|
|
|
|
- } else {
|
|
|
|
|
- this.listType = listTypeData[typeId]
|
|
|
|
|
- }
|
|
|
|
|
- },
|
|
|
|
|
- handleExpandCollapse(isExpand) {
|
|
|
|
|
- this.width = isExpand ? 230 : 30
|
|
|
|
|
- },
|
|
|
|
|
- /**
|
|
|
|
|
- * 处理编辑
|
|
|
|
|
- */
|
|
|
|
|
- handleEdit(id = '') {
|
|
|
|
|
- this.instanceId = id
|
|
|
|
|
- this.dialogFormVisible = true
|
|
|
|
|
|
|
+ cont.parameters.push({
|
|
|
|
|
+ parameters: [
|
|
|
|
|
+ {
|
|
|
|
|
+ parameters: [
|
|
|
|
|
+ {
|
|
|
|
|
+ key: 'Q^proc_Def_Key_^NE',
|
|
|
|
|
+ value: 'Process_08hbmhs',
|
|
|
|
|
+ param: 'name'
|
|
|
|
|
+ }
|
|
|
|
|
+ ]
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ parameters: [
|
|
|
|
|
+ {
|
|
|
|
|
+ key: 'Q^proc_Def_Key_^NE',
|
|
|
|
|
+ value: 'Process_0xlaidt',
|
|
|
|
|
+ param: 'name1'
|
|
|
|
|
+ }
|
|
|
|
|
+ ]
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ parameters: [
|
|
|
|
|
+ {
|
|
|
|
|
+ key: 'Q^proc_Def_Key_^NE',
|
|
|
|
|
+ value: 'Process_0ocg0f1',
|
|
|
|
|
+ param: 'name2'
|
|
|
|
|
+ }
|
|
|
|
|
+ ]
|
|
|
|
|
+ }
|
|
|
|
|
+ ]
|
|
|
|
|
+ })
|
|
|
|
|
+ return cont
|
|
|
|
|
+ },
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 处理分页事件
|
|
|
|
|
+ */
|
|
|
|
|
+ handlePaginationChange(page) {
|
|
|
|
|
+ ActionUtils.setPagination(this.pagination, page)
|
|
|
|
|
+ this.loadData()
|
|
|
|
|
+ },
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 处理排序
|
|
|
|
|
+ */
|
|
|
|
|
+ handleSortChange(sort) {
|
|
|
|
|
+ ActionUtils.setSorts(this.sorts, sort)
|
|
|
|
|
+ this.loadData()
|
|
|
|
|
+ },
|
|
|
|
|
+ handleLinkClick(data, columns) {
|
|
|
|
|
+ this.handleEdit(data.id)
|
|
|
|
|
+ },
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 查询
|
|
|
|
|
+ */
|
|
|
|
|
+ search() {
|
|
|
|
|
+ this.loadData()
|
|
|
|
|
+ },
|
|
|
|
|
+ /* 防止多次快速查询*/
|
|
|
|
|
+ numbersClick() {
|
|
|
|
|
+ this.isDisable = true
|
|
|
|
|
+ setTimeout(() => {
|
|
|
|
|
+ this.isDisable = false
|
|
|
|
|
+ }, 600)
|
|
|
|
|
+ },
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 处理按钮事件
|
|
|
|
|
+ */
|
|
|
|
|
+ handleAction(command, position, selection, data) {
|
|
|
|
|
+ switch (command) {
|
|
|
|
|
+ case 'search': // 查询
|
|
|
|
|
+ ActionUtils.setFirstPagination(this.pagination)
|
|
|
|
|
+ this.search()
|
|
|
|
|
+ break
|
|
|
|
|
+ // case 'resetSearch':
|
|
|
|
|
+ // this.typeId = ''
|
|
|
|
|
+ // this.tableTitle = ''
|
|
|
|
|
+ // this.search()
|
|
|
|
|
+ // break
|
|
|
|
|
+ case 'remove':
|
|
|
|
|
+ let str = ''
|
|
|
|
|
+ selection.forEach((item, index) => {
|
|
|
|
|
+ if (index == 0) {
|
|
|
|
|
+ str += item
|
|
|
|
|
+ } else {
|
|
|
|
|
+ str += ',' + item
|
|
|
|
|
+ }
|
|
|
|
|
+ })
|
|
|
|
|
+ let data = {}
|
|
|
|
|
+ data['tableName'] = 'ibps_bpm_inst_his'
|
|
|
|
|
+ data['paramWhere'] = "{id_:'" + str + "'}"
|
|
|
|
|
+ let this_ = this
|
|
|
|
|
+ curdPost('batchDelete', data).then((response) => {
|
|
|
|
|
+ this_.$message({
|
|
|
|
|
+ message: '删除成功!',
|
|
|
|
|
+ type: 'warning'
|
|
|
|
|
+ })
|
|
|
|
|
+ this.search()
|
|
|
|
|
+ })
|
|
|
|
|
+ break
|
|
|
|
|
+ case 'detail': // 明细
|
|
|
|
|
+ ActionUtils.selectedRecord(selection).then((id) => {
|
|
|
|
|
+ this.handleEdit(id)
|
|
|
|
|
+ this.title = '信息'
|
|
|
|
|
+ }).catch(() => {})
|
|
|
|
|
+ break
|
|
|
|
|
+ default:
|
|
|
|
|
+ break
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ handleNodeClick(typeId, typeName) {
|
|
|
|
|
+ this.tableTitle = typeName.name
|
|
|
|
|
+ this.typeId = typeId
|
|
|
|
|
+ // console.log(typeId)
|
|
|
|
|
+ // 如果是特殊处理添加列表中的数据
|
|
|
|
|
+ if (!listTypeData[typeId]) {
|
|
|
|
|
+ this.listType = ''
|
|
|
|
|
+ this.loadData()
|
|
|
|
|
+ } else {
|
|
|
|
|
+ this.listType = listTypeData[typeId]
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ handleExpandCollapse(isExpand) {
|
|
|
|
|
+ this.width = isExpand ? 230 : 30
|
|
|
|
|
+ },
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 处理编辑
|
|
|
|
|
+ */
|
|
|
|
|
+ handleEdit(id = '') {
|
|
|
|
|
+ this.instanceId = id
|
|
|
|
|
+ this.dialogFormVisible = true
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|
|
|
- }
|
|
|
|
|
-}
|
|
|
|
|
</script>
|
|
</script>
|
|
|
-<style lang="scss" >
|
|
|
|
|
-.js-custom-dialog {
|
|
|
|
|
- .el-dialog__body {
|
|
|
|
|
- height: calc(100vh) !important;
|
|
|
|
|
- margin: -9px !important;
|
|
|
|
|
- padding: 0px !important;
|
|
|
|
|
- overflow: hidden;
|
|
|
|
|
- }
|
|
|
|
|
-
|
|
|
|
|
- .el-dialog__header {
|
|
|
|
|
- padding: 0px;
|
|
|
|
|
- }
|
|
|
|
|
-
|
|
|
|
|
- .el-dialog__headerbtn i {
|
|
|
|
|
- font-size: 28px;
|
|
|
|
|
- font-weight: bold;
|
|
|
|
|
- background-color: #FFFFFF;
|
|
|
|
|
- border-radius: 8px;
|
|
|
|
|
- margin-top: -8px;
|
|
|
|
|
- }
|
|
|
|
|
-}
|
|
|
|
|
-</style>
|
|
|
|
|
-<style>
|
|
|
|
|
-.main-container .div_test {
|
|
|
|
|
- cursor: pointer;
|
|
|
|
|
-}
|
|
|
|
|
-
|
|
|
|
|
-.main-container .el-popover.popverClass {
|
|
|
|
|
- .div_content {
|
|
|
|
|
- .content_checkbox {
|
|
|
|
|
- .el-checkbox-group {
|
|
|
|
|
- display: flex;
|
|
|
|
|
- flex-direction: column;
|
|
|
|
|
- z-index: 999;
|
|
|
|
|
- }
|
|
|
|
|
-
|
|
|
|
|
- z-index: 999;
|
|
|
|
|
|
|
+<style lang="scss">
|
|
|
|
|
+ .js-custom-dialog {
|
|
|
|
|
+ .el-dialog__body {
|
|
|
|
|
+ height: calc(100vh) !important;
|
|
|
|
|
+ margin: -9px !important;
|
|
|
|
|
+ padding: 0px !important;
|
|
|
|
|
+ overflow: hidden;
|
|
|
|
|
+ }
|
|
|
|
|
+ .el-dialog__header {
|
|
|
|
|
+ padding: 0px;
|
|
|
|
|
+ }
|
|
|
|
|
+ .el-dialog__headerbtn i {
|
|
|
|
|
+ font-size: 28px;
|
|
|
|
|
+ font-weight: bold;
|
|
|
|
|
+ background-color: #ffffff;
|
|
|
|
|
+ border-radius: 8px;
|
|
|
|
|
+ margin-top: -8px;
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|
|
|
-
|
|
|
|
|
- .content_butts {
|
|
|
|
|
- z-index: 999;
|
|
|
|
|
- margin-top: 20px;
|
|
|
|
|
- display: flex;
|
|
|
|
|
- justify-content: flex-end;
|
|
|
|
|
-
|
|
|
|
|
- .el-button {
|
|
|
|
|
- padding: 7px 14px;
|
|
|
|
|
- }
|
|
|
|
|
|
|
+ .main-container .div_test {
|
|
|
|
|
+ cursor: pointer;
|
|
|
}
|
|
}
|
|
|
- }
|
|
|
|
|
|
|
+ .main-container .el-popover.popverClass {
|
|
|
|
|
+ .div_content {
|
|
|
|
|
+ .content_checkbox {
|
|
|
|
|
+ .el-checkbox-group {
|
|
|
|
|
+ display: flex;
|
|
|
|
|
+ flex-direction: column;
|
|
|
|
|
+ z-index: 999;
|
|
|
|
|
+ }
|
|
|
|
|
|
|
|
-}
|
|
|
|
|
|
|
+ z-index: 999;
|
|
|
|
|
+ }
|
|
|
|
|
+ .content_butts {
|
|
|
|
|
+ z-index: 999;
|
|
|
|
|
+ margin-top: 20px;
|
|
|
|
|
+ display: flex;
|
|
|
|
|
+ justify-content: flex-end;
|
|
|
|
|
+ .el-button {
|
|
|
|
|
+ padding: 7px 14px;
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
</style>
|
|
</style>
|