From 9f9c41e93df80b48fbcc4d1c2e7748bed8111302 Mon Sep 17 00:00:00 2001
From: linwenling <3256558519@qq.com>
Date: 星期二, 08 八月 2023 19:36:55 +0800
Subject: [PATCH] 家庭资产备忘本

---
 ruoyi-ui/src/views/note/propertyInfo.vue |   30 +++
 ruoyi-ui/src/views/note/memo.vue         |  470 ++++++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 498 insertions(+), 2 deletions(-)

diff --git a/ruoyi-ui/src/views/note/memo.vue b/ruoyi-ui/src/views/note/memo.vue
index e69de29..0fba3b3 100644
--- a/ruoyi-ui/src/views/note/memo.vue
+++ b/ruoyi-ui/src/views/note/memo.vue
@@ -0,0 +1,470 @@
+<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="150"/>
+
+      <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:2007,
+        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(2007,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, 2007).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 = 2007;
+      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;
+      const fid =2007;
+      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 = 2007;
+      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(this.formDat.fid,this.formDat.cid);
+
+            resetQuery();
+          });
+        }
+      });
+      //娓呯┖formDat瀵硅薄鐨勬暟鎹�
+      Object.keys(this.formDat).forEach(key => {
+        this.formDat[key] = '';
+      });
+    },
+    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 = 2007;
+      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("鍒犻櫎鎴愬姛");
+        this.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/note/propertyInfo.vue b/ruoyi-ui/src/views/note/propertyInfo.vue
index ef0f514..f280734 100644
--- a/ruoyi-ui/src/views/note/propertyInfo.vue
+++ b/ruoyi-ui/src/views/note/propertyInfo.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="100px">
@@ -10,6 +18,13 @@
       <el-form-item label="绫诲瀷" prop="type">
         <el-input v-model="formData.type" placeholder="璇疯緭鍏ョ被鍨�" clearable :style="{width: '100%'}" :disabled="dsb"></el-input>
       </el-form-item>
+
+      <el-form-item label="鍙戠敓鏃堕棿" prop="happenTime" >
+        <el-input v-model="formData.happenTime" placeholder="璇疯緭鍏ユ椂闂�" type="date" clearable :style="{width: '100%'}" :disabled="dsb">
+        </el-input>
+      </el-form-item>
+
+
       <el-form-item label="鏍囬" prop="title">
         <el-input v-model="formData.title" placeholder="璇疯緭鍏ユ爣棰�" clearable :style="{width: '100%'}" :disabled="dsb"></el-input>
       </el-form-item>
@@ -352,6 +367,14 @@
       this.dsb = false
       this.btn = true
     },
+
+    //鏌ョ湅澶囧繕鏈�
+    checkNote(row){
+      // const id =row.id;
+      const id = this.$route.params && this.$route.params.id;
+      // const fid =2031
+      this.$router.push("/familymodel/property/memo/" + id );
+    },
     requestUpload(params)
     {
       var file = params.file;
@@ -385,6 +408,9 @@
   display: block;
 
 }
+.form{
+  background:center/11% no-repeat url('../../assets/icons/form.png') ;
+}
 .pt{
   right: 10px;
   top:-3px;

--
Gitblit v1.9.1