Forráskód Böngészése

feat(资产管理): 为各资产列表添加批量设置功能和keep-alive缓存支持

yusheng 7 hónapja
szülő
commit
77ad39809b

+ 4 - 1
src/config/setting.js

@@ -24,7 +24,10 @@ export const WHITE_LIST = ['/login', '/forget'];
 export const KEEP_ALIVE_EXCLUDES = [];
 // 开启 KeepAlive 后需要缓存的路由地址
 export const KEEP_ALIVE_INCLUDE = [
- 'equipmentIndex'
+  'equipmentIndex',
+  'boatIndex',
+  'meterIndex',
+  'mouldIndex'
 ];
 // 直接指定菜单数据
 export const USER_MENUS = undefined;

+ 63 - 3
src/views/ledgerAssets/boat/components/boat-list.vue

@@ -48,6 +48,36 @@
         >
           打印条码
         </el-button>
+        <el-button
+          size="small"
+          :disabled="checkRadioData.length == 0"
+          icon="el-icon-thumb"
+          class="ele-btn-icon"
+          @click="moveTo(checkRadioData, 'person')"
+          v-if="$hasPermission('main:substance:update')"
+        >
+          设置片区负责人
+        </el-button>
+        <el-button
+          size="small"
+          :disabled="checkRadioData.length == 0"
+          icon="el-icon-s-tools"
+          class="ele-btn-icon"
+          @click="batchSettings(1)"
+          v-if="$hasPermission('main:substance:update')"
+        >
+          设置权属部门
+        </el-button>
+        <el-button
+          size="small"
+          :disabled="checkRadioData.length == 0"
+          icon="el-icon-setting"
+          class="ele-btn-icon"
+          @click="batchSettings(2)"
+          v-if="$hasPermission('main:substance:update')"
+        >
+          设置使用单位
+        </el-button>
       </template>
       <!-- 编码列 -->
       <template v-slot:code="{ row }">
@@ -69,6 +99,8 @@
     <print ref="printRef"></print>
     <printSr ref="printSrRef"></printSr>
     <printTg ref="printTgRef"></printTg>
+    <batchSetDialog ref="batchSetRef" @success="sucesstion" />
+    <DialogMoveto ref="movetoRef" @success="sucesstion" />
   </div>
 </template>
 
@@ -76,6 +108,8 @@
   import print from '@/views/ledgerAssets/components/print.vue';
   import printSr from '@/views/ledgerAssets/components/printSr';
   import printTg from '@/views/ledgerAssets/components/printTg';
+  import batchSetDialog from '@/views/ledgerAssets/equipment/components/batchSetDialog.vue';
+  import DialogMoveto from '@/views/ledgerAssets/equipment/components/DialogMoveTo.vue';
   import { getByCode } from '@/api/system/dictionary-data';
   import {
     businessStatus,
@@ -100,7 +134,14 @@
   import { getToken, setToken } from '@/utils/token-util';
   export default {
     mixins: [dictMixins],
-    components: { BoatSearch, print, printSr, printTg },
+    components: {
+      BoatSearch,
+      print,
+      printSr,
+      printTg,
+      DialogMoveto,
+      batchSetDialog
+    },
     props: {
       // 类别id
       categoryId: [Number, String],
@@ -141,7 +182,7 @@
             minWidth: 200
           },
           {
-            prop: 'name',
+            prop: 'category.name',
             label: '名称',
             showOverflowTooltip: true,
             minWidth: 110
@@ -292,6 +333,25 @@
       this.getAssetLevelOptions();
     },
     methods: {
+      // 刷新回调
+      sucesstion(is) {
+        console.log(is);
+        if (is) {
+          this.reload();
+        }
+        this.checkRadioData = [];
+      },
+      // 移动到
+      moveTo(arr, type) {
+        this.$refs.movetoRef.open(arr, this.current, type);
+      },
+      batchSettings(type) {
+        let ids = this.checkRadioData.map((item) => {
+          return item.id;
+        });
+        this.$refs.batchSetRef.open(type, ids);
+        console.log(this.checkRadioData, 'checkRadioData 123');
+      },
       allPrinting() {
         if (this.clientEnvironmentId == 2) {
           this.$refs.printSrRef.open(this.checkRadioData);
@@ -396,7 +456,7 @@
             this.$message.success('操作成功');
           })
           .catch((err) => {
-             this.loading = false;
+            this.loading = false;
           });
       }
     },

+ 11 - 3
src/views/ledgerAssets/boat/index.vue

@@ -33,11 +33,12 @@
   import BoatList from './components/boat-list.vue';
   import { getBoatList } from '@/api/ledgerAssets';
   export default {
+    name: 'boatIndex',
     components: {
       AssetTree,
       BoatList
     },
-    data () {
+    data() {
       return {
         // 加载状态
         loading: false,
@@ -48,12 +49,19 @@
       };
     },
     computed: {},
+    activated() {
+      this.$nextTick(() => {
+        if (this.current.id) {
+          this.$refs.listRef.sucesstion(true);
+        }
+      });
+    },
     methods: {
-      handleNodeClick (info) {
+      handleNodeClick(info) {
         this.current = info;
       },
       // 获取根节点id
-      setRootId (id) {
+      setRootId(id) {
         this.rootId = id;
       }
     }

+ 21 - 19
src/views/ledgerAssets/equipment/components/equipment-list.vue

@@ -88,14 +88,14 @@
           v-if="$hasPermission('main:substance:delete')"
           >批量删除</el-button
         >
-        
-            <el-button
-              type="primary"
-              size="small"
-              icon="el-icon-upload2"
-              @click="uploadFile"
-              >导入</el-button
-            >
+
+        <el-button
+          type="primary"
+          size="small"
+          icon="el-icon-upload2"
+          @click="uploadFile"
+          >导入</el-button
+        >
         <!-- <el-button
           size="small"
           @click="moveTo(checkRadioData, 'move')"
@@ -136,12 +136,13 @@
         <el-link type="primary" @click="handelBOM(row)">BOM</el-link>
       </template>
     </ele-pro-table>
-    <DialogMoveto ref="movetoRef" @success="sucesstion" />
+
     <print ref="printRef"></print>
     <printSr ref="printSrRef"></printSr>
     <printTg ref="printTgRef"></printTg>
     <BomDetailsPop ref="bomDrawer"></BomDetailsPop>
     <batchSetDialog ref="batchSetRef" @success="sucesstion" />
+    <DialogMoveto ref="movetoRef" @success="sucesstion" />
     <importDialog
       ref="importDialogRef"
       @success="reload"
@@ -149,18 +150,20 @@
       :isWeb="false"
       fileName="设备台账导入模板"
       apiUrl="/main/asset/importFile"
-  :rootCategoryLevelId="rootId" 
+      :rootCategoryLevelId="rootId"
     />
   </div>
 </template>
 
 <script>
   import batchSetDialog from './batchSetDialog.vue';
+  import DialogMoveto from './DialogMoveTo.vue';
+
   import print from '@/views/ledgerAssets/components/print.vue';
   import printSr from '@/views/ledgerAssets/components/printSr';
   import printTg from '@/views/ledgerAssets/components/printTg';
   import { getByCode } from '@/api/system/dictionary-data';
-import importDialog from '@/components/upload/import-dialog.vue';
+  import importDialog from '@/components/upload/import-dialog.vue';
   import {
     businessStatus,
     networkStatus,
@@ -168,7 +171,6 @@ import importDialog from '@/components/upload/import-dialog.vue';
   } from '@/utils/dict/warehouse';
 
   import EquipmentSearch from './equipment-search.vue';
-  import DialogMoveto from './DialogMoveTo.vue';
 
   import {
     getAssetList,
@@ -191,12 +193,12 @@ import importDialog from '@/components/upload/import-dialog.vue';
   export default {
     components: {
       EquipmentSearch,
-      DialogMoveto,
       print,
       printSr,
       printTg,
       BomDetailsPop,
-    importDialog,
+      importDialog,
+      DialogMoveto,
       batchSetDialog
     },
     mixins: [dictMixins],
@@ -249,7 +251,7 @@ import importDialog from '@/components/upload/import-dialog.vue';
           //   slot: 'code'
           // },
           {
-            prop: 'name',
+            prop: 'category.name',
             label: '名称',
             showOverflowTooltip: true,
             minWidth: 110
@@ -421,10 +423,10 @@ import importDialog from '@/components/upload/import-dialog.vue';
       this.getAssetLevelOptions();
     },
     methods: {
-    //导入
-    uploadFile() {
-      this.$refs.importDialogRef.open();
-    },
+      //导入
+      uploadFile() {
+        this.$refs.importDialogRef.open();
+      },
       allPrinting() {
         console.log('this.clientEnvironmentId-------------');
         console.log(this.clientEnvironmentId);

+ 57 - 11
src/views/ledgerAssets/material/components/material-list.vue

@@ -29,12 +29,33 @@
         </el-button>
         <!-- <el-button
           size="small"
-          type="primary"
-          icon="el-icon-download"
+          :disabled="checkRadioData.length == 0"
+          icon="el-icon-thumb"
+          class="ele-btn-icon"
+          @click="moveTo(checkRadioData, 'person')"
+          v-if="$hasPermission('main:substance:update')"
+        >
+          设置片区负责人
+        </el-button>
+        <el-button
+          size="small"
+          :disabled="checkRadioData.length == 0"
+          icon="el-icon-s-tools"
           class="ele-btn-icon"
-          @click="btnExport"
+          @click="batchSettings(1)"
+          v-if="$hasPermission('main:substance:update')"
         >
-          导出
+          设置权属部门
+        </el-button>
+        <el-button
+          size="small"
+          :disabled="checkRadioData.length == 0"
+          icon="el-icon-setting"
+          class="ele-btn-icon"
+          @click="batchSettings(2)"
+          v-if="$hasPermission('main:substance:update')"
+        >
+          设置使用单位
         </el-button> -->
       </template>
       <!-- 编码列 -->
@@ -55,21 +76,28 @@
         </el-link>
       </template>
     </ele-pro-table>
+    <batchSetDialog ref="batchSetRef" @success="sucesstion" />
+    <DialogMoveto ref="movetoRef" @success="sucesstion" />
   </div>
 </template>
 
 <script>
   import { getByCode } from '@/api/system/dictionary-data';
-  import { businessStatus, networkStatus ,sourceStatus} from '@/utils/dict/warehouse';
+  import {
+    businessStatus,
+    networkStatus,
+    sourceStatus
+  } from '@/utils/dict/warehouse';
   import MaterialSearch from './material-search.vue';
   import {
     getBoatList,
     downloadCategory,
     getAssetList
   } from '@/api/ledgerAssets';
-
+  import batchSetDialog from '@/views/ledgerAssets/equipment/components/batchSetDialog.vue';
+  import DialogMoveto from '@/views/ledgerAssets/equipment/components/DialogMoveTo.vue';
   export default {
-    components: { MaterialSearch },
+    components: { MaterialSearch, DialogMoveto, batchSetDialog },
     props: {
       // 类别id
       categoryId: [Number, String],
@@ -115,7 +143,7 @@
           //   slot: 'code'
           // },
           {
-            prop: 'name',
+            prop: 'category.name',
             label: '名称',
             showOverflowTooltip: true,
             minWidth: 110
@@ -180,9 +208,8 @@
             label: '生命周期',
             showOverflowTooltip: true,
             minWidth: 110,
-            formatter:(_row)=>{
-              return sourceStatus[_row.lifeCycle]
-
+            formatter: (_row) => {
+              return sourceStatus[_row.lifeCycle];
             }
           },
           {
@@ -263,6 +290,25 @@
       this.getAssetLevelOptions();
     },
     methods: {
+      // 刷新回调
+      sucesstion(is) {
+        console.log(is);
+        if (is) {
+          this.reload();
+        }
+        this.checkRadioData = [];
+      },
+      // 移动到
+      moveTo(arr, type) {
+        this.$refs.movetoRef.open(arr, this.current, type);
+      },
+      batchSettings(type) {
+        let ids = this.checkRadioData.map((item) => {
+          return item.id;
+        });
+        this.$refs.batchSetRef.open(type, ids);
+        console.log(this.checkRadioData, 'checkRadioData 123');
+      },
       // 获取资产级别下拉
       async getAssetLevelOptions() {
         let { data } = await getByCode('asset_level');

+ 40 - 10
src/views/ledgerAssets/meter/components/equipment-list.vue

@@ -45,25 +45,36 @@
         >
           打印条码
         </el-button>
-        <!-- <el-button
+        <el-button
           size="small"
           :disabled="checkRadioData.length == 0"
           icon="el-icon-thumb"
           class="ele-btn-icon"
           @click="moveTo(checkRadioData, 'person')"
+          v-if="$hasPermission('main:substance:update')"
         >
           设置片区负责人
         </el-button>
-        <el-button size="small" class="ele-btn-icon" @click="handlDelete"
-          >删除</el-button
+        <el-button
+          size="small"
+          :disabled="checkRadioData.length == 0"
+          icon="el-icon-s-tools"
+          class="ele-btn-icon"
+          @click="batchSettings(1)"
+          v-if="$hasPermission('main:substance:update')"
         >
+          设置权属部门
+        </el-button>
         <el-button
           size="small"
-          @click="moveTo(checkRadioData, 'move')"
           :disabled="checkRadioData.length == 0"
+          icon="el-icon-setting"
           class="ele-btn-icon"
-          >移动到</el-button
-        > -->
+          @click="batchSettings(2)"
+          v-if="$hasPermission('main:substance:update')"
+        >
+          设置使用单位
+        </el-button>
       </template>
       <!-- 编码列 -->
       <template v-slot:code="{ row }">
@@ -83,14 +94,18 @@
         </el-link>
       </template>
     </ele-pro-table>
-    <DialogMoveto ref="movetoRef" @success="sucesstion" />
+
     <print ref="printRef"></print>
     <printSr ref="printSrRef"></printSr>
     <printTg ref="printTgRef"></printTg>
+    <batchSetDialog ref="batchSetRef" @success="sucesstion" />
+    <DialogMoveto ref="movetoRef" @success="sucesstion" />
   </div>
 </template>
 
 <script>
+  import batchSetDialog from '@/views/ledgerAssets/equipment/components/batchSetDialog.vue';
+  import DialogMoveto from '@/views/ledgerAssets/equipment/components/DialogMoveTo.vue';
   import print from '@/views/ledgerAssets/components/print.vue';
   import printSr from '@/views/ledgerAssets/components/printSr';
   import printTg from '@/views/ledgerAssets/components/printTg';
@@ -101,7 +116,6 @@
     sourceStatus
   } from '@/utils/dict/warehouse';
   import EquipmentSearch from './equipment-search.vue';
-  import DialogMoveto from './DialogMoveTo.vue';
   import {
     getAssetList,
     downloadAsset,
@@ -119,7 +133,15 @@
   import { getToken, setToken } from '@/utils/token-util';
 
   export default {
-    components: { EquipmentSearch, DialogMoveto, print, printSr, printTg },
+    components: {
+      EquipmentSearch,
+      DialogMoveto,
+      print,
+      printSr,
+      printTg,
+      DialogMoveto,
+      batchSetDialog
+    },
     mixins: [dictMixins],
     props: {
       // 类别id
@@ -172,7 +194,7 @@
           //   slot: 'code'
           // },
           {
-            prop: 'name',
+            prop: 'category.name',
             label: '名称',
             showOverflowTooltip: true,
             minWidth: 110
@@ -365,6 +387,7 @@
       },
       // 刷新回调
       sucesstion(is) {
+        console.log(is);
         if (is) {
           this.reload();
         }
@@ -374,6 +397,13 @@
       moveTo(arr, type) {
         this.$refs.movetoRef.open(arr, this.current, type);
       },
+      batchSettings(type) {
+        let ids = this.checkRadioData.map((item) => {
+          return item.id;
+        });
+        this.$refs.batchSetRef.open(type, ids);
+        console.log(this.checkRadioData, 'checkRadioData 123');
+      },
       // 全选
       changeSelectAll(arr) {
         console.log(arr);

+ 9 - 0
src/views/ledgerAssets/meter/index.vue

@@ -34,6 +34,8 @@
   import AssetTree from '@/components/AssetTree';
   import EquipmentList from './components/equipment-list.vue';
   export default {
+    name: 'meterIndex',
+
     components: {
       AssetTree,
       EquipmentList
@@ -49,6 +51,13 @@
       };
     },
     computed: {},
+    activated() {
+      this.$nextTick(() => {
+        if (this.current.id) {
+          this.$refs.listRef.sucesstion(true);
+        }
+      });
+    },
     methods: {
       handleNodeClick(info) {
         console.log(info);

+ 63 - 2
src/views/ledgerAssets/mould/components/mould-list.vue

@@ -46,6 +46,36 @@
         >
           打印条码
         </el-button>
+        <el-button
+          size="small"
+          :disabled="checkRadioData.length == 0"
+          icon="el-icon-thumb"
+          class="ele-btn-icon"
+          @click="moveTo(checkRadioData, 'person')"
+          v-if="$hasPermission('main:substance:update')"
+        >
+          设置片区负责人
+        </el-button>
+        <el-button
+          size="small"
+          :disabled="checkRadioData.length == 0"
+          icon="el-icon-s-tools"
+          class="ele-btn-icon"
+          @click="batchSettings(1)"
+          v-if="$hasPermission('main:substance:update')"
+        >
+          设置权属部门
+        </el-button>
+        <el-button
+          size="small"
+          :disabled="checkRadioData.length == 0"
+          icon="el-icon-setting"
+          class="ele-btn-icon"
+          @click="batchSettings(2)"
+          v-if="$hasPermission('main:substance:update')"
+        >
+          设置使用单位
+        </el-button>
       </template>
 
       <!-- 编码列 -->
@@ -90,10 +120,14 @@
     <printSr ref="printSrRef"></printSr>
     <printTg ref="printTgRef"></printTg>
     <BomDetailsPop ref="bomDrawer"></BomDetailsPop>
+    <batchSetDialog ref="batchSetRef" @success="sucesstion" />
+    <DialogMoveto ref="movetoRef" @success="sucesstion" />
   </div>
 </template>
 
 <script>
+  import batchSetDialog from '@/views/ledgerAssets/equipment/components/batchSetDialog.vue';
+  import DialogMoveto from '@/views/ledgerAssets/equipment/components/DialogMoveTo.vue';
   import print from '@/views/ledgerAssets/components/print.vue';
   import printSr from '@/views/ledgerAssets/components/printSr';
   import printTg from '@/views/ledgerAssets/components/printTg';
@@ -118,7 +152,15 @@
   import BomDetailsPop from '@/views/ledgerAssets/equipment/detailsPop.vue';
 
   export default {
-    components: { MouldSearch, print, printSr, printTg, BomDetailsPop },
+    components: {
+      MouldSearch,
+      print,
+      printSr,
+      printTg,
+      BomDetailsPop,
+      DialogMoveto,
+      batchSetDialog
+    },
     mixins: [dictMixins],
     props: {
       // 类别id
@@ -159,7 +201,7 @@
             minWidth: 180
           },
           {
-            prop: 'name',
+             prop: 'category.name',
             label: '名称',
             showOverflowTooltip: true,
             minWidth: 110
@@ -317,6 +359,25 @@
       this.getAssetLevelOptions();
     },
     methods: {
+      // 刷新回调
+      sucesstion(is) {
+        console.log(is);
+        if (is) {
+          this.reload();
+        }
+        this.checkRadioData = [];
+      },
+      // 移动到
+      moveTo(arr, type) {
+        this.$refs.movetoRef.open(arr, this.current, type);
+      },
+      batchSettings(type) {
+        let ids = this.checkRadioData.map((item) => {
+          return item.id;
+        });
+        this.$refs.batchSetRef.open(type, ids);
+        console.log(this.checkRadioData, 'checkRadioData 123');
+      },
       allPrinting() {
         if (this.clientEnvironmentId == 2) {
           this.$refs.printSrRef.open(this.checkRadioData);

+ 8 - 0
src/views/ledgerAssets/mould/index.vue

@@ -33,6 +33,7 @@
   import MouldList from './components/mould-list.vue';
 
   export default {
+    name: 'mouldIndex',
     components: {
       AssetTree,
       MouldList
@@ -48,6 +49,13 @@
       };
     },
     computed: {},
+    activated() {
+      this.$nextTick(() => {
+        if (this.current.id) {
+          this.$refs.listRef.sucesstion(true);
+        }
+      });
+    },
     methods: {
       handleNodeClick(info) {
         this.current = info;

+ 71 - 3
src/views/ledgerAssets/office/components/data-list.vue

@@ -47,6 +47,36 @@
         >
           打印条码
         </el-button>
+        <el-button
+          size="small"
+          :disabled="checkRadioData.length == 0"
+          icon="el-icon-thumb"
+          class="ele-btn-icon"
+          @click="moveTo(checkRadioData, 'person')"
+          v-if="$hasPermission('main:substance:update')"
+        >
+          设置片区负责人
+        </el-button>
+        <el-button
+          size="small"
+          :disabled="checkRadioData.length == 0"
+          icon="el-icon-s-tools"
+          class="ele-btn-icon"
+          @click="batchSettings(1)"
+          v-if="$hasPermission('main:substance:update')"
+        >
+          设置权属部门
+        </el-button>
+        <el-button
+          size="small"
+          :disabled="checkRadioData.length == 0"
+          icon="el-icon-setting"
+          class="ele-btn-icon"
+          @click="batchSettings(2)"
+          v-if="$hasPermission('main:substance:update')"
+        >
+          设置使用单位
+        </el-button>
       </template>
 
       <!-- 编码列 -->
@@ -88,10 +118,14 @@
     <print ref="printRef"></print>
     <printSr ref="printSrRef"></printSr>
     <printTg ref="printTgRef"></printTg>
+    <batchSetDialog ref="batchSetRef" @success="sucesstion" />
+    <DialogMoveto ref="movetoRef" @success="sucesstion" />
   </div>
 </template>
 
 <script>
+  import batchSetDialog from '@/views/ledgerAssets/equipment/components/batchSetDialog.vue';
+  import DialogMoveto from '@/views/ledgerAssets/equipment/components/DialogMoveTo.vue';
   import print from '@/views/ledgerAssets/components/print.vue';
   import printSr from '@/views/ledgerAssets/components/printSr';
   import printTg from '@/views/ledgerAssets/components/printTg';
@@ -113,7 +147,14 @@
   import { download } from '@/utils/file';
   import { getToken, setToken } from '@/utils/token-util';
   export default {
-    components: { UserSearch, print, printSr, printTg },
+    components: {
+      UserSearch,
+      print,
+      printSr,
+      printTg,
+      DialogMoveto,
+      batchSetDialog
+    },
     mixins: [dictMixins],
     props: {
       // 类别id
@@ -163,7 +204,7 @@
           //   slot: 'code'
           // },
           {
-            prop: 'name',
+            prop: 'category.name',
             label: '名称',
             showOverflowTooltip: true,
             minWidth: 110
@@ -374,7 +415,34 @@
       reload(where) {
         this.$refs.table.reload({ pageNum: 1, where: where });
       },
-
+      // 刷新回调
+      sucesstion(is) {
+        console.log(is);
+        if (is) {
+          this.reload();
+        }
+        this.checkRadioData = [];
+      },
+      // 移动到
+      moveTo(arr, type) {
+        this.$refs.movetoRef.open(arr, this.current, type);
+      },
+      batchSettings(type) {
+        let ids = this.checkRadioData.map((item) => {
+          return item.id;
+        });
+        this.$refs.batchSetRef.open(type, ids);
+        console.log(this.checkRadioData, 'checkRadioData 123');
+      },
+      allPrinting() {
+        if (this.clientEnvironmentId == 2) {
+          this.$refs.printSrRef.open(this.checkRadioData);
+        } else if (this.clientEnvironmentId == 3) {
+          this.$refs.printTgRef.open(this.checkRadioData);
+        } else {
+          this.$refs.printRef.open(this.checkRadioData);
+        }
+      },
       // 跳转到详情页
       details({ id, code }) {
         this.$router.push({

+ 59 - 23
src/views/ledgerAssets/sparepart/components/sparepart-list.vue

@@ -38,30 +38,36 @@
         >
           打印条码
         </el-button>
-        <!-- <el-button
+        <el-button
           size="small"
-          type="primary"
-          icon="el-icon-download"
+          :disabled="checkRadioData.length == 0"
+          icon="el-icon-thumb"
+          class="ele-btn-icon"
+          @click="moveTo(checkRadioData, 'person')"
+          v-if="$hasPermission('main:substance:update')"
+        >
+          设置片区负责人
+        </el-button>
+        <el-button
+          size="small"
+          :disabled="checkRadioData.length == 0"
+          icon="el-icon-s-tools"
+          class="ele-btn-icon"
+          @click="batchSettings(1)"
+          v-if="$hasPermission('main:substance:update')"
+        >
+          设置权属部门
+        </el-button>
+        <el-button
+          size="small"
+          :disabled="checkRadioData.length == 0"
+          icon="el-icon-setting"
           class="ele-btn-icon"
-          @click="btnExport"
+          @click="batchSettings(2)"
+          v-if="$hasPermission('main:substance:update')"
         >
-          导出
-        </el-button> -->
-        <!-- <div class="upload">
-          <el-upload
-            :show-file-list="false"
-            class="upload-demo"
-            action="#"
-            :before-upload="beforeUpload"
-            :on-success="suuccessUpload"
-          >
-            <slot>
-              <el-button size="small" type="primary" :loading="isLoading"
-                >导入</el-button
-              >
-            </slot>
-          </el-upload>
-        </div> -->
+          设置使用单位
+        </el-button>
       </template>
 
       <!-- 编码列 -->
@@ -103,10 +109,14 @@
     <print ref="printRef"></print>
     <printSr ref="printSrRef"></printSr>
     <printTg ref="printTgRef"></printTg>
+    <batchSetDialog ref="batchSetRef" @success="sucesstion" />
+    <DialogMoveto ref="movetoRef" @success="sucesstion" />
   </div>
 </template>
 
 <script>
+  import batchSetDialog from '@/views/ledgerAssets/equipment/components/batchSetDialog.vue';
+  import DialogMoveto from '@/views/ledgerAssets/equipment/components/DialogMoveTo.vue';
   import print from '@/views/ledgerAssets/components/print.vue';
   import printSr from '@/views/ledgerAssets/components/printSr';
   import printTg from '@/views/ledgerAssets/components/printTg';
@@ -129,7 +139,14 @@
   import { getToken, setToken } from '@/utils/token-util';
 
   export default {
-    components: { SparepartSearch, print, printSr, printTg },
+    components: {
+      SparepartSearch,
+      print,
+      printSr,
+      printTg,
+      DialogMoveto,
+      batchSetDialog
+    },
     mixins: [dictMixins],
     props: {
       // 类别id
@@ -180,7 +197,7 @@
           //   slot: 'code'
           // },
           {
-            prop: 'name',
+            prop: 'category.name',
             label: '名称',
             showOverflowTooltip: true,
             minWidth: 110
@@ -320,6 +337,25 @@
       this.getAssetLevelOptions();
     },
     methods: {
+      // 刷新回调
+      sucesstion(is) {
+        console.log(is);
+        if (is) {
+          this.reload();
+        }
+        this.checkRadioData = [];
+      },
+      // 移动到
+      moveTo(arr, type) {
+        this.$refs.movetoRef.open(arr, this.current, type);
+      },
+      batchSettings(type) {
+        let ids = this.checkRadioData.map((item) => {
+          return item.id;
+        });
+        this.$refs.batchSetRef.open(type, ids);
+        console.log(this.checkRadioData, 'checkRadioData 123');
+      },
       allPrinting() {
         if (this.clientEnvironmentId == 2) {
           this.$refs.printSrRef.open(this.checkRadioData);

+ 62 - 2
src/views/ledgerAssets/turnoverCar/components/turnovercar-list.vue

@@ -47,6 +47,36 @@
         >
           打印条码
         </el-button>
+        <el-button
+          size="small"
+          :disabled="checkRadioData.length == 0"
+          icon="el-icon-thumb"
+          class="ele-btn-icon"
+          @click="moveTo(checkRadioData, 'person')"
+          v-if="$hasPermission('main:substance:update')"
+        >
+          设置片区负责人
+        </el-button>
+        <el-button
+          size="small"
+          :disabled="checkRadioData.length == 0"
+          icon="el-icon-s-tools"
+          class="ele-btn-icon"
+          @click="batchSettings(1)"
+          v-if="$hasPermission('main:substance:update')"
+        >
+          设置权属部门
+        </el-button>
+        <el-button
+          size="small"
+          :disabled="checkRadioData.length == 0"
+          icon="el-icon-setting"
+          class="ele-btn-icon"
+          @click="batchSettings(2)"
+          v-if="$hasPermission('main:substance:update')"
+        >
+          设置使用单位
+        </el-button>
       </template>
 
       <!-- 编码列 -->
@@ -76,10 +106,14 @@
     <print ref="printRef"></print>
     <printSr ref="printSrRef"></printSr>
     <printTg ref="printTgRef"></printTg>
+    <batchSetDialog ref="batchSetRef" @success="sucesstion" />
+    <DialogMoveto ref="movetoRef" @success="sucesstion" />
   </div>
 </template>
 
 <script>
+  import batchSetDialog from '@/views/ledgerAssets/equipment/components/batchSetDialog.vue';
+  import DialogMoveto from '@/views/ledgerAssets/equipment/components/DialogMoveTo.vue';
   import print from '@/views/ledgerAssets/components/print.vue';
   import printSr from '@/views/ledgerAssets/components/printSr';
   import printTg from '@/views/ledgerAssets/components/printTg';
@@ -103,7 +137,14 @@
   import { getToken, setToken } from '@/utils/token-util';
 
   export default {
-    components: { TurnovercarSearch, print, printSr, printTg },
+    components: {
+      TurnovercarSearch,
+      print,
+      printSr,
+      printTg,
+      DialogMoveto,
+      batchSetDialog
+    },
     mixins: [dictMixins],
     props: {
       // 类别id
@@ -145,7 +186,7 @@
             minWidth: 180
           },
           {
-            prop: 'name',
+            prop: 'category.name',
             label: '名称',
             showOverflowTooltip: true,
             minWidth: 110
@@ -296,6 +337,25 @@
       this.getAssetLevelOptions();
     },
     methods: {
+      // 刷新回调
+      sucesstion(is) {
+        console.log(is);
+        if (is) {
+          this.reload();
+        }
+        this.checkRadioData = [];
+      },
+      // 移动到
+      moveTo(arr, type) {
+        this.$refs.movetoRef.open(arr, this.current, type);
+      },
+      batchSettings(type) {
+        let ids = this.checkRadioData.map((item) => {
+          return item.id;
+        });
+        this.$refs.batchSetRef.open(type, ids);
+        console.log(this.checkRadioData, 'checkRadioData 123');
+      },
       allPrinting() {
         if (this.clientEnvironmentId == 2) {
           this.$refs.printSrRef.open(this.checkRadioData);

+ 51 - 21
src/views/ledgerAssets/turnoverDisks/components/equipment-list.vue

@@ -46,25 +46,36 @@
         >
           打印条码
         </el-button>
-        <!-- <el-button
+        <el-button
           size="small"
           :disabled="checkRadioData.length == 0"
           icon="el-icon-thumb"
           class="ele-btn-icon"
           @click="moveTo(checkRadioData, 'person')"
+          v-if="$hasPermission('main:substance:update')"
         >
           设置片区负责人
         </el-button>
-        <el-button size="small" class="ele-btn-icon" @click="handlDelete"
-          >删除</el-button
+        <el-button
+          size="small"
+          :disabled="checkRadioData.length == 0"
+          icon="el-icon-s-tools"
+          class="ele-btn-icon"
+          @click="batchSettings(1)"
+          v-if="$hasPermission('main:substance:update')"
         >
+          设置权属部门
+        </el-button>
         <el-button
           size="small"
-          @click="moveTo(checkRadioData, 'move')"
           :disabled="checkRadioData.length == 0"
+          icon="el-icon-setting"
           class="ele-btn-icon"
-          >移动到</el-button
-        > -->
+          @click="batchSettings(2)"
+          v-if="$hasPermission('main:substance:update')"
+        >
+          设置使用单位
+        </el-button>
       </template>
       <!-- 编码列 -->
       <template v-slot:code="{ row }">
@@ -84,21 +95,24 @@
         </el-link>
       </template>
     </ele-pro-table>
-    <DialogMoveto ref="movetoRef" @success="sucesstion" />
     <print ref="printRef"></print>
     <printSr ref="printSrRef"></printSr>
     <printTg ref="printTgRef"></printTg>
+    <batchSetDialog ref="batchSetRef" @success="sucesstion" />
+    <DialogMoveto ref="movetoRef" @success="sucesstion" />
   </div>
 </template>
 
 <script>
+  import batchSetDialog from '@/views/ledgerAssets/equipment/components/batchSetDialog.vue';
+  import DialogMoveto from '@/views/ledgerAssets/equipment/components/DialogMoveTo.vue';
   import print from '@/views/ledgerAssets/components/print.vue';
   import printSr from '@/views/ledgerAssets/components/printSr';
   import printTg from '@/views/ledgerAssets/components/printTg';
   import { getByCode } from '@/api/system/dictionary-data';
   import { businessStatus, sourceStatus } from '@/utils/dict/warehouse';
   import EquipmentSearch from './equipment-search.vue';
-  import DialogMoveto from './DialogMoveTo.vue';
+
   import {
     getAssetList,
     downloadAsset,
@@ -116,7 +130,14 @@
   import { getToken, setToken } from '@/utils/token-util';
 
   export default {
-    components: { EquipmentSearch, DialogMoveto, print, printSr, printTg },
+    components: {
+      EquipmentSearch,
+      print,
+      printSr,
+      printTg,
+      DialogMoveto,
+      batchSetDialog
+    },
     mixins: [dictMixins],
     props: {
       // 类别id
@@ -160,7 +181,7 @@
             minWidth: 180
           },
           {
-            prop: 'name',
+            prop: 'category.name',
             label: '名称',
             showOverflowTooltip: true,
             minWidth: 110
@@ -310,6 +331,25 @@
       this.getAssetLevelOptions();
     },
     methods: {
+      // 刷新回调
+      sucesstion(is) {
+        console.log(is);
+        if (is) {
+          this.reload();
+        }
+        this.checkRadioData = [];
+      },
+      // 移动到
+      moveTo(arr, type) {
+        this.$refs.movetoRef.open(arr, this.current, type);
+      },
+      batchSettings(type) {
+        let ids = this.checkRadioData.map((item) => {
+          return item.id;
+        });
+        this.$refs.batchSetRef.open(type, ids);
+        console.log(this.checkRadioData, 'checkRadioData 123');
+      },
       allPrinting() {
         if (this.clientEnvironmentId == 2) {
           this.$refs.printSrRef.open(this.checkRadioData);
@@ -332,17 +372,7 @@
               })
             : [];
       },
-      // 刷新回调
-      sucesstion(is) {
-        if (is) {
-          this.reload();
-        }
-        this.checkRadioData = [];
-      },
-      // 移动到
-      moveTo(arr, type) {
-        this.$refs.movetoRef.open(arr, this.current, type);
-      },
+
       // 全选
       changeSelectAll(arr) {
         console.log(arr);