From d33eacc1f85ac3a736b33ba4713a19aae466d711 Mon Sep 17 00:00:00 2001
From: loulijun2021 <1694218219@qq.com>
Date: 星期五, 05 八月 2022 16:42:53 +0800
Subject: [PATCH] 1.做适应平板显示的内容大小

---
 src/views/jcsz/yhqd.vue |  623 +++++++++++++++++++++++++++++++++++++++++++++++---------
 1 files changed, 517 insertions(+), 106 deletions(-)

diff --git a/src/views/jcsz/yhqd.vue b/src/views/jcsz/yhqd.vue
index f7c0952..573a413 100644
--- a/src/views/jcsz/yhqd.vue
+++ b/src/views/jcsz/yhqd.vue
@@ -1,8 +1,7 @@
 <template>
   <div>
-    <!--    <div class="body" style="background-color: #ffffff;  padding: 20px 10px 0 20px;">-->
-    <div class="body" style="background-color: #ffffff;  padding: 20px 10px 0 20px;" :style="{height:mainHeight+'px'}">
-      <div>
+    <div class="body" :style="{height:mainHeight+'px'}">
+      <div style="padding: 10px 5px 0 0">
         <el-form
           ref="form"
           :model="form"
@@ -12,22 +11,31 @@
         >
           <div class="elForm">
             <el-form-item label="鐢ㄦ埛缂栫爜" style=" display: flex;">
-              <el-input v-model="form.UserCode" placeholder="璇疯緭鍏�" style="width: calc(100%-30px)" />
+              <el-input v-model="form.UserCode" placeholder="璇疯緭鍏�" style="width: 200px" />
             </el-form-item>
             <el-form-item label="鐢ㄦ埛鍚嶇О" style=" display: flex;">
-              <el-input v-model="form.UserName" placeholder="璇疯緭鍏�" style="width: calc(100%-30px)" />
+              <el-input v-model="form.UserName" placeholder="璇疯緭鍏�" style="width: 200px" />
             </el-form-item>
             <el-form-item label="鎵�灞炵粍缁�" style=" display: flex;">
               <el-cascader
                 ref="cascader"
                 filterable
+                popper-class="elCascader"
                 :options="StuOrgArr"
                 :props="defaultProps"
                 @change="cascaderChange"
               />
+              <!--              @focus="getUserOrganization"-->
+
             </el-form-item>
             <el-form-item label="宸ヨ祫绫诲瀷" style=" display: flex;">
-              <el-select v-model="form.wagetype" filterable style="width: calc(100%-30px)" placeholder="璇烽�夋嫨">
+              <el-select
+                v-model="form.wagetype"
+                :popper-append-to-body="false"
+                filterable
+                style="width: 200px"
+                placeholder="璇烽�夋嫨"
+              >
                 <el-option
                   v-for="item in wagetypeArr"
                   :key="item.value"
@@ -37,7 +45,13 @@
               </el-select>
             </el-form-item>
             <el-form-item label="鍦ㄨ亴鐘舵��" style=" display: flex;">
-              <el-select v-model="form.Enable" filterable style="width: calc(100%-30px)" placeholder="璇烽�夋嫨">
+              <el-select
+                v-model="form.Enable"
+                :popper-append-to-body="false"
+                filterable
+                style="width: 200px"
+                placeholder="璇烽�夋嫨"
+              >
                 <el-option
                   v-for="item in EnableArr"
                   :key="item.value"
@@ -53,14 +67,19 @@
           </div>
         </el-form>
       </div>
-      <div style="margin-bottom: 20px;display: flex;z-index: 2">
+      <el-divider />
+      <div style="margin-left: 10px;display: flex">
         <el-button type="primary" icon="el-icon-circle-plus-outline" @click="add('add')">鏂板</el-button>
+        <el-button type="primary" icon="el-icon-menu" @click="workingTramClick">鐢熶骇鐝粍</el-button>
         <el-button type="primary" icon="el-icon-upload2" @click="upload">瀵煎叆</el-button>
       </div>
-      <div style="display: flex;border: 1px solid #eee">
+      <el-divider />
+      <div class="elTableDiv">
         <el-table
           :data="tableData"
           border
+          stripe
+          :height="tableHeight+'px'"
           highlight-current-row
           :style="{width: 100+'%',height:tableHeight+'px'}"
           :header-cell-style="this.$headerCellStyle"
@@ -75,31 +94,43 @@
             prop="RowNum"
             width="50"
             label="搴忓彿"
+            fixed
           />
           <el-table-column
             prop="usercode"
             label="鐢ㄦ埛缂栫爜"
+            min-width="110"
             sortable="custom"
           />
           <el-table-column
             prop="username"
             label="鐢ㄦ埛鍚嶇О"
+            min-width="110"
             sortable="custom"
           />
           <el-table-column
             prop="password"
             label="鐢ㄦ埛瀵嗙爜"
+            min-width="110"
             sortable="custom"
           />
           <el-table-column
             prop="org_name"
             label="鎵�灞炵粍缁�"
+            min-width="110"
+            sortable="custom"
+          />
+          <el-table-column
+            prop="group_name"
+            label="鐢熶骇鐝粍"
+            min-width="110"
             sortable="custom"
           />
           <el-table-column
             prop="wagetype"
-            label="鎵�灞炵粍缁�"
+            label="宸ヨ祫绫诲瀷"
             sortable="custom"
+            width="110"
           >
             <template slot-scope="{row}">
               <div v-if="row.wagetype==='1'">璁℃椂鍒�</div>
@@ -109,16 +140,29 @@
           <el-table-column
             prop="mobile"
             label="鑱旂郴鏂瑰紡"
+            min-width="110"
             sortable="custom"
-          />
+          >
+            <template slot-scope="{row}">
+              <div v-if="row.mobile===''">/</div>
+              <div v-else>{{ row.mobile }}</div>
+            </template>
+          </el-table-column>
           <el-table-column
             prop="email"
             label="鐢靛瓙閭"
             sortable="custom"
-          />
+            min-width="110"
+          >
+            <template slot-scope="{row}">
+              <div v-if="row.email===''">/</div>
+              <div v-else>{{ row.email }}</div>
+            </template>
+          </el-table-column>
           <el-table-column
-            prop=""
+            prop="enable"
             label="鍦ㄨ亴鐘舵��"
+            width="110"
             sortable="custom"
           >
             <template slot-scope="{row}">
@@ -129,29 +173,33 @@
           <el-table-column
             prop="lm_user"
             label="鍒涘缓浜哄憳"
+            width="110"
             sortable="custom"
           />
           <el-table-column
             prop="lm_date"
             label="鍒涘缓鏃堕棿"
-            width="200"
-            show-overflow-tooltip
+            width="160"
             sortable="custom"
           />
           <el-table-column
             prop="is_role"
             label="鍏宠仈瑙掕壊"
+            width="110"
           >
             <template slot-scope="{row}">
-              <i class="el-icon-share" @click="roleClick({row})" />
+              <i v-if="row.is_role==='Y'" class="el-icon-share" @click="roleClick({row})" />
+              <i v-if="row.is_role==='N'" class="el-icon-share" style="color: rgb(180 ,181, 185)" @click="roleClick({row})" />
             </template>
           </el-table-column>
           <el-table-column
             label="鎿嶄綔"
+            fixed="right"
+            width="120"
           >
             <template slot-scope="{row}">
               <div class="operationClass">
-                <el-button type="text" @click="edit('edit',row)">淇敼</el-button>
+                <el-button type="text" @click="edit('edit',row)">缂栬緫</el-button>
                 <el-button type="text" @click="del(row.id)">鍒犻櫎</el-button>
               </div>
             </template>
@@ -171,30 +219,32 @@
       />
     </div>
 
-    <!--    鐢ㄦ埛娓呭崟鏂板銆佷慨鏀�-->
+    <!--    鐢ㄦ埛娓呭崟鏂板銆佺紪杈�-->
     <el-dialog
-      :title="operation==='add'?'娣诲姞':'淇敼'"
+      :title="operation==='add'?'鏂板':'缂栬緫'"
       :visible.sync="dialogVisible"
-      width="50%"
+      width="800px"
+      :close-on-click-modal="false"
       top="15vh"
       @closed="handleClose"
       @close="handleClose"
     >
       <el-form ref="dialogForm" :rules="dialogFormRules" inline :model="dialogForm" label-width="80px">
         <el-form-item label="鐢ㄦ埛缂栫爜" prop="UserCode">
-          <el-input v-model="dialogForm.UserCode" :disabled="operation!=='add'" style="width: 220px" />
+          <el-input v-model="dialogForm.UserCode" :disabled="operation!=='add'" style="width: 200px" />
         </el-form-item>
         <el-form-item label="鐢ㄦ埛鍚嶇О" prop="UserName">
-          <el-input v-model="dialogForm.UserName" style="width: 220px" />
+          <el-input v-model="dialogForm.UserName" style="width: 200px" />
         </el-form-item>
         <el-form-item label="鐢ㄦ埛瀵嗙爜" prop="Password">
-          <el-input v-model="dialogForm.Password" style="width: 220px" />
+          <el-input v-model="dialogForm.Password" style="width: 200px" />
         </el-form-item>
         <el-form-item label="鍦ㄨ亴鐘舵��" prop="Enable">
           <el-select
             v-model="dialogForm.Enable"
+            :popper-append-to-body="false"
             filterable
-            style="width: 220px"
+            style="width: 200px"
             placeholder="璇烽�夋嫨"
           >
             <el-option
@@ -205,39 +255,55 @@
             />
           </el-select>
         </el-form-item>
-        <div style="display: flex">
-          <el-form-item label="鎵�灞炵粍缁�" prop="StuOrg" style="display: flex">
-            <el-cascader
-              ref="dialogCascader"
-              key="cascaderKey"
-              filterable
-              :options="StuOrgArr"
-              :props="defaultProps"
-              style="width: 220px;"
-              @change="dialogCascaderChange"
-            />
-          </el-form-item>
-          <el-form-item label="宸ヨ祫绫诲瀷" prop="wagetype">
-            <el-select
-              v-model="dialogForm.wagetype"
-              filterable
-              style="width: 220px"
-              placeholder="璇烽�夋嫨"
-            >
-              <el-option
-                v-for="item in wagetypeArr"
-                :key="item.value"
-                :label="item.label"
-                :value="item.value"
-              />
-            </el-select>
-          </el-form-item>
-        </div>
-        <el-form-item label="鑱旂郴鏂瑰紡">
-          <el-input v-model="dialogForm.Mobile" style="width: 220px" />
+        <el-form-item label="鎵�灞炵粍缁�" prop="StuOrg" style="display: flex;float: left">
+          <el-cascader
+            ref="dialogCascader"
+            key="cascaderKey"
+            filterable
+            popper-class="elCascader"
+            :options="StuOrgArr2"
+            :props="defaultProps"
+            style="width: 200px;"
+            @change="dialogCascaderChange"
+          />
         </el-form-item>
-        <el-form-item label="鐢靛瓙閭">
-          <el-input v-model="dialogForm.Email" style="width: 220px" />
+        <el-form-item label="鎵�灞炵彮缁�" prop="groupcode">
+          <el-select
+            v-model="dialogForm.groupcode"
+            :popper-append-to-body="false"
+            filterable
+            style="width: 200px"
+            placeholder="璇烽�夋嫨"
+          >
+            <el-option
+              v-for="item in usergroupArr"
+              :key="item.group_code"
+              :label="item.group_name"
+              :value="item.group_code"
+            />
+          </el-select>
+        </el-form-item>
+        <el-form-item label="宸ヨ祫绫诲瀷" prop="wagetype">
+          <el-select
+            v-model="dialogForm.wagetype"
+            :popper-append-to-body="false"
+            filterable
+            style="width: 200px"
+            placeholder="璇烽�夋嫨"
+          >
+            <el-option
+              v-for="item in wagetypeArr"
+              :key="item.value"
+              :label="item.label"
+              :value="item.value"
+            />
+          </el-select>
+        </el-form-item>
+        <el-form-item label="鑱旂郴鏂瑰紡" prop="Mobile">
+          <el-input v-model="dialogForm.Mobile" style="width: 200px" />
+        </el-form-item>
+        <el-form-item label="鐢靛瓙閭" prop="Email">
+          <el-input v-model="dialogForm.Email" style="width: 200px" />
         </el-form-item>
       </el-form>
       <span slot="footer" class="dialog-footer">
@@ -252,8 +318,10 @@
     <el-dialog
       title="鍏宠仈瑙掕壊"
       :visible.sync="dialogVisibleRoles"
-      width="50%"
-      top="15vh"
+      width="800px"
+      :top="isIpad?'3vh':'15vh'"
+      :fullscreen="isIpad"
+      :close-on-click-modal="false"
       class="dialogVisibleRoles"
       @closed="handleCloseRoles"
       @close="handleCloseRoles"
@@ -300,6 +368,7 @@
           show-checkbox
           node-key="code"
           default-expand-all
+          style="height: 300px"
           :props="defaultPropsOfRoleTree"
           @check="checkBoxClick"
         />
@@ -313,25 +382,131 @@
         </div>
       </span>
     </el-dialog>
+
+    <!--    浜х粍鎸夐挳瀵硅瘽妗�-->
+    <el-dialog
+      title="鐢熶骇鐝粍"
+      :visible.sync="workingDialogVisible"
+      width="800px"
+      top="15vh"
+      :close-on-click-modal="false"
+      class="workingDialogVisible"
+      @close="handleCloseWorking"
+    >
+      <div style="margin-bottom: 20px;display: flex">
+        <el-button type="primary" icon="el-icon-circle-plus-outline" @click="addWorking">鏂板</el-button>
+        <!--        <el-button type="primary" icon="el-icon-delete" @click="delSetting">鍒犻櫎</el-button>-->
+      </div>
+      <el-table
+        :data="workingTableData"
+        border
+        height="300"
+        highlight-current-row
+        :header-cell-style="this.$headerCellStyle"
+        :cell-style="this.$cellStyle"
+        @sort-change="sortChangeOfWorking"
+      >
+        <!--        :style="{width: 100+'%',height:tableHeight-300+'px'}"-->
+
+        <!--        <el-table-column-->
+        <!--          type="selection"-->
+        <!--          width="50"-->
+        <!--        />-->
+        <el-table-column
+          width="50"
+          label="搴忓彿"
+          prop="RowNum"
+        />
+        <el-table-column
+          prop="group_code"
+          label="鐝粍缂栫爜"
+          sortable="custom"
+        >
+          <template slot-scope="{row}">
+            <el-input v-if="row.isVisible===1" v-model="row.group_code" placeholder="璇疯緭鍏�" />
+            <div v-else> {{ row.group_code }}</div>
+          </template>
+        </el-table-column>
+        <el-table-column
+          prop="group_name"
+          label="鐝粍鍚嶇О"
+          sortable="custom"
+        >
+          <template slot-scope="{row}">
+            <el-input v-if="row.isVisible===1" v-model="row.group_name" placeholder="璇疯緭鍏�" />
+            <div v-else> {{ row.group_name }}</div>
+          </template>
+        </el-table-column>
+        <el-table-column
+          prop="description"
+          label="鐝粍鎻忚堪"
+          sortable="custom"
+        >
+          <template slot-scope="{row}">
+            <el-input v-if="row.isVisible===1" v-model="row.description" placeholder="璇疯緭鍏�" />
+            <div v-else> {{ row.description }}</div>
+          </template>
+        </el-table-column>
+        <el-table-column label="鎿嶄綔">
+          <template slot-scope="{row}">
+            <div class="operationClass">
+              <el-button v-if="row.isVisible===0" type="text" @click="delWorking(row)">鍒犻櫎</el-button>
+              <el-button v-if="row.isVisible===1" type="text" @click="saveWorking(row)">淇濆瓨</el-button>
+              <el-button v-if="row.isVisible===1" type="text" @click="cancelWorking(row)">鍙栨秷</el-button>
+            </div>
+          </template>
+        </el-table-column>
+      </el-table>
+      <!--鍒嗛〉-->
+      <pagination
+        v-show="workingTableDataLength>0"
+        :total="workingTableDataLength"
+        :page.sync="formWorking.page"
+        :limit.sync="formWorking.rows"
+        align="right"
+        layout="prev, pager, next,sizes"
+        popper-class="select_bottom"
+        @pagination="getUserGroupSearch"
+      />
+      <span slot="footer" class="dialog-footer">
+        <div class="footerButton">
+          <el-button @click="WorkingDialogVisibleCancel">杩斿洖</el-button>
+          <!--          <el-button type="primary" @click="settingDialogVisibleConfirm">纭� 瀹�</el-button>-->
+        </div>
+      </span>
+    </el-dialog>
+
+    <!--瀵煎叆缁勪欢-->
+    <import-picker ref="importPickerFunc" :shows.sync="shows" :title="title_value" :colos="colos" :code="code" />
+
   </div>
 </template>
 
 <script>
 import Pagination from '@/components/Pagination'
+import ImportPicker from '@/components/ImportPicker'
+
 import {
   AddUpdateUser,
-  DeleteUser, SaveUserAssoctRole, UserAssociationRole,
+  DeleteUser,
+  SaveUserAssoctRole,
+  UserAssociationRole,
+  UserGroupAdd,
+  UserGroupDelete,
+  UserGroupSearch,
   UserOrganization,
   UserSearch
 } from '@/api/jcsz'
 import { getCookie } from '@/utils/auth'
 import $ from 'jquery'
+import clearAllChildren from '@/utils/global'
+import { MesOrderStepReportSelectUserGroup } from '@/api/scgl'
 
 const SER_HZ = /^[\u4e00-\u9fa5]+$/
 export default {
-  name: 'Zzjg',
+  name: 'YYQD',
   components: {
-    Pagination
+    Pagination, ImportPicker
   },
   data() {
     const validateName = (rule, value, callback) => {
@@ -345,7 +520,38 @@
         }
       }
     }
+    const validateMobile = (rule, value, callback) => {
+      if (!value) {
+        callback()
+        // return callback(new Error('璇疯緭鍏ョ數璇濆彿鐮�'))
+      } else {
+        const mobile = /^(13[0-9]|14[01456879]|15[0-35-9]|16[2567]|17[0-8]|18[0-9]|19[0-35-9])\d{8}$/ // 闀垮彿
+        const mobile2 = /^[0-9]{6}$/ // 鐭彿
+        if (mobile.test(value) || mobile2.test(value)) {
+          callback()
+          // return callback(new Error('鐢佃瘽鍙风爜涓嶇鍚堣鍒�'))
+        } else {
+          return callback(new Error('鐢佃瘽鍙风爜涓嶇鍚堣鍒�'))
+          // callback()
+        }
+      }
+    }
+    const validateEmail = (rule, value, callback) => {
+      if (!value) {
+        callback()
+        // return callback(new Error('璇疯緭鍏ョ數瀛愰偖绠�'))
+      } else {
+        const email = /^[a-zA-Z0-9_-]+@[a-zA-Z0-9_-]+(.[a-zA-Z0-9_-]+)+$/
+        if (email.test(value)) {
+          callback()
+        } else {
+          return callback(new Error('鐢靛瓙閭涓嶇鍚堣鍒�'))
+        }
+      }
+    }
+
     return {
+      isIpad: false,
       mainHeight: 0,
       tableHeight: 0,
       form: {
@@ -360,6 +566,7 @@
         rows: 20 // 姣忛〉澶氬皯鏉�
       },
       StuOrgArr: [], // 鎵�灞炵粍缁囨暟缁�
+      StuOrgArr2: [], // 鎵�灞炵粍缁囨暟缁�  瀵硅瘽妗�
       defaultProps: {
         checkStrictly: true,
         value: 'code',
@@ -378,17 +585,19 @@
         UserCode: '',
         UserName: '',
         Password: '',
-        Enable: '',
+        Enable: 'Y',
         StuOrg: '',
         Mobile: '',
         Email: '',
+        groupcode: '',
         Operator: '',
         OperType: '',
         wagetype: ''
       },
+      usergroupArr: [], // 鐢熶骇鐝粍鏁扮粍
       wagetypeArr: [
-        { value: '1', label: '璁′欢鍒�' },
-        { value: '2', label: '璁℃椂鍒�' }
+        { value: '2', label: '璁′欢鍒�' },
+        { value: '1', label: '璁℃椂鍒�' }
       ],
       operation: '',
       dialogFormRules: {
@@ -409,7 +618,17 @@
         ],
         wagetype: [
           { required: true, message: '璇烽�夋嫨宸ヨ祫绫诲瀷', trigger: ['blur', 'change'] }
+        ],
+        groupcode: [
+          { required: true, message: '璇烽�夋嫨鎵�灞炵彮缁�', trigger: ['blur', 'change'] }
+        ],
+        Mobile: [
+          { required: false, validator: validateMobile, trigger: ['blur', 'change'] }
+        ],
+        Email: [
+          { required: false, validator: validateEmail, trigger: ['blur', 'change'] }
         ]
+
       },
       dialogVisibleRoles: false,
       dialogFormRoles: {
@@ -425,33 +644,70 @@
         value: 'code',
         label: 'name',
         children: 'children'
-      }
+      },
+      workingDialogVisible: false,
+      workingTableData: [],
+      workingTableDataLength: 0,
+      formWorking: {
+        rows: 10,
+        page: 1,
+        prop: 'group_code',
+        order: 'desc'
+      },
 
+      title_value: '鏁版嵁瀵煎叆 / 鐢ㄦ埛娓呭崟',
+      code: '2',
+      shows: false
+    }
+  },
+  watch: {
+    shows() {
+      if (!this.shows) {
+        this.getUserSearch()
+      }
     }
   },
   created() {
-    this.getUserSearch()
-    this.getUserOrganization()
+    this.handleRequest()
   },
+
   mounted() {
     window.addEventListener('resize', this.getHeight)
     this.getHeight()
   },
   methods: {
+    handleRequest() {
+      this.getUserSearch().then(res => {
+        if (res.code === '200') {
+          this.getUserOrganization()
+        }
+      })
+    },
+
     // 鑾峰彇鐢ㄦ埛娓呭崟
     async getUserSearch() {
       const res = await UserSearch(this.form)
       this.tableData = res.data
       this.total = res.count
+      return { code: res.code }
     },
     // 鑾峰彇鎵�灞炵粍缁�
     async getUserOrganization() {
       const { data: res } = await UserOrganization()
-      this.StuOrgArr = res
+      this.StuOrgArr = clearAllChildren(res)
+    },
+    // 鑾峰彇鎵�灞炵粍缁囧璇濇
+    async getUserOrganization2() {
+      const { data: res } = await UserOrganization()
+      this.StuOrgArr2 = clearAllChildren(res)
     },
     // 瀵煎叆鎸夐挳
     upload() {
-
+      this.shows = true
+      this.$refs.importPickerFunc.newDataFunc()
+    },
+    colos() {
+      this.shows = false
     },
     // 鎺掑簭鏀瑰彉鏃�
     sortChange({ column, prop, order }) {
@@ -475,7 +731,7 @@
       this.form.UserCode = ''
       this.form.UserName = ''
       this.form.StuOrg = ''
-      this.form.Enable = ''
+      this.form.Enable = 'Y'
       this.form.wagetype = ''
       this.$refs.cascader.checkedValue = ''// 绾ц仈閫夋嫨鍣ㄧ殑娓呯┖
       this.getUserSearch()
@@ -487,10 +743,17 @@
     dialogCascaderChange(val) {
       this.dialogForm.StuOrg = val[val.length - 1]
     },
+    // 鑾峰彇涓嬫媺鐢熶骇鐝粍
+    async getMesOrderStepReportSelectUserGroup() {
+      const { data: res } = await MesOrderStepReportSelectUserGroup()
+      this.usergroupArr = res
+    },
     // 鏂板鎸夐挳
     add(operation) {
       this.operation = operation
       this.dialogVisible = true
+      this.getUserOrganization2()
+      this.getMesOrderStepReportSelectUserGroup()
     },
     // 淇敼鎸夐挳
     edit(operation, row) {
@@ -503,6 +766,7 @@
         this.dialogForm.UserCode = row.usercode
         this.dialogForm.UserName = row.username
         this.dialogForm.Password = row.password
+        this.dialogForm.groupcode = row.group_code
         this.dialogForm.Enable = row.enable
         this.dialogForm.StuOrg = row.stu_torgcode
         this.$refs.dialogCascader.checkedValue = row.stu_torgcode
@@ -510,6 +774,8 @@
         this.dialogForm.Email = row.email
         this.dialogForm.wagetype = row.wagetype
       })
+      this.getMesOrderStepReportSelectUserGroup()
+      this.getUserOrganization2()
     },
     // 鍒犻櫎鎸夐挳
     async del(id) {
@@ -534,11 +800,12 @@
       this.dialogForm.UserCode = ''
       this.dialogForm.UserName = ''
       this.dialogForm.Password = ''
-      this.dialogForm.Enable = ''
+      this.dialogForm.Enable = 'Y'
       this.$refs.dialogCascader.checkedValue = ''
       this.dialogForm.StuOrg = ''
       this.dialogForm.Mobile = ''
       this.dialogForm.Email = ''
+      this.dialogForm.groupcode = ''
       this.dialogForm.wagetype = ''
       this.$refs.dialogForm.clearValidate()
     },
@@ -560,6 +827,7 @@
             StuOrg: Array.isArray(this.$refs.dialogCascader.checkedValue) ? this.$refs.dialogCascader.checkedValue[this.$refs.dialogCascader.checkedValue.length - 1] : this.$refs.dialogCascader.checkedValue,
             Mobile: this.dialogForm.Mobile,
             Email: this.dialogForm.Email,
+            groupcode: this.dialogForm.groupcode,
             wagetype: this.dialogForm.wagetype,
             OperType: this.operation === 'add' ? 'Add' : 'Update',
             Operator: getCookie('admin')
@@ -579,8 +847,12 @@
     // 鑾峰彇椤甸潰楂樺害
     getHeight() {
       this.$nextTick(() => {
-        this.mainHeight = window.innerHeight - 200
-        this.tableHeight = this.mainHeight - 100
+        this.mainHeight = window.innerHeight - 250
+        this.tableHeight = this.mainHeight - 50
+        if (window.innerHeight < 769) {
+          this.tableHeight = this.tableHeight - 50
+        }
+        this.isIpad = window.innerHeight < 769 && window.innerWidth < 1367
       })
     },
     // 鍏宠仈瑙掕壊鐐瑰嚮浜嬩欢
@@ -649,6 +921,7 @@
       const res = await SaveUserAssoctRole(this.dialogFormRoles.roleTreeSelectedArr, this.dialogFormRoles.usercode)
       if (res.code === '200') {
         this.$message.success('淇濆瓨鎴愬姛锛�')
+        await this.getUserSearch()
         this.dialogVisibleRoles = false
       }
     },
@@ -708,7 +981,8 @@
                   if (i.Code === checkedFatherCode) {
                     this.dialogFormRoles.roleTreeSelectedArr[ind].Data.forEach((i1, ind2) => {
                       if (i1 === a[0]) {
-                        this.dialogFormRoles.roleTreeSelectedArr[ind].Data.splice(ind2, 1)// 褰撳瓙code涓庣幇鍦ㄧ殑code鐩稿悓鏃舵墽琛�
+                        // this.dialogFormRoles.roleTreeSelectedArr[ind].Data.splice(ind2, 1)// 褰撳瓙code涓庣幇鍦ㄧ殑code鐩稿悓鏃舵墽琛�
+                        this.dialogFormRoles.roleTreeSelectedArr[ind].Data = this.dialogFormRoles.roleTreeSelectedArr[ind].Data.filter(i2 => i2 !== a[0])
                       } else {
                         this.dialogFormRoles.roleTreeSelectedArr[ind].Data.push(a[0])// //褰撳瓙code涓庣幇鍦ㄧ殑code涓嶇浉鍚屾椂鎵ц
                       }
@@ -737,12 +1011,12 @@
             this.dialogFormRoles.roleTreeSelectedArr.forEach((it, ind) => {
               if (it.Code === checkedFatherCode) {
                 console.log(it.Code, 9)
-                console.log(this.dialogFormRoles.roleTreeSelectedArr.splice(ind, 1), 7)
+                this.dialogFormRoles.roleTreeSelectedArr.splice(ind, 1)
               }
             })
             this.dialogFormRoles.rolesArrSelectedArr.forEach((i, i1) => {
               if (i === checkedFatherCode) {
-                console.log(this.dialogFormRoles.rolesArrSelectedArr.splice(i1, 1), 8)
+                this.dialogFormRoles.rolesArrSelectedArr.splice(i1, 1)
               }
             })
           }
@@ -777,7 +1051,7 @@
         } else { // 褰撶埗绫荤敱鍗婂彾鍙樹负鍏ㄥ彾鏃�
           this.dialogFormRoles.roleTreeSelectedArr.forEach((i1, ind) => {
             if (i1.Code === checkedFatherCode) { // i1娌℃壘瀵�
-              console.log(i1, this.dialogFormRoles.roleTreeSelectedArr.splice(ind, 1), 8)
+              this.dialogFormRoles.roleTreeSelectedArr.splice(ind, 1)
               temp.forEach(it => {
                 this.dialogFormRoles.roleTreeSelectedArr.push({
                   Code: it.code,
@@ -840,12 +1114,12 @@
             console.log(this.dialogFormRoles.rolesArrSelectedArr, 78)
             this.dialogFormRoles.rolesArrSelectedArr.forEach((i, i1) => {
               if (i === it.code) {
-                console.log(this.dialogFormRoles.rolesArrSelectedArr.splice(i1, 1), 6664)
+                this.dialogFormRoles.rolesArrSelectedArr.splice(i1, 1)
               }
             })
             this.dialogFormRoles.roleTreeSelectedArr.forEach((i, i1) => {
               if (i.Code === it.code) {
-                console.log(i1, this.dialogFormRoles.roleTreeSelectedArr.splice(i1, 1), 6665)
+                this.dialogFormRoles.roleTreeSelectedArr.splice(i1, 1)
               }
             })
           }
@@ -862,8 +1136,105 @@
       // })
       console.log(this.dialogFormRoles.rolesArrSelectedArr, 6666)
       console.log(this.dialogFormRoles.roleTreeSelectedArr, 6777)
-    }
+    },
 
+    /*
+      鐢熶骇鐝粍妯″潡
+   */
+    // 鐢熶骇鐝粍鎸夐挳鐐瑰嚮
+    workingTramClick() {
+      this.workingDialogVisible = true
+      this.getUserGroupSearch()
+    },
+    // 鐢熶骇鐝粍瀵硅瘽妗嗗叧闂簨浠�
+    handleCloseWorking() {
+      this.workingTableData.forEach((item, index) => {
+        if (item.isVisible === 1) {
+          this.workingTableData.splice(index, 1)
+        }
+      })
+      this.getMesOrderStepReportSelectUserGroup()
+    },
+    // 鐢熶骇鐝粍鎺掑簭
+    sortChangeOfWorking({ column, prop, order }) {
+      if (order === 'descending') {
+        order = 'desc'
+      } else if (order === 'ascending') {
+        order = 'asc'
+      } else {
+        order = 'desc'
+      }
+      this.form.order = order
+      this.form.prop = prop
+      this.getUserGroupSearch()
+    },
+    // 鑾峰彇鐢熶骇鐝粍鍒楄〃
+    async getUserGroupSearch() {
+      const res = await UserGroupSearch(this.formWorking)
+      this.workingTableData = res.data
+      this.workingTableDataLength = res.count
+      this.workingTableData.forEach(item => {
+        item.isVisible = 0
+      })
+    },
+    // 鏂板
+    addWorking() {
+      let number = Math.random() * Math.random()// 浣滀负鍒犻櫎鏃剁殑鏍囪瘑绗�
+      number = number === 0 ? (10 + Math.random()) : number
+      const data = { group_code: '', group_name: '', description: '', isVisible: 1, number: number }
+      this.workingTableData.unshift(data)
+    },
+    // 鍒犻櫎
+    delWorking(row) {
+      this.$confirm('鏄惁纭鍒犻櫎?', '鎻愮ず', {
+        confirmButtonText: '纭畾',
+        cancelButtonText: '鍙栨秷',
+        type: 'warning'
+      }).then(() => {
+        UserGroupDelete({ UserGrupCode: row.group_code }).then(res => {
+          if (res.code === '200') {
+            this.$message.success('鍒犻櫎鎴愬姛!')
+            this.getUserGroupSearch()
+          }
+        })
+      }).catch(() => {
+        this.$message.info('宸插彇娑堝垹闄�')
+      })
+    },
+    // 淇濆瓨
+    async saveWorking(row) {
+      if (row.group_code.trim().length < 1) {
+        return this.$message.info('鐝粍缂栫爜涓嶈兘涓虹┖锛�')
+      }
+      if (row.group_name.trim().length < 1) {
+        return this.$message.info('鐝粍鍚嶇О涓嶈兘涓虹┖锛�')
+      }
+      // if (row.description.trim().length < 1) {
+      //   return this.$message.info('鐝粍鎻忚堪涓嶈兘涓虹┖锛�')
+      // }
+      const data = {
+        code: row.group_code,
+        name: row.group_name,
+        flag: row.description
+      }
+      const res = await UserGroupAdd([data])
+      if (res.code === '200') {
+        this.$message.success('淇濆瓨鎴愬姛锛�')
+        await this.getUserGroupSearch()
+      }
+    },
+    // 鍙栨秷
+    cancelWorking(row) {
+      this.workingTableData.forEach((item, index) => {
+        if (item.isVisible === 1 && item.number === row.number) {
+          this.workingTableData.splice(index, 1)
+        }
+      })
+    },
+    // 鐢熶骇鐝粍杩斿洖鎸夐挳
+    WorkingDialogVisibleCancel() {
+      this.workingDialogVisible = false
+    }
   }
 }
 </script>
@@ -875,11 +1246,16 @@
   height: 30px;
   display: flex;
   align-items: center;
-  border: 1px solid $main_color;
+  //border: 1px solid $main_color;
+  border: none;
   padding: 0 20px;
 }
 
-::v-deep .el-button--info{
+::v-deep .el-button--primary:hover {
+  border: none;
+}
+
+::v-deep .el-button--info {
   //background-color: $main_color !important;
   height: 30px;
   display: flex;
@@ -917,6 +1293,10 @@
   padding: 20px 100px !important;
 }
 
+.workingDialogVisible ::v-deep .el-dialog__body {
+  padding: 20px 20px !important;
+}
+
 ::v-deep .el-radio__input.is-checked .el-radio__inner {
   background-color: $main_color;
   border-color: $main_color;
@@ -933,11 +1313,10 @@
 
 ::v-deep .el-input__inner {
   height: 30px;
-  line-height:30px;
+  line-height: 30px;
 }
 
 ::v-deep .el-table .caret-wrapper {
-  //float: right;
   transform: scale(0.8);
 }
 
@@ -985,7 +1364,6 @@
 
 ::v-deep .el-checkbox.is-bordered + .el-checkbox.is-bordered {
   margin: 10px 30px 0px 0;
-  //cursor: default !important;
 }
 
 ::v-deep .el-radio__input.is-checked + .el-radio__label {
@@ -997,20 +1375,11 @@
 }
 
 .dialogVisibleRoles {
-  //::v-deep .el-checkbox.is-bordered.el-checkbox--medium{
-  // pointer-events: none;
-  //}
-
-  //::v-deep .el-checkbox__label{
-  //  pointer-events: none !important;
-  //  color: red;
-  //}
   .myCheckboxGroup {
     display: flex;
     flex-wrap: wrap;
 
     .myCheckbox {
-      //border: 1px solid $main_color;
       border: 1px solid #eee;
       display: flex;
       min-width: 100px;
@@ -1026,10 +1395,6 @@
 
     }
 
-    //.myCheckbox{
-    //  border: 1px solid $main_color;
-    //}
-
     input[type=checkbox] {
       cursor: pointer;
       position: relative;
@@ -1041,13 +1406,12 @@
     input[type=checkbox]::after {
       position: absolute;
       top: 0;
-      //color: rgb(130, 35, 35);
       color: $main_color;
       width: 14px;
       height: 14px;
       display: inline-block;
       visibility: visible;
-      padding-left: 0px;
+      padding-left: 0;
       text-align: center;
       content: ' ';
       border-radius: 3px
@@ -1062,12 +1426,59 @@
       background-color: $main_color;
     }
   }
-
 }
-.elForm {
-  display: flex;
-  justify-content: flex-start;
-  width: 85%;
-  flex-wrap: wrap;
+
+.body ::v-deep .el-divider {
+  border: 1px solid #eee;
+  width: 99%;
+  margin: 10px auto;
+}
+
+.body ::v-deep .el-form-item {
+  margin-bottom: 0;
+}
+
+::v-deep .el-input__inner:focus {
+  border-color: $main_color;
+}
+
+::v-deep .el-select .el-input__inner:focus {
+  border-color: $main_color;
+}
+
+::v-deep .el-select-dropdown__item.selected {
+  color: $main_color;
+}
+
+::v-deep .el-input__inner:focus {
+  border-color: #42b983 !important;
+}
+
+//::v-deep   .el-cascader:not(.is-disabled):hover .el-input__inner:focus {
+//  border-color: #42b983 !important;
+//}
+</style>
+<style lang="scss">
+.elCascader {
+  //.el-cascader-node.in-active-path, .el-cascader-node.is-active, .el-cascader-node.is-selectable.in-checked-path {
+  //  color: #42b983 ;
+  //}
+  .el-cascader-node.is-selectable.in-checked-path {
+    color: #42b983;
+  }
+
+  .el-radio__input.is-checked .el-radio__inner {
+    background-color: #42b983;
+    border-color: #42b983;
+  }
+
+  .el-radio__input.is-checked .el-radio__inner:hover {
+    border-color: #42b983;
+  }
+
+  .el-input__inner {
+    border-color: #42b983 !important;
+  }
+
 }
 </style>

--
Gitblit v1.9.3