From 345ca30ff9f623dc64e1af03fde456f63d18423a Mon Sep 17 00:00:00 2001
From: qushaowei <qushaowei@163.com>
Date: 星期六, 28 十月 2023 18:21:20 +0800
Subject: [PATCH] 三保 授权  二保  移交单修改

---
 src/views/system/RoleUserList.vue |  999 +++++++++++++++++++++++++++++++++-------------------------
 1 files changed, 570 insertions(+), 429 deletions(-)

diff --git a/src/views/system/RoleUserList.vue b/src/views/system/RoleUserList.vue
index cb70ae8..d6c78cb 100644
--- a/src/views/system/RoleUserList.vue
+++ b/src/views/system/RoleUserList.vue
@@ -1,15 +1,32 @@
 <template>
   <a-row :gutter="10">
-    <a-col :md="leftColMd" :sm="24" style="margin-bottom: 20px">
+    <a-col
+      :md="leftColMd"
+      :sm="24"
+      style="margin-bottom: 20px"
+    >
       <a-card :bordered="false">
         <!-- 鏌ヨ鍖哄煙 -->
         <div class="table-page-search-wrapper">
           <!-- 鎼滅储鍖哄煙 -->
-          <a-form layout="inline" @keyup.enter.native="searchQuery">
+          <a-form
+            layout="inline"
+            @keyup.enter.native="searchQuery"
+          >
             <a-row :gutter="24">
-              <a-col :md="12" :sm="8">
-                <a-form-item label="瑙掕壊鍚嶇О" :labelCol="{span: 5}" :wrapperCol="{span: 18, offset: 1}">
-                  <a-input placeholder="" v-model="queryParam.roleName"></a-input>
+              <a-col
+                :md="12"
+                :sm="8"
+              >
+                <a-form-item
+                  label="瑙掕壊鍚嶇О"
+                  :labelCol="{span: 5}"
+                  :wrapperCol="{span: 18, offset: 1}"
+                >
+                  <a-input
+                    placeholder=""
+                    v-model="queryParam.roleName"
+                  ></a-input>
                 </a-form-item>
               </a-col>
               <!--
@@ -21,29 +38,72 @@
                 </a-form-item>
               </a-col>
               -->
-              <span style="float: left;overflow: hidden;" class="table-page-search-submitButtons">
-            <a-col :md="12" :sm="24">
-               <a-button type="primary" @click="searchQuery" icon="search" style="margin-left: 21px">鏌ヨ</a-button>
-              <a-button type="primary" @click="searchReset" icon="reload" style="margin-left: 8px">閲嶇疆</a-button>
-            </a-col>
-          </span>
+              <span
+                style="float: left;overflow: hidden;"
+                class="table-page-search-submitButtons"
+              >
+                <a-col
+                  :md="12"
+                  :sm="24"
+                >
+                  <a-button
+                    type="primary"
+                    @click="searchQuery"
+                    icon="search"
+                    style="margin-left: 21px"
+                  >鏌ヨ</a-button>
+                  <a-button
+                    type="primary"
+                    @click="searchReset"
+                    icon="reload"
+                    style="margin-left: 8px"
+                  >閲嶇疆</a-button>
+                </a-col>
+              </span>
             </a-row>
           </a-form>
         </div>
         <!-- 鎿嶄綔鎸夐挳鍖哄煙 -->
-        <div class="table-operator" style="margin: 5px 0 10px 2px">
-          <a-button @click="handleAdd" type="primary" icon="plus">鏂板缓瑙掕壊</a-button>
+        <div
+          class="table-operator"
+          style="margin: 5px 0 10px 2px"
+        >
+          <a-button
+            @click="handleAdd"
+            type="primary"
+            icon="plus"
+          >鏂板缓瑙掕壊</a-button>
           <!--<a-button @click="handleEdit(model1)" type="primary" icon="plus">瑙掕壊缂栬緫</a-button>-->
-          <a-upload name="file" :showUploadList="false" :multiple="false" :headers="tokenHeader" :action="importExcelUrl" @change="handleImportExcel">
-            <a-button type="primary" icon="import">瀵煎叆</a-button>
+          <a-upload
+            name="file"
+            :showUploadList="false"
+            :multiple="false"
+            :headers="tokenHeader"
+            :action="importExcelUrl"
+            @change="handleImportExcel"
+          >
+            <a-button
+              type="primary"
+              icon="import"
+            >瀵煎叆</a-button>
           </a-upload>
-          <a-button type="primary" icon="download" @click="handleExportXls('瑙掕壊绠$悊')">瀵煎嚭</a-button>
+          <a-button
+            type="primary"
+            icon="download"
+            @click="handleExportXls('瑙掕壊绠$悊')"
+          >瀵煎嚭</a-button>
         </div>
 
-        <div class="ant-alert ant-alert-info" style="margin-bottom: 16px;">
+        <div
+          class="ant-alert ant-alert-info"
+          style="margin-bottom: 16px;"
+        >
           <i class="anticon anticon-info-circle ant-alert-icon">
           </i> 宸查�夋嫨 <a><b>{{ selectedRowKeys1.length }}</b></a>椤�
-          <a style="margin-left: 24px" @click="onClearSelected1">娓呯┖</a>
+          <a
+            style="margin-left: 24px"
+            @click="onClearSelected1"
+          >娓呯┖</a>
         </div>
 
         <div style="margin-top: 15px">
@@ -58,86 +118,149 @@
             :pagination="ipagination"
             :loading="loading"
             :rowSelection="{selectedRowKeys: selectedRowKeys1, onChange: onSelectChange1, type:'radio'}"
-            @change="handleTableChange">
-          <span slot="action" slot-scope="text, record">
-            <a @click="handleOpen(record)">鐢ㄦ埛</a>
-            <a-divider type="vertical"/>
+            @change="handleTableChange"
+          >
+            <span
+              slot="action"
+              slot-scope="text, record"
+            >
+              <a @click="handleOpen(record)">鐢ㄦ埛</a>
+              <a-divider type="vertical" />
 
-            <a-dropdown>
-              <a class="ant-dropdown-link">
-                鏇村 <a-icon type="down"/>
-              </a>
-              <a-menu slot="overlay">
-                <a-menu-item>
-                  <a @click="handlePerssion(record.id)">鎺堟潈</a>
-                </a-menu-item>
-                <a-menu-item>
-                  <a @click="handleEdit(record)">缂栬緫</a>
-                </a-menu-item>
-                <a-menu-item>
-                  <a-popconfirm title="纭畾鍒犻櫎鍚�?" @confirm="() => handleDelete1(record.id)">
-                    <a>鍒犻櫎</a>
-                  </a-popconfirm>
-                </a-menu-item>
-              </a-menu>
-            </a-dropdown>
-        </span>
+              <a-dropdown>
+                <a class="ant-dropdown-link">
+                  鏇村 <a-icon type="down" />
+                </a>
+                <a-menu slot="overlay">
+                  <a-menu-item>
+                    <a @click="handlePerssion(record.id)">鎺堟潈</a>
+                  </a-menu-item>
+                  <a-menu-item>
+                    <a @click="handleEdit(record)">缂栬緫</a>
+                  </a-menu-item>
+                  <a-menu-item>
+                    <a-popconfirm
+                      title="纭畾鍒犻櫎鍚�?"
+                      @confirm="() => handleDelete1(record.id)"
+                    >
+                      <a>鍒犻櫎</a>
+                    </a-popconfirm>
+                  </a-menu-item>
+                </a-menu>
+              </a-dropdown>
+            </span>
           </a-table>
         </div>
         <!-- 鍙充晶鐨勮鑹叉潈闄愰厤缃� -->
-        <user-role-modal ref="modalUserRole"></user-role-modal>
-        <role-modal ref="modalForm" @ok="modalFormOk"></role-modal>
+        <!-- <user-role-modal ref="modalUserRole"></user-role-modal> -->
+        <user-role-modal-new ref="modalUserRole"></user-role-modal-new>
+        <role-modal
+          ref="modalForm"
+          @ok="modalFormOk"
+        ></role-modal>
       </a-card>
     </a-col>
-    <a-col :md="rightColMd" :sm="24" v-if="this.rightcolval == 1">
+    <a-col
+      :md="rightColMd"
+      :sm="24"
+      v-if="this.rightcolval == 1"
+    >
       <a-card :bordered="false">
         <div style="text-align: right;">
-          <a-icon type="close-circle" @click="hideUserList" />
+          <a-icon
+            type="close-circle"
+            @click="hideUserList"
+          />
         </div>
         <!-- 鏌ヨ鍖哄煙 -->
         <div class="table-page-search-wrapper">
           <a-form layout="inline">
             <a-row :gutter="24">
 
-              <a-col :md="12" :sm="12">
+              <a-col
+                :md="12"
+                :sm="12"
+              >
                 <a-form-item label="鐢ㄦ埛璐﹀彿">
-                  <a-input placeholder="" v-model="queryParam2.username"></a-input>
+                  <a-input
+                    placeholder=""
+                    v-model="queryParam2.username"
+                  ></a-input>
                 </a-form-item>
               </a-col>
-              <span style="float: left;overflow: hidden;" class="table-page-search-submitButtons">
-            <a-col :md="9" :sm="24">
-             <a-button type="primary" @click="searchQuery2" icon="search" style="margin-left: 21px">鏌ヨ</a-button>
-              <a-button type="primary" @click="searchReset2" icon="reload" style="margin-left: 8px">閲嶇疆</a-button>
+              <span
+                style="float: left;overflow: hidden;"
+                class="table-page-search-submitButtons"
+              >
+                <a-col
+                  :md="9"
+                  :sm="24"
+                >
+                  <a-button
+                    type="primary"
+                    @click="searchQuery2"
+                    icon="search"
+                    style="margin-left: 21px"
+                  >鏌ヨ</a-button>
+                  <a-button
+                    type="primary"
+                    @click="searchReset2"
+                    icon="reload"
+                    style="margin-left: 8px"
+                  >閲嶇疆</a-button>
 
-            </a-col>
-          </span>
+                </a-col>
+              </span>
             </a-row>
           </a-form>
         </div>
         <!-- 鎿嶄綔鎸夐挳鍖哄煙 -->
-        <div class="table-operator" :md="24" :sm="24">
-          <a-button @click="handleAdd2" type="primary" icon="plus" style="margin-top: 16px">鏂板鐢ㄦ埛</a-button>
+        <div
+          class="table-operator"
+          :md="24"
+          :sm="24"
+        >
+          <a-button
+            @click="handleAdd2"
+            type="primary"
+            icon="plus"
+            style="margin-top: 16px"
+          >鏂板鐢ㄦ埛</a-button>
           <!--<a-button @click="handleEdit2" type="primary" icon="edit" style="margin-top: 16px">鐢ㄦ埛缂栬緫</a-button>-->
-          <a-button @click="handleAddUserRole" type="primary" icon="plus" style="margin-top: 16px">宸叉湁鐢ㄦ埛</a-button>
+          <a-button
+            @click="handleAddUserRole"
+            type="primary"
+            icon="plus"
+            style="margin-top: 16px"
+          >宸叉湁鐢ㄦ埛</a-button>
 
           <a-dropdown v-if="selectedRowKeys2.length > 0">
             <a-menu slot="overlay">
-              <a-menu-item key="1" @click="batchDel2">
-                <a-icon type="delete"/>
+              <a-menu-item
+                key="1"
+                @click="batchDel2"
+              >
+                <a-icon type="delete" />
                 鍒犻櫎
               </a-menu-item>
             </a-menu>
             <a-button style="margin-left: 8px"> 鎵归噺鎿嶄綔
-              <a-icon type="down"/>
+              <a-icon type="down" />
             </a-button>
           </a-dropdown>
         </div>
         <!-- table鍖哄煙-begin -->
         <div>
-          <div class="ant-alert ant-alert-info" style="margin-bottom: 16px;">
+          <div
+            class="ant-alert ant-alert-info"
+            style="margin-bottom: 16px;"
+          >
             <i class="anticon anticon-info-circle ant-alert-icon"></i> 宸查�夋嫨 <a style="font-weight: 600">{{
             selectedRowKeys2.length }}</a>椤�
-            <a style="margin-left: 24px" @click="onClearSelected2">娓呯┖</a>
+            <a
+              style="margin-left: 24px"
+              @click="onClearSelected2"
+            >娓呯┖</a>
           </div>
           <a-table
             style="height:500px"
@@ -150,399 +273,417 @@
             :pagination="ipagination2"
             :loading="loading2"
             :rowSelection="{selectedRowKeys: selectedRowKeys2, onChange: onSelectChange2}"
-            @change="handleTableChange2">
-           <span slot="action" slot-scope="text, record">
-           <a @click="handleEdit2(record)">缂栬緫</a>
-          <a-divider type="vertical"/>
-          <a-dropdown>
-            <a class="ant-dropdown-link">
-              鏇村 <a-icon type="down"/>
-            </a>
-            <a-menu slot="overlay">
-              <a-menu-item>
-                <a-popconfirm title="纭畾鍒犻櫎鍚�?" @confirm="() => handleDelete2(record.id)">
-                  <a>鍒犻櫎</a>
-                </a-popconfirm>
-              </a-menu-item>
-            </a-menu>
-          </a-dropdown>
-        </span>
+            @change="handleTableChange2"
+          >
+            <span
+              slot="action"
+              slot-scope="text, record"
+            >
+              <a @click="handleEdit2(record)">缂栬緫</a>
+              <a-divider type="vertical" />
+              <a-dropdown>
+                <a class="ant-dropdown-link">
+                  鏇村 <a-icon type="down" />
+                </a>
+                <a-menu slot="overlay">
+                  <a-menu-item>
+                    <a-popconfirm
+                      title="纭畾鍒犻櫎鍚�?"
+                      @confirm="() => handleDelete2(record.id)"
+                    >
+                      <a>鍒犻櫎</a>
+                    </a-popconfirm>
+                  </a-menu-item>
+                </a-menu>
+              </a-dropdown>
+            </span>
           </a-table>
         </div>
         <!-- 琛ㄥ崟鍖哄煙 -->
-        <role-modal ref="modalForm" @ok="modalFormOk"></role-modal>
-        <user-modal ref="modalForm2" @ok="modalFormOk2"></user-modal>
-        <Select-User-Modal ref="selectUserModal" @selectFinished="selectOK"></Select-User-Modal>
+        <role-modal
+          ref="modalForm"
+          @ok="modalFormOk"
+        ></role-modal>
+        <user-modal
+          ref="modalForm2"
+          @ok="modalFormOk2"
+        ></user-modal>
+        <Select-User-Modal
+          ref="selectUserModal"
+          @selectFinished="selectOK"
+        ></Select-User-Modal>
       </a-card>
     </a-col>
   </a-row>
 </template>
 <script>
-  import { JeecgListMixin } from '@/mixins/JeecgListMixin'
-  import { deleteAction, postAction, getAction } from '@/api/manage'
-  import SelectUserModal from './modules/SelectUserModal'
-  import RoleModal from './modules/RoleModal'
-  import UserModal from './modules/UserModal'
-  import { filterObj } from '@/utils/util'
-  import UserRoleModal from './modules/UserRoleModal'
-  import moment from 'moment'
+import { JeecgListMixin } from '@/mixins/JeecgListMixin'
+import { deleteAction, postAction, getAction } from '@/api/manage'
+import SelectUserModal from './modules/SelectUserModal'
+import RoleModal from './modules/RoleModal'
+import UserModal from './modules/UserModal'
+import { filterObj } from '@/utils/util'
+import UserRoleModal from './modules/UserRoleModal'
+import moment from 'moment'
+import UserRoleModalNew from './modules/UserRoleModalNew'
 
-  export default {
-    name: 'RoleUserList',
-    mixins: [JeecgListMixin],
-    components: {
-      UserRoleModal,
-      SelectUserModal,
-      RoleModal,
-      UserModal,
-      moment
-    },
-    data() {
-      return {
-        model1: {},
-        model2: {},
-        currentRoleId: '',
-        queryParam1: {},
-        queryParam2: {},
-        dataSource1: [],
-        dataSource2: [],
-        ipagination1: {
-          current: 1,
-          pageSize: 10,
-          pageSizeOptions: ['10', '20', '30'],
-          showTotal: (total, range) => {
-            return range[0] + '-' + range[1] + ' 鍏�' + total + '鏉�'
+export default {
+  name: 'RoleUserList',
+  mixins: [JeecgListMixin],
+  components: {
+    UserRoleModal,
+    SelectUserModal,
+    RoleModal,
+    UserModal,
+    moment,
+    UserRoleModalNew
+  },
+  data() {
+    return {
+      model1: {},
+      model2: {},
+      currentRoleId: '',
+      queryParam1: {},
+      queryParam2: {},
+      dataSource1: [],
+      dataSource2: [],
+      ipagination1: {
+        current: 1,
+        pageSize: 10,
+        pageSizeOptions: ['10', '20', '30'],
+        showTotal: (total, range) => {
+          return range[0] + '-' + range[1] + ' 鍏�' + total + '鏉�'
+        },
+        showQuickJumper: true,
+        showSizeChanger: true,
+        total: 0
+      },
+      ipagination2: {
+        current: 1,
+        pageSize: 10,
+        pageSizeOptions: ['10', '20', '30'],
+        showTotal: (total, range) => {
+          return range[0] + '-' + range[1] + ' 鍏�' + total + '鏉�'
+        },
+        showQuickJumper: true,
+        showSizeChanger: true,
+        total: 0
+      },
+      isorter1: {
+        column: 'createTime',
+        order: 'desc'
+      },
+      isorter2: {
+        column: 'createTime',
+        order: 'desc'
+      },
+      filters1: {},
+      filters2: {},
+      loading1: false,
+      loading2: false,
+      selectedRowKeys1: [],
+      selectedRowKeys2: [],
+      selectionRows1: [],
+      selectionRows2: [],
+      test: {},
+      rightcolval: 0,
+      columns:
+        [
+          {
+            title: '瑙掕壊缂栫爜',
+            align: 'center',
+            dataIndex: 'roleCode'
           },
-          showQuickJumper: true,
-          showSizeChanger: true,
-          total: 0
-        },
-        ipagination2: {
-          current: 1,
-          pageSize: 10,
-          pageSizeOptions: ['10', '20', '30'],
-          showTotal: (total, range) => {
-            return range[0] + '-' + range[1] + ' 鍏�' + total + '鏉�'
+          {
+            title: '瑙掕壊鍚嶇О',
+            align: 'center',
+            dataIndex: 'roleName'
           },
-          showQuickJumper: true,
-          showSizeChanger: true,
-          total: 0
-        },
-        isorter1: {
-          column: 'createTime',
-          order: 'desc'
-        },
-        isorter2: {
-          column: 'createTime',
-          order: 'desc'
-        },
-        filters1: {},
-        filters2: {},
-        loading1: false,
-        loading2: false,
-        selectedRowKeys1: [],
-        selectedRowKeys2: [],
-        selectionRows1: [],
-        selectionRows2: [],
-        test:{},
-        rightcolval:0,
-        columns:
-          [
-            {
-              title: '瑙掕壊缂栫爜',
-              align: 'center',
-              dataIndex: 'roleCode'
-            },
-            {
-              title: '瑙掕壊鍚嶇О',
-              align: 'center',
-              dataIndex: 'roleName'
-            },
-            {
-              title: '鍒涘缓鏃堕棿',
-              dataIndex: 'createTime',
-              align:"center",
-              sorter: true,
-              customRender: (text) => {
-                return moment(text).format('YYYY-MM-DD')
-              }
-            },
-            {
-              title: '鎿嶄綔',
-              dataIndex: 'action',
-              align: 'center',
-              scopedSlots: { customRender: 'action' }
+          {
+            title: '鍒涘缓鏃堕棿',
+            dataIndex: 'createTime',
+            align: "center",
+            sorter: true,
+            customRender: (text) => {
+              return moment(text).format('YYYY-MM-DD')
             }
-          ],
-        columns2: [{
-          title: '鐢ㄦ埛璐﹀彿',
-          align: 'center',
-          dataIndex: 'username',
-          width: 120
-        },
-          {
-            title: '鐢ㄦ埛鍚嶇О',
-            align: 'center',
-            width: 100,
-            dataIndex: 'realname'
           },
-          {
-            title: '鐘舵��',
-            align: 'center',
-            width: 80,
-            dataIndex: 'status_dictText'
-          },
-
           {
             title: '鎿嶄綔',
             dataIndex: 'action',
-            scopedSlots: { customRender: 'action' },
             align: 'center',
-            width: 120
-          }],
-
-        // 楂樼骇鏌ヨ鍙傛暟
-        superQueryParams2: '',
-        // 楂樼骇鏌ヨ鎷兼帴鏉′欢
-        superQueryMatchType2: 'and',
-        url: {
-          list: '/sys/role/list',
-          delete: '/sys/role/delete',
-          list2: '/sys/user/userRoleList',
-          addUserRole: '/sys/user/addSysUserRole',
-          delete2: '/sys/user/deleteUserRole',
-          deleteBatch2: '/sys/user/deleteUserRoleBatch',
-          exportXlsUrl: 'sys/role/exportXls',
-          importExcelUrl: 'sys/role/importExcel'
-        }
-      }
-    },
-    computed: {
-      importExcelUrl: function() {
-        return `${window._CONFIG['domianURL']}/${this.url.importExcelUrl}`
-      },
-      leftColMd() {
-        return this.selectedRowKeys1.length === 0 ? 24 : 12
-      },
-      rightColMd() {
-        return this.selectedRowKeys1.length === 0 ? 0 : 12
-      }
-    },
-    methods: {
-      onSelectChange2(selectedRowKeys, selectionRows) {
-        this.selectedRowKeys2 = selectedRowKeys
-        this.selectionRows2 = selectionRows
-      },
-      onClearSelected2() {
-        this.selectedRowKeys2 = []
-        this.selectionRows2 = []
-      },
-      onClearSelected1() {
-        this.selectedRowKeys1 = []
-        this.selectionRows1 = []
-      },
-      onSelectChange1(selectedRowKeys, selectionRows) {
-        this.rightcolval = 1
-        this.selectedRowKeys1 = selectedRowKeys
-        this.selectionRows1 = selectionRows
-        this.model1 = Object.assign({}, selectionRows[0])
-        console.log(this.model1)
-        this.currentRoleId = selectedRowKeys[0]
-        this.loadData2()
-      },
-      onClearSelected() {
-      },
-
-      getQueryParams2() {
-        //鑾峰彇鏌ヨ鏉′欢
-        let sqp = {}
-        if (this.superQueryParams2) {
-          sqp['superQueryParams'] = encodeURI(this.superQueryParams2)
-          sqp['superQueryMatchType'] = this.superQueryMatchType2
-        }
-        var param = Object.assign(sqp, this.queryParam2, this.isorter2, this.filters2)
-        param.field = this.getQueryField2()
-        param.pageNo = this.ipagination2.current
-        param.pageSize = this.ipagination2.pageSize
-        return filterObj(param)
-      },
-      getQueryField2() {
-        //TODO 瀛楁鏉冮檺鎺у埗
-        var str = 'id,'
-        this.columns2.forEach(function(value) {
-          str += ',' + value.dataIndex
-        })
-        return str
-      },
-      handleEdit2: function(record) {
-        this.$refs.modalForm2.title = '缂栬緫'
-        this.$refs.modalForm2.roleDisabled = true
-        this.$refs.modalForm2.edit(record)
-      },
-      handleAdd2: function() {
-        if (this.currentRoleId == '') {
-          this.$message.error('璇烽�夋嫨涓�涓鑹�!')
-        } else {
-          this.$refs.modalForm2.roleDisabled = true
-          this.$refs.modalForm2.title = '鏂板'
-          this.$refs.modalForm2.edit({activitiSync:'1',userIdentity:1,selectedroles:this.currentRoleId})
-        }
-      },
-      modalFormOk2() {
-        // 鏂板/淇敼 鎴愬姛鏃讹紝閲嶈浇鍒楄〃
-        this.loadData2()
-      },
-      loadData2(arg) {
-        if (!this.url.list2) {
-          this.$message.error('璇疯缃畊rl.list2灞炴��!')
-          return
-        }
-        //鍔犺浇鏁版嵁 鑻ヤ紶鍏ュ弬鏁�1鍒欏姞杞界涓�椤电殑鍐呭
-        if (arg === 1) {
-          this.ipagination2.current = 1
-        }
-        if (this.currentRoleId === '') return
-        let params = this.getQueryParams2()//鏌ヨ鏉′欢
-        params.roleId = this.currentRoleId
-        this.loading2 = true
-        getAction(this.url.list2, params).then((res) => {
-          if (res.success) {
-            this.dataSource2 = res.result.records
-            this.ipagination2.total = res.result.total
-
+            scopedSlots: { customRender: 'action' }
           }
-          this.loading2 = false
-        })
+        ],
+      columns2: [{
+        title: '鐢ㄦ埛璐﹀彿',
+        align: 'center',
+        dataIndex: 'username',
+        width: 120
+      },
+      {
+        title: '鐢ㄦ埛鍚嶇О',
+        align: 'center',
+        width: 100,
+        dataIndex: 'realname'
+      },
+      {
+        title: '鐘舵��',
+        align: 'center',
+        width: 80,
+        dataIndex: 'status_dictText'
+      },
 
-      },
-      handleDelete1: function(id) {
-        this.handleDelete(id)
-        this.dataSource2 = []
-        this.currentRoleId = ''
-      },
-      handleDelete2: function(id) {
-        if (!this.url.delete2) {
-          this.$message.error('璇疯缃畊rl.delete2灞炴��!')
-          return
+      {
+        title: '鎿嶄綔',
+        dataIndex: 'action',
+        scopedSlots: { customRender: 'action' },
+        align: 'center',
+        width: 120
+      }],
+
+      // 楂樼骇鏌ヨ鍙傛暟
+      superQueryParams2: '',
+      // 楂樼骇鏌ヨ鎷兼帴鏉′欢
+      superQueryMatchType2: 'and',
+      url: {
+        list: '/sys/role/list',
+        delete: '/sys/role/delete',
+        list2: '/sys/user/userRoleList',
+        addUserRole: '/sys/user/addSysUserRole',
+        delete2: '/sys/user/deleteUserRole',
+        deleteBatch2: '/sys/user/deleteUserRoleBatch',
+        exportXlsUrl: 'sys/role/exportXls',
+        importExcelUrl: 'sys/role/importExcel'
+      }
+    }
+  },
+  computed: {
+    importExcelUrl: function () {
+      return `${window._CONFIG['domianURL']}/${this.url.importExcelUrl}`
+    },
+    leftColMd() {
+      return this.selectedRowKeys1.length === 0 ? 24 : 12
+    },
+    rightColMd() {
+      return this.selectedRowKeys1.length === 0 ? 0 : 12
+    }
+  },
+  methods: {
+    onSelectChange2(selectedRowKeys, selectionRows) {
+      this.selectedRowKeys2 = selectedRowKeys
+      this.selectionRows2 = selectionRows
+    },
+    onClearSelected2() {
+      this.selectedRowKeys2 = []
+      this.selectionRows2 = []
+    },
+    onClearSelected1() {
+      this.selectedRowKeys1 = []
+      this.selectionRows1 = []
+    },
+    onSelectChange1(selectedRowKeys, selectionRows) {
+      this.rightcolval = 1
+      this.selectedRowKeys1 = selectedRowKeys
+      this.selectionRows1 = selectionRows
+      this.model1 = Object.assign({}, selectionRows[0])
+      console.log(this.model1)
+      this.currentRoleId = selectedRowKeys[0]
+      this.loadData2()
+    },
+    onClearSelected() {
+    },
+
+    getQueryParams2() {
+      //鑾峰彇鏌ヨ鏉′欢
+      let sqp = {}
+      if (this.superQueryParams2) {
+        sqp['superQueryParams'] = encodeURI(this.superQueryParams2)
+        sqp['superQueryMatchType'] = this.superQueryMatchType2
+      }
+      var param = Object.assign(sqp, this.queryParam2, this.isorter2, this.filters2)
+      param.field = this.getQueryField2()
+      param.pageNo = this.ipagination2.current
+      param.pageSize = this.ipagination2.pageSize
+      return filterObj(param)
+    },
+    getQueryField2() {
+      //TODO 瀛楁鏉冮檺鎺у埗
+      var str = 'id,'
+      this.columns2.forEach(function (value) {
+        str += ',' + value.dataIndex
+      })
+      return str
+    },
+    handleEdit2: function (record) {
+      this.$refs.modalForm2.title = '缂栬緫'
+      this.$refs.modalForm2.roleDisabled = true
+      this.$refs.modalForm2.edit(record)
+    },
+    handleAdd2: function () {
+      if (this.currentRoleId == '') {
+        this.$message.error('璇烽�夋嫨涓�涓鑹�!')
+      } else {
+        this.$refs.modalForm2.roleDisabled = true
+        this.$refs.modalForm2.title = '鏂板'
+        this.$refs.modalForm2.edit({ activitiSync: '1', userIdentity: 1, selectedroles: this.currentRoleId })
+      }
+    },
+    modalFormOk2() {
+      // 鏂板/淇敼 鎴愬姛鏃讹紝閲嶈浇鍒楄〃
+      this.loadData2()
+    },
+    loadData2(arg) {
+      if (!this.url.list2) {
+        this.$message.error('璇疯缃畊rl.list2灞炴��!')
+        return
+      }
+      //鍔犺浇鏁版嵁 鑻ヤ紶鍏ュ弬鏁�1鍒欏姞杞界涓�椤电殑鍐呭
+      if (arg === 1) {
+        this.ipagination2.current = 1
+      }
+      if (this.currentRoleId === '') return
+      let params = this.getQueryParams2()//鏌ヨ鏉′欢
+      params.roleId = this.currentRoleId
+      this.loading2 = true
+      getAction(this.url.list2, params).then((res) => {
+        if (res.success) {
+          this.dataSource2 = res.result.records
+          this.ipagination2.total = res.result.total
+
+        }
+        this.loading2 = false
+      })
+
+    },
+    handleDelete1: function (id) {
+      this.handleDelete(id)
+      this.dataSource2 = []
+      this.currentRoleId = ''
+    },
+    handleDelete2: function (id) {
+      if (!this.url.delete2) {
+        this.$message.error('璇疯缃畊rl.delete2灞炴��!')
+        return
+      }
+      var that = this
+      deleteAction(that.url.delete2, { roleId: this.currentRoleId, userId: id }).then((res) => {
+        if (res.success) {
+          that.$message.success(res.message)
+          that.loadData2()
+        } else {
+          that.$message.warning(res.message)
+        }
+      })
+    },
+    batchDel2: function () {
+
+      if (!this.url.deleteBatch2) {
+        this.$message.error('璇疯缃畊rl.deleteBatch2灞炴��!')
+        return
+      }
+      if (this.selectedRowKeys2.length <= 0) {
+        // this.$message.warning('璇烽�夋嫨涓�鏉¤褰曪紒')
+        this.$notification.warning({
+          message: '娑堟伅',
+          description: "璇烽�夋嫨涓�鏉¤褰�"
+        });
+        return
+      } else {
+        var ids = ''
+        for (var a = 0; a < this.selectedRowKeys2.length; a++) {
+          ids += this.selectedRowKeys2[a] + ','
         }
         var that = this
-        deleteAction(that.url.delete2, { roleId: this.currentRoleId, userId: id }).then((res) => {
-          if (res.success) {
-            that.$message.success(res.message)
-            that.loadData2()
-          } else {
-            that.$message.warning(res.message)
+        console.log(this.currentDeptId)
+        this.$confirm({
+          title: '纭鍒犻櫎',
+          content: '鏄惁鍒犻櫎閫変腑鏁版嵁?',
+          onOk: function () {
+            deleteAction(that.url.deleteBatch2, { roleId: that.currentRoleId, userIds: ids }).then((res) => {
+              if (res.success) {
+                that.$message.success(res.message)
+                that.loadData2()
+                that.onClearSelected()
+              } else {
+                that.$message.warning(res.message)
+              }
+            })
           }
         })
-      },
-      batchDel2: function() {
+      }
+    },
+    selectOK(data) {
+      let params = {}
+      params.roleId = this.currentRoleId
+      params.userIdList = []
+      for (var a = 0; a < data.length; a++) {
+        params.userIdList.push(data[a])
+      }
+      console.log(params)
+      postAction(this.url.addUserRole, params).then((res) => {
+        if (res.success) {
+          this.loadData2()
+          this.$message.success(res.message)
+        } else {
+          this.$message.warning(res.message)
+        }
+      })
+    },
 
-        if (!this.url.deleteBatch2) {
-          this.$message.error('璇疯缃畊rl.deleteBatch2灞炴��!')
-          return
-        }
-        if (this.selectedRowKeys2.length <= 0) {
-          // this.$message.warning('璇烽�夋嫨涓�鏉¤褰曪紒')
-          this.$notification.warning({
-            message:'娑堟伅',
-            description:"璇烽�夋嫨涓�鏉¤褰�"
-          });
-          return
-        } else {
-          var ids = ''
-          for (var a = 0; a < this.selectedRowKeys2.length; a++) {
-            ids += this.selectedRowKeys2[a] + ','
-          }
-          var that = this
-          console.log(this.currentDeptId)
-          this.$confirm({
-            title: '纭鍒犻櫎',
-            content: '鏄惁鍒犻櫎閫変腑鏁版嵁?',
-            onOk: function() {
-              deleteAction(that.url.deleteBatch2, { roleId: that.currentRoleId, userIds: ids }).then((res) => {
-                if (res.success) {
-                  that.$message.success(res.message)
-                  that.loadData2()
-                  that.onClearSelected()
-                } else {
-                  that.$message.warning(res.message)
-                }
-              })
-            }
-          })
-        }
-      },
-      selectOK(data) {
-        let params = {}
-        params.roleId = this.currentRoleId
-        params.userIdList = []
-        for (var a = 0; a < data.length; a++) {
-          params.userIdList.push(data[a])
-        }
-        console.log(params)
-        postAction(this.url.addUserRole, params).then((res) => {
-          if (res.success) {
-            this.loadData2()
-            this.$message.success(res.message)
-          } else {
-            this.$message.warning(res.message)
-          }
-        })
-      },
-
-      handleAddUserRole() {
-        if (this.currentRoleId == '') {
-          this.$message.error('璇烽�夋嫨涓�涓鑹�!')
-        } else {
-          this.$refs.selectUserModal.visible = true
-        }
-      },
-      handleOpen(record) {
-        this.rightcolval = 1
-        this.selectedRowKeys1 = [record.id]
-        this.model1 = Object.assign({}, record)
-        this.currentRoleId = record.id
-        this.onClearSelected2()
-        this.loadData2()
-      },
-      /*handleEdit: function(record) {
-        if (this.currentRoleId == '') {
-          this.$message.error('璇烽�夋嫨涓�涓鑹�!')
-        } else {
-          this.$refs.modalForm.edit(record)
-          this.$refs.modalForm.title = '缂栬緫'
-        }
-      },*/
-      searchQuery2() {
-        this.loadData2(1)
-      },
-      searchReset2() {
-        this.queryParam2 = {}
-        this.loadData2(1)
-      },
-      handleTableChange2(pagination, filters, sorter) {
-        //鍒嗛〉銆佹帓搴忋�佺瓫閫夊彉鍖栨椂瑙﹀彂
-        //TODO 绛涢��
-        if (Object.keys(sorter).length > 0) {
-          this.isorter2.column = sorter.field
-          this.isorter2.order = 'ascend' == sorter.order ? 'asc' : 'desc'
-        }
-        this.ipagination2 = pagination
-        this.loadData2()
-      },
-      hideUserList(){
-        //this.rightcolval = 0
-        this.selectedRowKeys1 = []
-      },
-      handlePerssion(roleId){
-        this.$refs.modalUserRole.show(roleId);
-      },
-    }
+    handleAddUserRole() {
+      if (this.currentRoleId == '') {
+        this.$message.error('璇烽�夋嫨涓�涓鑹�!')
+      } else {
+        this.$refs.selectUserModal.visible = true
+      }
+    },
+    handleOpen(record) {
+      this.rightcolval = 1
+      this.selectedRowKeys1 = [record.id]
+      this.model1 = Object.assign({}, record)
+      this.currentRoleId = record.id
+      this.onClearSelected2()
+      this.loadData2()
+    },
+    /*handleEdit: function(record) {
+      if (this.currentRoleId == '') {
+        this.$message.error('璇烽�夋嫨涓�涓鑹�!')
+      } else {
+        this.$refs.modalForm.edit(record)
+        this.$refs.modalForm.title = '缂栬緫'
+      }
+    },*/
+    searchQuery2() {
+      this.loadData2(1)
+    },
+    searchReset2() {
+      this.queryParam2 = {}
+      this.loadData2(1)
+    },
+    handleTableChange2(pagination, filters, sorter) {
+      //鍒嗛〉銆佹帓搴忋�佺瓫閫夊彉鍖栨椂瑙﹀彂
+      //TODO 绛涢��
+      if (Object.keys(sorter).length > 0) {
+        this.isorter2.column = sorter.field
+        this.isorter2.order = 'ascend' == sorter.order ? 'asc' : 'desc'
+      }
+      this.ipagination2 = pagination
+      this.loadData2()
+    },
+    hideUserList() {
+      //this.rightcolval = 0
+      this.selectedRowKeys1 = []
+    },
+    handlePerssion(roleId) {
+      this.$refs.modalUserRole.show(roleId);
+    },
   }
+}
 </script>
 <style scoped>
-  /** Button鎸夐挳闂磋窛 */
-  .ant-btn {
-    margin-left: 8px
-  }
+/** Button鎸夐挳闂磋窛 */
+.ant-btn {
+  margin-left: 8px;
+}
 </style>
\ No newline at end of file

--
Gitblit v1.9.3