Procházet zdrojové kódy

1、修改图标
2、修改dk-table
3、修改工具栏

zhoux před 2 roky
rodič
revize
a8033c37b9

binární
public/logo.png


+ 89 - 0
src/components/base/dk-table-max/dk-table-max.vue

@@ -0,0 +1,89 @@
+<!-- @desc:最大化  @auth:周兴  @time:2023/12/21 16:08 -->
+<template>
+  <DkModal
+    v-model="visible"
+    :saveFlag="true"
+    fullscreen
+    ref="modal"
+    :title="vm.$t('tableFullScreen')"
+    :footer-flag="false"
+    @on-cancel="handleCancel"
+  >
+    <!--正常列表-->
+    <div style="height: calc(100% - 30px)">
+      <DkTable :id="'table-'+$options.name" ref="table-select"
+               :data="tableData"
+               :auto-height="true"
+               :show-setting-flag="false"
+               :choose-flag="false"
+               :pageFlag="false">
+        <div v-for="(item, index) in columns" :key="item.field">
+          <DkTableColumn
+            :type="item.type"
+            :field="item.field"
+            :title="item.title"
+            :digits="item.digits"
+            :align="item.align"
+            :sum="item.sum"
+            :dataType="item.dataType"
+            @on-link="(row,rowIndex,field)=>handleLink(item,row,rowIndex,field)"
+          >
+          </DkTableColumn>
+        </div>
+      </DkTable>
+    </div>
+  </DkModal>
+</template>
+
+<script>
+export default {
+  name: "dk-table-max",
+  props: {
+  },
+  data() {
+    const vm = window.vm
+    let self = this
+    return {
+      vm: vm,
+      page:null,
+      visible: true,
+      tableData:[],
+      columns:[]
+    }
+  },
+  methods:{
+    /**
+     * @desc   : 关闭查询页面
+     * @author : 周兴
+     * @date   : 2023/2/14 17:29
+     */
+    handleCancel() {
+      this.visible = false;
+    },
+    /**
+     * @desc   : 点击链接事件
+     * @author : 周兴
+     * @date   : 2023/12/22 9:33
+     */
+    handleLink(item,row,rowIndex,field){
+      if(item && item.instance ){
+        let col = item.col[0].componentInstance.linkObj;
+        if(col.url){
+          row.url = col.url
+        }
+        if(col.button){
+          row.button = col.button
+        }
+        item.instance?.handleLink(row, rowIndex, field);
+        this.visible = false
+      }
+    }
+  },
+  mounted() {
+  }
+}
+</script>
+
+<style scoped>
+
+</style>

+ 21 - 0
src/components/base/dk-table-max/index.js

@@ -0,0 +1,21 @@
+import Vue from 'vue'
+import DkTableMax from './dk-table-max.vue'
+
+const messageBox = Vue.extend(DkTableMax)
+
+DkTableMax.install = function (options) {
+  // if (typeof options === 'object') {
+  //   options = {
+  //     location: options
+  //   }
+  // }
+  let instance = new messageBox({
+    data: Object.assign(options)
+  }).$mount()
+  document.body.appendChild(instance.$el)
+
+  Vue.nextTick(() => {
+    instance.visible = true
+  })
+}
+export default DkTableMax

+ 10 - 3
src/components/base/dk-table/dk-table-column.vue

@@ -35,7 +35,7 @@
               :visible="visible"
               :class-name="classNameData" show-header-overflow show-footer-overflow
               show-overflow="title" :min-width="minWidthData" :title="titleData"
-              :params="{type:typeData,digits:digits,dataType:dataType,align:align}"
+              :params="{type:typeData,digits:digits,dataType:columnType,align:align,centerFlag:centerFlag}"
               :fixed="fixedData" :radioRight="radioRight" :width="widthData" :field="field"
               :tree-node="treeNode">
     <template #header="{column,columnIndex}">
@@ -109,6 +109,7 @@
               v-else-if="typeData === 'image'"
               :class-name="classNameData" show-header-overflow show-footer-overflow
               show-overflow="title" :min-width="minWidthData" :title="titleData"
+              :params="{type:typeData,digits:digits,dataType:columnType,align:align,centerFlag:centerFlag}"
               :fixed="fixedData" :radioRight="radioRight" :width="widthData" :field="field">
     <template #default="{row}">
       <!--      <img :src="row[field]" style="width: 26px; height: 26px;"/>-->
@@ -161,7 +162,7 @@
               class-name="freeze-column-class" show-header-overflow show-footer-overflow
               show-overflow="title" :min-width="(typeData=='checkbox' || typeData=='radio')?'50': minWidthData"
               :title="titleData"
-              :params="{type:typeData,digits:digits,dataType:dataType,align:align}"
+              :params="{type:typeData,digits:digits,dataType:columnType,align:align,centerFlag:centerFlag}"
               :fixed="fixedData" :radioRight="radioRight"
               :width="(typeData=='checkbox' || typeData=='radio')?'50': widthData" :field="field" align="left"
               :tree-node="treeNode">
@@ -231,6 +232,7 @@
               class-name="tableColumnHeight" show-header-overflow show-footer-overflow
               show-overflow="title" :min-width="minWidthData" :title="titleData"
               :visible="visible"
+              :params="{type:typeData,digits:digits,dataType:columnType,align:align,centerFlag:centerFlag}"
               :fixed="fixedData" :radioRight="radioRight" :width="widthData" :field="field" align="center">
     <template #default="{ row }" style="line-height: 0">
       <!--如果整列不是disabled,那么就可以按照行的disabled来处理-->
@@ -423,6 +425,10 @@ export default {
     btnBlockFlag:{
       type:Boolean,
       default:false
+    },
+    // 链接的传入参数
+    linkObj:{
+      type:Object,
     }
   },
   data() {
@@ -593,6 +599,7 @@ export default {
         //关闭表格全屏
         this.dkTable.fullModal = false
       }
+      console.log('t1')
       this.$emit('on-link', row, rowIndex, this.field)
     },
     /**
@@ -876,7 +883,7 @@ export default {
      * @date   : 2022/11/30 17:28
      */
     handleFreeze(e) {
-      if (this.dkTable && e) {
+      if (this.dkTable != null && e != null) {
         this.freezeFlag = true
         this.dkTable.freezeColumn(e.column);
       }

+ 244 - 76
src/components/base/dk-table/dk-table.vue

@@ -19,7 +19,7 @@
       row-id="id"
       :ref="name"
       :tableWidth="width + 'px'"
-      :height="height +'px'"
+      :height="autoHeight?'auto':(height +'px')"
       :stripe="true"
       :show-header="showHeader"
       auto-resize
@@ -30,7 +30,7 @@
       :checkbox-config="{range:checkRange,showHeader:showCheckboxHeader,visibleMethod: checkboxMethod}"
       :footer-method="footerMethod"
       :data="dataFinal"
-      :menu-config="{visibleMethod:visibleMethod,body:header,header:header}"
+      :menu-config="{ visibleMethod:visibleMethod,header:header,body:header}"
       @contextmenu.native.prevent
       @scroll="handleScroll"
       @cell-menu="cellMenu"
@@ -60,6 +60,36 @@
         <p>{{ vm.$t('appNoData') }}</p>
       </template>
     </vxe-table>
+
+    <!--    <DkModal-->
+    <!--      v-model="menuFlag"-->
+    <!--      :closable="false"-->
+    <!--      :saveFlag="true"-->
+    <!--      :footer-flag="false"-->
+    <!--      :width="200"-->
+    <!--    >-->
+    <!--      <DropdownMenu style="line-height: 0;">-->
+    <!--        <Dropdown placement="right-start"-->
+    <!--                  v-for="(item, index) of header.options[0].filter(it=>it.children && it.children.length > 0)"-->
+    <!--                  :key="index">-->
+    <!--          <DropdownItem >-->
+    <!--            {{ $t(item.name) }}-->
+    <!--            <Icon v-if="item.children && item.children.length > 0" type="ios-arrow-forward"></Icon>-->
+    <!--          </DropdownItem>-->
+    <!--          <DropdownMenu slot="list" placement="right" v-if="item.children && item.children.length > 0">-->
+    <!--            <DropdownItem v-for="(t,index) in item?.children" :key="index+'l'" :name="t.key" @click.native="menuClick(t)"-->
+    <!--            >-->
+    <!--              {{ t.name }}-->
+    <!--            </DropdownItem>-->
+    <!--          </DropdownMenu>-->
+    <!--        </Dropdown>-->
+    <!--        <DropdownItem v-for="(item, index) of header.options[0].filter(it=>!it.children)" :key="'c'+ index"-->
+    <!--                      @click.native="menuClick(item)">-->
+    <!--          {{ $t(item.name) }}-->
+    <!--        </DropdownItem>-->
+    <!--      </DropdownMenu>-->
+    <!--    </DkModal>-->
+
     <!--设置-->
     <div class="setting-class" v-if="showSettingFlag && settingLeft"
          :style="'top:' + settingTop + ';left:' + settingLeft"
@@ -69,7 +99,7 @@
     <!--  全屏  -->
     <div class="setting-class" v-if="showSettingFlag && settingLeft "
          :style="'top:' + settingTop + ';left:' + (parseInt(settingLeft.replace('px', '')) - 20) + 'px'"
-         @click="fullModal = true">
+         @click="handleMax">
       <icon type="iconfont iconfont icon-max1"></icon>
     </div>
     <!--不能用上面的,因为会根据settingLeft来设置,这个有滞后性-->
@@ -78,19 +108,28 @@
     <div id="pageInfo" v-if="pageTotalFlag || pageFlag || treeFlag"
          class="table-foot-class">
       <div style="display: flex;align-items: center">
-      <span v-if="pageTotalFlag"
-            class="table-choose-foot">{{
-          selectFlag && batchKeys.length > 0 ? vm.$t('chosedText') + batchKeys.length + vm.$t('items') + ',' : ''
-        }}{{ vm.$t('total') + getTotalCount() + vm.$t('items') }}
-        <Tag style="background:  #2E406B" color="#fff" v-if="clearBtnText && dataFinal.length > 0">{{
-            clearBtnText
-          }}</Tag>
-        <span v-if="filterContent.length>0 "> {{
-            '【' + vm.$t('filtered') + ' ' + dataFinal.length + vm.$t('items') + '】'
-          }} </span>
-         <Tag class="filter-button" v-for="(it,index) in filterContent" @click.native="handleClick(it)"
-              :key="index" :name="it" closable @on-close="closeTagFilterContent">{{ it }}</Tag>
-      </span>
+        <div v-if="pageTotalFlag"
+             class="table-choose-foot" style="display: flex">
+          <!--多选才会体现已选数据-->
+          <div v-if="chooseFlag && multiple">
+            {{
+              selectFlag && batchKeys.length > 0 ? vm.$t('chosedText') + batchKeys.length + vm.$t('items') + ',' : ''
+            }}
+          </div>
+          <div>
+            {{ vm.$t('total') + getTotalCount() + vm.$t('items') }}
+          </div>
+          <Tag style="background:  #2E406B" color="#fff" v-if="clearBtnText && dataFinal.length > 0">{{
+              clearBtnText
+            }}
+          </Tag>
+          <span v-if="filterContent.length>0 "> {{
+              '【' + vm.$t('filtered') + ' ' + dataFinal.length + vm.$t('items') + '】'
+            }} </span>
+          <Tag class="filter-button" v-for="(it,index) in filterContent" @click.native="handleClick(it)"
+               :key="index" :name="it" closable @on-close="closeTagFilterContent">{{ it }}
+          </Tag>
+        </div>
         <!--展开收缩按钮-->
         <div style="display: flex;padding-left: 5px" v-if="treeFlag">
           <Button type="default" size="small" @click="expandAll" style="margin-left: 2px">
@@ -107,7 +146,7 @@
         </div>
       </div>
 
-      <Page v-if="pageFlag" :page-size="pageInfo.pageSize" :current="pageInfo.currentPage"
+      <Page v-if="pageFlag" :page-size="pageSize?pageSize: pageInfo.pageSize" :current="pageInfo.currentPage"
             :page-size-opts="pageSizeOpts" :total="pageInfo.total" size="small"
             show-elevator show-sizer
             @on-change="currentPageChange" @on-page-size-change="pageSizeChange"
@@ -115,49 +154,54 @@
       <div v-else></div>
     </div>
 
-    <!--全屏-->
-    <DkModal
-      v-model="fullModal"
-      :saveFlag="true"
-      fullscreen
-      :title="vm.$t('tableFullScreen')"
-      :footer-flag="false"
-    >
-      <vxe-table
-        :cell-style="cellStyle"
-        :footer-cell-style="footCellStyle"
-        align="center"
-        size="mini"
-        :border="border"
-        row-id="id"
-        :tableWidth="width + 'px'"
-        height="auto"
-        :stripe="true"
-        :show-header="showHeader"
-        auto-resize
-        :scroll-y="{gt:20}"
-        :sort-config="{showIcon:sortable}"
-        :column-config="{isCurrent: true, isHover: true, resizable: true}"
-        :show-footer="showFooter"
-        :checkbox-config="{range:checkRange,showHeader:showCheckboxHeader,visibleMethod: checkboxMethod}"
-        :footer-method="footerMethod"
-        :data="dataFinal"
-        :tooltip-config="{contentMethod:loadTipContentMethod,enterable: true}"
-        :tree-config="treeFlag?{transform: treeFlag, rowField: treeRowField, parentField: parentField,lazy: lazy, hasChild: 'hasChild', loadMethod: loadChildrenMethod, children: treeChildren}:undefined"
-        :radio-config="{highlight: true,strict: true,checkField: 'checked',
-       trigger: triggerFlag ? 'row' :null ,checkMethod:checkMethodFlag ? checkRadioMethod : null }"
-        :row-config="{isCurrent: true, isHover: true}"
-      >
-        <DkTableColumn type="seq" width="45" fixed="left" :show-tip="showTip" :seq-tip-content="seqTipContent"
-                       :chooseDataFlag="chooseDataFlag"
-                       :add-flag="addFlag"></DkTableColumn>
-        <slot></slot>
-        <template #empty>
-          <img src="@/assets/images/empty.png" style="width: 90px;height: 85px;"/>
-          <p>{{ vm.$t('appNoData') }}</p>
-        </template>
-      </vxe-table>
-    </DkModal>
+    <!--    <DkModal-->
+    <!--      v-model="fullModal"-->
+    <!--      :saveFlag="true"-->
+    <!--      fullscreen-->
+    <!--      :title="vm.$t('tableFullScreen')"-->
+    <!--      :footer-flag="false"-->
+    <!--    >-->
+    <!--      <vxe-table-->
+    <!--        :cell-style="cellStyle"-->
+    <!--        :footer-cell-style="footCellStyle"-->
+    <!--        align="center"-->
+    <!--        size="mini"-->
+    <!--        :border="border"-->
+    <!--        row-id="id"-->
+    <!--        :tableWidth="width + 'px'"-->
+    <!--        height="auto"-->
+    <!--        :stripe="true"-->
+    <!--        :show-header="showHeader"-->
+    <!--        auto-resize-->
+    <!--        :scroll-y="{gt:20}"-->
+    <!--        :sort-config="{showIcon:sortable}"-->
+    <!--        :column-config="{isCurrent: true, isHover: true, resizable: true}"-->
+    <!--        :show-footer="showFooter"-->
+    <!--        :checkbox-config="{range:checkRange,showHeader:showCheckboxHeader,visibleMethod: checkboxMethod}"-->
+    <!--        :footer-method="footerMethod"-->
+    <!--        :menu-config="{ visibleMethod:visibleMethod,header:header,body:header}"-->
+    <!--        @contextmenu.native.prevent-->
+    <!--        @scroll="handleScroll"-->
+    <!--        @cell-menu="cellMenu"-->
+    <!--        @menu-click="menuClick"-->
+    <!--        @cell-click="cellClick"-->
+    <!--        :data="dataFinal"-->
+    <!--        :tooltip-config="{contentMethod:loadTipContentMethod,enterable: true}"-->
+    <!--        :tree-config="treeFlag?{transform: treeFlag, rowField: treeRowField, parentField: parentField,lazy: lazy, hasChild: 'hasChild', loadMethod: loadChildrenMethod, children: treeChildren}:undefined"-->
+    <!--        :radio-config="{highlight: true,strict: true,checkField: 'checked',-->
+    <!--       trigger: triggerFlag ? 'row' :null ,checkMethod:checkMethodFlag ? checkRadioMethod : null }"-->
+    <!--        :row-config="{isCurrent: true, isHover: true}"-->
+    <!--      >-->
+    <!--        <DkTableColumn type="seq" width="45" fixed="left" :show-tip="showTip" :seq-tip-content="seqTipContent"-->
+    <!--                       :chooseDataFlag="chooseDataFlag"-->
+    <!--                       :add-flag="addFlag"></DkTableColumn>-->
+    <!--        <slot></slot>-->
+    <!--        <template #empty>-->
+    <!--          <img src="@/assets/images/empty.png" style="width: 90px;height: 85px;"/>-->
+    <!--          <p>{{ vm.$t('appNoData') }}</p>-->
+    <!--        </template>-->
+    <!--      </vxe-table>-->
+    <!--    </DkModal>-->
   </div>
 </template>
 
@@ -243,6 +287,11 @@ export default {
         return [100, 200, 500, 1000]
       }
     },
+    //每页行数
+    pageSize: {
+      type: Number,
+      default: null
+    },
     // 是否显示已选条数
     selectFlag: {
       type: Boolean,
@@ -460,8 +509,13 @@ export default {
     },
     // 是否显示右键菜单
     cellMenuFlag: {
-      Type: Boolean,
+      type: Boolean,
       default: true
+    },
+    // 是否自动高度
+    autoHeight: {
+      type: Boolean,
+      default: false
     }
   },
   provide() {
@@ -532,10 +586,9 @@ export default {
           ]
         ]
       },
-
       pageInfo: {
         total: 0,
-        pageSize: this.$config.pageSize,
+        pageSize: self.pageSize ? self.pageSize : this.$config.pageSize,
         currentPage: 1
       },
       batchKeys: [],
@@ -558,7 +611,8 @@ export default {
       settingTop: null,           // 设置图标居上的位置
       chooseTop: null,             // 全选图标居上的位置
       chooseLeft: null,            // 全选图标居左的位置
-      fullModal: false, // 全屏显示
+      menuFlag: false,// 右键菜单状态
+      cellMenuObj: null,// 右键点击的实体
     }
   },
   watch: {
@@ -691,21 +745,43 @@ export default {
         })
         let columnIndex = 0;
         let hideNum = 0;
+        // this.$slots.default.forEach((it, index) => {
+        //   if (it && it.componentInstance) {
+        //     if (it.componentInstance.field != column.field) {
+        //       it.componentInstance.freezeFlag = false;
+        //       if (!it.componentInstance.visible) {
+        //         hideNum++;
+        //       }
+        //     } else {
+        //       columnIndex = this.chooseFlag ? (index + 2) : (index + 1);
+        //     }
+        //     console.log('t3',it.componentInstance.field,column.field,it.componentInstance.freezeFlag)
+        //   }
+        // })
+        tableColumns.visibleColumn.forEach((it, index) => {
+          if (it.field != column.field) {
+            // it.componentInstance.freezeFlag = false;
+            // if (!it.componentInstance.visible) {
+            //   hideNum++;
+            // }
+          } else {
+            columnIndex = this.chooseFlag ? index + 1 : index;
+          }
+        })
+        // 先把所有的图标去掉
         this.$slots.default.forEach((it, index) => {
           if (it && it.componentInstance) {
-            if (it.componentInstance.field != column.field) {
-              it.componentInstance.freezeFlag = false;
-              if (!it.componentInstance.visible) {
-                hideNum++;
-              }
-            } else {
-              columnIndex = this.chooseFlag ? (index + 2) : (index + 1);
-            }
+            it.componentInstance.freezeFlag = false;
           }
         })
-        if (hideNum) {
-          columnIndex = columnIndex - hideNum;
+        let filters = this.$slots.default.filter(it => it.componentInstance.field == column.field)
+        if (filters && filters.length > 0) {
+          filters[0].componentInstance.freezeFlag = true;
         }
+        // if (hideNum) {
+        //   columnIndex = columnIndex - hideNum;
+        // }
+        // console.log('t3', hideNum,columnIndex,this.chooseFlag)
         // 冻结该列之前的列,包括这列
         for (let i = 0; i <= columnIndex; i++) {
           tableColumns.visibleColumn[i].fixed = 'left'
@@ -722,7 +798,9 @@ export default {
     handleFreeze(e) {
       if (this.$slots.default && this.$slots.default.length > 0) {
         let columnIndex = e.columnIndex - (this.chooseFlag ? 2 : 1);
+        console.log('rrrr', columnIndex, this.$slots.default[columnIndex].componentInstance.handleFreeze)
         if (this.$slots.default[columnIndex] && this.$slots.default[columnIndex].componentInstance.handleFreeze) {
+          console.log('t1')
           this.$slots.default[columnIndex].componentInstance.handleFreeze(e);
         }
       }
@@ -861,6 +939,7 @@ export default {
                 return it[e.column.field]
               }
             });
+            let col = e.column.params
             if (col.type !== 'seq' && col.type !== 'radio' && col.type !== 'checkbox'
               && col.type !== 'operate' && col.type !== 'image' && col.type !== 'button') {
               columnValues.push(e.column.title + '占')  // 把每列的表头也加进去算
@@ -1063,6 +1142,7 @@ export default {
           return {textAlign: column.params.align}
         }
       }
+
       // column.property===?也可根据列名判断,也可根据column对象的属性灵活配置
       for (let it of this.$slots.default) {
         if (it && it.componentInstance) {
@@ -1072,6 +1152,7 @@ export default {
               return {textAlign: "center"}
             }
             if (it.componentInstance.columnType === 'number') {
+              // console.log('rrr',column.field,it.componentInstance.columnType)
               return {textAlign: 'right'}
             } else if (it.componentInstance.columnType === 'checkbox' || it.componentInstance.columnType === 'date') {
               return {textAlign: 'center'}
@@ -1093,7 +1174,7 @@ export default {
         if (it && it.componentInstance) {
           if (it.componentInstance.field === column.property) {
             if (it.componentInstance.columnType === 'number') {
-              return {textAlign: 'right', background: '#FFF8E1',cursor:'pointer'}
+              return {textAlign: 'right', background: '#FFF8E1', cursor: 'pointer'}
             } else {
               return {textAlign: 'left', background: '#FFF8E1'}
             }
@@ -1337,15 +1418,29 @@ export default {
      * @date   : 2023/2/23 13:39
      */
     cellMenu(e) {
-
+      // this.menuFlag = true;
+      // console.log('menuFlag', this.menuFlag,e)
+      // this.cellMenuObj = {...e};
       this.$emit('cellMenu', e)
     },
+
+    contextMenuClick(e) {
+      // if (e.menu.children && e.menu.children.length > 0) {
+      //   // this.$refs[this.name].closeMenu()
+      //
+      //   console.log('ttt', e)
+      //   return false;
+      // }
+      return true;
+    },
     /**
      * @desc   : 右键
      * @author : 周兴
      * @date   : 2022/3/30 17:24
      */
     menuClick(e) {
+      // e.menu = {...this.cellMenuObj}
+      // e.menu.code = e.code
       if (e.menu.code == 'selfAdaption') {
         this.autoWidthHandle()
       } else if (e.menu.code == 'selfAdaptionOne') {
@@ -1377,6 +1472,14 @@ export default {
       }, 400)
     },
     /**
+     * @desc   : 点击菜单
+     * @author : 周兴
+     * @date   : 2023/12/20 15:47
+     */
+    clickMenu(e) {
+
+    },
+    /**
      * @desc   : 透视
      * @author : 周兴
      * @date   : 2023/3/18 17:44
@@ -2047,6 +2150,50 @@ export default {
       this.$emit('chooseData', row, rowIndex);
     },
     /**
+     * @desc   : 全屏
+     * @author : 周兴
+     * @date   : 2023/12/21 16:37
+     */
+    handleMax() {
+      const tableColumns = this.$refs[this.name].getTableColumn()
+      if (tableColumns && tableColumns.visibleColumn) {
+        let columnsFull = tableColumns.visibleColumn.filter(it => it.type != 'seq'
+          && it.type != 'checkbox' && it.type != 'radio')
+          .map(it => {
+            let align = 'left';
+            if (it.params && it.params.align) {
+              align = it.params.align;
+            } else {
+              let type = it.params?.type;
+              if (type === 'date' || type === 'switch' || type === 'checkbox' || it.params?.centerFlag) {
+                align = 'center';
+              } else if (type === 'number' || it.params?.dataType === 'number') {
+                align = 'right';
+              }
+            }
+            // console.log('444', this.$slots.default, this.$parent)
+            // this.$parent?.handleLink();
+            let obj = {
+              field: it.field,
+              title: it.title,
+              type: it.params?.type,
+              dataType: it.params?.dataType,
+              digits: it.params?.digits,
+              align: align,
+              instance: this.$parent,
+              col: this.$slots.default.filter(item => item.componentInstance.field === it.field)
+            }
+            return obj;
+          });
+        this.$TableMax({columns: columnsFull, tableData: this.dataFinal},
+          {
+            // ok: (searchText) => {
+            //   this.handleColPosition(searchText);   // 执行列定位方法
+            // },
+          })
+      }
+    },
+    /**
      * @desc   : 改变设置的位置
      * @author : 周兴
      * @date   : 2023/1/29 16:55
@@ -2163,5 +2310,26 @@ export default {
   padding: 0 !important;
 }
 
+.menu-class {
+  position: absolute;
+  top: 50%;
+  left: 50%;
+  border: 1px solid #aaa;
+  box-shadow: 2px 2px 2px #888888;
+}
+
+/deep/ .ivu-dropdown-menu {
+  width: 100%;
+}
+
+/deep/ .ivu-dropdown {
+  width: 100%;
+}
+
+/deep/ .ivu-select-selection {
+  display: flex;
+  align-items: center;
+}
+
 
 </style>

+ 1 - 1
src/components/base/index-button-group/base-index-button.vue

@@ -82,7 +82,7 @@ export default {
      * @date   : 2023/10/31 9:06
      */
     handleMouseEnter(e){
-      console.log('ee',e)
+      // console.log('ee',e)
       if(this.childOptions && this.childOptions.length > 0){
         this.visible = true;
       }

+ 172 - 13
src/components/business/multi-select/multi-select.vue

@@ -18,7 +18,8 @@
       @modalOk="ok"
       @modalCancel="cancel"
       @on-visible-change="onVisibleChange"
-      :title="vm.$t('chooseData')">
+      class-name="multi-class"
+      :title="dkFormItem?vm.$t('choose') + dkFormItem.label: vm.$t('chooseData')">
       <BaseIndexButtonGroup #left>
         <BaseIndexButton ref="search" name="search" @click="getDataTable"></BaseIndexButton>
         <BaseIndexButton :finalFlag="true" ref="clear" name="clear"
@@ -26,16 +27,24 @@
       </BaseIndexButtonGroup>
       <!--      <SearchCond id="search-cond-div" width="780px" v-if="searchCond && searchCond.length > 0" ref="searchCond"-->
       <!--                  v-model="searchCond" :setFlag="false" :searchContent="searchCond" :col-count="4"></SearchCond>-->
-      <SearchCond id="search-cond-div" width="700" v-if="searchContent && searchContent.length > 0" ref="searchCond"
+      <SearchCond id="search-cond-div" class="search-cond-class"  width="700" v-if="searchContent && searchContent.length > 0" ref="searchCond"
                   v-model="searchCond" :setFlag="false" :searchContent="searchContent" :col-count="colCount"></SearchCond>
-      <DkTable :primaryKey="selectKey" :clear-check-flag="false" ref="table-select" :id="'table-'+$options.name"
+
+      <DkTabs ref="tabs" :options="tabsOptions" @on-click="tabsClick" @on-clear="clearSelected"></DkTabs>
+
+      <DkTable v-show="tabIndex === 0"  :primaryKey="selectKey" :clear-check-flag="false" ref="table-select" :id="'table-'+$options.name"
                name="table" :data="tableData"
                :checkMethodFlag=true
-               :page-flag="false"
+               :page-flag="pageFlag"
+               :page-total="pageInfo.total"
+               :current-page="pageInfo.currentPage"
                :link-click-checked="true"
                :refreshSelect="false"
                :show-setting-flag="false"
-               @select-change="selectChange">
+               :pageSize="pageInfo.pageSize"
+               :page-size-opts="pageSizeOpts?pageSizeOpts:$config.pageSizeOptsMag"
+               @select-change="selectChange"
+               @pageChange="pageSizeChange">
         <!--     :title="vm.$t(item.field)"   -->
         <DkTableColumn v-for="(item,index) in columns" :key="index" :field="item.field" :type="item.type"
                        :width="item.width"
@@ -45,6 +54,16 @@
                        @on-switch-change="onSwitchChange"></DkTableColumn>
       </DkTable>
 
+      <!--已选列表-->
+      <DkTable v-show="tabIndex === 1" :pageFlag="false" :pageTotalFlag="false" :primaryKey="selectKey"
+               :id="'table-'+$options.name" ref="table-selected" :data="batchRowsPage" :operateFlag="true"
+               :refreshSelect="false" :multiple="false" :show-setting-flag="false" :choose-flag="false"
+              @delRow="delItem">
+        <DkTableColumn v-for="(item,index) in columns" :key="index" :field="item.field" :type="item.type"
+                       :title="vm.$t(item.title?item.title: item.field)" :width="item.width"
+                       :resize-flag="index === columns.length - 1"></DkTableColumn>
+      </DkTable>
+
       <div v-show="false">
         <DkButton type="primary" ref="confirm" @click="ok">{{ vm.$t('confirm') }}</DkButton>
         <DkButton ref="close" @click="cancel">{{ vm.$t('close') }}</DkButton>
@@ -63,6 +82,10 @@ export default {
     prop: {
       type: String,
       default: null
+    },
+    dkFormItem: {
+      type: Object,
+      default: null
     }
   },
   props: {
@@ -150,9 +173,20 @@ export default {
       type: Number,
       default: undefined
     },
+    // 页条数
+    pageSize:{
+      type:Number,
+      default:null
+    },
+    // 是否开启分页
+    pageFlag:{
+      type:Boolean,
+      default:false
+    }
   },
   data() {
     const vm = window.vm
+    let self = this
     return {
       vm: vm,
       colCount: 4,
@@ -187,6 +221,17 @@ export default {
       maxTagCount: 1,
       placeholderData: '',
       clearFlag: false, // 是否点击清空按钮
+      tabIndex: 0,
+      tabsOptions: [
+        {label: '选择列表', name: 'name1', index: 0},
+        {label: '已选列表', name: 'name2', index: 1, clear: true},
+      ],
+      pageInfo: {
+        total: 0,
+        pageSize: self.pageSize?self.pageSize: this.$config.pageSize,
+        currentPage: 1
+      },
+      pageSizeOpts:null,
     }
   },
   watch: {
@@ -214,6 +259,14 @@ export default {
         this.selectedValue = null;
       }
     },
+    batchRowsPage(n, o) {
+      //监听选择的数据,改变页签的数量
+      if (n && n.length) {
+        this.tabsOptions[1].label = '已选列表【' + n.length + '】';
+      } else {
+        this.tabsOptions[1].label = '已选列表';
+      }
+    },
     orderId(n, o) {
       // 如果Id改变,需要重新查询数据库
       // this.getDataTable();
@@ -221,6 +274,60 @@ export default {
   },
   methods: {
     /**
+     * @desc   : 切换tab
+     * @author : 周兴
+     * @date   : 2022/5/28 16:38
+     */
+    tabsClick(e, option) {
+      this.tabIndex = option.index;
+    },
+    /**
+     * @desc   : 删除已选
+     * @author : 周兴
+     * @date   : 2022/5/31 15:04
+     */
+    clearSelected() {
+      this.clearAll();
+    },
+    /**
+     * @desc   : 翻页
+     * @author : 周兴
+     * @date   : 2023/12/20 16:54
+     */
+    pageSizeChange(pageInfo){
+      this.getDataTable(pageInfo.currentPage);
+    },
+    /**
+     * @desc   : 删除已选
+     * @author : 周兴
+     * @date   : 2022/9/26 16:39
+     */
+    delItem(rowIndex) {
+      let row = this.batchRowsPage[rowIndex]
+      // 如果存在就删除
+      if (row) {
+        let key = row[this.selectKey];
+        this.batchRowsPage = this.batchRowsPage.filter(it => it[this.selectKey] !== row[this.selectKey])
+        this.batchKeysPage = this.batchKeysPage.filter(it => it !== row[this.selectKey])
+        let tRow = this.tableData.filter(it => it[this.selectKey] === key);
+        // 删除掉去掉的勾选
+        if (tRow && tRow.length > 0) {
+          // 删除掉去掉的勾选
+          this.$refs['table-select'].setUnCheckedRow(tRow[0]);
+        } else {
+          // 删除掉去掉的勾选
+          if (this.batchKeysPage) {
+            this.batchKeysPage.splice(this.batchKeysPage.indexOf(key), 1)
+            let filterRows = this.$refs['table-select'].batchRows.filter(it => it[this.selectKey] == key)
+            if (filterRows && filterRows.length > 0) {
+              this.$refs['table-select'].batchRows.splice(this.$refs['table-select'].batchRows.indexOf(filterRows[0]), 1)
+            }
+            this.$refs['table-select'].batchKeys = this.batchKeysPage;
+          }
+        }
+      }
+    },
+    /**
      * @desc   : 点回车打开放大镜
      * @author : 周兴
      * @date   : 2022/12/14 11:32
@@ -236,9 +343,10 @@ export default {
      *   @author : 寇珊珊
      */
     selectChange(batchRows, row, checked) {
+      //获取当前选中的checkbox
+      let batchKeys = this.$refs['table-select'].batchKeys;
+      this.batchKeysPage = [...batchKeys]
       if (this.rateField) {
-        //获取当前选中的checkbox
-        let batchKeys = this.$refs['table-select'].batchKeys;
         //定义每行数据中的百分比
         let allocationRatio = (100 / batchKeys.length).toFixed(2)
         //定义一个每个选中后的百分比相加的变量,用来给最后一个元素赋值
@@ -266,6 +374,9 @@ export default {
       }
       //根据勾选状态进行控制主业务标识列的状态
       this.setMain(row, checked);
+      this.$nextTick(() => {
+        this.batchRowsPage = this.tableData.filter(it => this.batchKeysPage.includes(it[this.selectKey])).map(m => m);
+      })
     },
     /**
      * @desc   : 设置主业务信息
@@ -349,14 +460,16 @@ export default {
      * @author : 沈博
      * @date   : 2022/3/7 16:59
      */
-    getDataTable() {
+    getDataTable(currentPage = 1) {
       let param = {...this.$refs['table-select'].pageInfo}
       param.docCode = this.docCode
       // 如果是最末级节点需要传递到后台
       param.leafFlag = this.leafFlag
       // 不分页 todo
-      param.pageSize = this.$config.maxPageSize;
-      param.currentPage = 1
+      if(this.pageFlag){
+        param.pageSize = this.pageSize?this.pageSize: this.$config.maxPageSize;
+        param.currentPage = currentPage
+      }
       param.ftyId = this.$store.state.user.ftyId
       // 拼接外部传入的其他参数otherCondition
       if (this.otherCondition) {
@@ -374,7 +487,11 @@ export default {
             arr = res.data;
           }
           this.tableData = arr;
-          console.log('value', this.value)
+          if (param.currentPage == 1) {
+            this.pageInfo.total = res.data.total
+            this.pageInfo.currentPage = 1;
+          }
+          // console.log('value', this.value)
           // 根据传入的数据进行数据处理
           if (this.value && this.value.length > 0) {
             let filterRows = []
@@ -447,12 +564,13 @@ export default {
         //传入行的情况
         if (!this.batchKeysPage.includes(it[this.selectKey])) {
           this.batchKeysPage.push(it[this.selectKey]);
-          this.batchRowsPage.push(it)
+          this.batchRowsPage.push(row)
           this.$refs['table-select'].batchKeys = this.batchKeysPage;
           this.$refs['table-select'].batchRows = [...this.batchRowsPage];
         }
         this.$refs['table-select'].setCheckboxRow(row);
       }
+      // console.log('it',it,row,this.batchKeysPage,this.batchRowsPage)
     },
     /**
      * @desc   : 放大镜点击事件
@@ -471,8 +589,16 @@ export default {
       // this.$refs['table-select'].pageInfo.currentPage = 1
       this.showModal = true
       if (this.model) {
-        // this.$refs['table-select'].batchKeys = [this.model]
+        this.$refs['table-select'].batchKeys = [this.model]
         this.batchKeysPage = [this.model]
+      }else if(this.value && this.value.length > 0){
+        let batchKeys = this.value.map(it=>it[this.selectKey])
+        if(this.$refs['table-select']){
+          this.$refs['table-select'].batchKeys = batchKeys
+          this.batchKeysPage = batchKeys
+          // 查询已选数据
+          this.getDataTableSelected();
+        }
       }
     },
     /**
@@ -502,6 +628,37 @@ export default {
       }
     },
     /**
+     * @desc   : 通过已选的id获取数据
+     * @author : 周兴
+     * @date   : 2022/11/22 16:48
+     */
+    getDataTableSelected() {
+      let batchKeys = this.$refs['table-select'].batchKeys;
+      if (batchKeys && batchKeys.length > 0) {
+        let param = {};
+        param.currentPage = 1;
+        param.pageSize = 10000;
+        param.idList = batchKeys;
+        param.userId = this.$store.state.user.id
+        param.ftyId = this.$store.state.user.ftyId
+        // 拼接外部传入的其他参数otherCondition
+        if (this.otherCondition) {
+          param = Object.assign(param, this.otherCondition)
+        }
+        this.excute(this.service, this.service[this.methodsNameDetail], param).then(res => {
+          if (res.code === 200) {
+            this.batchRowsPage = []
+            if (res.data && res.data.list) {
+              res.data.list.forEach(it => {
+                this.batchRowsPage.push(it)
+              })
+              this.$refs['table-select'].batchRows = this.batchRowsPage;
+            }
+          }
+        });
+      }
+    },
+    /**
      * @desc   : 校验是否选择
      * @author : 沈博
      * @date   : 2022/3/7 15:44
@@ -831,6 +988,7 @@ export default {
 <style scoped>
 /deep/ .ivu-modal-body {
   padding: 0 10px 10px 10px;
+  background: #eaedf7 !important;
 }
 
 /deep/ .btn-div {
@@ -858,5 +1016,6 @@ export default {
   line-height: 30px;
 }
 
+
 </style>
 

+ 8 - 3
src/components/business/select-magnifier/select-magnifier.vue

@@ -28,7 +28,7 @@
       @on-cancel="cancel"
       @on-visible-change="onVisibleChange"
       class-name="change-class"
-      :title="vm.$t('chooseData')">
+      :title="dkFormItem?vm.$t('choose') + dkFormItem.label: vm.$t('chooseData')">
       <BaseIndexButtonGroup>
         <template #left>
           <BaseIndexButton ref="search" name="search" @click="searchData"></BaseIndexButton>
@@ -64,6 +64,8 @@
                  :choose-data-flag="true"
                  :perspective-flag="false"
                  :export="false"
+                 :pageSize="pageInfo.pageSize"
+                 :page-size-opts="pageSizeOpts?pageSizeOpts:$config.pageSizeOptsMag"
                  :seq-tip-content="vm.$t('doubleSeq')"
                  @select-change="handleSelectChange"
                  @pageChange="pageSizeChange"
@@ -109,6 +111,7 @@
                :choose-data-flag="true"
                :linkClickChecked="true"
                :pageSize="pageInfo.pageSize"
+               :page-size-opts="pageSizeOpts?pageSizeOpts:$config.pageSizeOptsMag"
                @pageChange="pageSizeChange"
                @chooseData="chooseData"
       >
@@ -231,7 +234,7 @@ export default {
     alwaysOpenFlag: {
       type: Boolean,
       default: false
-    }
+    },
   },
   data() {
     const vm = window.vm
@@ -293,11 +296,12 @@ export default {
       blurFlag: true,
       pageInfo: {
         total: 0,
-        pageSize: this.$config.pageSize,
+        pageSize: this.$config.pageSizeMag,
         currentPage: 1
       },
       otherConditionInner: {},
       initSearchFlag:false,  // 是否打开就查询
+      pageSizeOpts:null,
     }
   },
   watch: {
@@ -1079,6 +1083,7 @@ export default {
     iviewSelectChange(val) {
       if (!this.multiple) {
         this.$refs['table-select'].batchKeys = [val]
+
         this.batchKeysPage = [val]
         this.$refs['table-select'].batchRows = this.options.filter(it => {
           return this.model == it[this.selectKey]

+ 3 - 3
src/components/business/select-magnifier/setting.js

@@ -535,8 +535,7 @@ const data = {
     methodsNameDetail: 'getModelMaterialByPage',
     // 查询条件
     searchContent: [
-      {itemCode: 'modelCode'},
-      {itemCode: 'modelName'},
+      {itemCode: 'modelCode',itemName:'modelMaterial'},
     ],
     // 查询条件一行个数
     colCount: 2,
@@ -548,7 +547,8 @@ const data = {
     selectLabel: 'codeName',
     // 列表列
     columns: [
-      {field: 'codeName', width: 'auto', title: $t('modelName')},
+      {field: 'codeName', width: 'auto', title: $t('modelMaterial')},
+      {field: 'levelName', width: 'auto', title: $t('materialModelCategoryCode')},
     ],
   },
   // 产品型号变更-成型线分组

+ 3 - 4
src/components/main/components/user/user.vue

@@ -64,7 +64,7 @@
               <el-image v-if="personalInfo.imagePath" style="cursor:pointer;width:100%;height:100%;object-fit:cover;"
                         fit="cover"
                         :src="personalInfo.imagePathType === 'AL-OSS'?$config.imgUrl+personalInfo.imagePath:personalInfo.imagePath"/>
-              <img v-else style="cursor:pointer;width:100%;height:100%;object-fit:cover;" :src="defaultAvatar"/>
+              <img v-else style="cursor:pointer;width:100%;height:100%;object-fit:cover;" :src="dkLogo"/>
               <div class="avatar-zz"
                    style="width: 100%;height: 100%;position: absolute;background-color: rgba(26,26,26,0.53);top:0;opacity: 0">
                 <input style="display: none;" ref="upload-btn" type="file" accept="image/*" @change="changeFile"/>
@@ -209,12 +209,11 @@ import './user.less'
 import {mapActions, mapMutations} from 'vuex'
 import md5 from 'js-md5'
 import {button as buttonList} from '@/locale/lang/zh-CN'
-import defaultAvatar from '/public/logo.png'
+import dk_logo from '@/assets/images/dongke_logo.png'
 import ImgUpload from '@/components/hegii/ImgUpload'
 import ImageViewer from 'element-ui/packages/image/src/image-viewer';
 import {localRead, localSave} from "@/libs/base/util";
 import {convertToChildrenMain, handleMenu} from "@/libs/tools/user-tools";
-import {formatMenu} from "@/libs/base/router-util";
 
 
 export default {
@@ -237,7 +236,7 @@ export default {
       saveLoading: false,
       pullLoading: false,
       imageViewerFlag: false,
-      defaultAvatar,
+      dkLogo:dk_logo,
       personalFlag: false,
       imagePathType: null, /* WXQY AL-OSS */
       personalInfo: {},

+ 1 - 1
src/components/main/main.vue

@@ -99,7 +99,7 @@ import ErrorStore from './components/error-store'
 import {mapMutations, mapActions, mapGetters} from 'vuex'
 import {getNewTagList, getNextRoute, getPreviousRoute, localSave, routeEqual} from '@/libs/base/util'
 import minLogo from '@/assets/images/logo-min.jpg'
-import maxLogo from '../../../public/logo.png'
+import maxLogo from '@/assets/images/dongke_logo.png'
 import logo from '@/assets/images/dklogo.png'
 import dk_logo from '@/assets/images/dongke_logo.png'
 import mes_logo from '@/assets/images/iboss_mes.png'

+ 3 - 0
src/config/index.js

@@ -74,6 +74,9 @@ export default {
   maxlength: 100, // 文本类可输入的最大长度
   exportMax: 100000,// 导出的最大值
   pageSize: 500, // 一页数量
+  pageSizeOpts:[100, 200, 500, 1000], // 页面选择
+  pageSizeOptsMag:[10,20,50,100],   // 放大镜表格页面选择
+  pageSizeMag:10,// 放大镜一页数量
   maxPageSize: 10000000,// 最大数量
   fontSize: 12, // 字体大小
   maxTagCount: 2, // 下拉显示的默认数量

+ 4 - 0
src/index.less

@@ -595,6 +595,10 @@
   padding: 0px !important;
 }
 
+.multi-class .ivu-modal-body {
+  background: #eaedf7 !important;
+}
+
 .print-preview-model-no-padding .ivu-modal {
   top: 20px;
 }

+ 1 - 1
src/locale/lang/zh-CN.js

@@ -1408,7 +1408,7 @@ export const columns = {
   materialModelId: '物料型号',
   materialModelCode: '物料编码',
   materialModelName: '物料名称',
-  materialModelCategoryCode: '物料类',
+  materialModelCategoryCode: '物料类',
   rdsTypeName: '单据类型',
   rdsCreateTimeIn: '入库时间',
   rdsCreateTimeOut: '出库时间',

+ 3 - 0
src/main.js

@@ -241,6 +241,9 @@ Vue.prototype.$SearchForm = SearchForm.install
 import Position from '_c/base/dk-position'
 Vue.prototype.$Position = Position.install
 
+import DkTableMax from '_c/base/dk-table-max'
+Vue.prototype.$TableMax = DkTableMax.install
+
 import Perspective from '_c/base/dk-perspective'
 Vue.prototype.$Perspective = Perspective.install
 

+ 13 - 9
src/mixins/index.js

@@ -189,7 +189,7 @@ export const indexMixin = {
                 chooseRows = null
               }
               // 执行方法
-              this[routeUrl.method](chooseRows,routeUrl);
+              this[routeUrl.method](chooseRows, routeUrl);
             }
           }
         })
@@ -215,8 +215,8 @@ export const indexMixin = {
      * @author : 周兴
      * @date   : 2023/9/8 8:47
      */
-    log(rows){
-      if(rows && rows.length > 0 && rows[0][this.primaryKey]){
+    log(rows) {
+      if (rows && rows.length > 0 && rows[0][this.primaryKey]) {
         this.$router.push('/apm/operation-log/index?objectCode=' + this.routeObjName + '&dataId=' + rows[0][this.primaryKey])
       }
     },
@@ -819,16 +819,18 @@ export const indexMixin = {
      * @date   : 2023/3/27 11:32
      */
     handleLink(e) {
+      console.log('t2', e)
       if (!e) return;
       if (e.url) {
         // 跳转到链接
         this.$router.push(e.url)
       } else {
         if (e.button) {
+          console.log('t3', e.child, e.button)
           // 有子级
-          if(e.child && this.$refs[e.button].$refs['child_' + e.child]){
+          if (e.child && this.$refs[e.button].$refs['child_' + e.child]) {
             this.$refs[e.button].$refs['child_' + e.child][0].click()
-          }else{
+          } else {
             // 如果没有设置url跳转到本页的编辑页面
             this.$refs[e.button].$el.click()
           }
@@ -857,8 +859,8 @@ export const indexMixin = {
                 columns.forEach(it => {
                   let filterRows = fullColumns.filter(item => item.field === it.field);
                   if (filterRows && filterRows.length > 0) {
-                    this.$set(filterRows[0],'visible',it.visible)
-                    this.$set(filterRows[0],'defaultVisible',it.visible)
+                    this.$set(filterRows[0], 'visible', it.visible)
+                    this.$set(filterRows[0], 'defaultVisible', it.visible)
                     finalColumns.push(filterRows[0])
                   }
                 })
@@ -1014,7 +1016,7 @@ export const indexMixin = {
                 }
                 // 记录按钮,用于销毁
                 // 如果没有子级才会加进去
-                if(_this.$refs[it].$vnode.componentInstance && !_this.$refs[it].$vnode.componentInstance.childOptions){
+                if (_this.$refs[it].$vnode.componentInstance && !_this.$refs[it].$vnode.componentInstance.childOptions) {
                   _this._buttonList.push({button: _this.$refs[it].$vnode.componentInstance, obj: obj});
                 }
                 // _this.$refs[it].$vnode.componentInstance.$el.addEventListener('click', _this.buttonClick, false);
@@ -1023,7 +1025,9 @@ export const indexMixin = {
                 listener.set(ele, function (e) {
                   if (!_this.$refs[it].$vnode.componentInstance.disabledFlag &&
                     (!_this.$refs[it].$vnode.componentInstance.childOptions || _this.$refs[it].$vnode.componentInstance.childOptions.length === 0)) {
-                    _this.$refs[it].$vnode.componentInstance.disabledFlag = true;
+                    if (it != 'clear') {
+                      _this.$refs[it].$vnode.componentInstance.disabledFlag = true;
+                    }
                     _this.open(obj, _this.tableRef, _this.$refs[it].$vnode.componentInstance.isMustChooseFlag)
                     setTimeout(() => {
                       if (_this.$refs[it]) {

+ 1 - 1
src/store/module/user.js

@@ -9,7 +9,7 @@ import {
   getUnreadCount
 } from '@/api/system/user/login'
 import {setToken, getToken, setTagNavListInLocalstorage} from '@/libs/base/util'
-import maxLogo from '../../../public/logo.png'
+import maxLogo from '@/assets/images/dongke_logo.png'
 import mainService from '@/api/main'
 import store from '@/store'
 import config from '@/config'

+ 1 - 1
src/view/core/factory/index.vue

@@ -34,7 +34,7 @@
                :choose-flag="false"
                @pageChange="pageSizeChange">
         <DkTableColumn field="ftyCode" type="link" @on-link="handleLink(Object.assign($event,{button:'edit'}))"></DkTableColumn>
-        <DkTableColumn field="ftyName"></DkTableColumn>
+        <DkTableColumn field="ftyName" ></DkTableColumn>
         <DkTableColumn field="ftyDocNo"></DkTableColumn>
         <DkTableColumn field="displayNo"></DkTableColumn>
         <DkTableColumn field="flgValid" type="switch" @on-switch-change="onSwitchChange"

+ 1 - 1
src/view/core/post/index.vue

@@ -36,7 +36,7 @@
                :height="this.tableHeight" primaryKey="postId"
                @pageChange="pageSizeChange"
       >
-        <DkTableColumn field="postName" type="link" @on-link="handleLink(Object.assign($event,{button:'edit'}))"></DkTableColumn>
+        <DkTableColumn field="postName" type="link" @on-link="handleLink(Object.assign($event,{button:'edit'}))" :linkObj="{button:'edit'}"></DkTableColumn>
         <DkTableColumn field="displayNo"></DkTableColumn>
         <DkTableColumn field="flgValid" type="switch" @on-switch-change="onSwitchChange"
                        :switch-disabled="false"></DkTableColumn>

+ 1 - 0
src/view/core/user/form.vue

@@ -31,6 +31,7 @@
             <SelectMagnifier v-model="formData.orgId" :display-text="formData.levelName" :disabled="type === 'edit-staff'"
                              :type="this.$config.MagnifierType.organization"
                              :multiple="false"
+                             title="业务部门"
                              @ok="chooseOrg"></SelectMagnifier>
           </DkFormItem>
 

+ 1 - 0
src/view/mst/model/index.vue

@@ -193,6 +193,7 @@
                     :data-type="$config.dataType.array" :label="$t('pdtModelId')">
           <MultiSelect v-model="formData.outputList"
                        main-field="ownerFlag"
+                       :page-flag="false"
                        :default-value="formData.outputListName"
                        @ok="getPdtModel"
                        :type="this.$config.MagnifierType.product"