y595705120 3 years ago
parent
commit
462ae0b470

+ 26 - 0
src/api/bucket.js

@@ -0,0 +1,26 @@
+import service from '@/utils/request'
+
+export const getBucketList = (data) => {
+    return service({
+        url: "/api/bucket/getBucketList",
+        method: 'post',
+        data
+    })
+}
+
+export const createBucket = (data) => {
+    return service({
+        url: "/api/bucket/createBucket",
+        method: 'post',
+        data
+    })
+}
+
+
+export const deleteBucket = (data) => {
+    return service({
+        url: "/api/bucket/deleteBucket",
+        method: 'post',
+        data
+    })
+}

+ 2 - 1
src/assets/css/base.css

@@ -40,7 +40,8 @@
 
   table {
     border-collapse: collapse;
-    border-spacing: 0; }
+    border-spacing: 0;
+  }
 
   td, th {
     padding: 0; }

+ 79 - 0
src/pages/other/components/IBucket.vue

@@ -0,0 +1,79 @@
+<template>
+  <div class="common-wrapper">
+    <el-select v-model="keyword" collapse-tags placeholder="请选择" @click.native="dropDownSearch()" @clear="setValueNull" clearable>
+      <div class="el-input" style="width:90%;margin-left:5%;">
+        <input type="text" placeholder="请输入" class="el-input__inner" v-model="dropDownValue">
+      </div>
+
+      <el-option v-for="(item,index) in optionsMetaShow"
+      :value="item" :key="index" :label="item.bucket" ></el-option>
+    </el-select>
+  </div>
+</template>
+<script>
+import {getBucketList} from '@/api/bucket.js'
+export default {
+  data () {
+    return {
+      dropDownValue: '',
+      keyword: this.info,
+      optionsMetaShow: [],
+      defaultList:false,
+    }
+  },
+  props:{
+    info:{
+      type: String,
+      default:''
+    },
+    category:{
+      type: String,
+      default:'laws'
+    },
+    department_id:{
+      type: [Number, String],
+      default:0
+    }
+  },
+  watch:{
+    info( val ){
+      if( !val ) return
+      this.keyword = this.info;
+    },
+    keyword( val ){
+      if( !val ) return;
+      if( !val.id) return;
+      this.$emit("select", this.keyword)
+      this.keyword = val.name;
+    },
+    dropDownValue(val){
+      this.dropDownSearch( val )
+    }
+  },
+  methods: {
+    setValueNull(){
+      this.$emit( "select", {id:0, name:''} )
+    },
+
+    dropDownSearch ( val ) {
+      let bucket = val||this.dropDownValue||'';
+      let {department_id, category} = this;
+      department_id = +department_id
+      if( !department_id || !category) return;
+      
+      let page = 1
+      let pageSize = 100
+      getBucketList( {department_id, category, bucket,page,pageSize}).then(res=>{
+          if( res.code == 200){
+            this.optionsMetaShow = res.data.list;
+          }
+      })
+    }
+  }
+}
+</script>
+<style>
+.el-scrollbar {
+  display: block !important;
+}
+</style>

+ 0 - 8
src/pages/other/components/ISelect.vue

@@ -1,8 +0,0 @@
-<template>
-</template>
-
-<script>
-</script>
-
-<style>
-</style>

+ 1 - 1
src/pages/other/file-add.vue

@@ -51,7 +51,7 @@
 
 
          <el-form-item label="" class="mt20" prop="brief" label-width="0">
-           <tinymce v-model="info.brief" :height="500" />
+           <tinymce v-model="info.brief" :height="500" :width="980" />
              <!-- <el-input class="ipt-select" type="textarea" v-model="info.brief"></el-input> -->
          </el-form-item>
 

+ 26 - 7
src/pages/other/file-search.vue

@@ -4,9 +4,9 @@
         <el-card class="box-card" style="margin-bottom: 60px;">
           <div slot="header" class="clearfix" >
             <el-form :inline="true" :model="searchInfo" class="demo-form-inline">
-              <el-form-item label="选择部门">
+              <el-form-item label="部门">
                 <el-select v-model="searchInfo.department" collapse-tags placeholder="请选择"
-                 style="width: 160px;"
+                 style="width: 130px;"
                  @clear="selectDepartment({})" clearable>
                   <div class="el-input" style="width:90%;margin-left:5%;">
                     <input type="text" placeholder="请输入" class="el-input__inner" v-model="dropDownValue">
@@ -21,15 +21,26 @@
 
               </el-form-item>
 
-              <el-form-item label="选择分类">
-                <el-select v-model="searchInfo.category" collapse-tags placeholder="请选择" style="width: 160px;"  clearable>
+              <el-form-item label="分类">
+                <el-select v-model="searchInfo.category" collapse-tags placeholder="请选择" style="width: 130px;"  clearable>
                   <el-option v-for="(item,index) in categorys"
                   :value="index" :key="index" :label="item"></el-option>
                 </el-select>
               </el-form-item>
 
-              <el-form-item label="文件标题">
-                <el-input placeholder="" v-model="searchInfo.keyword" clearable style="width: 320px;" ></el-input>
+
+              <el-form-item label="年份">
+                <IBucket placeholder="年份"
+                :info="searchInfo.bucket"
+                :category="searchInfo.category"
+                :department_id="departmentId"
+                @select="okBucket"
+                clearable style="width: 100px;" >
+                </IBucket>
+              </el-form-item>
+
+              <el-form-item label="标题">
+                <el-input placeholder="" v-model="searchInfo.keyword" clearable style="width: 300px;" ></el-input>
               </el-form-item>
 
 
@@ -113,6 +124,7 @@
 
 <script>
 import IHeader from "./components/IHeader";
+import IBucket from "./components/IBucket";
 import IFooter from "./components/IFooter";
 import data  from '../data/data.js'
 import {getArticalList,deleteArtical} from '@/api/article.js'
@@ -122,7 +134,8 @@ export default {
   name: 'application',
   components: {
     IHeader,
-    IFooter
+    IFooter,
+    IBucket
   },
   data() {
     return {
@@ -138,6 +151,7 @@ export default {
       searchInfo:{
         keyword: '',
         department:'',
+        bucket:'',
         category:''
       }
 
@@ -169,6 +183,10 @@ export default {
     this.getArticalList()
   },
   methods: {
+    okBucket( val ){
+      this.searchInfo.bucket = val.bucket;
+      this.handleSearch()
+    },
     isLeader( departmentId ){
       return data.getLeader(departmentId, this.userDepartments)>1;
     },
@@ -214,6 +232,7 @@ export default {
         keyword: this.searchInfo.keyword,
         category: this.searchInfo.category,
         page: this.page,
+        bucket: this.searchInfo.bucket||'',
         pageSize: this.pageSize
       }
       getArticalList( param ).then( res=>{

+ 5 - 3
src/pages/other/reset.vue

@@ -52,7 +52,8 @@
 
           ],
           newpassword:[
-            { required: true, message: "请输入密码", trigger: "blur" }
+            { required: true, message: "请输入密码", trigger: "blur" },
+            {min: 6, message: '至少6位', trigger: 'blur'}
           ]
         }
       }
@@ -94,8 +95,9 @@
         let that = this
         this.$refs["resetForm"].validate((valid) => {
           if (!valid) return;
-          let {password, newpassowrd } = this.regForm;
-          let param = {password: md5(password),newPassword:md5(newpassowrd) }
+          let {password, newpassword } = this.regForm;
+          if( newpassword.length < 6) return
+          let param = {password: md5(password),newPassword:md5(newpassword) }
           resetPassword( param).then(res=>{
             if( res.code == 200){
               that.showFinish( )