Răsfoiți Sursa

Merge branch 'V0.0.2' of http://10.87.10.227:4000/jzyd_yyds/soc_web into V0.0.2

luowei 2 ani în urmă
părinte
comite
7da64e1869

+ 1 - 1
package.json

@@ -46,7 +46,7 @@
     "element-ui": "2.15.12",
     "file-saver": "2.0.5",
     "fuse.js": "6.4.3",
-    "highlight.js": "9.18.5",
+    "highlight.js": "10.7.3",
     "js-beautify": "1.13.0",
     "js-cookie": "3.0.1",
     "jsencrypt": "3.0.0-rc.1",

+ 7 - 1
src/api/system/user.js

@@ -18,7 +18,13 @@ export function dictionListUser(query) {
     params: query
   })
 }
-
+export function selectrolesByOrgId(query) {
+  return request({
+    url: '/system/user/selectrolesByOrgId',
+    method: 'get',
+    params: query
+  })
+}
 
 // 查询用户详细
 export function getUser(userId) {

+ 1 - 2
src/directive/permission/hasPermi.js

@@ -18,10 +18,9 @@ export default {
       const hasPermissions = permissions.some(permission => {
         return all_permission === permission || permissionFlag.includes(permission)
       })
-
       if (!hasPermissions) {
+        //console.log(el.parentNode,'el')
         el.parentNode && el.parentNode.removeChild(el);
-        //console.log(el,'el.parentNode')
       }
     } else {
       throw new Error(`请设置操作权限标签值`)

+ 54 - 29
src/views/system/user/index.vue

@@ -296,34 +296,44 @@
       <el-form ref="form" :model="form" :rules="rules" label-width="80px">
         <el-row>
           <el-col :span="10">
-            <el-form-item label="用户名称" prop="username"  >
+            <el-form-item label="用户名称" prop="username">
               <el-input
                 v-model="form.username"
                 placeholder="请输入用户名"
                 maxlength="30"
-              :readonly="form.source==1"/>
+                :readonly="form.source == 1"
+              />
             </el-form-item>
           </el-col>
           <el-col :span="10">
-            <el-form-item label="用户昵称" prop="name" >
+            <el-form-item label="用户昵称" prop="name">
               <el-input
                 v-model="form.name"
                 placeholder="请输入用户昵称"
                 maxlength="30"
-              :readonly="form.source==1"/>
+                :readonly="form.source == 1"
+              />
             </el-form-item>
           </el-col>
         </el-row>
         <el-row>
           <el-col :span="10">
-            <el-form-item label="所属机构" prop="orgId" >
-              <tree-select v-model="form.orgId" :options="deptOptions" :show-count="true" :normalizer="tenantIdnormalizer"
-                :props="{ checkStrictly: true, label: 'name' }" placeholder="请选择归属机构" :disabled="form.source==1"/>
+            <el-form-item label="所属机构" prop="orgId">
+              <tree-select
+                v-model="form.orgId"
+                :options="deptOptions"
+                :show-count="true"
+                :normalizer="tenantIdnormalizer"
+                :props="{ checkStrictly: true, label: 'name' }"
+                placeholder="请选择归属机构"
+                :disabled="form.source == 1"
+              />
             </el-form-item>
           </el-col>
           <el-col :span="10">
             <el-form-item label="用户角色" prop="roleIds">
               <el-select
+              @visible-change="selectRoles"
                 style="width: 100%"
                 v-model="form.roleIds"
                 multiple
@@ -342,21 +352,22 @@
         </el-row>
         <el-row>
           <el-col :span="10">
-            <el-form-item label="手机号码" prop="phone" >
+            <el-form-item label="手机号码" prop="phone">
               <el-input
                 v-model="form.phone"
                 placeholder="请输入手机号码"
                 maxlength="11"
-              :readonly="form.source==1"/>
+                :readonly="form.source == 1"
+              />
             </el-form-item>
           </el-col>
           <el-col :span="10">
-            <el-form-item label="用户性别" >
+            <el-form-item label="用户性别">
               <el-select
                 style="width: 100%"
                 v-model="form.gender"
                 placeholder="请选择性别"
-                :disabled="form.source==1"
+                :disabled="form.source == 1"
               >
                 <el-option
                   v-for="dict in dict.type.sys_user_sex"
@@ -393,12 +404,13 @@
         </el-row>
         <el-row>
           <el-col :span="14">
-            <el-form-item label="状态" >
+            <el-form-item label="状态">
               <el-radio-group v-model="form.isLock">
                 <el-radio
                   v-for="dict in dict.type.sys_normal_disable"
                   :key="`${dict.value}`"
-                  :label="dict.value" :disabled="form.source==1"
+                  :label="dict.value"
+                  :disabled="form.source == 1"
                   >{{ dict.label }}</el-radio
                 >
               </el-radio-group>
@@ -466,6 +478,7 @@ import {
   updateUser,
   resetUserPwd,
   changeUserStatus,
+  selectrolesByOrgId,
 } from "@/api/system/user";
 import { getToken } from "@/utils/auth";
 import { deptTreeSelect } from "@/api/system/public";
@@ -568,17 +581,21 @@ export default {
           { required: true, message: "用户角色不能为空", trigger: "blur" },
         ],
         password: [
-          { required: true, message: '密码不能为空', trigger: 'blur' },
-          { min: 8, message: '密码至少为8位', trigger: 'blur' },
+          { required: true, message: "密码不能为空", trigger: "blur" },
+          { min: 8, message: "密码至少为8位", trigger: "blur" },
           {
             validator: (rule, value, callback) => {
-              if (!/[a-z]/.test(value) || !/[A-Z]/.test(value) || !/\d/.test(value)) {
-                callback(new Error('密码必须包含大小写字母和数字'));
+              if (
+                !/[a-z]/.test(value) ||
+                !/[A-Z]/.test(value) ||
+                !/\d/.test(value)
+              ) {
+                callback(new Error("密码必须包含大小写字母和数字"));
               } else {
                 callback();
               }
             },
-            trigger: 'blur',
+            trigger: "blur",
           },
         ],
         orgId: [
@@ -614,6 +631,12 @@ export default {
   },
   mounted() {},
   methods: {
+    selectRoles(){
+      selectrolesByOrgId({orgId:this.form.orgId}).then((res)=>{
+        // console.log(res);
+        this.roleOptions=res.data;
+      })
+    },
     /** 查询机构树数据 */
     getDeptTree() {
       deptTreeSelect().then((response) => {
@@ -778,8 +801,8 @@ export default {
         confirmButtonText: "确定",
         cancelButtonText: "取消",
         closeOnClickModal: false,
-        inputPattern: /^.{5,20}$/,
-        inputErrorMessage: "用户密码长度必须介于 5 和 20 之间",
+        inputPattern: /^(?=.*[a-z])(?=.*[A-Z])(?=.*\d).{8,16}$/,
+        inputErrorMessage: "用户密码长度介于8和16之间,必须包含大小写字母和数字",
       })
         .then(({ value }) => {
           let data = {
@@ -821,12 +844,16 @@ export default {
     handleDelete(row) {
       console.log(row);
       const userIds = row.id || this.ids;
-      this.$modal.confirm('是否确认删除用户昵称为"' + row.name + '"的数据项?').then(function () {
-        return delUser(userIds);
-      }).then(() => {
-        this.getList();
-        this.$modal.msgSuccess("删除成功");
-      }).catch(() => { });
+      this.$modal
+        .confirm('是否确认删除用户昵称为"' + row.name + '"的数据项?')
+        .then(function () {
+          return delUser(userIds);
+        })
+        .then(() => {
+          this.getList();
+          this.$modal.msgSuccess("删除成功");
+        })
+        .catch(() => {});
     },
     /** 导出按钮操作 */
     handleExport() {
@@ -877,6 +904,4 @@ export default {
 };
 </script>
 <style lang="scss"></style>
-<style lang="scss" scoped>
-
-</style>
+<style lang="scss" scoped></style>

+ 8 - 1
src/views/system/workTimeSet/dialog.add.vue

@@ -1,7 +1,7 @@
 <template>
   <div class="question-infos">
     <DialogCom title="新增作息" @close="handleClose" :visible.sync="isShow" :close-on-click-modal="false"
-      custom-class="gxDialog" width="75%" append-to-body>
+      custom-class="gxDialog" width="80%" append-to-body>
 <!--      <div class="p-5 work-time">-->
         <el-form label-width="90px" label-suffix=":" label-position="right">
 
@@ -19,6 +19,7 @@
                   <el-date-picker
                     style="width: 100%"
                     v-model="r.row.ymdDate"
+                    size="mini"
                     :clearable=false
                     popper-class="no-atTheMoment"
                     :picker-options="startDatepickerOptions"
@@ -56,6 +57,7 @@
                 <template slot-scope="r">
                   <el-time-select
                     style="width: 100%"
+                    size="mini"
                     :picker-options="pickerOptions"
                     :disabled="r.row.disabled || !r.row.isEnable"
                     v-model="r.row.workTime"/>
@@ -65,6 +67,7 @@
                 <template slot-scope="r">
                   <el-time-select
                     style="width: 100%"
+                    size="mini"
                     :picker-options="pickerOptions"
                     :disabled="r.row.disabled || !r.row.isEnable"
                     v-model="r.row.openTime"/>
@@ -74,6 +77,7 @@
                 <template slot-scope="r">
                   <el-time-select
                     style="width: 100%"
+                    size="mini"
                     :picker-options="pickerOptions"
                     :disabled="r.row.disabled || !r.row.isEnable"
                     v-model="r.row.noonbreakStart"/>
@@ -83,6 +87,7 @@
                 <template slot-scope="r">
                   <el-time-select
                     style="width: 100%"
+                    size="mini"
                     :picker-options="pickerOptions"
                     :disabled="r.row.disabled || !r.row.isEnable"
                     v-model="r.row.noonbreakEnd"/>
@@ -92,6 +97,7 @@
                 <template slot-scope="r">
                   <el-time-select
                     style="width: 100%"
+                    size="mini"
                     :picker-options="pickerOptions"
                     :disabled="r.row.disabled || !r.row.isEnable"
                     v-model="r.row.closeTime"/>
@@ -101,6 +107,7 @@
                 <template slot-scope="r">
                   <el-time-select
                     style="width: 100%"
+                    size="mini"
                     :picker-options="pickerOptions"
                     :disabled="r.row.disabled || !r.row.isEnable"
                     v-model="r.row.workOffTime"/>

+ 6 - 0
src/views/system/workTimeSet/dialog.template.vue

@@ -57,6 +57,7 @@
                   <template slot-scope="r">
                     <el-time-select
                       style="width: 100%"
+                      size="mini"
                       :picker-options="pickerOptions"
                       :disabled="!r.row.isWorkday || !r.row.isWorkday"
                       v-model="r.row.workTime"/>
@@ -66,6 +67,7 @@
                   <template slot-scope="r">
                     <el-time-select
                       style="width: 100%"
+                      size="mini"
                       :picker-options="pickerOptions"
                       :disabled="!r.row.isWorkday ||!r.row.isWorkday"
                       v-model="r.row.openTime"/>
@@ -75,6 +77,7 @@
                   <template slot-scope="r">
                     <el-time-select
                       style="width: 100%"
+                      size="mini"
                       :picker-options="pickerOptions"
                       :disabled="!r.row.isWorkday || !r.row.isWorkday"
                       v-model="r.row.noonbreakStart"/>
@@ -84,6 +87,7 @@
                   <template slot-scope="r">
                     <el-time-select
                       style="width: 100%"
+                      size="mini"
                       :picker-options="pickerOptions"
                       :disabled="!r.row.isWorkday || !r.row.isWorkday"
                       v-model="r.row.noonbreakEnd"/>
@@ -93,6 +97,7 @@
                   <template slot-scope="r">
                     <el-time-select
                       style="width: 100%"
+                      size="mini"
                       :picker-options="pickerOptions"
                       :disabled="!r.row.isWorkday || !r.row.isWorkday"
                       v-model="r.row.closeTime"/>
@@ -102,6 +107,7 @@
                   <template slot-scope="r">
                     <el-time-select
                       style="width: 100%"
+                      size="small"
                       :picker-options="pickerOptions"
                       :disabled="!r.row.isWorkday || !r.row.isWorkday"
                       v-model="r.row.workOffTime"/>

+ 1 - 1
src/views/system/workTimeSet/index.vue

@@ -5,7 +5,7 @@
       <el-tab-pane label="作息配置" name="作息配置">
         <work-time></work-time>
       </el-tab-pane>
-      <el-tab-pane v-hasPermi="['system:time:query']" label="按周配置作息" name="按周配置作息">
+      <el-tab-pane v-hasPermi="['system:time:week']" label="按周配置作息" name="按周配置作息" lazy>
         <work-time-week ></work-time-week>
       </el-tab-pane>
     </el-tabs>

+ 2 - 2
src/views/system/workTimeSet/workTime.vue

@@ -78,7 +78,7 @@
               size="mini"
               icon="el-icon-thumb"
               @click="clickAdd"
-              v-hasPermi="['system:user:add']"
+              v-hasPermi="['system:time:add']"
             >指定日期配置</el-button>
           </el-col>
           <el-col :span="1.5">
@@ -122,7 +122,7 @@
           </el-table-column>
           <el-table-column v-if="columns[8].visible" label="操作列表" width="100" >
             <template slot-scope="r">
-              <el-button type="text"  v-hasPermi="['system:user:edit']" @click="onEditTime(r.row)">编辑</el-button>
+              <el-button type="text"  v-hasPermi="['system:time:edit']" @click="onEditTime(r.row)">编辑</el-button>
             </template>
           </el-table-column>
         </el-table>