|
|
@@ -0,0 +1,621 @@
|
|
|
+<template>
|
|
|
+ <div>
|
|
|
+ <!-- 数据表格 -->
|
|
|
+ <org-user-search @search="reload" ref="searchRef"></org-user-search>
|
|
|
+ <ele-pro-table
|
|
|
+ ref="table"
|
|
|
+ :columns="columns"
|
|
|
+ :datasource="datasource"
|
|
|
+ height="calc(100vh - 265px)"
|
|
|
+ full-height="calc(100vh - 116px)"
|
|
|
+ tool-class="ele-toolbar-form"
|
|
|
+ :page-size="pageSize"
|
|
|
+ row-key="id"
|
|
|
+ :selection.sync="selection"
|
|
|
+ @columns-change="handleColumnChange"
|
|
|
+ :cache-key="cacheKeyUrl"
|
|
|
+ @update:selection="handleSelectionChange"
|
|
|
+ >
|
|
|
+ <!-- 表头工具栏 -->
|
|
|
+ <template v-slot:toolbar>
|
|
|
+ <el-button
|
|
|
+ size="small"
|
|
|
+ type="primary"
|
|
|
+ icon="el-icon-plus"
|
|
|
+ class="ele-btn-icon"
|
|
|
+ @click="openEdit()"
|
|
|
+ v-if="$hasPermission('main:user:save')"
|
|
|
+ >
|
|
|
+ 添加
|
|
|
+ </el-button>
|
|
|
+ <el-button
|
|
|
+ type="primary"
|
|
|
+ size="mini"
|
|
|
+ icon="el-icon-upload2"
|
|
|
+ plain
|
|
|
+ @click="uploadFile"
|
|
|
+ v-if="$hasPermission('main:user:save')"
|
|
|
+ >导入</el-button
|
|
|
+ >
|
|
|
+ <el-button
|
|
|
+ type="primary"
|
|
|
+ size="mini"
|
|
|
+ icon="el-icon-download"
|
|
|
+ plain
|
|
|
+ @click="exportUsers"
|
|
|
+ >导出</el-button
|
|
|
+ >
|
|
|
+ <el-button
|
|
|
+ type="success"
|
|
|
+ size="mini"
|
|
|
+ icon="el-icon-guide"
|
|
|
+ plain
|
|
|
+ @click="bindingProcess"
|
|
|
+ >绑定关键工序</el-button
|
|
|
+ >
|
|
|
+ <el-button
|
|
|
+ v-if="$hasPermission('main:user:push')"
|
|
|
+ :disabled="selection?.length === 0"
|
|
|
+ type="primary"
|
|
|
+ size="mini"
|
|
|
+ plain
|
|
|
+ @click="allPushBtn"
|
|
|
+ >批量推送</el-button
|
|
|
+ >
|
|
|
+ </template>
|
|
|
+ <!-- 角色列 -->
|
|
|
+ <template v-slot:roles="{ row }">
|
|
|
+ <el-tag
|
|
|
+ v-for="item in row.roles"
|
|
|
+ :key="item.roleId"
|
|
|
+ type="primary"
|
|
|
+ size="mini"
|
|
|
+ :disable-transitions="true"
|
|
|
+ >
|
|
|
+ {{ item.roleName }}
|
|
|
+ </el-tag>
|
|
|
+ </template>
|
|
|
+
|
|
|
+ <template v-slot:name="{ row }">
|
|
|
+ <el-link type="primary" :underline="false" @click="openEdit(row, true)">
|
|
|
+ {{ row.name }}</el-link
|
|
|
+ >
|
|
|
+ </template>
|
|
|
+ <!-- 状态列 -->
|
|
|
+ <!-- <template v-slot:status="{ row }">
|
|
|
+ <el-switch
|
|
|
+ :active-value="0"
|
|
|
+ :inactive-value="1"
|
|
|
+ v-model="row.status"
|
|
|
+ @change="editStatus(row)"
|
|
|
+ />
|
|
|
+ </template> -->
|
|
|
+ <!-- 操作列 -->
|
|
|
+ <template v-slot:action="{ row }">
|
|
|
+ <el-link
|
|
|
+ type="primary"
|
|
|
+ :underline="false"
|
|
|
+ icon="el-icon-edit"
|
|
|
+ @click="openEdit(row)"
|
|
|
+ v-if="$hasPermission('main:user:save')"
|
|
|
+ >
|
|
|
+ 修改
|
|
|
+ </el-link>
|
|
|
+ <el-link
|
|
|
+ v-if="row.loginName && $hasPermission('main:user:save')"
|
|
|
+ type="primary"
|
|
|
+ :underline="false"
|
|
|
+ icon="el-icon-unlock"
|
|
|
+ @click="toUnBind(row)"
|
|
|
+ >
|
|
|
+ 解绑
|
|
|
+ </el-link>
|
|
|
+ <el-link
|
|
|
+ v-if="!row.loginName && $hasPermission('main:user:save')"
|
|
|
+ type="primary"
|
|
|
+ :underline="false"
|
|
|
+ icon="el-icon-add"
|
|
|
+ @click="addUsers(row)"
|
|
|
+ >
|
|
|
+ 新建账号
|
|
|
+ </el-link>
|
|
|
+ <el-link
|
|
|
+ type="primary"
|
|
|
+ :underline="false"
|
|
|
+ icon="el-icon-key"
|
|
|
+ @click="openDoor(row)"
|
|
|
+ >
|
|
|
+ 门禁
|
|
|
+ </el-link>
|
|
|
+ <el-popconfirm
|
|
|
+ class="ele-action"
|
|
|
+ title="确定要删除此用户吗?"
|
|
|
+ @confirm="remove(row)"
|
|
|
+ v-if="!row.loginName && $hasPermission('main:user:delete')"
|
|
|
+ >
|
|
|
+ <template v-slot:reference>
|
|
|
+ <el-link type="danger" :underline="false" icon="el-icon-delete">
|
|
|
+ 删除
|
|
|
+ </el-link>
|
|
|
+ </template>
|
|
|
+ </el-popconfirm>
|
|
|
+ </template>
|
|
|
+ </ele-pro-table>
|
|
|
+ <!-- 编辑弹窗 -->
|
|
|
+ <org-user-edit
|
|
|
+ :data="current"
|
|
|
+ :visible.sync="showEdit"
|
|
|
+ :organization-list="organizationList"
|
|
|
+ :institutionList="institutionList"
|
|
|
+ :organization-id="organizationId"
|
|
|
+ @done="reload"
|
|
|
+ ref="userEditRef"
|
|
|
+ />
|
|
|
+ <addUsers
|
|
|
+ :visible.sync="showEdit1"
|
|
|
+ @done="reload"
|
|
|
+ :data="null"
|
|
|
+ ref="userEdit"
|
|
|
+ :organizationList="organizationList"
|
|
|
+ />
|
|
|
+ <importDialog
|
|
|
+ :defModule="moudleName"
|
|
|
+ ref="importDialogRef"
|
|
|
+ @success="reload"
|
|
|
+ />
|
|
|
+ <el-dialog
|
|
|
+ title="提示"
|
|
|
+ :visible.sync="dialogVisible"
|
|
|
+ @close="dialogVisible = false"
|
|
|
+ width="400px"
|
|
|
+ >
|
|
|
+ <span>是否绑定已有用户?</span>
|
|
|
+ <el-radio v-model="radio" label="1">是</el-radio>
|
|
|
+ <el-radio v-model="radio" label="2">否</el-radio>
|
|
|
+ <span slot="footer" class="dialog-footer">
|
|
|
+ <el-button @click="dialogVisible = false">取 消</el-button>
|
|
|
+ <el-button type="primary" @click="setUser">确 定</el-button>
|
|
|
+ </span>
|
|
|
+ </el-dialog>
|
|
|
+
|
|
|
+ <DoorModal ref="doorModalRef" :visible.sync="showDoor" :current="current" />
|
|
|
+ </div>
|
|
|
+</template>
|
|
|
+
|
|
|
+<script>
|
|
|
+ import tabMixins from '@/mixins/tableColumnsMixin';
|
|
|
+
|
|
|
+ import OrgUserSearch from './org-user-search.vue';
|
|
|
+ import importDialog from '@/components/upload/import-dialog.vue';
|
|
|
+ import {
|
|
|
+ getUserPage,
|
|
|
+ removePersonnel,
|
|
|
+ unbindLoginName,
|
|
|
+ employeePush
|
|
|
+ } from '@/api/system/organization';
|
|
|
+ import { pageUsers, exportUsers } from '@/api/system/user';
|
|
|
+ import dictMixins from '@/mixins/dictMixins';
|
|
|
+ import { getFactoryarea } from '@/api/factoryModel';
|
|
|
+ import DoorModal from './door-modal.vue';
|
|
|
+
|
|
|
+ export default {
|
|
|
+ mixins: [tabMixins, dictMixins],
|
|
|
+ components: {
|
|
|
+ importDialog,
|
|
|
+ OrgUserSearch,
|
|
|
+ DoorModal
|
|
|
+ },
|
|
|
+ props: {
|
|
|
+ // 机构id
|
|
|
+ organizationId: [Number, String],
|
|
|
+ // 全部机构
|
|
|
+ organizationList: Array,
|
|
|
+ institutionList: Array
|
|
|
+ },
|
|
|
+ created() {
|
|
|
+ this.requestDict('岗位');
|
|
|
+ getFactoryarea({
|
|
|
+ pageNum: 1,
|
|
|
+ size: 999,
|
|
|
+ type: 1
|
|
|
+ }).then((res) => {
|
|
|
+ this.factoryList = res.list || [];
|
|
|
+ });
|
|
|
+ },
|
|
|
+ computed: {
|
|
|
+ // 表格列配置
|
|
|
+ columns() {
|
|
|
+ let columnsVersion = this.columnsVersion;
|
|
|
+ return [
|
|
|
+ {
|
|
|
+ width: 45,
|
|
|
+ type: 'selection',
|
|
|
+ columnKey: 'selection',
|
|
|
+ align: 'center'
|
|
|
+ },
|
|
|
+ {
|
|
|
+ columnKey: 'index',
|
|
|
+ label: '序号',
|
|
|
+ type: 'index',
|
|
|
+ width: 55,
|
|
|
+ align: 'center',
|
|
|
+ showOverflowTooltip: true,
|
|
|
+ fixed: 'left'
|
|
|
+ },
|
|
|
+ {
|
|
|
+ prop: 'name',
|
|
|
+ label: '姓名',
|
|
|
+ slot: 'name',
|
|
|
+ sortable: 'custom',
|
|
|
+ showOverflowTooltip: true,
|
|
|
+ minWidth: 110
|
|
|
+ },
|
|
|
+ {
|
|
|
+ prop: 'groupName',
|
|
|
+ label: '所属机构',
|
|
|
+ showOverflowTooltip: true,
|
|
|
+ minWidth: 110
|
|
|
+ },
|
|
|
+ {
|
|
|
+ prop: 'deptNames',
|
|
|
+ label: '隶属部门',
|
|
|
+ showOverflowTooltip: true,
|
|
|
+ minWidth: 110
|
|
|
+ },
|
|
|
+
|
|
|
+ {
|
|
|
+ prop: 'jobNumber',
|
|
|
+ label: '工号',
|
|
|
+ sortable: 'custom',
|
|
|
+ showOverflowTooltip: true,
|
|
|
+ minWidth: 110
|
|
|
+ },
|
|
|
+ {
|
|
|
+ prop: 'phone',
|
|
|
+ label: '手机号',
|
|
|
+ sortable: 'custom',
|
|
|
+ showOverflowTooltip: true,
|
|
|
+ minWidth: 110
|
|
|
+ },
|
|
|
+ {
|
|
|
+ prop: 'postName',
|
|
|
+ label: '岗位',
|
|
|
+ showOverflowTooltip: true,
|
|
|
+ minWidth: 110
|
|
|
+ },
|
|
|
+ {
|
|
|
+ prop: 'factoryId',
|
|
|
+ label: '所属工厂',
|
|
|
+ sortable: 'custom',
|
|
|
+ showOverflowTooltip: true,
|
|
|
+ minWidth: 110,
|
|
|
+ formatter: (_row, _column, cellValue) => {
|
|
|
+ return this.factoryList.find((item) => item.id == cellValue)
|
|
|
+ ?.name;
|
|
|
+ }
|
|
|
+ },
|
|
|
+ {
|
|
|
+ prop: 'loginName',
|
|
|
+ label: '用户账号',
|
|
|
+ sortable: 'custom',
|
|
|
+ showOverflowTooltip: true,
|
|
|
+ minWidth: 110
|
|
|
+ },
|
|
|
+ {
|
|
|
+ prop: 'sex',
|
|
|
+ label: '性别',
|
|
|
+ sortable: 'custom',
|
|
|
+ showOverflowTooltip: true,
|
|
|
+ minWidth: 80,
|
|
|
+ formatter: (_row, _column, cellValue) => {
|
|
|
+ return cellValue == 1 ? '男' : cellValue == 2 ? '女' : '';
|
|
|
+ }
|
|
|
+ },
|
|
|
+ {
|
|
|
+ prop: 'status',
|
|
|
+ label: '状态',
|
|
|
+ align: 'center',
|
|
|
+ sortable: 'custom',
|
|
|
+ width: 80,
|
|
|
+ formatter: (_row, _column, cellValue) => {
|
|
|
+ const dom = this.statusOptions.find((item) => {
|
|
|
+ return item.value == cellValue;
|
|
|
+ });
|
|
|
+ return dom ? dom.label : '';
|
|
|
+ }
|
|
|
+ },
|
|
|
+ {
|
|
|
+ prop: 'code',
|
|
|
+ label: '是否推送',
|
|
|
+ align: 'center',
|
|
|
+ showOverflowTooltip: true,
|
|
|
+ minWidth: 120,
|
|
|
+ formatter: (_row, _column, cellValue) => {
|
|
|
+ return _row.code ? '已推送' : '未推送';
|
|
|
+ }
|
|
|
+ },
|
|
|
+ {
|
|
|
+ prop: 'isEnabled',
|
|
|
+ align: 'center',
|
|
|
+ label: '是否启用',
|
|
|
+ showOverflowTooltip: true,
|
|
|
+ formatter: (row, column) => {
|
|
|
+ return row.isEnabled === 0
|
|
|
+ ? '停用'
|
|
|
+ : row.isEnabled === 1
|
|
|
+ ? '启用'
|
|
|
+ : '';
|
|
|
+ }
|
|
|
+ },
|
|
|
+ {
|
|
|
+ prop: 'createTime',
|
|
|
+ label: '创建时间',
|
|
|
+ sortable: 'custom',
|
|
|
+ showOverflowTooltip: true,
|
|
|
+ minWidth: 110,
|
|
|
+ formatter: (_row, _column, cellValue) => {
|
|
|
+ return this.$util.toDateString(cellValue);
|
|
|
+ }
|
|
|
+ },
|
|
|
+ {
|
|
|
+ columnKey: 'action',
|
|
|
+ label: '操作',
|
|
|
+ width: 260,
|
|
|
+ align: 'left',
|
|
|
+ resizable: false,
|
|
|
+ fixed: 'right',
|
|
|
+ slot: 'action',
|
|
|
+ showOverflowTooltip: true
|
|
|
+ }
|
|
|
+ ];
|
|
|
+ }
|
|
|
+ },
|
|
|
+ data() {
|
|
|
+ return {
|
|
|
+ showDoor: false,
|
|
|
+ moudleName: 'mainUser',
|
|
|
+ showEdit1: false,
|
|
|
+ userShow: false,
|
|
|
+ userRow: null,
|
|
|
+ currentRow: null,
|
|
|
+ dialogVisible: false,
|
|
|
+ radio: '2',
|
|
|
+ columnsVersion: 0,
|
|
|
+ factoryList: [],
|
|
|
+ // 表格列配置
|
|
|
+ columns1: [
|
|
|
+ {
|
|
|
+ columnKey: 'index',
|
|
|
+ type: 'index',
|
|
|
+ width: 55,
|
|
|
+ align: 'center',
|
|
|
+ showOverflowTooltip: true,
|
|
|
+ fixed: 'left',
|
|
|
+ label: '序号'
|
|
|
+ },
|
|
|
+ {
|
|
|
+ prop: 'loginName',
|
|
|
+ label: '用户账号',
|
|
|
+ showOverflowTooltip: true,
|
|
|
+ minWidth: 110
|
|
|
+ },
|
|
|
+ {
|
|
|
+ prop: 'jobNumber',
|
|
|
+ label: '工号',
|
|
|
+ showOverflowTooltip: true,
|
|
|
+ minWidth: 110
|
|
|
+ },
|
|
|
+ {
|
|
|
+ prop: 'name',
|
|
|
+ label: '姓名',
|
|
|
+
|
|
|
+ showOverflowTooltip: true,
|
|
|
+ minWidth: 110
|
|
|
+ },
|
|
|
+ {
|
|
|
+ prop: 'phone',
|
|
|
+ label: '手机号',
|
|
|
+
|
|
|
+ showOverflowTooltip: true,
|
|
|
+ minWidth: 110
|
|
|
+ },
|
|
|
+
|
|
|
+ {
|
|
|
+ columnKey: 'groupRoleList',
|
|
|
+ label: '角色',
|
|
|
+ showOverflowTooltip: true,
|
|
|
+ minWidth: 110,
|
|
|
+ formatter: (_row, _column, cellValue) => {
|
|
|
+ let names = [];
|
|
|
+ _row.groupRoleList.forEach((item) => {
|
|
|
+ names.push(...item.roleVOList.map((val) => val.name));
|
|
|
+ });
|
|
|
+ return names.toString();
|
|
|
+ }
|
|
|
+ },
|
|
|
+ {
|
|
|
+ prop: 'createTime',
|
|
|
+ label: '创建时间',
|
|
|
+ // sortable: 'custom',
|
|
|
+ showOverflowTooltip: true,
|
|
|
+ minWidth: 110,
|
|
|
+ formatter: (_row, _column, cellValue) => {
|
|
|
+ return this.$util.toDateString(cellValue);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ ],
|
|
|
+ // 当前编辑数据
|
|
|
+ current: null,
|
|
|
+ // 是否显示编辑弹窗
|
|
|
+ showEdit: false,
|
|
|
+ statusOptions: [
|
|
|
+ { value: 1, label: '全职' },
|
|
|
+ { value: 2, label: '兼职' },
|
|
|
+ { value: 3, label: '实习' },
|
|
|
+ { value: 4, label: '正式' },
|
|
|
+ { value: 5, label: '试用' },
|
|
|
+ { value: 6, label: '离职' }
|
|
|
+ ],
|
|
|
+ pageSize: this.$store.state.tablePageSize,
|
|
|
+ cacheKeyUrl: 'ef00833a-system-organization',
|
|
|
+ selection: []
|
|
|
+ };
|
|
|
+ },
|
|
|
+ methods: {
|
|
|
+ openDoor(row) {
|
|
|
+ console.log(row);
|
|
|
+ this.current = row;
|
|
|
+ this.showDoor = true;
|
|
|
+ },
|
|
|
+ allPushBtn() {
|
|
|
+ const dataId = this.selection.map((v) => v.id);
|
|
|
+ employeePush(dataId)
|
|
|
+ .then((res) => {
|
|
|
+ this.$message.success('推送成功!');
|
|
|
+ this.reload();
|
|
|
+ })
|
|
|
+ .catch(() => {
|
|
|
+ console.log('推送失败!');
|
|
|
+ });
|
|
|
+ },
|
|
|
+ async addUsers(row) {
|
|
|
+ // this.userRow = null;
|
|
|
+ this.currentRow = row;
|
|
|
+ this.dialogVisible = true;
|
|
|
+ },
|
|
|
+ setUser() {
|
|
|
+ this.dialogVisible = false;
|
|
|
+ if (this.radio == 1) {
|
|
|
+ this.userShow = true;
|
|
|
+ } else {
|
|
|
+ this.showEdit1 = true;
|
|
|
+ this.$refs.userEdit.userBk(this.currentRow);
|
|
|
+ }
|
|
|
+ },
|
|
|
+ getUser() {
|
|
|
+ if (!this.userRow) {
|
|
|
+ this.$message.warning('请选择一条数据!');
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ this.userShow = false;
|
|
|
+ this.showEdit1 = true;
|
|
|
+ this.$refs.userEdit.getByData(this.userRow, this.currentRow);
|
|
|
+ },
|
|
|
+
|
|
|
+ /* 表格数据源 */
|
|
|
+ datasource({ page, limit, where, order }) {
|
|
|
+ return getUserPage({
|
|
|
+ ...where,
|
|
|
+ pageNum: page,
|
|
|
+ orderName: order.order || '',
|
|
|
+ sortBy: order.sort || '',
|
|
|
+ size: limit,
|
|
|
+ groupId: this.organizationId,
|
|
|
+ isQueryLZ: 1,
|
|
|
+ affiDeptId: 1
|
|
|
+ });
|
|
|
+ },
|
|
|
+ /* 表格数据源 */
|
|
|
+ datasource1({ page, limit, where, order }) {
|
|
|
+ return pageUsers({
|
|
|
+ ...where,
|
|
|
+ ...order,
|
|
|
+ pageNum: page,
|
|
|
+ size: limit
|
|
|
+ });
|
|
|
+ },
|
|
|
+ /* 刷新表格 */
|
|
|
+ reload(where) {
|
|
|
+ this.$refs.table.reload({ pageNum: 1, where: where });
|
|
|
+ },
|
|
|
+ reload1(where) {
|
|
|
+ this.$refs.table1.reload({ pageNum: 1, where: where });
|
|
|
+ },
|
|
|
+ exportUsers() {
|
|
|
+ let where = this.$refs.searchRef.geValue();
|
|
|
+ this.reload(where);
|
|
|
+
|
|
|
+ exportUsers({
|
|
|
+ ...where,
|
|
|
+ pageNum: 1,
|
|
|
+ size: 10000,
|
|
|
+ groupId: this.organizationId
|
|
|
+ });
|
|
|
+ },
|
|
|
+ /* 显示编辑 */
|
|
|
+ openEdit(row, disabled) {
|
|
|
+ this.current = row;
|
|
|
+ this.showEdit = true;
|
|
|
+ this.$refs.userEditRef.setDisabled(disabled);
|
|
|
+ },
|
|
|
+
|
|
|
+ bindingProcess() {
|
|
|
+ if (this.selection.length == 0) {
|
|
|
+ return this.$message.warning('请至少选择一名需要绑定的人员');
|
|
|
+ }
|
|
|
+
|
|
|
+ this.$refs.criticalProcessRef.open(this.selection, 'batch');
|
|
|
+ },
|
|
|
+
|
|
|
+ chooseProcess() {
|
|
|
+ this.reload();
|
|
|
+ },
|
|
|
+
|
|
|
+ handleSelectionChange(data) {
|
|
|
+ this.selection = data;
|
|
|
+ },
|
|
|
+
|
|
|
+ // 解除绑定
|
|
|
+ toUnBind(row) {
|
|
|
+ const loading = this.$loading({ lock: true });
|
|
|
+ unbindLoginName(row.id)
|
|
|
+ .then((res) => {
|
|
|
+ loading.close();
|
|
|
+ this.$message.success('解绑成功');
|
|
|
+ this.reload();
|
|
|
+ })
|
|
|
+ .catch((e) => {
|
|
|
+ loading.close();
|
|
|
+ // this.$message.error(e.message);
|
|
|
+ });
|
|
|
+ },
|
|
|
+ /* 删除 */
|
|
|
+ remove(row) {
|
|
|
+ const loading = this.$loading({ lock: true });
|
|
|
+ removePersonnel([row.id])
|
|
|
+ .then((msg) => {
|
|
|
+ loading.close();
|
|
|
+ this.$message.success(msg);
|
|
|
+ this.reload();
|
|
|
+ })
|
|
|
+ .catch((e) => {
|
|
|
+ loading.close();
|
|
|
+ // this.$message.error(e.message);
|
|
|
+ });
|
|
|
+ },
|
|
|
+ /* 更改状态 */
|
|
|
+ editStatus(row) {
|
|
|
+ const loading = this.$loading({ lock: true });
|
|
|
+ updateUserStatus(row.userId, row.status)
|
|
|
+ .then((msg) => {
|
|
|
+ loading.close();
|
|
|
+ this.$message.success(msg);
|
|
|
+ })
|
|
|
+ .catch((e) => {
|
|
|
+ loading.close();
|
|
|
+ row.status = !row.status ? 1 : 0;
|
|
|
+ // this.$message.error(e.message);
|
|
|
+ });
|
|
|
+ },
|
|
|
+ uploadFile() {
|
|
|
+ this.$refs.importDialogRef.open();
|
|
|
+ }
|
|
|
+ },
|
|
|
+ watch: {
|
|
|
+ // 监听机构id变化
|
|
|
+ organizationId() {
|
|
|
+ this.reload();
|
|
|
+ }
|
|
|
+ }
|
|
|
+ };
|
|
|
+</script>
|