Explorar o código

默认页码调整为100,修复导出后过滤条件缺失bug,调整首页登录页显示

cfort %!s(int64=2) %!d(string=hai) anos
pai
achega
557a58b823

+ 18 - 72
src/api/platform/system/jbdHome.js

@@ -1,82 +1,28 @@
 import request from '@/utils/request'
 import { BPMN_URL } from '@/api/baseUrl'
 
-
-/* 统计各委托单位案件数量   左一 行 */
-export function countCaseNumData(params) {
- return  request({
-    url: BPMN_URL() + '/sys/Statistics/countCaseNumData',
-    method: 'post',
-    data: params
-  })
-}
-
-/* 统计各类型案件数量   中一 块 */
-export function caseTypeStatis(params) {
- return  request({
-    url: BPMN_URL() + '/sys/Statistics/caseTypeStatis',
-    method: 'post',
-    data: params
-  })
-}
-
-/* 任务完成情况(委托任务)  中二 块 */
-export function tasksCompleteState(params) {
- return  request({
-    url: BPMN_URL() + '/sys/Statistics/tasksCompleteState',
-    method: 'post',
-    data: params
-  })
-}
-
-/* 办公数量统计 上一 行 */
-export function jianceTypeNum(params) {
- return  request({
-    url: BPMN_URL() + '/sys/Statistics/jianceTypeNum',
-    method: 'post',
-    data: params
-  })
-}
-
-/* 办公数量统计 上一 行 */
-export function staffTaskNum(params) {
- return  request({
-    url: BPMN_URL() + '/sys/Statistics/staffTaskNum',
-    method: 'post',
-    data: params
-  })
-}
-
-/* 各阶段完成量 下一  行 */
-export function stageCompleteStatis(params) {
- return  request({
-    url: BPMN_URL() + '/sys/Statistics/stageCompleteStatis',
-    method: 'post',
-    data: params
-  })
-}
 /* 定时任务获取 */
-export function StatisticsData(params) {
- return  request({
-    url: BPMN_URL() + '/sys/CronNotify/data',
-    method: 'post',
-    data: params
-  })
+export function StatisticsData (params) {
+    return request({
+        url: BPMN_URL() + '/sys/CronNotify/data',
+        method: 'post',
+        data: params
+    })
 }
 /* 定时任务签到   参数cronId*/
-export function StatisticsSign(params) {
- return  request({
-    url: BPMN_URL() + '/sys/CronNotify/sign',
-    method: 'post',
-    params
-  })
+export function StatisticsSign (params) {
+    return request({
+        url: BPMN_URL() + '/sys/CronNotify/sign',
+        method: 'post',
+        params
+    })
 }
 
 /* 定时任务统计   参数cronId*/
-export function StatisticsSelect(params) {
- return  request({
-    url: BPMN_URL() + '/sys/CronNotify/selectAll',
-    method: 'post',
-    data:params
-  })
+export function StatisticsSelect (params) {
+    return request({
+        url: BPMN_URL() + '/sys/CronNotify/selectAll',
+        method: 'post',
+        data: params
+    })
 }

+ 129 - 129
src/business/platform/data/templatebuilder/template-main/templates/list.vue

@@ -1,34 +1,34 @@
 <template>
-  <div>
-    <ibps-crud
-      :data="data"
-      :toolbars="listConfig.toolbars"
-      :search-form="listConfig.searchForm"
-      :pk-key="pkKey"
-      :columns="listConfig.columns"
-      :show-pagination="showPagination"
-      :pagination="pagination"
-      :index-row="indexRow"
-      :height="height"
-      :style="{
-        width:width+'px'
-      }"
-    >
-      <!--自定义查询条件-->
-      <template v-slot:searchForm>
-        <search-form
-          v-if="listConfig.searchForm && listConfig.searchForm.forms "
-          ref="searchForm"
-          :forms="listConfig.searchForm.forms||[]"
-          :size="listConfig.searchForm.size"
-          :fuzzy="listConfig.searchForm.fuzzy"
-          :inline="listConfig.searchForm.inline"
-          :label-width="listConfig.searchForm.labelWidth"
-          :item-width="listConfig.searchForm.itemWidth"
-        />
-      </template>
-    </ibps-crud>
-  </div>
+    <div>
+        <ibps-crud
+            :data="data"
+            :toolbars="listConfig.toolbars"
+            :search-form="listConfig.searchForm"
+            :pk-key="pkKey"
+            :columns="listConfig.columns"
+            :show-pagination="showPagination"
+            :pagination="pagination"
+            :index-row="indexRow"
+            :height="height"
+            :style="{
+                width:width+'px'
+            }"
+        >
+            <!--自定义查询条件-->
+            <template v-slot:searchForm>
+                <search-form
+                    v-if="listConfig.searchForm && listConfig.searchForm.forms "
+                    ref="searchForm"
+                    :forms="listConfig.searchForm.forms||[]"
+                    :size="listConfig.searchForm.size"
+                    :fuzzy="listConfig.searchForm.fuzzy"
+                    :inline="listConfig.searchForm.inline"
+                    :label-width="listConfig.searchForm.labelWidth"
+                    :item-width="listConfig.searchForm.itemWidth"
+                />
+            </template>
+        </ibps-crud>
+    </div>
 
 </template>
 <script>
@@ -37,113 +37,113 @@ import ButtonsConstants from '@/business/platform/data/constants/buttons'
 import { isIE } from '@/plugins/element-ui/src/utils/util'
 
 export default {
-  components: {
-    SearchForm
-  },
-  props: {
-    template: Object
-  },
-  data() {
-    const flexWidth = isIE() ? 20 : 0
-    return {
-      width: document.body.clientWidth - 570 - flexWidth,
-      data: [],
-      pkKey: 'id',
-      indexRow: false,
-      height: 350,
-      listConfig: {
-        // 工具栏
-        toolbars: [
-          { key: 'search' },
-          { key: 'add' },
-          { key: 'edit' },
-          { key: 'remove' }
-        ],
-        columns: [],
-        searchForm: null,
-        rowHandle: {
-          actions: [{
-            key: 'edit'
-          }]
+    components: {
+        SearchForm
+    },
+    props: {
+        template: Object
+    },
+    data () {
+        const flexWidth = isIE() ? 20 : 0
+        return {
+            width: document.body.clientWidth - 570 - flexWidth,
+            data: [],
+            pkKey: 'id',
+            indexRow: false,
+            height: 350,
+            listConfig: {
+                // 工具栏
+                toolbars: [
+                    { key: 'search' },
+                    { key: 'add' },
+                    { key: 'edit' },
+                    { key: 'remove' }
+                ],
+                columns: [],
+                searchForm: null,
+                rowHandle: {
+                    actions: [{
+                        key: 'edit'
+                    }]
+                }
+            },
+            showPagination: true,
+            pagination: {
+                page: 1,
+                limit: 20
+            }
         }
-      },
-      showPagination: true,
-      pagination: {
-        page: 1,
-        limit: 20
-      }
-    }
-  },
-  watch: {
-    template: {
-      handler(val, oldVal) {
-        if (!this.template) { return }
+    },
+    watch: {
+        template: {
+            handler (val, oldVal) {
+                if (!this.template) { return }
 
-        const toolbarButtons = this.template.buttons ? this.template.buttons.function_buttons || [] : []
+                const toolbarButtons = this.template.buttons ? this.template.buttons.function_buttons || [] : []
 
-        // 工具栏
-        const toolbars = []
-        toolbarButtons.forEach((button, i) => {
-          const defaultButton = ButtonsConstants[button.button_type] || {}
-          toolbars.push({
-            key: button.button_type + i,
-            label: button.label || defaultButton.label,
-            // position的值有:toolbar manage search eidt all
-            hidden: button.position === 'manage' || button.position === 'search' || button.position === 'eidt',
-            icon: button.icon ? 'ibps-icon-' + button.icon : defaultButton.icon,
-            type: button.style || defaultButton.style,
-            disabled: true
-          })
-        })
+                // 工具栏
+                const toolbars = []
+                toolbarButtons.forEach((button, i) => {
+                    const defaultButton = ButtonsConstants[button.button_type] || {}
+                    toolbars.push({
+                        key: button.button_type + i,
+                        label: button.label || defaultButton.label,
+                        // position的值有:toolbar manage search eidt all
+                        hidden: button.position === 'manage' || button.position === 'search' || button.position === 'eidt',
+                        icon: button.icon ? 'ibps-icon-' + button.icon : defaultButton.icon,
+                        type: button.style || defaultButton.style,
+                        disabled: true
+                    })
+                })
 
-        // 显示字段
-        const columns = []
-        const displayColumns = this.template.display_columns || []
-        displayColumns.forEach(column => {
-          columns.push({
-            prop: column.name,
-            label: column.label,
-            align: column.align,
-            sortable: column.sortable
-          })
-        })
+                // 显示字段
+                const columns = []
+                const displayColumns = this.template.display_columns || []
+                displayColumns.forEach(column => {
+                    columns.push({
+                        prop: column.name,
+                        label: column.label,
+                        align: column.align,
+                        sortable: column.sortable
+                    })
+                })
 
-        // 查询字段
-        const searchForms = []
-        const queryColumns = this.template.query_columns || []
-        queryColumns.forEach(column => {
-          const fieldType = column.field_type || 'input'
-          searchForms.push({
-            prop: column.name,
-            label: column.label,
-            fieldType: fieldType === 'datePicker' ? 'date' : (fieldType === 'dateRange' ? 'daterange' : fieldType),
-            options: column.field_options ? column.field_options.options || [] : [],
-            field_options: column.field_options || {},
-            modelValue: column.name,
-            disabled: true
-          })
-        })
+                // 查询字段
+                const searchForms = []
+                const queryColumns = this.template.query_columns || []
+                queryColumns.forEach(column => {
+                    const fieldType = column.field_type || 'input'
+                    searchForms.push({
+                        prop: column.name,
+                        label: column.label,
+                        fieldType: fieldType === 'datePicker' ? 'date' : (fieldType === 'dateRange' ? 'daterange' : fieldType),
+                        options: column.field_options ? column.field_options.options || [] : [],
+                        field_options: column.field_options || {},
+                        modelValue: column.name,
+                        disabled: true
+                    })
+                })
 
-        this.listConfig = {
-          toolbars: toolbars,
-          columns: columns
-        }
-        this.listConfig.searchForm = null
-        if (searchForms.length > 0) {
-          this.listConfig.searchForm = {
-            forms: searchForms
-          }
-        }
+                this.listConfig = {
+                    toolbars: toolbars,
+                    columns: columns
+                }
+                this.listConfig.searchForm = null
+                if (searchForms.length > 0) {
+                    this.listConfig.searchForm = {
+                        forms: searchForms
+                    }
+                }
 
-        this.showPagination = this.template.attrs ? this.template.attrs.need_page === 'Y' : true
-        // 分页
-        this.pagination.limit = this.template.attrs ? parseInt(this.template.attrs.page_size, 10) || 20 : 20
+                this.showPagination = this.template.attrs ? this.template.attrs.need_page === 'Y' : true
+                // 分页
+                this.pagination.limit = this.template.attrs ? parseInt(this.template.attrs.page_size, 10) || 100 : 20
 
-        this.indexRow = this.template.attrs ? this.template.attrs.indexRow || false : false
-      },
-      deep: true,
-      immediate: true
+                this.indexRow = this.template.attrs ? this.template.attrs.indexRow || false : false
+            },
+            deep: true,
+            immediate: true
+        }
     }
-  }
 }
 </script>

+ 244 - 242
src/business/platform/data/templatebuilder/utils/index.js

@@ -3,259 +3,261 @@ import Utils from '@/utils/util'
 
 const helpers = {
 
-  defaultTemplateAttrs: function(templateType, data) {
-    let attrs
-    if (data && data.showType === 'compose') {
-      attrs = []
-      var composeType = data.composeType
-      if (composeType === 'treeList') {
-        attrs.push(this.defaultTemplateAttrs('composeTree'))
-        attrs.push(this.defaultTemplateAttrs('composeList'))
-      } else if (composeType === 'listTree') {
-        attrs.push(this.defaultTemplateAttrs('composeList'))
-        attrs.push(this.defaultTemplateAttrs('composeTree'))
-      }
-      return attrs
-    } else {
-      attrs = {}
-      attrs['template_type'] = templateType
-      return attrs
-    }
-  },
-  /**
-   * 默认列表属性
-   * @param {*} param0
-   */
-  defaultListAttrs: function({ type }) {
-    let functionButtons = []
-    const attrs = {
-      'init_query': 'Y',
-      'need_page': 'Y',
-      'page_size': 20
-    }
-    if (type === 'dialog') {
-      attrs['data_title'] = {
-        type: 'first'
-      }
-      functionButtons = [
-        {
-          button_type: 'search',
-          label: '查询'
-        }]
-    } else {
-      functionButtons = [
-        {
-          button_type: 'search',
-          label: '查询'
-        },
-        {
-          button_type: 'resetSearch',
-          label: '重置'
-        },
-        {
-          button_type: 'add',
-          label: '添加'
-        },
-        {
-          button_type: 'remove',
-          label: '删除'
-        },
-        {
-          button_type: 'edit',
-          label: '编辑'
-        },
-        {
-          button_type: 'detail',
-          label: '明细'
+    defaultTemplateAttrs: function (templateType, data) {
+        let attrs
+        if (data && data.showType === 'compose') {
+            attrs = []
+            var composeType = data.composeType
+            if (composeType === 'treeList') {
+                attrs.push(this.defaultTemplateAttrs('composeTree'))
+                attrs.push(this.defaultTemplateAttrs('composeList'))
+            } else if (composeType === 'listTree') {
+                attrs.push(this.defaultTemplateAttrs('composeList'))
+                attrs.push(this.defaultTemplateAttrs('composeTree'))
+            }
+            return attrs
+        } else {
+            attrs = {}
+            attrs['template_type'] = templateType
+            return attrs
+        }
+    },
+    /**
+     * 默认列表属性
+     * @param {*} param0
+     */
+    defaultListAttrs: function ({ type }) {
+        let functionButtons = []
+        const attrs = {
+            'init_query': 'Y',
+            'need_page': 'Y',
+            'page_size': 100
+        }
+        if (type === 'dialog') {
+            attrs['data_title'] = {
+                type: 'first'
+            }
+            functionButtons = [
+                {
+                    button_type: 'search',
+                    label: '查询'
+                }]
+        } else {
+            functionButtons = [
+                {
+                    button_type: 'search',
+                    label: '查询'
+                },
+                {
+                    button_type: 'resetSearch',
+                    label: '重置'
+                },
+                {
+                    button_type: 'add',
+                    label: '添加'
+                },
+                {
+                    button_type: 'remove',
+                    label: '删除'
+                },
+                {
+                    button_type: 'edit',
+                    label: '编辑'
+                },
+                {
+                    button_type: 'detail',
+                    label: '明细'
+                }
+            ]
         }
-      ]
-    }
 
-    const editButtons = [
-      {
-        button_type: 'close',
-        label: '关闭'
-      },
-      {
-        button_type: 'save',
-        label: '保存'
-      }
-    ]
-    return {
-      attrs: attrs,
-      display_columns: [],
-      buttons: {
-        function_buttons: functionButtons,
-        edit_buttons: editButtons
-      }}
-  },
-  /**
-   * 默认树形属性
-   * @param {*} param0
-   */
-  defaultTreeAttrs: function({ type }) {
-    let contextmenuButtons = []
-    const attrs = {
-      'expand': 'Y'
-    }
+        const editButtons = [
+            {
+                button_type: 'close',
+                label: '关闭'
+            },
+            {
+                button_type: 'save',
+                label: '保存'
+            }
+        ]
+        return {
+            attrs: attrs,
+            display_columns: [],
+            buttons: {
+                function_buttons: functionButtons,
+                edit_buttons: editButtons
+            }
+        }
+    },
+    /**
+     * 默认树形属性
+     * @param {*} param0
+     */
+    defaultTreeAttrs: function ({ type }) {
+        let contextmenuButtons = []
+        const attrs = {
+            'expand': 'Y'
+        }
 
-    if (type === 'dialog') {
-      attrs['data_title'] = {
-        type: 'first'
-      }
-    } else {
-      // 右键菜单
-      contextmenuButtons = [
-        {
-          button_type: 'add',
-          label: '添加'
-        },
-        {
-          button_type: 'remove',
-          label: '删除'
-        },
-        {
-          button_type: 'edit',
-          label: '编辑'
-        },
-        {
-          button_type: 'detail',
-          label: '明细'
+        if (type === 'dialog') {
+            attrs['data_title'] = {
+                type: 'first'
+            }
+        } else {
+            // 右键菜单
+            contextmenuButtons = [
+                {
+                    button_type: 'add',
+                    label: '添加'
+                },
+                {
+                    button_type: 'remove',
+                    label: '删除'
+                },
+                {
+                    button_type: 'edit',
+                    label: '编辑'
+                },
+                {
+                    button_type: 'detail',
+                    label: '明细'
+                }
+            ]
         }
-      ]
-    }
 
-    const functionButtons = [
-      {
-        button_type: 'refresh',
-        label: '刷新'
-      },
-      {
-        button_type: 'expand',
-        label: '展开'
-      }, {
-        button_type: 'compress',
-        label: '收缩'
-      }
-    ]
+        const functionButtons = [
+            {
+                button_type: 'refresh',
+                label: '刷新'
+            },
+            {
+                button_type: 'expand',
+                label: '展开'
+            }, {
+                button_type: 'compress',
+                label: '收缩'
+            }
+        ]
 
-    // 编辑页按钮
-    const editButtons = [
-      {
-        button_type: 'close',
-        label: '关闭'
-      },
-      {
-        button_type: 'save',
-        label: '保存'
-      }
-    ]
-    return {
-      attrs: attrs,
-      display_columns: {},
-      buttons: {
-        function_buttons: functionButtons,
-        contextmenu_buttons: contextmenuButtons,
-        edit_buttons: editButtons
-      }}
-  },
-  defaultDialogAttrs: function() {
-    return {
-      attrs: {
-        multi: 'Y',
-        width: '80',
-        height: '80'
-      },
-      buttons: {
-        'dialog_buttons': [{
-          button_type: 'ok',
-          label: '确定'
-        }, {
-          button_type: 'clean',
-          label: '清空'
-        }, {
-          button_type: 'cancel',
-          label: '取消'
-        }]
-      }
-    }
-  },
-  /**
-   * 值来源
-   */
-  defaultValueSourcetAttrs() {
-    return {
-      attrs: {}
-    }
-  },
-  getAllFields(datasets) {
-    const fields = JSON.parse(JSON.stringify(datasets))
-    if (Array.isArray(fields)) {
-      return fields.filter((d) => {
-        return d.parentId !== '0'
-      })
-    } else {
-    //  const requestData = fields.requestData
-
-      return fields
-    }
-  },
-  getFields(datasets, type) {
-    const fields = JSON.parse(JSON.stringify(datasets))
-    if (Array.isArray(fields)) {
-      return fields.filter((d) => {
-        return d.parentId !== '0'
-      })
-    } else {
-      return fields
-    }
-  },
-  getFieldsByType(datasets, type) {
-    const fields = JSON.parse(JSON.stringify(datasets))
-    if (type === 'query') {
-      const requestData = fields.requestData
-      const data = []
+        // 编辑页按钮
+        const editButtons = [
+            {
+                button_type: 'close',
+                label: '关闭'
+            },
+            {
+                button_type: 'save',
+                label: '保存'
+            }
+        ]
+        return {
+            attrs: attrs,
+            display_columns: {},
+            buttons: {
+                function_buttons: functionButtons,
+                contextmenu_buttons: contextmenuButtons,
+                edit_buttons: editButtons
+            }
+        }
+    },
+    defaultDialogAttrs: function () {
+        return {
+            attrs: {
+                multi: 'Y',
+                width: '80',
+                height: '80'
+            },
+            buttons: {
+                'dialog_buttons': [{
+                    button_type: 'ok',
+                    label: '确定'
+                }, {
+                    button_type: 'clean',
+                    label: '清空'
+                }, {
+                    button_type: 'cancel',
+                    label: '取消'
+                }]
+            }
+        }
+    },
+    /**
+     * 值来源
+     */
+    defaultValueSourcetAttrs () {
+        return {
+            attrs: {}
+        }
+    },
+    getAllFields (datasets) {
+        const fields = JSON.parse(JSON.stringify(datasets))
+        if (Array.isArray(fields)) {
+            return fields.filter((d) => {
+                return d.parentId !== '0'
+            })
+        } else {
+            //  const requestData = fields.requestData
 
-      // bodyData
-      if (Utils.isNotEmpty(requestData.bodyData)) {
-        if (requestData.bodyType === 'json') {
-          data.push(requestData.bodyData[0])
+            return fields
+        }
+    },
+    getFields (datasets, type) {
+        const fields = JSON.parse(JSON.stringify(datasets))
+        if (Array.isArray(fields)) {
+            return fields.filter((d) => {
+                return d.parentId !== '0'
+            })
         } else {
-          this.buildParams(data, requestData.querys, {
-            id: 'body',
-            name: 'bodyRoot',
-            desc: 'bodyRoot'
-          })
+            return fields
         }
-      }
-      // query
-      if (Utils.isNotEmpty(requestData.querys)) {
-        this.buildParams(data, requestData.querys, {
-          id: 'query',
-          name: 'queryRoot',
-          desc: '查询(query)'
-        })
-      }
-      // 请求头
-      if (Utils.isNotEmpty(requestData.headers)) {
-        this.buildParams(data, requestData.headers, {
-          id: 'header',
-          name: 'headerRoot',
-          desc: '请求头(header)'
-        })
-      }
+    },
+    getFieldsByType (datasets, type) {
+        const fields = JSON.parse(JSON.stringify(datasets))
+        if (type === 'query') {
+            const requestData = fields.requestData
+            const data = []
 
-      return data
+            // bodyData
+            if (Utils.isNotEmpty(requestData.bodyData)) {
+                if (requestData.bodyType === 'json') {
+                    data.push(requestData.bodyData[0])
+                } else {
+                    this.buildParams(data, requestData.querys, {
+                        id: 'body',
+                        name: 'bodyRoot',
+                        desc: 'bodyRoot'
+                    })
+                }
+            }
+            // query
+            if (Utils.isNotEmpty(requestData.querys)) {
+                this.buildParams(data, requestData.querys, {
+                    id: 'query',
+                    name: 'queryRoot',
+                    desc: '查询(query)'
+                })
+            }
+            // 请求头
+            if (Utils.isNotEmpty(requestData.headers)) {
+                this.buildParams(data, requestData.headers, {
+                    id: 'header',
+                    name: 'headerRoot',
+                    desc: '请求头(header)'
+                })
+            }
+
+            return data
+        }
+    },
+    buildParams (data, list, rootData) {
+        const children = []
+        list.forEach(item => {
+            children.push(item)
+        })
+        rootData.children = children
+        data.push(rootData)
     }
-  },
-  buildParams(data, list, rootData) {
-    const children = []
-    list.forEach(item => {
-      children.push(item)
-    })
-    rootData.children = children
-    data.push(rootData)
-  }
 }
 
 export default helpers

+ 2 - 1
src/business/platform/data/templaterender/templates/list.vue

@@ -1028,7 +1028,8 @@ export default {
         getResponseData (buttonType, ids, exportColumns) {
             const { template, dataTemplate, fields, pagination, sorts } = this
             const params = {}
-            template.filter_conditions = []
+            // 取消重置过滤条件
+            // template.filter_conditions = []
             let response_data = JSON.parse(JSON.stringify(dataTemplate))
             if (this.$utils.isEmpty(template.export_columns)) {
                 const arr = dataTemplate.datasets.filter((d) => d.type !== 'table')

+ 0 - 3
src/business/platform/org/position/panel.vue

@@ -314,9 +314,6 @@ export default {
                 // dotCount = (arrList[0].path.match(/\./g) || []).length
                 dotCount = arrList[0].depth
             }
-
-            console.log(arrList)
-
             // 如果上级可以选择 也就是 disabled false,下级一定是false
             // if(dotCount)
 

+ 1 - 1
src/components/jbd-panel/index.vue

@@ -8,7 +8,7 @@
 -->
 <template>
     <div class="jbd-sys-title">
-        <span class="jbd-sys-title-cont-center" style="margin-left: 40px;float: left;">{{ deptName }}医学实验室标准化智慧管理平台</span>
+        <span class="jbd-sys-title-cont-center" style="margin-left: 40px;float: left;">金通医学实验室标准化数字化管理平台</span>
         <span style="float: right; " class="jbd-sys-title-contact">
             <br>
             深圳市金源信通科技有限公司开发 <i style="margin-left: 10px;" class="el-icon-phone" /> 0755-2642-4403

+ 2 - 2
src/layout/header-aside/layout.vue

@@ -105,8 +105,8 @@
                     <!-- 消息中心 -->
                     <span style="margin: 0 10px;">|</span>
                     <ibps-header-user style="margin-right: 15px;"/>
-                    <span style="margin-left: 10px;">|</span>
-                    <ibps-header-setting />
+                    <!-- <span style="margin-left: 10px;">|</span>
+                    <ibps-header-setting /> -->
                 </div>
             </div>
             <!-- 下面 主体 -->

+ 2 - 2
src/store/modules/ibps/modules/user.js

@@ -168,8 +168,8 @@ export default {
          * 获取所有系统用户账号
          */
         getUserList ({ state, dispatch }, { first, second }) {
-            const params = second ? ` and (path_ like '%${second}%' or id_ = '${first}')` : first ? ` and path_ like '%${first}%'` : ''
-            const sql = `select users.id_ as userId, users.name_ as userName, users.mobile_ as phone, (select ifnull(GROUP_CONCAT(DISTINCT roles.name_ SEPARATOR ','), '') from ibps_party_entity as roles where find_in_set(roles.id_, users.job_)) as roles, (select ifnull(GROUP_CONCAT(DISTINCT positions.name_ SEPARATOR ','), '') from ibps_party_entity as positions where find_in_set(positions.id_, users.positions_)) as positions from ibps_party_employee as users`
+            const params = second ? `'%${second}%' or entity.id_ = '${first}'` : first ? `'%${first}%'` : '%%'
+            const sql = `select users.id_ as userId, users.name_ as userName, users.mobile_ as phone, (select ifnull(GROUP_CONCAT(DISTINCT roles.name_ SEPARATOR ','), '') from ibps_party_entity as roles where find_in_set(roles.id_, users.job_)) as roles, (select ifnull(GROUP_CONCAT(DISTINCT positions.name_ SEPARATOR ','), '') from ibps_party_entity as positions where find_in_set(positions.id_, users.positions_)) as positions from ibps_party_employee as users where exists (select 1 from ibps_party_entity as entity where find_in_set(entity.id_, users.positions_) and (entity.path_ like ${params}))`
             common.request('sql', sql).then(res => {
                 const { data = [] } = res.variables || {}
                 dispatch('ibps/param/setUserList', data, {

+ 290 - 293
src/utils/action.js

@@ -14,309 +14,306 @@ import I18n from '@/utils/i18n'
 import common from '@/constants/common.js'
 
 const action = {
-  msg: function(message, options) {
-    Message.closeAll()
-    if (!options) {
-      options = options || {}
-    }
-    options.message = message
-    Message(options)
-  },
-  /**
-   * 操作警告提示
-   */
-  warning: function(message) {
-    this.msg(message, {
-      type: 'warning'
-    })
-  },
-  /**
-   * 操作成功提示
-   */
-  success: function(message) {
-    this.msg(message, {
-      type: 'success'
-    })
-  },
-  error: function(message) {
-    this.msg(message, {
-      type: 'error'
-    })
-  },
-  /**
-   * 默认操作成功提示
-   *  @param {*} message
-   */
-  successMessage: function(message = I18n.t('common.dialog.operateSuccess')) {
-    this.success(message)
-  },
-  /**
-   * 删除成功提示
-   * @param {*} message
-   */
-  removeSuccessMessage: function(message = I18n.t('common.dialog.removeSuccess')) {
-    this.success(message)
-  },
-  /**
- * 获取选择行的id
- * @param {*} rows
- * @param {*} pkKey
- */
-  getSelectedIds: function(rows, pkKey = 'id') {
-    const ids = []
-    rows.forEach(row => {
-      ids.push(row[pkKey])
-    })
-    return ids
-  },
-  /**
- * 选择记录
- * 只能选择一个记录
- * [一般用于编辑、明细等只选择一个记录]
- *
- * @param {*} selection
- */
-  selectedRecord: function(selection) {
-    return new Promise((resolve, reject) => {
-      if (Utils.isEmpty(selection)) {
-        this.warning(I18n.t('common.dialog.selectedRecords'))
-        return reject(selection)
-      }
-      if (Array.isArray(selection) && selection.length > 1) {
-        this.warning(I18n.t('common.dialog.multipleSelected'))
-        return reject(selection)
-      }
-      if (Array.isArray(selection)) {
-        resolve(selection[0])
-      } else {
-        resolve(selection)
-      }
-    })
-  },
-  /**
- * 选择多个记录
- * [一般用于删除等选择多个记录]
- *
- * @param {*} selection 选中的值
- * @param {*} isArray 是否数组格式返回 默认 false
- * @param {*} separator 分割符 默认 `,`
- */
-  selectedMultiRecord: function(selection, isArray = false, separator = ',') {
-    return new Promise((resolve, reject) => {
-      if (Utils.isEmpty(selection)) {
-        this.warning(I18n.t('common.dialog.selectedRecords'))
-        return reject(selection)
-      }
+    msg: function (message, options) {
+        Message.closeAll()
+        if (!options) {
+            options = options || {}
+        }
+        options.message = message
+        Message(options)
+    },
+    /**
+     * 操作警告提示
+     */
+    warning: function (message) {
+        this.msg(message, {
+            type: 'warning'
+        })
+    },
+    /**
+     * 操作成功提示
+     */
+    success: function (message) {
+        this.msg(message, {
+            type: 'success'
+        })
+    },
+    error: function (message) {
+        this.msg(message, {
+            type: 'error'
+        })
+    },
+    /**
+     * 默认操作成功提示
+     *  @param {*} message
+     */
+    successMessage: function (message = I18n.t('common.dialog.operateSuccess')) {
+        this.success(message)
+    },
+    /**
+     * 删除成功提示
+     * @param {*} message
+     */
+    removeSuccessMessage: function (message = I18n.t('common.dialog.removeSuccess')) {
+        this.success(message)
+    },
+    /**
+     * 获取选择行的id
+     * @param {*} rows
+     * @param {*} pkKey
+     */
+    getSelectedIds: function (rows, pkKey = 'id') {
+        const ids = []
+        rows.forEach(row => {
+            ids.push(row[pkKey])
+        })
+        return ids
+    },
+    /**
+     * 选择记录
+     * 只能选择一个记录
+     * [一般用于编辑、明细等只选择一个记录]
+     *
+     * @param {*} selection
+     */
+    selectedRecord: function (selection) {
+        return new Promise((resolve, reject) => {
+            if (Utils.isEmpty(selection)) {
+                this.warning(I18n.t('common.dialog.selectedRecords'))
+                return reject(selection)
+            }
+            if (Array.isArray(selection) && selection.length > 1) {
+                this.warning(I18n.t('common.dialog.multipleSelected'))
+                return reject(selection)
+            }
+            if (Array.isArray(selection)) {
+                resolve(selection[0])
+            } else {
+                resolve(selection)
+            }
+        })
+    },
+    /**
+     * 选择多个记录
+     * [一般用于删除等选择多个记录]
+     *
+     * @param {*} selection 选中的值
+     * @param {*} isArray 是否数组格式返回 默认 false
+     * @param {*} separator 分割符 默认 `,`
+     */
+    selectedMultiRecord: function (selection, isArray = false, separator = ',') {
+        return new Promise((resolve, reject) => {
+            if (Utils.isEmpty(selection)) {
+                this.warning(I18n.t('common.dialog.selectedRecords'))
+                return reject(selection)
+            }
 
-      if (!Array.isArray(selection)) {
-        selection = selection.split(separator)
-      }
-      if (!isArray) { // 不是数组返回
-        selection = selection.join(separator)
-      }
-      resolve(selection)
-    })
-  },
-  /**
- * 删除记录
- * @param {*} rows
- * @param {*} pkKey
- */
-  removeRecord: function(selection, confirmMsg = I18n.t('common.dialog.removeRecord'), isArray = false, separator = ',') {
-    return new Promise((resolve, reject) => {
-      if (Utils.isEmpty(selection)) {
-        this.warning(I18n.t('common.dialog.selectedRecords'))
-        return reject(selection)
-      }
+            if (!Array.isArray(selection)) {
+                selection = selection.split(separator)
+            }
+            if (!isArray) { // 不是数组返回
+                selection = selection.join(separator)
+            }
+            resolve(selection)
+        })
+    },
+    /**
+     * 删除记录
+     * @param {*} rows
+     * @param {*} pkKey
+     */
+    removeRecord: function (selection, confirmMsg = I18n.t('common.dialog.removeRecord'), isArray = false, separator = ',') {
+        return new Promise((resolve, reject) => {
+            if (Utils.isEmpty(selection)) {
+                this.warning(I18n.t('common.dialog.selectedRecords'))
+                return reject(selection)
+            }
 
-      if (!Array.isArray(selection)) {
-        selection = selection.split(separator)
-      }
-      if (!isArray) { // 不是数组返回
-        selection = selection.join(separator)
-      }
+            if (!Array.isArray(selection)) {
+                selection = selection.split(separator)
+            }
+            if (!isArray) { // 不是数组返回
+                selection = selection.join(separator)
+            }
 
-      MessageBox.confirm(confirmMsg, I18n.t('common.dialog.title'), {
-        type: 'warning'
-      }).then(() => {
-        resolve(selection)
-      }).catch((err) => {
-        reject(err)
-      })
-    })
-  },
+            MessageBox.confirm(confirmMsg, I18n.t('common.dialog.title'), {
+                type: 'warning'
+            }).then(() => {
+                resolve(selection)
+            }).catch((err) => {
+                reject(err)
+            })
+        })
+    },
+    /**
+     * 保存成功提示
+     */
+    saveSuccessMessage: function (message = I18n.t('common.dialog.operateSuccess'), callback) {
+        message = Utils.isNotEmpty(message) ? message : I18n.t('common.dialog.operateSuccess')
+        MessageBox.confirm(message,
+            I18n.t('common.dialog.title'),
+            {
+                type: 'success',
+                confirmButtonText: I18n.t('common.dialog.saveConfirmButtonText'),
+                cancelButtonText: I18n.t('common.dialog.saveCancelButtonText'),
+                closeOnClickModal: false,
+                callback: (action) => {
+                    const flag = action !== 'confirm'
+                    callback(flag)
+                }
+            })
+    },
 
-  /**
- * 保存成功提示
- */
-  saveSuccessMessage: function(message = I18n.t('common.dialog.operateSuccess'), callback) {
-    message = Utils.isNotEmpty(message) ? message : I18n.t('common.dialog.operateSuccess')
-    MessageBox.confirm(message,
-      I18n.t('common.dialog.title'),
-      {
-        type: 'success',
-        confirmButtonText: I18n.t('common.dialog.saveConfirmButtonText'),
-        cancelButtonText: I18n.t('common.dialog.saveCancelButtonText'),
-        closeOnClickModal: false,
-        callback: (action) => {
-          const flag = action !== 'confirm'
-          callback(flag)
-        }
-      })
-  },
+    /**
+     * 保存成功提示
+     */
+    saveSuccessAlert: function (message = I18n.t('common.dialog.operateSuccess'), callback) {
+        MessageBox.alert(message,
+            I18n.t('common.dialog.title'),
+            {
+                type: 'success',
+                closeOnClickModal: false,
+                showClose: false,
+                callback: (action) => {
+                    callback(action)
+                }
+            })
+    },
+    /**
+     * 保存失败
+     */
+    saveErrorMessage: function (message, callback) {
+        this.warning(message || I18n.t('common.dialog.saveError'))
+        if (callback) { callback() }
+    },
+    /**
+     * 处理列表数据
+     * @param vm 当前对象
+     * @param data 后台返回的列表数据
+     * @param options 参数
+     *   dataResultKey 默认 dataResult
+     *  pageResultKey 默认 pageResult
+     *  resultKey 结果key 默认 listData
+     *  pageKey 分页key 默认 pagination
+     */
+    handleListData: function (vm, data, options = {}) {
+        const dataResultKey = options.dataResultKey || 'dataResult'
+        const pageResultKey = options.pageResultKey || 'pageResult'
+        const resultKey = options.resultKey || 'listData'
+        const pageKey = options.pageKey || 'pagination'
+        vm[resultKey] = data ? data[dataResultKey] || [] : []
+        vm[pageKey] = data ? data[pageResultKey] || {} : {}
+    },
 
-  /**
- * 保存成功提示
- */
-  saveSuccessAlert: function(message = I18n.t('common.dialog.operateSuccess'), callback) {
-    MessageBox.alert(message,
-      I18n.t('common.dialog.title'),
-      {
-        type: 'success',
-        closeOnClickModal: false,
-        showClose: false,
-        callback: (action) => {
-          callback(action)
+    /**
+     *  设置分页设置
+     */
+    setPagination: function (pagination, defaultPagination) {
+        // 修复通过查询
+        if (!defaultPagination) {
+            defaultPagination = {
+                page: common.PAGE,
+                limit: pagination.limit || common.LIMIT
+            }
         }
-      })
-  },
-  /**
- * 保存失败
- */
-  saveErrorMessage: function(message, callback) {
-    this.warning(message || I18n.t('common.dialog.saveError'))
-    if (callback) { callback() }
-  },
-  /**
- * 处理列表数据
- * @param vm 当前对象
- * @param data 后台返回的列表数据
- * @param options 参数
- *   dataResultKey 默认 dataResult
- *  pageResultKey 默认 pageResult
- *  resultKey 结果key 默认 listData
- *  pageKey 分页key 默认 pagination
- */
-  handleListData: function(vm, data, options = {}) {
-    const dataResultKey = options.dataResultKey || 'dataResult'
-    const pageResultKey = options.pageResultKey || 'pageResult'
-    const resultKey = options.resultKey || 'listData'
-    const pageKey = options.pageKey || 'pagination'
-    vm[resultKey] = data ? data[dataResultKey] || [] : []
-    vm[pageKey] = data ? data[pageResultKey] || {} : {}
-  },
-
-  /**
- *  设置分页设置
- */
-  setPagination: function(pagination, defaultPagination) {
-    // 修复通过查询
-    if (!defaultPagination) {
-      defaultPagination = {
-        page: common.PAGE,
-        limit: pagination.limit || common.LIMIT
-      }
-    }
-    pagination.page = defaultPagination ? (defaultPagination.page || common.PAGE) : (pagination.page || common.PAGE)
-    pagination.limit = defaultPagination ? (defaultPagination.limit || common.LIMIT) : (pagination.limit || common.LIMIT)
-  },
-  /**
-   * 设置分页第一页设置
-   * @param {*} pagination
-   * @param {*} defaultPagination
-   */
-  setFirstPagination: function(pagination) {
-    pagination.page = common.PAGE
-  },
-  /**
- * 设置排序
- */
-  setSorts: function(sorts, sort, defaultSorts = {}) {
-    const defaultSortsData = function() {
-      for (const key in defaultSorts) {
-        sorts[key] = defaultSorts[key]
-      }
-    }
-    // 清空属性
-    for (const key in sorts) {
-      delete sorts[key]
-    }
-    if (sort) {
-      const { name, sortBy, order } = sort
-      if (name && order) {
-        sorts[name] = order === 'ascending' ? 'ASC' : 'DESC'
-      } else if (sortBy && order) {
-        sorts[sortBy] = order === 'ascending' ? 'ASC' : 'DESC'
-      } else {
-        defaultSortsData()
-      }
-    } else {
-      defaultSortsData()
-    }
-  },
-
-  /**
- * 格式分页数据
- * @param {} params 查询的参数
- * @param {} page 分页
- * @param {} sorts 排序
- */
-  formatParams: function(params, page, sorts) {
-    const results = {}
-    if (params) {
-      results.parameters = Object.keys(params).map((k) => {
-        return {
-          'key': k,
-          'value': params[k]
+        pagination.page = defaultPagination ? (defaultPagination.page || common.PAGE) : (pagination.page || common.PAGE)
+        pagination.limit = defaultPagination ? (defaultPagination.limit || common.LIMIT) : (pagination.limit || common.LIMIT)
+    },
+    /**
+     * 设置分页第一页设置
+     * @param {*} pagination
+     * @param {*} defaultPagination
+     */
+    setFirstPagination: function (pagination) {
+        pagination.page = common.PAGE
+    },
+    /**
+     * 设置排序
+     */
+    setSorts: function (sorts, sort, defaultSorts = {}) {
+        const defaultSortsData = function () {
+            for (const key in defaultSorts) {
+                sorts[key] = defaultSorts[key]
+            }
         }
-      })
-    }
-    if (page) {
-      results.requestPage = {
-        'pageNo': page.page || common.PAGE,
-        'limit': page.limit || common.LIMIT
-      }
-      if (Utils.isNotEmpty(page.totalCount)) { // mock 数据时候要传
-        results.requestPage['totalCount'] = page.totalCount
-      }
-    }
-    if (sorts) {
-      results.sorts = Object.keys(sorts).map((k) => {
-        return {
-          'field': k,
-          'order': sorts[k]
+        // 清空属性
+        for (const key in sorts) {
+            delete sorts[key]
+        }
+        if (sort) {
+            const { name, sortBy, order } = sort
+            if (name && order) {
+                sorts[name] = order === 'ascending' ? 'ASC' : 'DESC'
+            } else if (sortBy && order) {
+                sorts[sortBy] = order === 'ascending' ? 'ASC' : 'DESC'
+            } else {
+                defaultSortsData()
+            }
+        } else {
+            defaultSortsData()
+        }
+    },
+    /**
+     * 格式分页数据
+     * @param {} params 查询的参数
+     * @param {} page 分页
+     * @param {} sorts 排序
+     */
+    formatParams: function (params, page, sorts) {
+        const results = {}
+        if (params) {
+            results.parameters = Object.keys(params).map((k) => {
+                return {
+                    'key': k,
+                    'value': params[k]
+                }
+            })
+        }
+        if (page) {
+            results.requestPage = {
+                'pageNo': page.page || common.PAGE,
+                'limit': page.limit || common.LIMIT
+            }
+            if (Utils.isNotEmpty(page.totalCount)) { // mock 数据时候要传
+                results.requestPage['totalCount'] = page.totalCount
+            }
+        }
+        if (sorts) {
+            results.sorts = Object.keys(sorts).map((k) => {
+                return {
+                    'field': k,
+                    'order': sorts[k]
+                }
+            })
         }
-      })
-    }
 
-    return results
-  },
-  /**
- * 下载
- */
-  download: function(data, fileName, responseType = 'application/octet-stream') {
-    const blob = data instanceof Blob ? data : new Blob([data], { type: responseType })
-    if ('download' in document.createElement('a')) { // 非IE下载
-      const url = window.URL.createObjectURL(blob)
-      const link = document.createElement('a')
-      link.style.display = 'none'
-      link.href = url
-      link.setAttribute('download', fileName)
-      document.body.appendChild(link)
-      link.click()
-      window.URL.revokeObjectURL(link.href)
-      document.body.removeChild(link)
-    } else { // IE10+下载
-      navigator.msSaveBlob(blob, fileName)
+        return results
+    },
+    /**
+     * 下载
+     */
+    download: function (data, fileName, responseType = 'application/octet-stream') {
+        const blob = data instanceof Blob ? data : new Blob([data], { type: responseType })
+        if ('download' in document.createElement('a')) { // 非IE下载
+            const url = window.URL.createObjectURL(blob)
+            const link = document.createElement('a')
+            link.style.display = 'none'
+            link.href = url
+            link.setAttribute('download', fileName)
+            document.body.appendChild(link)
+            link.click()
+            window.URL.revokeObjectURL(link.href)
+            document.body.removeChild(link)
+        } else { // IE10+下载
+            navigator.msSaveBlob(blob, fileName)
+        }
+    },
+    /**
+     * 导出文件
+     */
+    exportFile: function (data, fileName, responseType = 'application/octet-stream') {
+        this.download(data, fileName, responseType)
     }
-  },
-
-  /**
- * 导出文件
- */
-  exportFile: function(data, fileName, responseType = 'application/octet-stream') {
-    this.download(data, fileName, responseType)
-  }
 
 }
 

+ 88 - 63
src/views/platform/bpmn/bpmInstHis/list.vue

@@ -44,64 +44,6 @@
                     trigger="click"
                     @show="getReportAndFile(scope.row)"
                 >
-                    <!-- 二级菜单,内审管审特有 -->
-                    <template v-if="specialType.hasOwnProperty(typeId)">
-                        <el-popover
-                            :ref="'popover3-' + scope.row.id"
-                            placement="left"
-                            width="350"
-                            popper-class="popverClass"
-                            trigger="click"
-                        >
-                            <div slot="reference" class="sub_operation el-icon-s-order">{{ specialBtn[typeId].label }}</div>
-                            <div v-if="record.special && record.special.length" class="div_content">
-                                <div v-for="(item, index) in record.special" :key="index" class="content_item">
-                                    <div class="sub_content">
-                                        <div class="title">{{ specialBtn[typeId].desc }}项{{ item.flag }}</div>
-                                        <div class="sub_item">
-                                            <div class="desc">{{ specialBtn[typeId].desc }}前</div>
-                                            <ibps-attachment
-                                                v-model="item.beforeImprove"
-                                                placeholder="请选择"
-                                                :download="true"
-                                                :readonly="true"
-                                                accept="*"
-                                                :multiple="true"
-                                                upload-type="attachment"
-                                                store="id"
-                                                media-type=""
-                                                media=""
-                                                style="width: 100%;"
-                                            />
-                                        </div>
-                                        <div class="sub_item">
-                                            <div class="desc">{{ specialBtn[typeId].desc }}后</div>
-                                            <ibps-attachment
-                                                v-model="item.afterImprove"
-                                                placeholder="请选择"
-                                                :download="true"
-                                                :readonly="true"
-                                                accept="*"
-                                                :multiple="true"
-                                                upload-type="attachment"
-                                                store="id"
-                                                media-type=""
-                                                media=""
-                                                style="width: 100%;"
-                                            />
-                                        </div>
-                                        <div class="content_item">
-                                            <span style="cursor: pointer;" @click="openReport(specialBtn[typeId].path, item.id_)">
-                                                <i class="el-icon-tickets" style="font-size: 14px;" />
-                                                {{ specialBtn[typeId].path | getReportName }}
-                                            </span>
-                                        </div>
-                                    </div>
-                                </div>
-                            </div>
-                            <div v-else>无对应数据</div>
-                        </el-popover>
-                    </template>
                     <div slot="reference" class="div_operation el-icon-s-order">查阅记录</div>
                     <div class="div_content">
                         <!-- 获取所有输出报告-->
@@ -115,6 +57,64 @@
                                 <br>
                             </div>
                         </template>
+                        <!-- 二级菜单,内审管审特有 -->
+                        <template v-if="specialType.hasOwnProperty(typeId)">
+                            <el-popover
+                                :ref="'popover3-' + scope.row.id"
+                                placement="left"
+                                width="350"
+                                popper-class="popverClass"
+                                trigger="click"
+                            >
+                                <div slot="reference" class="sub_operation el-icon-s-order">{{ specialBtn[typeId].label }}</div>
+                                <div v-if="record.special && record.special.length" class="div_content">
+                                    <div v-for="(item, index) in record.special" :key="index" class="content_item">
+                                        <div class="sub_content">
+                                            <div class="title">{{ specialBtn[typeId].desc }}项{{ item.flag }}</div>
+                                            <div class="sub_item">
+                                                <div class="desc">{{ specialBtn[typeId].desc }}前</div>
+                                                <ibps-attachment
+                                                    v-model="item.beforeImprove"
+                                                    placeholder="请选择"
+                                                    :download="true"
+                                                    :readonly="true"
+                                                    accept="*"
+                                                    :multiple="true"
+                                                    upload-type="attachment"
+                                                    store="id"
+                                                    media-type=""
+                                                    media=""
+                                                    style="width: 100%;"
+                                                />
+                                            </div>
+                                            <div class="sub_item">
+                                                <div class="desc">{{ specialBtn[typeId].desc }}后</div>
+                                                <ibps-attachment
+                                                    v-model="item.afterImprove"
+                                                    placeholder="请选择"
+                                                    :download="true"
+                                                    :readonly="true"
+                                                    accept="*"
+                                                    :multiple="true"
+                                                    upload-type="attachment"
+                                                    store="id"
+                                                    media-type=""
+                                                    media=""
+                                                    style="width: 100%;"
+                                                />
+                                            </div>
+                                            <div class="content_item">
+                                                <span style="cursor: pointer;" @click="openReport(specialBtn[typeId].path, item.id_)">
+                                                    <i class="el-icon-tickets" style="font-size: 14px;" />
+                                                    {{ specialBtn[typeId].path | getReportName }}
+                                                </span>
+                                            </div>
+                                        </div>
+                                    </div>
+                                </div>
+                                <div v-else>无对应数据</div>
+                            </el-popover>
+                        </template>
                         <div v-if="record.file.length" class="content_item">
                             <ibps-attachment
                                 v-model="fileId"
@@ -483,13 +483,38 @@ export default {
         },
         // 获取格式化参数
         getSearcFormData () {
-            const params = this.$refs['crud'] ? this.$refs['crud'].getSearcFormData() : {}
+            const params = {
+                parameters: [
+                    {
+                        relation: 'AND',
+                        parameters: [
+                            {
+                                relation: 'AND',
+                                parameters: [
+                                    {
+                                        key: 'Q^status_^S',
+                                        value: 'end'
+                                    }
+                                ]
+                            },
+                            // {
+                            //     relation: 'OR',
+                            //     parameters: []
+                            // }
+                        ]
+                    }
+                ],
+                requestPage: {
+                    pageNo: this.pagination.page || 1,
+                    limit: this.pagination.limit || 15
+                },
+                sorts: [this.sorts]
+            }
             if (this.$utils.isNotEmpty(this.typeId)) {
-                params['Q^TYPE_ID_^S'] = this.typeId
+                params.parameters[0].parameters[0].parameters.push({ key: 'Q^TYPE_ID_^S', value: this.typeId })
             }
-            params['Q^status_^S'] = 'end'
-            // params['Q^subject_^SLMV'] = this.deptList.map(i => i.positionId).join(',')
-            return ActionUtils.formatParams(params, this.pagination, this.sorts)
+            // params.parameters[0].parameters[1].parameters = this.userList.map(i => ({ key: 'Q^create_by_^S', value: i.userId, relation: 'OR' }))
+            return params
         },
         // 处理分页事件
         handlePaginationChange (page) {

+ 10 - 5
src/views/system/dashboard/components/workbench.vue

@@ -214,7 +214,7 @@ export default {
             height: document.body.clientHeight,
             selection: [],
             defaultPagination: { page: 1, limit: 15 },
-            sorts: { CREATE_TIME_: 'DESC' },
+            sorts: { },
             dataList: [],
             pagination: {},
             searchParams: {
@@ -251,6 +251,7 @@ export default {
                     news: {
                         forms: [
                             { prop: 'Q^title_^SL', label: '标题', fieldType: 'input' },
+                            { prop: 'Q^dep_name_^SL', label: '发布部门', fieldType: 'input' },
                             { prop: 'Q^user_name_^SL', label: '发布人', fieldType: 'input' },
                             { prop: ['Q^public_date_^DL', 'Q^public_date_^DG'], label: '发布时间', fieldType: 'daterange' }
                         ]
@@ -307,9 +308,10 @@ export default {
                     ],
                     news: [
                         { prop: 'title', label: '标题', minWidth: 250 },
+                        { prop: 'depName', label: '发布部门', sortable: 'custom', width: 120 },
                         { prop: 'userName', label: '发布人', width: 120 },
-                        { prop: 'publicDate', label: '发布时间', dateFormat: 'yyyy-MM-dd', width: 120 },
-                        { prop: 'loseDate', label: '失效时间', dateFormat: 'yyyy-MM-dd', width: 120 },
+                        { prop: 'publicDate', label: '发布日期', sortable: 'custom', dateFormat: 'yyyy-MM-dd', width: 120 },
+                        { prop: 'loseDate', label: '有效截至日期', sortable: 'custom', dateFormat: 'yyyy-MM-dd', width: 120 },
                         { prop: 'status', label: '发布状态', tags: typeOptions, width: 100 }
                     ]
                 }
@@ -373,6 +375,9 @@ export default {
                 return ''
             }
             const result = JSON.parse(`{${arr[2]}}`)
+            if (!result.dept) {
+                return ''
+            }
             const depts = result.dept.split(',')
             const deptNames = []
             depts.forEach(item => {
@@ -465,8 +470,8 @@ export default {
                 params['Q^type_^SL'] = this.first
                 params['Q^status_^SL'] = 'publish'
             }
-            const s = this.activeTab === 'news' ? { 'PUBLIC_DATE_': 'DESC' } : this.sorts
-            return ActionUtils.formatParams(params, page, s)
+            // const s = this.activeTab === 'news' ? this.sorts { 'PUBLIC_DATE_': 'DESC' } : this.sorts
+            return ActionUtils.formatParams(params, page, this.sorts)
         },
         // 处理表格点击事件
         handleRowClick (data) {

+ 1 - 2
src/views/system/dashboard/page.vue

@@ -168,8 +168,7 @@
 
     import IbpsNewsDialog from '@/views/platform/system/news/cms'
     import IbpsMessageDialog from '@/views/platform/message/inner/detail/dialog'
-    import { StatisticsData } from '@/api/platform/system/jbdHome'
-    import { StatisticsSign } from '@/api/platform/system/jbdHome'
+    import { StatisticsData, StatisticsSign } from '@/api/platform/system/jbdHome'
     import { getToken } from '@/utils/auth'
     import newHome from './components/new-home'
     import Workbench from './components/workbench'

+ 6 - 6
src/views/system/login/page.vue

@@ -7,9 +7,9 @@
                         <!-- <h1 class="login-title1"> -->
                         <!-- <img src="../../../assets/images/login/logo.jpg" class="logoImg" />
                             金源信通 -->
-                        <img src="~@/assets/images/login/company.png" class="logo">
+                        <!-- <img src="~@/assets/images/login/company.png" class="logo"> -->
                         <!-- </h1> -->
-                        <h1 class="login-title">医学实验室标准化智慧管理平台</h1>
+                        <h1 class="login-title">金通医学实验室标准化数字化管理平台</h1>
                     </div>
 
                     <div class="jbd-login-page-main">
@@ -82,7 +82,7 @@ export default {
         }
 
         .jbd-login-page-main {
-            margin-left: 180px;
+            // margin-left: 180px;
             // margin: 0 auto;
             box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1);
             padding: 10px 20px;
@@ -111,7 +111,7 @@ export default {
             height: 100%;
             overflow: hidden;
             border: 0;
-            padding: 0 2.5%;
+            padding: 0 5%;
         }
         .footerclass{
             width: 80%;
@@ -154,7 +154,7 @@ export default {
 
         .jbd-login-page-main {
             // margin: 0 auto;
-            margin-left: 150px;
+            // margin-left: 150px;
             // margin-top: 0px;
             box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1);
             padding: 10px 20px;
@@ -226,7 +226,7 @@ export default {
 
         .jbd-login-page-main {
             // margin: 0 auto;
-            margin-left: 150px;
+            // margin-left: 150px;
             // margin-top: 0px;
             box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1);
             padding: 10px 20px;