From f4712176c562694c9b5fa1750cd0eb7733c6bbab Mon Sep 17 00:00:00 2001
From: linwenling <3256558519@qq.com>
Date: 星期一, 07 八月 2023 16:24:37 +0800
Subject: [PATCH] 新增隐私备忘本

---
 ruoyi-ui/src/api/allmemo/index.js        |   81 ++++++++
 ruoyi-ui/src/views/secret/secretInfo.vue |   26 ++
 ruoyi-ui/src/views/secret/memo.vue       |  464 ++++++++++++++++++++++++++++++++++++++++++++++
 ruoyi-ui/src/router/index.js             |   17 +
 ruoyi-ui/src/views/login.vue             |    6 
 5 files changed, 588 insertions(+), 6 deletions(-)

diff --git a/ruoyi-ui/src/api/allmemo/index.js b/ruoyi-ui/src/api/allmemo/index.js
new file mode 100644
index 0000000..d570ef2
--- /dev/null
+++ b/ruoyi-ui/src/api/allmemo/index.js
@@ -0,0 +1,81 @@
+import request from '@/utils/request'
+
+// 鏌ヨ鎵�鏈夎褰�
+export function listNote(cid,fid) {
+  return request({
+    url: '/memoBook/all',
+    method: 'get',
+    // params: query,
+    // params: {cid,'fid':2031 },
+    params: {
+      // 娣诲姞鍙傛暟鍒拌姹傚弬鏁颁腑
+      'fid': fid,
+      'cid': cid
+    }
+  })
+}
+
+//鏂板璁板綍
+export function addNote(data)
+{
+  return request({
+    url: '/memoBook',
+    method: 'post',
+    data: data
+  })
+}
+
+// 鍒犻櫎璁板綍
+export function delNote(id) {
+  return request({
+    url: '/memoBook' ,
+    method: 'delete',
+    params: {
+      // 娣诲姞鍙傛暟鍒拌姹傚弬鏁颁腑
+      'id':id
+    }
+  })
+}
+
+//淇敼璁板綍
+export function updateNote(data) {
+  return request({
+    url: '/memoBook',
+    method: 'put',
+    data: data
+  })
+}
+// 鏍规嵁id鏌ヨ
+export function getNoteInfo(id) {
+  return request({
+    url: '/memoBook/' + id,
+    method: 'get',
+
+  })
+}
+//涓婁紶鏂囦欢
+export function uploadPic(data) {
+  return request({
+    url: '/common/upload',
+    method: 'post',
+    data: data
+  })
+}
+// //涓嬭浇鏂囦欢
+// export function download(data) {
+//   return request({
+//     url: '/common/downLoadFile',
+//     method: 'get',
+//     params: data,
+//     responseType: 'blob'
+//   })
+// }
+//涓婁紶鏂囦欢
+export function enload(data) {
+  return request({
+    url: '/zSelfNote/importData',
+    method: 'post',
+    data: data
+  })
+}
+
diff --git a/ruoyi-ui/src/router/index.js b/ruoyi-ui/src/router/index.js
index e7f75b4..e75963b 100644
--- a/ruoyi-ui/src/router/index.js
+++ b/ruoyi-ui/src/router/index.js
@@ -476,6 +476,23 @@
       }
     ]
   },
+  //闅愮澶囧繕鏈�
+  {
+    path: '/self/secret',
+    component: Layout,
+    // permissions: [],
+    hidden: true,
+    permissions: ['person:secret:memo'],
+
+    children: [
+      {
+        path: 'memo/:id(\\d+)',
+        component: () => import('@/views/secret/memo'),
+        name: 'memo',
+        meta: { title: '闅愮澶囧繕鏈�',activeMenu: '/self/zsecret'}
+      }
+    ]
+  },
   {
     path: '/system/role-auth',
     component: Layout,
diff --git a/ruoyi-ui/src/views/login.vue b/ruoyi-ui/src/views/login.vue
index 50fccb3..3067e67 100644
--- a/ruoyi-ui/src/views/login.vue
+++ b/ruoyi-ui/src/views/login.vue
@@ -142,8 +142,10 @@
     return {
       codeUrl: "",
       loginForm: {
-        username: "admin",
-        password: "admin123",
+        // username: "admin",
+        // password: "admin123",
+        username: "",
+        password: "",
         rememberMe: false,
         code: "",
         uuid: ""
diff --git a/ruoyi-ui/src/views/secret/memo.vue b/ruoyi-ui/src/views/secret/memo.vue
new file mode 100644
index 0000000..9f68237
--- /dev/null
+++ b/ruoyi-ui/src/views/secret/memo.vue
@@ -0,0 +1,464 @@
+<template>
+  <div class="app-container" style="opacity: 1;">
+    <div class="box1"><h2>澶囧繕鏈�</h2></div>
+
+    <el-button class="button1" size="mini" type="text"  @click="handleAdd"  v-hasPermi="['system:role:add']">
+      <sapn v-html="'\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'"></sapn> </el-button>
+    <el-table v-loading="loading" :data="memoList"  @selection-change="handleSelectionChange" :row-class-name="tableRowClassName" style="background: #FFEFF2;  border-radius: 14px 14px 14px 14px;width: 60%;">
+      <el-table-column  label="搴忓彿" sortable type="index" :index="(queryParams.pageNum-1)*queryParams.pageSize+1" width="140"/>
+
+      <el-table-column label="鏃堕棿" prop="happenTime" sortable width="180px" align="center">
+        <template slot-scope="scope">{{scope.row.happenTime? scope.row.happenTime: '鈥斺�斺�斺��'}}</template>
+      </el-table-column>
+      <el-table-column label="鍐呭" prop="content" sortable width="180px" />
+      <el-table-column label="鎿嶄綔" align="center" class-name="small-padding fixed-width">
+        <template slot-scope="scope" v-if="scope.row.roleId !== 1">
+
+          <el-button
+            size="mini"
+            type="text"
+            icon="el-icon-edit"
+            @click="handleUpdate(scope.row)"
+            v-hasPermi="['familymodel:economy:info']"
+          >淇敼</el-button>
+          <el-button
+            size="mini"
+            type="text"
+            class="button_delete"
+            @click="handleDelete(scope.row)"
+            v-hasPermi="['system:role:remove']"
+          > <sapn v-html="'\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'"></sapn></el-button>
+        </template>
+      </el-table-column>
+    </el-table>
+
+    <pagination
+      v-show="total>0"
+      :total="total"
+      :page.sync="queryParams.pageNum"
+      :limit.sync="queryParams.pageSize"
+      @pagination="getList"
+      style="background: #FEF7FC;"
+    />
+
+    <!-- 娣诲姞鎴栦慨鏀硅祫浜т俊鎭厤缃璇濇 -->
+
+    <el-dialog :title="title" :visible.sync="open" width="800px" append-to-body>
+      <el-form ref="elForm" :model="formDat" :rules="rules" size="medium" label-width="100px">
+
+        <el-form-item label="鏃堕棿" prop="happenTime">
+          <el-date-picker
+            v-model='formDat.happenTime'
+            type='date'
+            placeholder='閫夋嫨鏃ユ湡'
+          ></el-date-picker>
+        </el-form-item>
+
+        <el-form-item label="鍐呭" prop="content">
+          <el-input v-model="formDat.content" placeholder="璇疯緭鍏ュ唴瀹�" clearable :style="{width: '100%'}" >
+          </el-input>
+        </el-form-item>
+
+
+      </el-form>
+
+      <h4 class="form-header"> </h4>
+
+      <div slot="footer" class="dialog-footer">
+        <el-button type="primary" @click="submitDataScope">纭� 瀹�</el-button>
+        <el-button @click="cancelData">鍙� 娑�</el-button>
+      </div>
+    </el-dialog>
+
+    <!-- 鍒嗛厤瑙掕壊鏁版嵁鏉冮檺瀵硅瘽妗� -->
+    <el-dialog :title="title" :visible.sync="openDataScope" width="500px" append-to-body>
+
+    </el-dialog>
+
+  </div>
+</template>
+
+<script>
+import { listRole, getRole, delRole, addRole, updateRole, dataScope, changeRoleStatus, deptTreeSelect } from "@/api/system/role";
+import { treeselect as menuTreeselect, roleMenuTreeselect } from "@/api/system/menu";
+
+
+
+//鍦╯ystem/note/index.js涓鍏ユ帴鍙e嚱鏁�  --鎺ュソ浜�
+import {addNote,listNote,enload,delNote, uploadPic} from "@/api/allmemo/index";
+import { TimeSelect } from "element-ui";
+
+export default {
+  name: "Role",
+  dicts: ['sys_normal_disable'],
+  data() {
+    return {
+      // 閬僵灞�
+      disabled: false,
+      loading: true,
+      formData:[],
+      // 閫変腑鏁扮粍
+      ids: [],
+      // 闈炲崟涓鐢�
+      single: true,
+      // 闈炲涓鐢�
+      multiple: true,
+      // 鏄剧ず鎼滅储鏉′欢
+      showSearch: true,
+      // 鎬绘潯鏁�
+      total: 0,
+      // 瀹跺ぇ浜嬭琛ㄦ牸鏁版嵁
+      memoList: [],
+      // 寮瑰嚭灞傛爣棰�
+      title: "",
+      // 鏄惁鏄剧ず寮瑰嚭灞�
+      open: false,
+      // 鏄惁鏄剧ず寮瑰嚭灞傦紙鏁版嵁鏉冮檺锛�
+      openDataScope: false,
+      menuExpand: false,
+      menuNodeAll: false,
+      deptExpand: true,
+      deptNodeAll: false,
+      // 鏃ユ湡鑼冨洿
+      dateRange: [],
+      // 鏁版嵁鑼冨洿閫夐」
+      fot:[".jpg",".jif"],
+      fileList:[
+      ],
+      fileListOther:[
+
+      ],
+      dsb:true,
+      btn:false,
+      formDat: {
+
+        content: undefined,
+        happenTime: undefined,
+        fid:2031,
+        cid:undefined,
+      },
+      // 鑿滃崟鍒楄〃
+      menuOptions: [],
+      // 閮ㄩ棬鍒楄〃
+      deptOptions: [],
+      // 鏌ヨ鍙傛暟
+      queryParams: {
+        pageNum: 1,
+        pageSize: 10,
+
+      },
+      // 琛ㄥ崟鍙傛暟
+      form: {},
+      defaultProps: {
+        children: "children",
+        label: "label"
+      },
+      // 琛ㄥ崟鏍¢獙
+      rules: {
+
+        happenTime: [{
+          required: true,
+          message: '璇烽�夋嫨鏃ユ湡閫夋嫨',
+          trigger: 'change'
+        }],
+        content: [{
+          required: true,
+          message: '璇疯緭鍏ュ唴瀹�',
+          trigger: 'blur'
+        }],
+        fid: [{
+          required: true,
+          // message: '璇疯緭鍏ュ唴瀹�',
+          // trigger: 'blur'
+        }],
+
+        cid: [{
+          required: true,
+          // message: '璇疯緭鍏ュ唴瀹�',
+          // trigger: 'blur'
+        }],
+
+      },
+      typeOptions: [],
+
+    };
+  },
+  created() {
+
+    const cid = this.$route.params && this.$route.params.id;
+
+    this.getList(2031,cid);
+
+  },
+  methods: {
+
+    // 鍙栨秷鎸夐挳
+    cancelData() {
+      this.open = false;
+      this.reset();
+    },
+
+    //闅旇鍙樿壊
+    tableRowClassName({ row, rowIndex }) {
+      if (rowIndex % 2 == 0) {
+        return "statistics-warning-row1";
+      } else {
+        return "statistics-warning-row";
+      }
+    },
+
+    /** 鏌ヨ瑙掕壊鍒楄〃 */
+
+    getList(fid,cid) {
+
+      this.loading = true;
+      this.queryParams.cid = cid
+      this.queryParams.fid = fid
+      this.queryParams.happenStartTime = this.dateRange.length > 0 && this.dateRange[0]
+      this.queryParams.happenEndTime = this.dateRange.length > 0 && this.dateRange[1]
+
+      listNote(cid, 2031).then(response => {
+          this.memoList = response.data;
+          console.log(this.memoList)
+          this.total = response.data.total;
+          this.loading = false;
+        }
+      );
+    },
+    handleRemove(file) {
+      for(let i = 0; i < this.fileListOther.length; i++)
+      {
+        if(this.fileListOther[i].url==file.url)
+          this.$delete(this.fileListOther,i);
+      }
+    },
+
+    // 鍙栨秷鎸夐挳
+    cancel() {
+      this.open = false;
+      this.reset();
+    },
+    getCid(){
+      const cid = this.$route.params && this.$route.params.id;
+      return cid
+    },
+    getRowId(row)
+    {
+      return row.id
+    },
+    // 鍙栨秷鎸夐挳锛堟暟鎹潈闄愶級
+    cancelDataScope() {
+      this.openDataScope = false;
+      this.reset();
+    },
+    // 琛ㄥ崟閲嶇疆
+    reset() {
+      if (this.$refs.menu != undefined) {
+        this.$refs.menu.setCheckedKeys([]);
+      }
+      this.menuExpand = false,
+        this.menuNodeAll = false,
+        this.deptExpand = true,
+        this.deptNodeAll = false,
+        this.form = {
+          roleId: undefined,
+          roleName: undefined,
+          roleKey: undefined,
+          roleSort: 0,
+          status: "0",
+          menuIds: [],
+          deptIds: [],
+          menuCheckStrictly: true,
+          deptCheckStrictly: true,
+          remark: undefined
+        };
+      this.resetForm("form");
+    },
+    /** 鎼滅储鎸夐挳鎿嶄綔 */
+    handleQuery() {
+      const fid = 2031;
+      const cid = this.$route.params && this.$route.params.id;
+      this.queryParams.pageNum = 1;
+      this.getList(fid,cid);
+    },
+    /** 閲嶇疆鎸夐挳鎿嶄綔 */
+    resetQuery() {
+      this.dateRange = [];
+      this.resetForm("queryForm");
+      this.handleQuery();
+    },
+    // 澶氶�夋閫変腑鏁版嵁
+    handleSelectionChange(selection) {
+      this.ids = selection.map(item => item.id)
+      console.log(this.ids)
+      this.single = selection.length!=1
+      this.multiple = !selection.length
+    },
+
+    /** 鏂板鎸夐挳鎿嶄綔 */
+    handleAdd() {
+      this.reset();
+      this.open = true;
+      this.title = "鏂板闅愮澶囧繕鏈�";
+    },
+
+    /** 淇敼鎸夐挳鎿嶄綔 */
+    handleUpdate(row) {
+      const id = row.id;
+      let jd = true
+
+      this.$router.push({
+        path:"/self/travel/travelInfo/" + id,
+        query:{
+          detail:jd
+        }
+      });
+    },
+
+
+    handlePictureCardPreview(file) {
+      this.dialogImageUrl = file.url;
+      this.dialogVisible = true;
+    },
+    /** 鎻愪氦鎸夐挳锛堟暟鎹潈闄愶級 */
+    submitDataScope: function() {
+      const cid = this.$route.params && this.$route.params.id;
+      let ul = this.fileList.map(function (elem){
+        return elem.url.replace(process.env.VUE_APP_BASE_TRUE_API,"")
+      }).join(",")
+      let uls = this.fileListOther.map(function (elem){
+        return elem.url.replace(process.env.VUE_APP_BASE_TRUE_API,"")
+      }).join(",")
+      this.formDat.fid = 2031;
+      this.formDat.cid = cid ;
+      this.formDat.url = ul+","+uls
+
+      this.$refs["elForm"].validate(valid => {
+        if (valid) {
+
+          addNote(this.formDat).then(response => {
+            this.$modal.msgSuccess("鏂板鎴愬姛");
+            this.open = false;
+            // this.queryParams.cid = cid
+            // this.queryParams.fid = fid
+            this.getList(fid,cid);
+            resetQuery();
+          });
+        }
+      });
+    },
+    requestUpload(params)
+    {
+      var file = params.file;
+      var formData = new FormData();
+      formData.append('uploadFile', file);
+      let _this = this
+
+      uploadPic(formData).then(response => {
+        let pth = response.data.originalFilename.substr(response.data.originalFilename.length-4, response.data.originalFilename.length)
+
+        if(_this.fot.includes(pth) === true)
+        {
+          _this.fileList.push({name:response.data.fileName, "url":response.data.url})
+
+        }
+
+        else{
+          _this.fileListOther.push({name:response.data.fileName, url:response.data.url})
+
+        }
+      })
+
+    },
+    /** 鍒犻櫎鎸夐挳鎿嶄綔 */
+    handleDelete(row) {
+      const id = row.id || this.id;
+      const fid = 2031;
+      const cid = this.$route.params && this.$route.params.id;
+      this.$modal.confirm('鏄惁纭鍒犻櫎鎵�閫夋暟鎹」锛�').then(function() {
+        return delNote(id);
+      }).then(() => {
+        // this.getList(fid,cid);
+        this.$modal.msgSuccess("鍒犻櫎鎴愬姛");
+        getList(fid,cid);
+      }).catch(() => {});
+    },
+    /** 瀵煎嚭鎸夐挳鎿嶄綔 */
+    handleExport() {
+      const Ids = this.ids;
+
+      if(Ids.length==0)
+      {
+        this.download('/zfEconomy/export', {
+          ...this.queryParams
+        }, `zfEconomy_${new Date().getTime()}.xlsx`)
+      }else
+      {
+        this.download('/zfEconomy/export1/'+Ids, {
+        }, `zfEconomy_${new Date().getTime()}.xlsx`)
+      }
+    }
+    ,
+    handleExportTemplate(){
+      this.download('/zfEconomy/model', {
+
+      }, `zfEconomy_${new Date().getTime()}.xlsx`)
+    },
+    /** 瀵煎叆鎿嶄綔*/
+    handleEnport(params){
+      var file = params.file;
+      var formData = new FormData();
+      formData.append('excelImport', file);
+      let _this = this
+      alert(file)
+      enload(formData).then(response => {
+        _this.getList();
+        Message({ message: "瀵煎叆鎴愬姛", type: 'warning' })
+
+      }).catch(err)
+      {
+        Message({ message: "瀵煎叆澶辫触", type: 'error' })
+      }
+
+    }
+  },
+
+  //  寮圭獥
+  handleShow(scope){
+
+    this.openDataScope = true
+    this.getList()
+  }
+
+};
+</script>
+
+<style>
+.el-table__row.statistics-warning-row {
+  background: #E0EEFE;
+
+}
+.el-table__row.statistics-warning-row1 {
+  background: #FFEFF2;
+
+}
+
+.button1 {
+  background:center no-repeat url('../../assets/icons/add1.png') ;
+  /* margin-left: 69.5vw; */
+  margin-left: 780px;
+}
+
+.button_delete {
+  background: center no-repeat url('../../assets/images/鍒犻櫎2.png') ;
+
+  /* margin-left: 66vw; */
+  width: 5px;
+
+  /* background: #000000; */
+}
+
+.box1,.button1{
+  display: inline-block;
+}
+</style>
diff --git a/ruoyi-ui/src/views/secret/secretInfo.vue b/ruoyi-ui/src/views/secret/secretInfo.vue
index 7432182..38d6b36 100644
--- a/ruoyi-ui/src/views/secret/secretInfo.vue
+++ b/ruoyi-ui/src/views/secret/secretInfo.vue
@@ -1,8 +1,16 @@
 <template>
     <div class="app-container">
       <div class="form-header mt">
-        <h4 class="dt h4">闅愮璇︾粏淇℃伅 </h4>
-
+        <h1 style="font-size:21px;padding-top:30px;display: flex;justify-content: space-between;align-items: center;">
+          <span>闅愮璇︽儏</span>
+          <div   style="display: flex; align-items: center;">
+            <el-button size="mini" type="text"  @click="checkNote()" v-hasPermi="['person:information:memo']">
+              <div class="form" ><el-icon  style="padding-right:110px;"></el-icon>
+                <span class="text" style="width: 69px;height: 26px;font-size: 16px;
+            font-family: Microsoft YaHei-Regular, Microsoft YaHei; color: #EBA4AA;">澶囧繕鏈�</span></div>
+            </el-button>
+          </div>
+        </h1>
       </div>
 
       <el-form ref="elForm" :model="formData" :rules="rules" size="medium" label-width="120px">
@@ -179,7 +187,6 @@
           accNo:undefined,
           validityDate:undefined,
           password:undefined,
-          validityDate:undefined,
           isFinger:undefined,
           isFace:undefined,
           isPrivate:undefined,
@@ -424,7 +431,14 @@
         this.download('/zfEconomy/export', {
           ...this.queryParams
         }, `zfEconomy_${new Date().getTime()}.xlsx`)
-      }
+      },
+      // 鏌ョ湅澶囧繕鏈�
+      checkNote(row){
+        // const id =row.id;
+        const id = this.$route.params && this.$route.params.id;
+        // const fid =2031
+        this.$router.push("/self/secret/memo/" + id );
+      },
 
     }
   }
@@ -445,4 +459,8 @@
     display: block;
     position: absolute;
   }
+
+  .form{
+    background:center/11% no-repeat url('../../assets/icons/form.png') ;
+  }
   </style>

--
Gitblit v1.9.1