Просмотр исходного кода

fix:更改体系记录盒里报表名截取逻辑

liujiayin 3 лет назад
Родитель
Сommit
adc527fee9
1 измененных файлов с 234 добавлено и 277 удалено
  1. 234 277
      src/views/platform/bpmn/bpmInstHis/list.vue

+ 234 - 277
src/views/platform/bpmn/bpmInstHis/list.vue

@@ -2,106 +2,57 @@
   <div class="main-container">
 
     <div slot="west">
-      <ibps-type-tree
-        :width="width"
-        :height="height"
-        title="记录分类"
-        :location="location"
-        category-key="FLOW_TYPE"
-        @node-click="handleNodeClick"
-        @expand-collapse="handleExpandCollapse"
-      />
+      <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"
-    >
+    <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.split('/')[1].split('.')[0].split(' ')[1]}}
-            </span>
-            <br>
-          </div>
+      <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 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>
+          </div>
+        </el-popover>
+      </template>
 
     </ibps-crud>
-     <typeList
-        v-else
-       :listType="listType"
-       :tableTitle ="tableTitle"
-       :reportAll = "reportAll"
-       :typeId = "typeId"
-       />
+    <typeList v-else :listType="listType" :tableTitle="tableTitle" :reportAll="reportAll" :typeId="typeId" />
 
-    <bpmn-formrender
-      :visible="dialogFormVisible"
-      :instance-id="instanceId"
-      @close="visible => dialogFormVisible = visible"
-    />
+    <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"
-        >
+    <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"
-            />
+      <iframe :src="srcUrl" :height="'100%'" :width="'100%'" frameborder="0" scrolling="no" />
 
-      </el-dialog>
+    </el-dialog>
 
   </div>
 
@@ -124,35 +75,35 @@ export default {
     IbpsTypeTree,
     BpmnFormrender,
     typeList,
-   'ibps-attachment': IbpsAttachment
+    'ibps-attachment': IbpsAttachment
   },
-  mixins: [FixHeight,GetReport],
-  props:{
-    location:{
-      type:String,
+  mixins: [FixHeight, GetReport],
+  props: {
+    location: {
+      type: String,
       default: 'initial'
     }
   },
   data() {
     return {
       width: 200,
-      selection : false,
+      selection: false,
       dialogFormVisible: false, // 弹窗
       instanceId: '', // 编辑dialog需要使用
       pkKey: 'id', // 主键  如果主键不是pk需要传主键
-      tableTitle:'',
-      typeId:'',
-      listType:'',
-      srcUrl:'', //报表字段
-      fileId:'',//文件字段
-      isDisable:false, //判断多次点击
-      forClick:'',//判断是否重复点击
-      visible:false,
-      currReportCont:{},
+      tableTitle: '',
+      typeId: '',
+      listType: '',
+      srcUrl: '', //报表字段
+      fileId: '',//文件字段
+      isDisable: false, //判断多次点击
+      forClick: '',//判断是否重复点击
+      visible: false,
+      currReportCont: {},
       title: '',
       loading: true,
       height: document.clientHeight,
-      reportAll:[],
+      reportAll: [],
       listData: [],
       pagination: {},
       sorts: {},
@@ -163,36 +114,36 @@ export default {
         ],
         searchForm: {
           forms: [
-          { prop: 'Q^subject_^SL', label: '关键字:' , width: 125 },
-         /*  { prop: 'Q^proc_def_name_^SL', label: '任务名称' }, */
+            { 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
-            } */
+            /*  {
+                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: '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 },
+          { 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'//固定按钮
+          effect: 'display',
+          width: '100'//固定按钮
         }
       }
     }
@@ -201,121 +152,121 @@ export default {
     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 == "系统管理角色"){
-         this.listConfig.toolbars.push({key:'remove'})
-         this.selection  = true
-         return;
-       }
-     }
+    // console.log(roleArr)
+    for (let i = 0; i < roleArr.length; i++) {
+      if (roleArr[i].name == "系统管理角色") {
+        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
-      },
+    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]
-             }
+        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')
+        }
+        // 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)
-              }
-            }
+    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)
         }
-        return result.split('/')
+        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() : {}
+      const params = this.$refs['crud'] ? this.$refs['crud'].getSearcFormData() : {}
 
-        if (this.$utils.isNotEmpty(this.typeId)) {
-          params['Q^TYPE_ID_^S'] = this.typeId
-        }
+      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)
+      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
+      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
 
     },
     /**
@@ -342,11 +293,11 @@ export default {
       this.loadData()
     },
     /* 防止多次快速查询*/
-    numbersClick(){
+    numbersClick() {
       this.isDisable = true
-          setTimeout(() => {
-           this.isDisable = false
-          }, 600)
+      setTimeout(() => {
+        this.isDisable = false
+      }, 600)
     },
 
     /**
@@ -364,31 +315,31 @@ export default {
         //   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()
-           })
+          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
+          break
 
         case 'detail':// 明细
-         ActionUtils.selectedRecord(selection).then((id) => {
-          this.handleEdit(id)
+          ActionUtils.selectedRecord(selection).then((id) => {
+            this.handleEdit(id)
             this.title = '信息'
           }).catch(() => { })
           break
@@ -397,15 +348,15 @@ export default {
       }
     },
 
-    handleNodeClick(typeId,typeName) {
+    handleNodeClick(typeId, typeName) {
       this.tableTitle = typeName.name
       this.typeId = typeId
       // console.log(typeId)
       /* 如果是特殊处理添加列表中的数据*/
-      if(!listTypeData[typeId]){
+      if (!listTypeData[typeId]) {
         this.listType = ''
         this.loadData()
-      }else{
+      } else {
         this.listType = listTypeData[typeId]
       }
     },
@@ -423,49 +374,55 @@ export default {
 }
 </script>
 <style lang="scss" >
-.js-custom-dialog{
-  .el-dialog__body{
-      height:  calc(100vh) !important;
-      margin: -9px !important;
-      padding: 0px !important;
-	  overflow: hidden;
+.js-custom-dialog {
+  .el-dialog__body {
+    height: calc(100vh) !important;
+    margin: -9px !important;
+    padding: 0px !important;
+    overflow: hidden;
   }
-  .el-dialog__header{
+
+  .el-dialog__header {
     padding: 0px;
   }
+
   .el-dialog__headerbtn i {
-   font-size: 28px;
-   font-weight: bold;
-   background-color: #FFFFFF;
-   border-radius: 8px;
-   margin-top: -8px;
+    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;
-       }
-        .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>