Browse Source

修改文件访问权限

zhangfu 3 years ago
parent
commit
c27afcefd7

+ 14 - 9
src/pages/classification/edit.vue

@@ -19,7 +19,9 @@
         ></el-input>
       </el-form-item>
       <el-form-item label prop="status">
-        <template slot="label"> <span>状&#8195;&emsp;态</span>: </template>
+        <template slot="label">
+          <span style="word-spacing: 22px">状&emsp;态</span>:
+        </template>
         <el-radio-group v-model="form.status">
           <el-radio :label="1">启用</el-radio>
           <el-radio :label="0">禁用</el-radio>
@@ -30,8 +32,6 @@
         label
         v-for="(item, index) in form.role"
         :key="index"
-        :prop="`role.${index}.value`"
-        :rules="rules.value"
       >
         <template v-if="index == 0" slot="label">
           <span>访问权限:</span>
@@ -40,8 +40,8 @@
           <el-input
             placeholder="请输入手机号"
             v-onlyInt
+            clearable
             maxlength="11"
-            show-word-limit
             v-model="item.value"
           ></el-input>
           <i class="iconfont icon-a-zu903" @click="addjurisdiction"></i>
@@ -86,7 +86,6 @@ export default {
         role: [{ value: '' }]
       },
       rules: {
-        value: [{ required: true, trigger: 'blur', validator: validateUser }],
         name: [{ required: true, trigger: 'blur', message: '请输入分类名称' }]
       }
     }
@@ -123,7 +122,7 @@ export default {
         if (data.code == 0) {
           this.form = data.data
           let role = []
-          if (this.form.role.length != 0) {
+          if (this.form.role && this.form.role.length != 0) {
             this.form.role.forEach(item => {
               role.push({ value: item })
             })
@@ -154,9 +153,15 @@ export default {
         if (valid) {
           this.fullscreenLoading = true
           let role = []
-          this.form.role.forEach(item => {
-            role.push(item.value)
-          })
+          for (let item of this.form.role) {
+            if (item.value && item.value.length != 11) {
+              this.fullscreenLoading = false
+              return this.$message.warning('请输入正确的手机号')
+            }
+            if (item.value) {
+              role.push(item.value)
+            }
+          }
           let code = {
             linkUrl: '',
             name: this.form.name,

+ 108 - 4
src/pages/fileManagement/edit.vue

@@ -12,6 +12,7 @@
     <el-form :model="form" ref="form" :rules="rules" label-width="100px">
       <el-form-item label="分类名称:" prop="typeId">
         <el-select
+          :disabled="!refList.show"
           filterable
           placeholder="请选择"
           v-model="form.typeId"
@@ -64,12 +65,39 @@
         ></el-input>
       </el-form-item>
       <el-form-item prop="status">
-        <template slot="label"><span>状&#8195;&emsp;态</span>:</template>
+        <template slot="label"
+          ><span style="word-spacing: 22px">状&emsp;态</span>:</template
+        >
         <el-radio-group v-model="form.status">
           <el-radio :label="1">启用</el-radio>
           <el-radio :label="0">禁用</el-radio>
         </el-radio-group>
       </el-form-item>
+      <el-form-item
+        style="margin-bottom: 20px"
+        label
+        v-for="(item, index) in form.role"
+        :key="index"
+      >
+        <template v-if="index == 0" slot="label">
+          <span>访问权限:</span>
+        </template>
+        <div class="form_item_content">
+          <el-input
+          clearable
+            placeholder="请输入手机号"
+            v-onlyInt
+            maxlength="11"
+            v-model="item.value"
+          ></el-input>
+          <i class="iconfont icon-a-zu903" @click="addjurisdiction"></i>
+          <i
+            class="iconfont icon-a-zu904"
+            v-if="form.role.length != 1"
+            @click="deletjurisdiction(index)"
+          ></i>
+        </div>
+      </el-form-item>
     </el-form>
     <span slot="footer" class="dialog-footer">
       <el-button size="small" @click="handleClose">取 消</el-button>
@@ -96,7 +124,8 @@ export default {
         linkUrl: '',
         name: '',
         status: 1,
-        typeId: ''
+        typeId: '',
+        role: [{ value: '' }]
       },
       refList: {},
       fileList: [],
@@ -125,7 +154,8 @@ export default {
         name: '',
         status: 1,
         typeId: '',
-        fileSize: ''
+        fileSize: '',
+        role: [{ value: '' }]
       }
       this.fileList = []
       this.$refs['form'].resetFields()
@@ -150,6 +180,15 @@ export default {
       api.GET('/doc/getDetail', { id: this.refList.id }).then(data => {
         if (data.code == 0) {
           this.form = data.data
+          let role = []
+          if (this.form.role&&this.form.role.length != 0) {
+            this.form.role.forEach(item => {
+              role.push({ value: item })
+            })
+            this.form.role = role
+          } else {
+            this.form.role = [{ value: '' }]
+          }
           this.fileList = [{ name: this.form.name, url: this.form.docUrl }]
         }
       })
@@ -175,6 +214,29 @@ export default {
           this.form.linkUrl = item.linkUrl
         }
       })
+      this.detailClassifica(val)
+    },
+    /**
+     * @method 分类详情
+     * **/
+    detailClassifica(val) {
+      let code = {
+        typeId: val
+      }
+      api.POST('/doc/type/detail', code).then(data => {
+        if (data.code == 0) {
+          this.form.role = data.data.role
+          let role = []
+          if (this.form.role&&this.form.role.length != 0) {
+            this.form.role.forEach(item => {
+              role.push({ value: item })
+            })
+            this.form.role = role
+          } else {
+            this.form.role = [{ value: '' }]
+          }
+        }
+      })
     },
     /**
      * @method 上传
@@ -250,13 +312,24 @@ export default {
       this.$refs[formName].validate(valid => {
         if (valid) {
           this.fullscreenLoading = true
+          let role = []
+          for (let item of this.form.role) {
+            if (item.value && item.value.length != 11) {
+              this.fullscreenLoading = false
+              return this.$message.warning('请输入正确的手机号')
+            }
+            if (item.value) {
+              role.push(item.value)
+            }
+          }
           let code = {
             docUrl: this.form.docUrl,
             linkUrl: this.form.linkUrl,
             name: this.form.name,
             status: this.form.status,
             typeId: this.form.typeId,
-            fileSize: this.form.fileSize
+            fileSize: this.form.fileSize,
+            role: role
           }
           this.refList.show ? this.addfile(code) : this.editfile(code)
         }
@@ -296,9 +369,40 @@ export default {
         .catch(() => {
           this.fullscreenLoading = false
         })
+    },
+    /**
+     * @method 增加访问权限
+     * **/
+    addjurisdiction() {
+      this.form.role.push({ value: '' })
+    },
+    /**
+     * @method 删除访问权限
+     * **/
+    deletjurisdiction(val) {
+      this.form.role.splice(val, 1)
     }
   }
 }
 </script>
 <style lang="less" scoped>
+.form_item_content {
+  display: flex;
+  align-items: center;
+  margin-bottom: 10px;
+}
+.icon-a-zu903 {
+  color: #f23f3a;
+  margin-left: 10px;
+  margin-right: 20px;
+  cursor: pointer;
+  font-size: 22px;
+}
+.icon-a-zu904 {
+  cursor: pointer;
+  font-size: 22px;
+}
+.el-icon-minus {
+  margin-right: 16px;
+}
 </style>

+ 1 - 1
src/pages/userManagement/detail.vue

@@ -12,7 +12,7 @@
     <el-form :model="number" ref="number" :rules="rules" label-width="100px">
       <el-form-item label prop="password">
         <template slot="label" class="status"
-          ><span>密&#8195;&emsp;码</span>:</template
+          ><span style="word-spacing:22px">密&emsp;码</span>:</template
         >
         <el-input
           :type="type"

+ 4 - 4
src/pages/userManagement/edit.vue

@@ -12,7 +12,7 @@
     <el-form ref="form" :model="form" label-width="100px" :rules="rules">
       <el-form-item prop="account">
         <template slot="label" class="status"
-          ><span>账&#8195;&emsp;号</span>:</template
+          ><span style="word-spacing:22px">账&emsp;号</span>:</template
         >
         <el-input
           placeholder="请输入"
@@ -23,7 +23,7 @@
       </el-form-item>
       <el-form-item prop="name">
         <template slot="label" class="status"
-          ><span>姓&#8195;&emsp;名</span>:</template
+          ><span style="word-spacing:22px">姓&emsp;名</span>:</template
         >
         <el-input
           type="text"
@@ -35,7 +35,7 @@
       </el-form-item>
       <el-form-item prop="password" v-if="userString.show">
         <template slot="label" class="status"
-          ><span>密&#8195;&emsp;码</span>:</template
+          ><span style="word-spacing:22px">密&emsp;码</span>:</template
         >
         <el-input
           autoComplete="new-password"
@@ -49,7 +49,7 @@
       </el-form-item>
       <el-form-item label prop="status">
         <template slot="label" class="status"
-          ><span>状&#8195;&emsp;态</span>:</template
+          ><span style="word-spacing:22px">状&emsp;态</span>:</template
         >
         <el-radio-group v-model="form.status">
           <el-radio :label="1">启用</el-radio>