Преглед на файлове

同步医学改动(表单相关功能)

cfort преди 2 години
родител
ревизия
f24c791170

+ 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
+    })
 }

+ 1 - 0
src/assets/styles/components/attachment-selector.scss

@@ -50,6 +50,7 @@
     }
   }
   .el-upload-list__item{
+    font-size: 12px;
     .el-upload-list__item{
         margin-top:0 ;
     }

+ 3 - 3
src/assets/styles/theme/theme-base.scss

@@ -27,7 +27,7 @@
   .ibps-layout-header-aside-content {
     @extend %full;
     .ibps-theme-header {
-      height: 60px;
+      height: 50px;
       .ibps-theme-header-menu {
         overflow: hidden;
         &.is-scrollable {
@@ -68,7 +68,7 @@
 		  }
         }
         .ibps-theme-header-menu__prev, .ibps-theme-header-menu__next {
-          height: 60px;
+          height: 50px;
           position: absolute;
           top: 0;
           font-size: 20px;
@@ -201,7 +201,7 @@
       // 顶栏右侧的按钮
       .ibps-header-right {
         float: right;
-        height: 60px;
+        height: 50px;
         display: flex;
         align-items: center;
         .btn-text {

+ 27 - 26
src/assets/styles/theme/theme.scss

@@ -49,12 +49,13 @@
     background: $theme-menu-item-background-color-hover;
   }
   %el-menu-icon {
-    i {
-      display: inline-block;
-      width: 14px;
-      text-align: center;
-      margin-right: 5px;
-    }
+    // 去除主题差异
+    // i {
+    //   display: inline-block;
+    //   width: 14px;
+    //   text-align: center;
+    //   margin-right: 5px;
+    // }
     svg {
       margin: 0px;
       height: 14px;
@@ -176,27 +177,27 @@
         }
       }
     }
-    // zxh 新增
-     .ibps-layout-header-user{
-      width:95px;
-      .user-name-span{
-        display: inline-block;
-        margin-top: 5px;
-        margin-left: 5px;
-        width:45px;
-        color: $theme-header-item-color;
-        .user-name-title{
-          overflow: hidden; 
-          white-space: nowrap;
-          width:42px;
-          color: $theme-header-item-color;
-        }
-      }
-       i.user-dropdown{
-        color: $theme-header-item-color;
-      }
+    // // zxh 新增
+    //  .ibps-layout-header-user{
+    //   width:95px;
+    //   .user-name-span{
+    //     display: inline-block;
+    //     margin-top: 5px;
+    //     margin-left: 5px;
+    //     width:45px;
+    //     color: $theme-header-item-color;
+    //     .user-name-title{
+    //       overflow: hidden; 
+    //       white-space: nowrap;
+    //       width:42px;
+    //       color: $theme-header-item-color;
+    //     }
+    //   }
+    //    i.user-dropdown{
+    //     color: $theme-header-item-color;
+    //   }
  
-    }
+    // }
     
   }
   // [布局] 顶栏下面

+ 2 - 10
src/business/platform/file/attachment/selector.vue

@@ -37,7 +37,7 @@
                 :file="attachment"
                 :visible="filePreviewVisible"
                 :optionFile="optionFileView"
-                 @close="visible =>filePreviewVisible = visible"
+                @close="visible => filePreviewVisible = visible"
             />
         </div>
 
@@ -57,7 +57,7 @@
     import { TRANSFER_DATA } from '@/constant'
     import fView from './editFile/fView.vue'
     import { SYSTEM_URL, BASE_API } from '@/api/baseUrl'
-    const specialField = ['报告文件', '报告文档', '已盖章报告']
+
     export default {
         components: {
             IbpsFileAttachmentSelector,
@@ -195,14 +195,6 @@
                     lineHeight: `${height}px`,
                     display: 'inline'
                 }
-            },
-            pdfPreviewType() {
-                // const t = specialField.some(i => this.elFormItem.label && this.elFormItem.label.includes(i))
-                // if (this.elFormItem.label && t) {
-                //     return 'PDFH5'
-                // }
-                // return 'ONLYOFFICE'
-                return 'PDFH5'
             }
         },
         watch: {

+ 0 - 1
src/business/platform/file/image/index.vue

@@ -229,7 +229,6 @@ export default {
         },
         fileList: {
             handler (val, oldVal) {
-                console.log(val)
                 this.$emit('input', this.getValue())
             },
             deep: true

Файловите разлики са ограничени, защото са твърде много
+ 1135 - 1207
src/business/platform/form/constants/fieldTypes.js


+ 175 - 155
src/business/platform/form/formbuilder/dialog.vue

@@ -1,165 +1,185 @@
 <template>
-  <el-dialog
-    :visible.sync="dialogVisible"
-    :close-on-click-modal="false"
-    :close-on-press-escape="false"
-    class="formbuilder-dialog"
-    fullscreen
-    append-to-body
-    @open="getFormData"
-    @close="closeDialog"
-  >
-    <formbuilder
-      v-if="dialogVisible"
-      :id="id"
-      v-loading.fullscreen.lock="dialogLoading"
-      :element-loading-text="$t('common.loading')"
-      :data="formDef"
-      :bo="boData"
-      :loading="dialogLoading"
-      @callback="handleCallback"
-      @close="closeDialog"
-    />
-  </el-dialog>
+    <el-dialog
+        :visible.sync="dialogVisible"
+        :close-on-click-modal="false"
+        :close-on-press-escape="false"
+        class="formbuilder-dialog"
+        :class="$style.content"
+        fullscreen
+        append-to-body
+        @open="getFormData"
+        @close="closeDialog"
+    >
+        <formbuilder
+            v-if="dialogVisible"
+            :id="id"
+            v-loading.fullscreen.lock="dialogLoading"
+            :element-loading-text="$t('common.loading')"
+            :data="formDef"
+            :bo="boData"
+            :loading="dialogLoading"
+            @callback="handleCallback"
+            @close="closeDialog"
+        />
+    </el-dialog>
 </template>
 <script>
-import { getFormDataByFormDefId, design, buildTree } from '@/api/platform/form/formDef'
-import { defaultsDeep } from 'lodash'
+    import { getFormDataByFormDefId, design, buildTree } from '@/api/platform/form/formDef'
+    import { defaultsDeep } from 'lodash'
+    import Formbuilder from './index'
 
-import Formbuilder from './index'
-
-export default {
-  components: {
-    Formbuilder
-  },
-  props: {
-    visible: {
-      type: Boolean,
-      default: false
-    },
-    id: String,
-    data: {
-      type: Object
-    }
-  },
-  data() {
-    return {
-      dialogVisible: this.visible,
-      dialogLoading: false,
-      defaultForm: {
-        attrs: {
-          inline: false, // 是否使用inline排版
-          labelPosition: 'right', // 标签对齐方式
-          labelWidth: '100', // 标签宽度
-          labelWidthUnit: 'px', // 标签宽度单位
-          size: 'small', // 尺寸
-          statusIcon: false, // 显示验证图标
-          descPosition: 'inline',
-          verifys: [], // 表单提交校验
-          script: '', // 表单脚本
-          read_style: 'text',
-          colon: false,
-          labelSuffix: ':'
+    export default {
+        components: {
+            Formbuilder
         },
-        fields: [] // 字段列表
-      },
-      formDef: null,
-      boData: []
-    }
-  },
-  computed: {
-    formId() {
-      return this.id
-    }
-  },
-  watch: {
-    visible: {
-      handler: function(val, oldVal) {
-        this.dialogVisible = this.visible
-      },
-      immediate: true
-    }
-  },
-  created() {
-    this.formDef = JSON.parse(JSON.stringify(this.defaultForm))
-  },
-  methods: {
-    // 关闭当前窗口
-    closeDialog() {
-      this.formDef = JSON.parse(JSON.stringify(this.defaultForm))
-      this.$emit('close', false)
-    },
-    handleCallback() {
-      this.$emit('callback')
-    },
-    /**
-     * 获取表单数据
-     */
-    getFormData() {
-      const defaultForm = JSON.parse(JSON.stringify(this.defaultForm))
-      this.dialogLoading = true
-      if (this.$utils.isEmpty(this.formId)) {
-        if (this.$utils.isNotEmpty(this.data)) {
-          design({
-            mode: this.data.mode || 'bo',
-            boCode: this.data.code,
-            buildMode: this.data.buildMode || 'default',
-            template: this.data.template || ''
-          }).then(response => {
-            const data = this.$utils.parseData(response.data)
-            // 从后台获取数据
-            const formDef = defaultsDeep({}, data, defaultForm)
-            Object.assign(formDef, this.data)
-
-            this.formDef = formDef
-            this.buildTree(this.formDef)
-            this.dialogLoading = false
-          }).catch((err) => {
-            console.error(err)
-            this.formDef = defaultsDeep({}, defaultForm)
-            this.dialogLoading = false
-          })
+        props: {
+            visible: {
+                type: Boolean,
+                default: false
+            },
+            id: String,
+            data: {
+                type: Object
+            }
+        },
+        data() {
+            return {
+                dialogVisible: this.visible,
+                dialogLoading: false,
+                defaultForm: {
+                    attrs: {
+                        inline: false, // 是否使用inline排版
+                        labelPosition: 'left', // 标签对齐方式
+                        labelWidth: '110', // 标签宽度
+                        labelWidthUnit: 'px', // 标签宽度单位
+                        size: 'mini', // 尺寸
+                        statusIcon: false, // 显示验证图标
+                        descPosition: 'inline',
+                        verifys: [], // 表单提交校验
+                        script: '', // 表单脚本
+                        read_style: 'text',
+                        colon: false,
+                        labelSuffix: ':',
+                        title_position: 'center'
+                    },
+                    fields: [] // 字段列表
+                },
+                formDef: null,
+                boData: []
+            }
+        },
+        computed: {
+            formId() {
+                return this.id
+            }
+        },
+        watch: {
+            visible: {
+                handler: function (val, oldVal) {
+                    this.dialogVisible = this.visible
+                },
+                immediate: true
+            }
+        },
+        created() {
+            this.formDef = JSON.parse(JSON.stringify(this.defaultForm))
+        },
+        methods: {
+            // 关闭当前窗口
+            closeDialog() {
+                this.formDef = JSON.parse(JSON.stringify(this.defaultForm))
+                this.$emit('close', false)
+            },
+            handleCallback() {
+                this.$emit('callback')
+            },
+            /**
+             * 获取表单数据
+             */
+            getFormData() {
+                const defaultForm = JSON.parse(JSON.stringify(this.defaultForm))
+                this.dialogLoading = true
+                if (this.$utils.isEmpty(this.formId)) {
+                    if (this.$utils.isNotEmpty(this.data)) {
+                        design({
+                            mode: this.data.mode || 'bo',
+                            boCode: this.data.code,
+                            buildMode: this.data.buildMode || 'default',
+                            template: this.data.template || ''
+                        }).then((response) => {
+                            const data = this.$utils.parseData(
+                                response.data
+                            )
+                            // 从后台获取数据
+                            const formDef = defaultsDeep(
+                                {},
+                                data,
+                                defaultForm
+                            )
+                            Object.assign(formDef, this.data)
+                            this.formDef = formDef
+                            this.buildTree(this.formDef)
+                            this.dialogLoading = false
+                        }).catch((err) => {
+                            console.error(err)
+                            this.formDef = defaultsDeep({}, defaultForm)
+                            this.dialogLoading = false
+                        })
+                    }
+                } else {
+                    getFormDataByFormDefId({ formDefId: this.formId }).then((response) => {
+                        const data = response.data
+                        // 从后台获取数据
+                        this.formDef = defaultsDeep(
+                            {},
+                            this.$utils.parseJSON(data),
+                            defaultForm
+                        )
+                        this.buildTree(this.formDef)
+                        this.dialogLoading = false
+                    }).catch(() => {
+                        this.formDef = defaultsDeep({}, defaultForm)
+                        this.dialogLoading = false
+                    })
+                }
+            },
+            buildTree({ code, busId, mode }) {
+                buildTree({
+                    boCode: code,
+                    boDefId: busId,
+                    mode: mode || ''
+                }).then((response) => {
+                    this.boData = response.data
+                }).catch((e) => {
+                    //  loading.close()
+                })
+            }
         }
-      } else {
-        getFormDataByFormDefId({
-          formDefId: this.formId
-        }).then(response => {
-          const data = response.data
-          // 从后台获取数据
-          this.formDef = defaultsDeep({}, this.$utils.parseJSON(data), defaultForm)
-          this.buildTree(this.formDef)
-          this.dialogLoading = false
-        }).catch(() => {
-          this.formDef = defaultsDeep({}, defaultForm)
-          this.dialogLoading = false
-        })
-      }
-    },
-    buildTree({ code, busId, mode }) {
-      buildTree({
-        boCode: code,
-        boDefId: busId,
-        mode: mode || ''
-      }).then(response => {
-        this.boData = response.data
-      }).catch((e) => {
-        //  loading.close()
-      })
     }
-  }
-}
 </script>
-<style lang="scss" >
-  .formbuilder-dialog{
-    .el-dialog__header{
-      padding: 0;
-      border-bottom:0;
-    }
-    .el-dialog__body {
-     padding: 0;
-    }
-    .is-fullscreen{
-      overflow: hidden;
+<style lang="scss" module>
+    .content {
+        :global {
+            .el-dialog__header {
+                padding: 0;
+                border-bottom: 0;
+            }
+            .el-dialog__body {
+                padding: 0;
+            }
+            .is-fullscreen {
+                overflow: hidden;
+            }
+            .form-main .widget-form-container {
+                .el-form-item__label {
+                    padding-left: 30px;
+                    position: relative;
+                    &:before {
+                        position: absolute;
+                        left: 24px;
+                    }
+                }
+            }
+        }
     }
-  }
 </style>

+ 291 - 266
src/business/platform/form/formbuilder/right-aside/editors/editor-layout.vue

@@ -1,287 +1,312 @@
 <template>
-  <div class="panel panel-default toolbars-panel">
-    <div class="panel-heading">布局设置</div>
-    <div class="panel-body">
-      <template v-if="types.includes('labelWidth')">
-        <el-form-item>
-          <template slot="label">隐藏标签<help-tip prop="hideLabel" /></template>
-          <el-switch v-model="fieldOptions.hide_label" />
-        </el-form-item>
-        <el-form-item v-if="!fieldOptions.hide_label">
-          <template slot="label">标签宽度<help-tip prop="labelWidth" /></template>
-          <el-row>
-            <el-col :span="2">
-              <el-checkbox v-model="fieldOptions.is_label_width" @change="changeIsLabelWidth" />
-            </el-col>
-            <el-col :span="12">
-              <el-input-number
-                v-model="fieldOptions.label_width"
-                :disabled="!fieldOptions.is_label_width"
-                style="width: 100%;"
-                :min="0"
-                :max="fieldOptions.label_width_unit==='px'?500:100"
-                :step="1"
-              />
-            </el-col>
-            <el-col :span="10">
-              <el-select
-                v-model="fieldOptions.label_width_unit"
-                :disabled="!fieldOptions.is_label_width"
-                style="width: 100%;"
-                @change="changeLabelWidthUnit"
-              >
-                <el-option label="像素(px)" value="px" />
-                <el-option label="百分比(%)" value="%" />
-              </el-select>
-            </el-col>
-          </el-row>
-        </el-form-item>
-      </template>
-      <el-form-item v-if="types.includes('width')">
-        <template slot="label">控件宽度<help-tip prop="width" /></template>
-        <el-row>
-          <el-col :span="2">
-            <el-checkbox v-model="fieldOptions.is_width" @change="changeIsWidth" />
-          </el-col>
-          <el-col :span="12">
-            <el-input-number
-              v-model="fieldOptions.width"
-              :disabled="!fieldOptions.is_width"
-              style="width: 100%;"
-              :min="0"
-              :max="fieldOptions.width_unit==='px'?500:100"
-              :step="1"
-            />
-          </el-col>
-          <el-col :span="10">
-            <el-select
-              v-if="init"
-              v-model="fieldOptions.width_unit"
-              :disabled="!fieldOptions.is_width"
-              style="width: 100%;"
-              @change="changeWidthUnit"
-            >
-              <el-option label="像素(px)" value="px" />
-              <el-option label="百分比(%)" value="%" />
-            </el-select>
-          </el-col>
-        </el-row>
-      </el-form-item>
-      <el-form-item v-if="types.includes('rows')">
-        <template slot="label">行数<help-tip prop="rows" /></template>
-        <el-input v-model="fieldOptions.rows" />
-      </el-form-item>
-      <el-form-item v-if="types.includes('autosize')" label-width="110px">
-        <template slot="label">自适应高度<help-tip prop="autosize" /></template>
-        <el-switch v-model="fieldOptions.autosize" />
-        <div v-if="fieldOptions.autosize">
-          <el-input-number
-            v-model="fieldOptions.min_rows"
-            :min="1"
-            placeholder="最小行数"
-            controls-position="right"
-            style="width:90px;"
-          />
-          -
-          <el-input-number
-            v-model="fieldOptions.max_rows"
-            :min="fieldOptions.min_rows||1"
-            placeholder="最大行数"
-            controls-position="right"
-            style="width:90px;"
-          />
-        </div>
-      </el-form-item>
+    <div class="panel panel-default toolbars-panel">
+        <div class="panel-heading">布局设置</div>
+        <div class="panel-body">
+            <template v-if="types.includes('labelWidth')">
+                <el-form-item>
+                    <template slot="label">隐藏标签<help-tip prop="hideLabel" /></template>
+                    <el-switch v-model="fieldOptions.hide_label" />
+                </el-form-item>
+                <el-form-item v-if="!fieldOptions.hide_label">
+                    <template slot="label">标签宽度<help-tip prop="labelWidth" /></template>
+                    <el-row>
+                        <el-col :span="2">
+                            <el-checkbox v-model="fieldOptions.is_label_width" @change="changeIsLabelWidth" />
+                        </el-col>
+                        <el-col :span="12">
+                            <el-input-number
+                                v-model="fieldOptions.label_width"
+                                :disabled="!fieldOptions.is_label_width"
+                                style="width: 100%;"
+                                :min="0"
+                                :max="fieldOptions.label_width_unit==='px'?500:100"
+                                :step="1"
+                            />
+                        </el-col>
+                        <el-col :span="10">
+                            <el-select
+                                v-model="fieldOptions.label_width_unit"
+                                :disabled="!fieldOptions.is_label_width"
+                                style="width: 100%;"
+                                @change="changeLabelWidthUnit"
+                            >
+                                <el-option label="像素(px)" value="px" />
+                                <el-option label="百分比(%)" value="%" />
+                            </el-select>
+                        </el-col>
+                    </el-row>
+                </el-form-item>
+            </template>
+            <el-form-item v-if="types.includes('width')">
+                <template slot="label">控件宽度<help-tip prop="width" /></template>
+                <el-row>
+                    <el-col :span="2">
+                        <el-checkbox v-model="fieldOptions.is_width" @change="changeIsWidth" />
+                    </el-col>
+                    <el-col :span="12">
+                        <el-input-number
+                            v-model="fieldOptions.width"
+                            :disabled="!fieldOptions.is_width"
+                            style="width: 100%;"
+                            :min="0"
+                            :max="fieldOptions.width_unit==='px'?500:100"
+                            :step="1"
+                        />
+                    </el-col>
+                    <el-col :span="10">
+                        <el-select
+                            v-if="init"
+                            v-model="fieldOptions.width_unit"
+                            :disabled="!fieldOptions.is_width"
+                            style="width: 100%;"
+                            @change="changeWidthUnit"
+                        >
+                            <el-option label="像素(px)" value="px" />
+                            <el-option label="百分比(%)" value="%" />
+                        </el-select>
+                    </el-col>
+                </el-row>
+            </el-form-item>
+            <el-form-item v-if="types.includes('rows')">
+                <template slot="label">行数<help-tip prop="rows" /></template>
+                <el-input v-model="fieldOptions.rows" />
+            </el-form-item>
+            <el-form-item v-if="types.includes('autosize')" label-width="110px">
+                <template slot="label">自适应高度<help-tip prop="autosize" /></template>
+                <el-switch v-model="fieldOptions.autosize" />
+                <div v-if="fieldOptions.autosize">
+                    <el-input-number
+                        v-model="fieldOptions.min_rows"
+                        :min="1"
+                        placeholder="最小行数"
+                        controls-position="right"
+                        style="width:90px;"
+                    />
+                    -
+                    <el-input-number
+                        v-model="fieldOptions.max_rows"
+                        :min="fieldOptions.min_rows||1"
+                        placeholder="最大行数"
+                        controls-position="right"
+                        style="width:90px;"
+                    />
+                </div>
+            </el-form-item>
 
-      <el-form-item v-if="types.includes('clearable')">
-        <template slot="label">可清空<help-tip prop="clearable" /></template>
-        <el-switch v-model=" clearable" />
-      </el-form-item>
+            <el-form-item v-if="types.includes('clearable')">
+                <template slot="label">可清空<help-tip prop="clearable" /></template>
+                <el-switch v-model=" clearable" />
+            </el-form-item>
 
-      <el-form-item v-if="types.includes('mode')">
-        <template slot="label">编辑模式<help-tip prop="tableMode" /></template>
-        <el-select v-model="fieldOptions.mode" @change="changeMode">
-          <el-option
-            v-for="(mode,index) in tabeModeOptions"
-            :key="index"
-            :value="mode.value"
-            :label="mode.label"
-          />
-        </el-select>
-      </el-form-item>
-      <el-form-item v-if="types.includes('index')">
-        <template slot="label">显示序号<help-tip prop="index" /></template>
-        <el-switch v-model="fieldOptions.index" />
-      </el-form-item>
-      <el-form-item v-if="types.includes('summary')" label-width="110px">
-        <template slot="label">表尾合计行<help-tip prop="summary" /></template>
-        <el-row>
-          <el-col :span="5">
-            <el-switch v-model="fieldOptions.summary" @change="changeSummary" />
-          </el-col>
-          <el-col :span="14">
-            <el-input
-              v-model="sumText"
-              placeholder="合计描述"
-              :disabled="!fieldOptions.summary"
-              style="width:90%;"
-            />
-          </el-col>
-          <el-col v-if="fieldOptions.summary" :span="5">
-            <el-tooltip content="表尾合计行采用自定义方法">
-              <el-checkbox v-model="summaryMethod" />
-            </el-tooltip>
-          </el-col>
-        </el-row>
+            <el-form-item v-if="types.includes('mode')">
+                <template slot="label">编辑模式<help-tip prop="tableMode" /></template>
+                <el-select v-model="fieldOptions.mode" @change="changeMode">
+                    <el-option
+                        v-for="(mode,index) in tabeModeOptions"
+                        :key="index"
+                        :value="mode.value"
+                        :label="mode.label"
+                    />
+                </el-select>
+            </el-form-item>
+            <el-form-item v-if="types.includes('page')">
+                <template slot="label">是否分页</template>
+                <el-switch
+                    v-model="fieldOptions.page"
+                    active-value="Y"
+                    inactive-value="N"
+                />
+            </el-form-item>
+            <el-form-item v-if="fieldOptions.page === 'Y'">
+                <template slot="label">分页大小</template>
+                <el-select v-model="fieldOptions.pageSize" placeholder="请设置默认分页大小">
+                    <el-option
+                        v-for="item in pageSizeOptions"
+                        :key="item"
+                        :label="item"
+                        :value="item"
+                    />
+                </el-select>
+            </el-form-item>
+            <el-form-item v-if="types.includes('index')">
+                <template slot="label">显示序号<help-tip prop="index" /></template>
+                <el-switch v-model="fieldOptions.index" />
+            </el-form-item>
+            <el-form-item v-if="types.includes('summary')" label-width="110px">
+                <template slot="label">表尾合计行<help-tip prop="summary" /></template>
+                <el-row>
+                    <el-col :span="5">
+                        <el-switch v-model="fieldOptions.summary" @change="changeSummary" />
+                    </el-col>
+                    <el-col :span="14">
+                        <el-input
+                            v-model="sumText"
+                            placeholder="合计描述"
+                            :disabled="!fieldOptions.summary"
+                            style="width:90%;"
+                        />
+                    </el-col>
+                    <el-col v-if="fieldOptions.summary" :span="5">
+                        <el-tooltip content="表尾合计行采用自定义方法">
+                            <el-checkbox v-model="summaryMethod" />
+                        </el-tooltip>
+                    </el-col>
+                </el-row>
 
-      </el-form-item>
+            </el-form-item>
 
-      <el-form-item v-if="types.includes('height')">
-        <template slot="label">高度<help-tip prop="height" /></template>
-        <el-input v-model="fieldOptions.height">
-          <template slot="append">像素(px)</template>
-        </el-input>
-      </el-form-item>
+            <el-form-item v-if="types.includes('height')">
+                <template slot="label">高度<help-tip prop="height" /></template>
+                <el-input v-model="fieldOptions.height">
+                    <template slot="append">像素(px)</template>
+                </el-input>
+            </el-form-item>
 
-      <el-form-item v-if="types.includes('arrangement')">
-        <template slot="label">排序方式<help-tip prop="arrangement" /></template>
-        <el-radio-group v-model="fieldOptions.arrangement">
-          <el-radio-button label="horizontal">横向</el-radio-button>
-          <el-radio-button label="vertical">纵向</el-radio-button>
-        </el-radio-group>
-      </el-form-item>
+            <el-form-item v-if="types.includes('arrangement')">
+                <template slot="label">排序方式<help-tip prop="arrangement" /></template>
+                <el-radio-group v-model="fieldOptions.arrangement">
+                    <el-radio-button label="horizontal">横向</el-radio-button>
+                    <el-radio-button label="vertical">纵向</el-radio-button>
+                </el-radio-group>
+            </el-form-item>
 
-      <el-form-item v-if="types.includes('customClass')" label-width="110px">
-        <template slot="label">自定义Class(用于子表单宽度,输入数字)<help-tip prop="customClass" /></template>
-        <el-input v-model="fieldOptions.custom_class" />
-      </el-form-item>
-      <el-form-item v-if="types.includes('mobile')" label-width="110px">
-        <template slot="label">移动端显示<help-tip prop="mobile" /></template>
-        <el-switch v-model="isMobile" />
-      </el-form-item>
+            <el-form-item v-if="types.includes('customClass')" label-width="110px">
+                <template slot="label">自定义Class(用于子表单宽度,输入数字)<help-tip prop="customClass" /></template>
+                <el-input v-model="fieldOptions.custom_class" />
+            </el-form-item>
+            <el-form-item v-if="types.includes('mobile')" label-width="110px">
+                <template slot="label">移动端显示<help-tip prop="mobile" /></template>
+                <el-switch v-model="isMobile" />
+            </el-form-item>
+        </div>
     </div>
-  </div>
 </template>
 <script>
 import EditorMixin from '../mixins/editor'
+import { defaultPageSize, pageSizeOptions } from '@/business/platform/form/constants/fieldOptions'
 
 export default {
-  mixins: [EditorMixin],
-  data() {
-    return {
-      tabeModeOptions: [{
-        value: 'inner',
-        label: '表内编辑模式'
-      }, {
-        value: 'block',
-        label: '块模式'
-      }, {
-        value: 'dialog',
-        label: '弹窗模式'
-      }],
-      mobile: this.fieldItem.field_options.mobile,
-      clearable: this.fieldItem.field_options.clearable,
-      init: true
-    }
-  },
-  computed: {
-    sumText: {
-      get() {
-        return this.fieldItem.field_options.sum_text
-      },
-      set(val) {
-        const fieldOptions = JSON.parse(JSON.stringify(this.fieldItem.field_options))
-        fieldOptions.sum_text = val
-        this.fieldItem.field_options = fieldOptions
-      }
-    },
-    summaryMethod: {
-      get() {
-        return this.fieldItem.field_options.summary_method
-      },
-      set(val) {
-        const fieldOptions = JSON.parse(JSON.stringify(this.fieldItem.field_options))
-        fieldOptions.summary_method = val
-        this.fieldItem.field_options = fieldOptions
-      }
-    },
-    isMobile: {
-      get() {
-        return this.$utils.toBoolean(this.mobile, true)
-      },
-      set(val) {
-        this.fieldItem.field_options.mobile = this.mobile = val
-      }
-    },
-    isClearable: {
-      get() {
-        return this.$utils.toBoolean(this.clearable, true)
-      },
-      set(val) {
-        this.fieldItem.field_options.clearable = this.clearable = val
-      }
-    }
-  },
-  watch: {
-    mobile: {
-      handler(val, oldVal) {
-        if (this.$utils.isEmpty(this.fieldItem.field_options.mobile)) {
-          this.isMobile = this.fieldItem.field_options.mobile = true
-        } else {
-          if (val !== oldVal) {
-            this.isMobile = this.fieldItem.field_options.mobile = val
-          }
+    mixins: [EditorMixin],
+    data () {
+        return {
+            pageSizeOptions,
+            tabeModeOptions: [{
+                value: 'inner',
+                label: '表内编辑模式'
+            }, {
+                value: 'block',
+                label: '块模式'
+            }, {
+                value: 'dialog',
+                label: '弹窗模式'
+            }],
+            mobile: this.fieldItem.field_options.mobile,
+            clearable: this.fieldItem.field_options.clearable,
+            init: true
         }
-      },
-      immediate: true
     },
-    clearable: {
-      handler(val, oldVal) {
-        if (this.$utils.isEmpty(this.fieldItem.field_options.clearable)) {
-          this.isClearable = this.fieldItem.field_options.clearable = true
-        } else {
-          if (val !== oldVal) {
-            this.isClearable = this.fieldItem.field_options.clearable = val
-          }
+    computed: {
+        sumText: {
+            get () {
+                return this.fieldItem.field_options.sum_text
+            },
+            set (val) {
+                const fieldOptions = JSON.parse(JSON.stringify(this.fieldItem.field_options))
+                fieldOptions.sum_text = val
+                this.fieldItem.field_options = fieldOptions
+            }
+        },
+        summaryMethod: {
+            get () {
+                return this.fieldItem.field_options.summary_method
+            },
+            set (val) {
+                const fieldOptions = JSON.parse(JSON.stringify(this.fieldItem.field_options))
+                fieldOptions.summary_method = val
+                this.fieldItem.field_options = fieldOptions
+            }
+        },
+        isMobile: {
+            get () {
+                return this.$utils.toBoolean(this.mobile, true)
+            },
+            set (val) {
+                this.fieldItem.field_options.mobile = this.mobile = val
+            }
+        },
+        isClearable: {
+            get () {
+                return this.$utils.toBoolean(this.clearable, true)
+            },
+            set (val) {
+                this.fieldItem.field_options.clearable = this.clearable = val
+            }
         }
-      },
-      immediate: true
-    }
-  },
-  methods: {
-    changeIsLabelWidth(val) {
-      if (val) {
-        this.fieldItem.field_options.label_width = 100
-        this.fieldItem.field_options.label_width_unit = 'px'
-      } else {
-        this.fieldItem.field_options.label_width = null
-        this.fieldItem.field_options.label_width_unit = null
-      }
-    },
-    changeLabelWidthUnit(value) {
-      this.fieldItem.field_options.label_width = value === 'px' ? 100 : 20
-    },
-    changeIsWidth(val) {
-      this.fieldItem.field_options.width = '100'
-      this.fieldItem.field_options.width_unit = '%'
     },
-    changeWidthUnit(value) {
-      this.init = false
-      this.fieldItem.field_options.width = value === 'px' ? 100 : 100
-      setTimeout(() => {
-        this.init = true
-      })
-    },
-    changeSummary() {
-      this.fieldItem.field_options.sum_text = ''
-      this.fieldItem.field_options.summary_method = false
+    watch: {
+        mobile: {
+            handler (val, oldVal) {
+                if (this.$utils.isEmpty(this.fieldItem.field_options.mobile)) {
+                    this.isMobile = this.fieldItem.field_options.mobile = true
+                } else {
+                    if (val !== oldVal) {
+                        this.isMobile = this.fieldItem.field_options.mobile = val
+                    }
+                }
+            },
+            immediate: true
+        },
+        clearable: {
+            handler (val, oldVal) {
+                if (this.$utils.isEmpty(this.fieldItem.field_options.clearable)) {
+                    this.isClearable = this.fieldItem.field_options.clearable = true
+                } else {
+                    if (val !== oldVal) {
+                        this.isClearable = this.fieldItem.field_options.clearable = val
+                    }
+                }
+            },
+            immediate: true
+        }
     },
-    changeMode() {
-      // 变换字段
-      if (this.fieldItem.field_options.mode === 'block') {
-        this.fieldItem.field_options.index = true
-      }
+    methods: {
+        changeIsLabelWidth (val) {
+            if (val) {
+                this.fieldItem.field_options.label_width = 100
+                this.fieldItem.field_options.label_width_unit = 'px'
+            } else {
+                this.fieldItem.field_options.label_width = null
+                this.fieldItem.field_options.label_width_unit = null
+            }
+        },
+        changeLabelWidthUnit (value) {
+            this.fieldItem.field_options.label_width = value === 'px' ? 100 : 20
+        },
+        changeIsWidth (val) {
+            this.fieldItem.field_options.width = '100'
+            this.fieldItem.field_options.width_unit = '%'
+        },
+        changeWidthUnit (value) {
+            this.init = false
+            this.fieldItem.field_options.width = value === 'px' ? 100 : 100
+            setTimeout(() => {
+                this.init = true
+            })
+        },
+        changeSummary () {
+            this.fieldItem.field_options.sum_text = ''
+            this.fieldItem.field_options.summary_method = false
+        },
+        changeMode () {
+            // 变换字段
+            this.fieldItem.field_options.index = true
+            if (this.fieldItem.field_options.mode === 'block') {
+                this.fieldItem.field_options.page = 'N'
+            } else {
+                this.fieldItem.field_options.page = 'Y'
+                this.fieldItem.field_options.pageSize = defaultPageSize
+            }
+        }
     }
-  }
 }
 </script>

+ 34 - 34
src/business/platform/form/formbuilder/right-aside/field-types/ibps-field-table.vue

@@ -1,43 +1,43 @@
 <template>
-  <div>
-    <el-form v-bind="$attrs" v-on="$listeners" @submit.native.prevent>
-      <!-- 基本属性 -->
-      <editor-base
-        :field-item="fieldItem"
-        :bo-data="boData"
-        :fields="fields"
-        types="label,name,desc,display"
-      />
-      <!-- 表单字段和按钮 -->
-      <editor-field-table
-        :field-item="fieldItem"
-        :fields="fields"
-        :bo-data="boData"
-        @select="handleSelect"
-      />
-      <!-- 校验规则 -->
-      <editor-rules
-        :field-item="fieldItem"
-        types="required"
-      />
-      <!-- 字段权限 -->
-      <editor-rights
-        :field-item="fieldItem"
-      />
-      <!-- 布局设置 -->
-      <editor-layout
-        :field-item="fieldItem"
-        types="mode,index,summary,summaryMethod,customClass"
-      />
-    </el-form>
-  </div>
+    <div>
+        <el-form v-bind="$attrs" v-on="$listeners" @submit.native.prevent>
+            <!-- 基本属性 -->
+            <editor-base
+                :field-item="fieldItem"
+                :bo-data="boData"
+                :fields="fields"
+                types="label,name,desc,display"
+            />
+            <!-- 表单字段和按钮 -->
+            <editor-field-table
+                :field-item="fieldItem"
+                :fields="fields"
+                :bo-data="boData"
+                @select="handleSelect"
+            />
+            <!-- 校验规则 -->
+            <editor-rules
+                :field-item="fieldItem"
+                types="required"
+            />
+            <!-- 字段权限 -->
+            <editor-rights
+                :field-item="fieldItem"
+            />
+            <!-- 布局设置 -->
+            <editor-layout
+                :field-item="fieldItem"
+                types="mode,page,index,summary,summaryMethod,customClass"
+            />
+        </el-form>
+    </div>
 </template>
 
 <script>
 import typeMixin from '../mixins/type'
 
 export default {
-  name: 'ibps-field-table',
-  mixins: [typeMixin]
+    name: 'ibps-field-table',
+    mixins: [typeMixin]
 }
 </script>

Файловите разлики са ограничени, защото са твърде много
+ 371 - 176
src/business/platform/form/formrender/dynamic-form/dynamic-form-table.vue


+ 76 - 72
src/business/platform/form/formrender/dynamic-form/mixins/relevanceTable.vue

@@ -1,85 +1,89 @@
 <template>
-  <div>
-    <ul style="padding: 0px;margin: 0px;">
-      <li v-for="el in list" class ="tableClazz" @click="openDataTemplate(el)" >
-        <el-tag>
-          {{el.name}}
-        </el-tag>
-      </li>
-    </ul>
-  </div>
+    <div class="relev">
+        <div v-for="(el,index) in list" :key="index" class="sin" @click="openDataTemplate(el)">
+            <el-tag effect="dark">
+                {{ el.name }}
+            </el-tag>
+        </div>
+    </div>
 </template>
 
 <script>
-  import $dialog from '@/utils/dialog'
-  export default {
-    props:{
-      list:{ //传入的开启对话框数组
-          type: Array,
+import $dialog from '@/utils/dialog'
+export default {
+    props: {
+        list: { // 传入的开启对话框数组
+            type: Array
         },
-      form:{ //当前表单示例
-          type: Object,
-          default:{}
-        },
-    },
-    data() {
-      return {
-      }
+        form: { // 当前表单示例
+            type: Object,
+            default: {}
+        }
     },
-  methods: {
-    openDataTemplate(el) {
-      this.openDataTemplateDialog(this.form, {
-        title: el.name,
-        templateId: el.templateId,
-        dynamicParams:el.filter,
-      })
+    data () {
+        return {
+        }
     },
-   openDataTemplateDialog(form, { title, templateId, dynamicParams }) {
-      // 弹窗打开
-      $dialog({
-         components:{
-           templateList: () => import ('@/views/platform/data/dataTemplate/template-list.vue')
-           },
-        data() {
-          return {
-            // 自定义高度
-            height: document.body.clientHeight - 120,
-            // 要打开的数据模版id
-            templateId: templateId,
-            // 用于过滤的动态参数
-            dynamicParams: dynamicParams
-          }
+    methods: {
+        openDataTemplate (el) {
+            this.openDataTemplateDialog(this.form, {
+                title: !el.noTitleShow ? el.name : ' ',
+                templateId: el.templateId,
+                dynamicParams: el.filter
+            })
         },
-        template: '<template-list :template-id="templateId" :height="height" :dynamic-params="dynamicParams" />'
-      }, {
-        dialog: {
-          appendToBody: true,
-          width: '70%',
-          center: true,
-          title: title
+        openDataTemplateDialog (form, { title, templateId, dynamicParams }) {
+            // 弹窗打开
+            $dialog({
+                components: {
+                    templateList: () => import ('@/views/platform/data/dataTemplate/template-list.vue')
+                },
+                data () {
+                    return {
+                        // 自定义高度
+                        height: document.body.clientHeight - 120,
+                        // 要打开的数据模版id
+                        templateId: templateId,
+                        // 用于过滤的动态参数
+                        dynamicParams: dynamicParams
+                    }
+                },
+                template: '<template-list :template-id="templateId" :height="height" :dynamic-params="dynamicParams" />'
+            }, {
+                dialog: {
+                    appendToBody: true,
+                    width: '70%',
+                    top: '5vh',
+                    center: true,
+                    title: title
+                }
+            }, (tpl) => {
+                // 关掉自定义浮窗
+                form.customComponent = null
+                // 打开弹窗
+                form.dialogTemplate = tpl
+            }).catch((_this) => {
+                // 标识为不显示
+                _this.visible = false
+                // 关掉弹窗
+                form.dialogTemplate = null
+            })
         }
-      }, (tpl) => {
-        // 关掉自定义浮窗
-        form.customComponent = null
-        // 打开弹窗
-        form.dialogTemplate = tpl
-      }).catch((_this) => {
-        // 标识为不显示
-        _this.visible = false
-        // 关掉弹窗
-        form.dialogTemplate = null
-      })
-    }
-  },
     }
+}
 </script>
 
-<style>
-  .tableClazz{
-    cursor: pointer;
-    padding: 5px 5px;
-    font-size: 12px;
-     float: right;
-     margin-top: -1.25rem;
-  }
+<style lang="less" scoped>
+.relev{
+    width: 100%;
+    display: flex;
+    flex-flow: wrap;
+    justify-content: flex-end;
+    .sin{
+        margin: 5px;
+        cursor: pointer;
+    }
+}
+
+
 </style>

+ 93 - 75
src/business/platform/form/formrender/index.vue

@@ -1,66 +1,68 @@
 <template>
     <div v-if="formPage">
         <ibps-watermark :disabled="!enableWatermark" :text="watermarkText">
-            <!--顶部按钮-->
-            <template v-if="hasActions">
-                <div v-sticky="{ stickyTop: marginTop }" class="form-toolbar hidden-print">
-                    <div :class="['ibps-toolbar--' + $ELEMENT.size]" class="ibps-toolbar">
-                        <panle />
-                        <div class="header" style="height: 30px">
-                            <div class="buttons" style="float: right; margin-right: 8%">
-                                <ibps-toolbar
-                                    ref="toolbar"
-                                    :actions="actions.reverse()"
-                                    @action-event="handleButtonEvent"
-                                />
-                            </div>
-                            <!--步骤条按钮-->
-                            <div v-if="hasStepButton" class="buttons ibps-pr-10 ibps-fr-important">
-                                <el-button
-                                    v-for="button in stepButtons"
-                                    :key="button.key"
-                                    :size="button.size || $ELEMENT.size"
-                                    :icon="'ibps-icon-' + button.icon"
-                                    :autofocus="false"
-                                    :disabled="disabledStepButton(button.key)"
-                                    :loading="stepLoading"
-                                    @click="() => { handleStepButtonEvent(button) }"
-                                >
-                                    {{ button.label }}
-                                </el-button>
+            <div class="table-content">
+                <!--顶部按钮-->
+                <template v-if="hasActions">
+                    <div v-sticky="{ stickyTop: marginTop }" class="form-toolbar hidden-print">
+                        <div :class="['ibps-toolbar--' + $ELEMENT.size]" class="ibps-toolbar">
+                            <panle />
+                            <div class="header" style="height: 30px">
+                                <div class="buttons" style="float: right; margin-right: 8%">
+                                    <ibps-toolbar
+                                        ref="toolbar"
+                                        :actions="actions.reverse()"
+                                        @action-event="handleButtonEvent"
+                                    />
+                                </div>
+                                <!--步骤条按钮-->
+                                <div v-if="hasStepButton" class="buttons ibps-pr-10 ibps-fr-important">
+                                    <el-button
+                                        v-for="button in stepButtons"
+                                        :key="button.key"
+                                        :size="button.size || $ELEMENT.size"
+                                        :icon="'ibps-icon-' + button.icon"
+                                        :autofocus="false"
+                                        :disabled="disabledStepButton(button.key)"
+                                        :loading="stepLoading"
+                                        @click="() => { handleStepButtonEvent(button) }"
+                                    >
+                                        {{ button.label }}
+                                    </el-button>
+                                </div>
                             </div>
                         </div>
                     </div>
-                </div>
-            </template>
-            <!--表单-->
-            <dynamic-form
-                ref="dynamicForm"
-                v-model="formData"
-                :form-def="formDefData"
-                :form="this"
-                :permissions="permissions"
-                :readonly="readonly"
-                :params="params"
-                :dynamicParams="dynamicParams"
-                :initialization="initialization"
-                :cur-active-step.sync="curActiveStep"
-                :isDialog="isDialog"
-                class="form-container"
-                :style="{ marginTop: hasActions ? marginTop + 'px' : '0' }"
-            />
-            <component
-                :is="dialogTemplate"
-                v-if="dialogTemplate"
-                ref="dialogTemplate"
-                v-bind="dialogTemplateAtts"
-            />
-            <component
-                :is="customComponent"
-                v-if="customComponent"
-                ref="customComponent"
-                v-bind="customComponentAtts"
-            />
+                </template>
+                <!--表单-->
+                <dynamic-form
+                    ref="dynamicForm"
+                    v-model="formData"
+                    :form-def="formDefData"
+                    :form="this"
+                    :permissions="permissions"
+                    :readonly="readonly"
+                    :params="params"
+                    :dynamicParams="dynamicParams"
+                    :initialization="initialization"
+                    :cur-active-step.sync="curActiveStep"
+                    :isDialog="isDialog"
+                    class="form-container"
+                    :style="{ marginTop: hasActions ? marginTop + 'px' : '0' }"
+                />
+                <component
+                    :is="dialogTemplate"
+                    v-if="dialogTemplate"
+                    ref="dialogTemplate"
+                    v-bind="dialogTemplateAtts"
+                />
+                <component
+                    :is="customComponent"
+                    v-if="customComponent"
+                    ref="customComponent"
+                    v-bind="customComponentAtts"
+                />
+            </div>
         </ibps-watermark>
     </div>
 </template>
@@ -560,26 +562,42 @@
     }
 </script>
 <style lang="scss" scoped>
-    .form-toolbar {
-        position: fixed;
-        width: 100%;
-        margin-top: -50px;
-    }
-    .form-container {
-        margin: 0 10px 10px 10px;
-    }
-    @media print {
-        .dynamic-form {
-            margin-top: 0 !important;
+    .table-content {
+        .form-toolbar {
+            position: fixed;
+            width: 100%;
+            margin-top: -50px;
         }
-        .el-dialog__headerbtn {
-            display: none !important;
-            padding: 0;
-            margin: 0;
+        .form-container {
+            // min-width: 1080px;
+            // width: 1080px;
+            // margin: 0 auto;
+            margin: 0 10px 10px 10px;
+            ::v-deep .el-form--label-left {
+                font-size: 18px;
+                .el-form-item__label {
+                    padding-left: 30px;
+                    position: relative;
+                    &:before {
+                        position: absolute;
+                        left: 24px;
+                    }
+                }
+            }
         }
-        .hidden-print {
-            padding: 0;
-            margin: 0;
+        @media print {
+            .dynamic-form {
+                margin-top: 0 !important;
+            }
+            .el-dialog__headerbtn {
+                display: none !important;
+                padding: 0;
+                margin: 0;
+            }
+            .hidden-print {
+                padding: 0;
+                margin: 0;
+            }
         }
     }
 </style>

+ 21 - 18
src/business/platform/org/employee/panel.vue

@@ -218,24 +218,27 @@ export default {
   },
   watch: {
     showTree: {
-      handler: function(val, oldVal) {
-        this.lazyTree = this.partyType === 'org'
-        if (val === false) {
-            this.listConfig.searchForm.forms = [
-                { prop: 'name', label: '姓名' }
-            ]
-            this.listConfig.columns = [
-                { prop: 'name', label: '姓名'},
-            ]
-         } else {
-            this.listConfig.searchForm.forms = [
-                { prop: 'Q^NAME_^SL', label: '姓名', itemWidth: '200' }
-            ]
-            this.listConfig.columns = [
-                { prop: 'name', label: '姓名' }
-            ]
-        }
-      },
+            handler: function (val, oldVal) {
+                this.lazyTree = this.partyType === 'org'
+                if (val === false) {
+                    this.listConfig.searchForm.forms = [
+                        { prop: 'Q^NAME_^SL', label: '姓名' }
+                    ]
+                    this.listConfig.columns = [
+                        { prop: 'name', label: '姓名' }
+                        // { prop: 'createTime', label: '创建时间', width: 200 }
+                    ]
+                } else {
+                    this.listConfig.searchForm.forms = [
+                        { prop: 'Q^NAME_^SL', label: '姓名', itemWidth: '200' }
+                        // { prop: 'Q^ACCOUNT_^SL', label: '帐号', itemWidth: '200' }
+                    ]
+                    this.listConfig.columns = [
+                        { prop: 'name', label: '姓名' }
+                        // { prop: 'createTime', label: '创建时间', width: 200 }
+                    ]
+                }
+            },
       immediate: true
     },
     changeParams: {

+ 1 - 1
src/views/platform/bpmn/bpmInstHis/list.vue

@@ -199,7 +199,7 @@ export default {
     data () {
         const roleList = this.$store.getters.userInfo.role
         // 系统管理角色、实验室主任、档案管理员具有高级权限
-        const hasRole = roleList.some(item => ['xtgljs', 'syszr', 'dagly'].includes(item.alias))
+        const hasRole = roleList.some(item => ['xtgljs', 'syszr', 'dagly', 'xxgljs'].includes(item.alias))
         const { account = '' } = this.$store.getters
         return {
             hasRole,

Някои файлове не бяха показани, защото твърде много файлове са промени