完善了家庭会议模块,解决了个人记事本详情其他附件需要更新才能查看的问题
5个文件已修改
2个文件已添加
649 ■■■■■ 已修改文件
ruoyi-ui/src/assets/icons/pic.png 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-ui/src/router/index.js 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-ui/src/views/meeting/approve.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-ui/src/views/meeting/index.vue 15 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-ui/src/views/meeting/statistics.vue 276 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-ui/src/views/meeting/statisticsInfo.vue 304 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-ui/src/views/self/memoInfo.vue 43 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-ui/src/assets/icons/pic.png
ruoyi-ui/src/router/index.js
@@ -187,6 +187,15 @@
    // permissions: [],
    hidden: true,
    permissions: ['meetingModel:statistics:list'],
    children: [
      {
        // path: 'statisticsInfo/',
        path: 'statisticsInfo/:id(\\d+)',
        component: () => import('@/views/meeting/statisticsInfo'),
        name: 'statisticsInfo',
        meta: { title: '统计详情',activeMenu: '/meeting/statisticsInfo'}
      }
    ]
  },
  //直播
  {
ruoyi-ui/src/views/meeting/approve.vue
@@ -111,7 +111,7 @@
  data() {
    return {
      tableData: [
        { title: '1', name: 'asasd', address: 'asdadsdasd', id: 1, age: '30' },
        { title: '1', name: 'asasd', address: 'asdadsdasd', id: 9, age: '30' },
        { title: '2', name: 'qweqwqwe', address: 'qweqweqwe', id: 2, age: '30' },
        { title: '3', name: 'zxczxczxc', address: 'zxczxczcx', id: 3, age: '30' },
        { title: '4', name: 'fghfghfh', address: 'fghfghfgh', id: 4, age: '30' },
ruoyi-ui/src/views/meeting/index.vue
@@ -318,10 +318,9 @@
      queryParams: {
        pageNum: 1,
        pageSize: 10,
        content:undefined,
        buyer:undefined,
        location:undefined,
        createDate:undefined,
        address:undefined,
        applyOrganization:undefined,
        applicant:undefined,
        happenTime:undefined
      },
      dateRange: [],
@@ -364,14 +363,16 @@
          trigger: 'blur'
        }],
      },
        typeOptions: [{
        typeOptions: [
          {
          value: '1',
          label: '是',
        },
          },
          {
            value: '0',
            label: '否',
          }],
          }
          ],
      }
    },
ruoyi-ui/src/views/meeting/statistics.vue
@@ -10,31 +10,280 @@
        <div class="button-container"></div>
        <div style="display: flex; align-items: center;">
          <el-button @click="pictureStatistics" size="mini" type="text" v-hasPermi="['person:information:memo']" style="margin-left: 10px">
            <div class="form"><el-icon style="padding-right:30px;"></el-icon>
            <div class="form1"><el-icon style="padding-right:50px;"></el-icon>
              <span class="text" style="width: 69px;height: 26px;font-size: 16px;
              font-family: Microsoft YaHei-Regular, Microsoft YaHei; color: #EBA4AA;">图标统计</span>
              font-family: Microsoft YaHei-Regular, Microsoft YaHei; color: #EBA4AA;">图表统计</span>
            </div>
          </el-button>
        </div>
        <div style="display: flex; align-items: center;">
          <el-button @click="newRequest" size="mini" type="text" v-hasPermi="['person:information:memo']" style="margin-left: 10px">
            <div class="form" style="width: 100px;"><el-icon style="padding-right:30px;"></el-icon>
            <div class="form2" style="width: 100px;"><el-icon style="padding-right:30px;"></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>
      <hr />
      <el-table :data="tableData" border :header-cell-style="{ background: 'pink', fontSize: '13px', color: 'black' }"
        :row-class-name="tableRowClassName" :row-key="getRowId">
        <el-table-column label="家庭号" prop="num" sortable align="center">
          <template slot-scope="scope">{{ scope.row.num
        ? scope.row.num : '————' }}</template>
        </el-table-column>
        <el-table-column label="使用时间" prop="time" sortable align="center">
          <template slot-scope="scope">{{ scope.row.time
        ? scope.row.time : '————' }}</template>
        </el-table-column>
        <el-table-column label="会议室名称" prop="address" sortable align="center">
          <template slot-scope="scope">{{
        scope.row.address ? scope.row.address : '————' }}</template>
        </el-table-column>
        <el-table-column label="标题" prop="title" sortable align="center">
          <template slot-scope="scope">{{ scope.row.title
        ? scope.row.title : '————' }}</template>
        </el-table-column>
        <el-table-column label="申请人" prop="applicant" sortable align="center">
          <template slot-scope="scope">{{
        scope.row.applicant ? scope.row.applicant : '————' }}</template>
        </el-table-column>
        <el-table-column label="审批人" prop="approve" sortable align="center">
          <template slot-scope="scope">{{ scope.row.approve ?
        scope.row.approve : '————' }}</template>
        </el-table-column>
        <el-table-column label="状态" prop="status" sortable align="center">
          <template slot-scope="scope">{{ scope.row.status
        ? scope.row.status : '————' }}</template>
        </el-table-column>
        <el-table-column label="操作" align="center" width="200" class-name="small-padding fixed-width">
          <template slot-scope="scope" v-if="scope.row.roleId !== 1">
            <div class="button-container">
              <el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)">修改</el-button>
              <el-button size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.row)">删除</el-button>
              <el-button size="mini" type="text" icon="el-icon-d-arrow-right" @click="handleCheck(scope.row)">查看详情</el-button>
            </div>
          </template>
        </el-table-column>
      </el-table>
      <!-- 新增数据框 -->
      <el-dialog :title="title" :visible.sync="open" width="1000px" append-to-body>
        <el-form ref="elForm" :model="formDat" :rules="rules" size="medium" label-width="100px">
          <el-form-item label="家庭号" prop="num">
            <el-input v-model="formDat.num" placeholder="请输入会议室名称" clearable :style="{width: '100%'}">
            </el-input>
          </el-form-item>
          <el-form-item label="开始时间" prop="happenTime">
            <el-date-picker v-model="formDat.happenTime" type="datetime" placeholder="选择日期时间"
                            :editable="false" :clearable="false" :style="{width: '100%'}"  value-format="yyyy-MM-dd"
            ></el-date-picker>
          </el-form-item>
          <el-form-item label="结束时间" prop="endTime">
            <el-date-picker v-model="formDat.endTime" type="datetime" placeholder="选择日期时间"
                            :editable="false" :clearable="false" :style="{width: '100%'}"  value-format="yyyy-MM-dd"
            ></el-date-picker>
          </el-form-item>
          <el-form-item label="会议室名称" prop="address">
            <el-input v-model="formDat.address" placeholder="请输入会议室名称" clearable :style="{width: '100%'}">
            </el-input>
          </el-form-item>
          <el-form-item label="标题" prop="meetingTitle">
            <el-input v-model="formDat.meetingTitle" placeholder="请输入会议标题" clearable :style="{width: '100%'}">
            </el-input>
          </el-form-item>
          <el-form-item label="申请人" prop="applicant">
            <el-input v-model="formDat.applicant" placeholder="请输入申请人" clearable :style="{width: '100%'}">
            </el-input>
          </el-form-item>
          <el-form-item label="审批人" prop="approve">
            <el-input v-model="formDat.approve" placeholder="请输入审批人" clearable :style="{width: '100%'}">
            </el-input>
          </el-form-item>
          <el-form-item label="状态" prop="status">
            <el-select v-model="formDat.status" placeholder="请选择" clearable :style="{width: '100%'}">
              <el-option v-for="(item, index) in typeOptions" :key="index" :label="item.label" :value="item.value"
              ></el-option>
            </el-select>
          </el-form-item>
        </el-form>
          </el-upload>
        </el-form>
        <div slot="footer" class="dialog-footer">
          <el-button type="primary" @click="submitDataScope">保 存</el-button>
          <el-button @click="cancel">取 消</el-button>
        </div>
      </el-dialog>
    </div>
  </template>
  <script>
 export default {
   data() {
     return {
       // 显示搜索条件
       showSearch: true,
       open: false,
       title: "",
       tableData: [{
         id: 1,
          num: '1',
           title: '1',
           name: 'asasd',
           address: 'asdadsdasd',
           status: '结案'
         },
         {
                    id: 2,
          num: '2',
           title: '2',
           name: 'qweqwqwe',
           address: 'qweqweqwe',
           status: '未结案'
         }
       ],
       formDat:{
         id: undefined,
         happenTime: undefined,
         endTime: undefined,
         meetingTitle: undefined,
         address: undefined,
         approve: undefined,
         applicant: undefined,
         url: "",
         status: undefined,
         num: undefined
       },
     queryParams: {
       pageNum: 1,
       pageSize: 10,
       address:undefined,
       applyOrganization:undefined,
       applicant:undefined,
       happenTime:undefined
     },
     dateRange: [],
     // 表单校验
     rules: {
       name: [{
         required: true,
         message: '请输入设备名称',
         trigger: 'blur'
       }],
      },
       typeOptions: [
         {
         value: '1',
         label: '结案',
         },
         {
           value: '0',
           label: '未结案',
         }
         ],
     }
   },
   methods: {
     /** 搜索按钮操作 */
     handleQuery() {
       this.queryParams.pageNum = 1;
       this.getList();
     },
     /** 重置按钮操作 */
     resetQuery() {
       this.dateRange = [];
       this.resetForm("queryForm");
       this.handleQuery();
     },
     newRequest(){
       this.open = true;
       this.title = "新增"
     },
     cancel() {
       this.open = false;
       // this.reset();
     },
     submitDataScope() {
       console.log(666)
     },
     tableRowClassName({
       row,
       rowIndex
     }) {
       if (rowIndex % 2 == 0) {
         return "statistics-warning-row1";
       } else {
         return "statistics-warning-row";
       }
     },
     getRowId(row) {
       return row.id
     },
      // 修改
      handleUpdate(row) {
        const id = row.id;
        let jd = true
        this.$router.push({
          path:"/meeting/statistics/statisticsInfo/" + id,
          query:{
            detail:jd
          }
        });
      },
      // 查看详细信息
      handleCheck(row){
        const id = row.id;
        this.$router.push("/meeting/statistics/statisticsInfo/" + id);
      },
     /** 删除按钮操作 */
     handleDelete(row) {
       const Ids = row.id || this.ids;
       this.$modal.confirm('是否确认删除数据项?').then(function() {
         return delSelfEconomy(Ids);
       }).then(() => {
         this.getList();
         this.$modal.msgSuccess("删除成功");
       }).catch(() => {});
     },
     // 图表统计
     pictureStatistics(){
     },
   }
 }
  </script>
<style scoped>
  .el-table__row.statistics-warning-row {
@@ -59,9 +308,26 @@
  .app-container {
    background-color: #FEF7FC;
  }
  .form{
  .form1{
    background:left/40% no-repeat url('../../assets/icons/pic.png') ;
    height: 50px;
    line-height: 50px;
  }
  .form2{
    background:left/25% no-repeat url('../../assets/icons/add1.png') ;
    height: 50px;
    line-height: 50px;
  }
  /deep/ .el-table .statistics-warning-row {
    background: #E0EEFE;
  }
  /deep/ .el-table .statistics-warning-row1 {
    background: #FFEFF2;
  }
  .el-table {
    border-radius: 14px 14px 14px 14px;
  }
  </style>
ruoyi-ui/src/views/meeting/statisticsInfo.vue
New file
@@ -0,0 +1,304 @@
<template>
  <div class="app-container" id="printable-content">
    <div class="form-header mt">
      <h1 style="font-size:21px;padding-top:30px;display: flex;justify-content: space-between;align-items: center;">
        <span>会议详情</span>
      </h1>
    </div>
    <div style="padding-left:15px">
      <el-form ref="elForm" :model="formData" :rules="rules" size="medium" label-position="left" label-width="160px">
        <el-container>
          <el-row :span="12">
            <el-cow>
              <el-form-item label="家庭号" prop="num" label-width="90px"
                style="background: #FAD1E0;border-radius: 7px 7px 7px 7px;opacity: 1;">
                <el-input v-model="formDat.num" placeholder="请输入家庭号" clearable :style="{width: '100%'}">
                </el-input>
              </el-form-item>
            </el-cow>
            <el-cow>
              <el-form-item label="开始时间" prop="happenTime" label-width="80px"
                style="background: #FAD1E0;border-radius: 7px 7px 7px 7px;opacity: 1;">
                <el-date-picker v-model="formDat.happenTime" type="datetime" placeholder="选择日期时间" align="right"
                  :picker-options="pickerOptions" :style="{width: '100%'}">
                </el-date-picker>
              </el-form-item>
            </el-cow>
            <el-cow>
              <el-form-item label="结束时间" prop="endTime" label-width="80px"
                style="background: #FAD1E0;border-radius: 7px 7px 7px 7px;opacity: 1;">
                <el-date-picker v-model="formDat.endTime" type="datetime" placeholder="选择日期时间" align="right"
                  :picker-options="pickerOptions" :style="{width: '100%'}">
                </el-date-picker>
              </el-form-item>
            </el-cow>
            <el-cow>
              <el-form-item label="会议室名称" prop="address" label-width="90px"
                style="background: #FAD1E0;border-radius: 7px 7px 7px 7px;opacity: 1;">
                <el-input v-model="formDat.address" placeholder="请输入会议室名称" clearable :style="{width: '100%'}">
                </el-input>
              </el-form-item>
            </el-cow>
            <el-cow>
              <el-form-item label="标题" prop="title" label-width="90px"
                style="background: #FAD1E0;border-radius: 7px 7px 7px 7px;opacity: 1;">
                <el-input v-model="formDat.title" placeholder="请输入标题" clearable :style="{width: '100%'}">
                </el-input>
              </el-form-item>
            </el-cow>
            <el-cow>
              <el-form-item label="申请人" prop="applicant" label-width="90px"
                style="background: #FAD1E0;border-radius: 7px 7px 7px 7px;opacity: 1;">
                <el-input v-model="formDat.applicant" placeholder="请输入申请人" clearable :style="{width: '100%'}">
                </el-input>
              </el-form-item>
            </el-cow>
            <el-cow>
              <el-form-item label="审批人" prop="approve" label-width="90px"
                style="background: #FAD1E0;border-radius: 7px 7px 7px 7px;opacity: 1;">
                <el-input v-model="formDat.approve" placeholder="请输入审批人" clearable :style="{width: '100%'}">
                </el-input>
              </el-form-item>
            </el-cow>
            <el-cow>
              <el-form-item label="状态" prop="status" label-width="120px"
                style="background: #FAD1E0;border-radius: 7px 7px 7px 7px;opacity: 1;">
                <el-select v-model="formDat.status" placeholder="请选择 " clearable :style="{width: '100%'}"
                  :disabled="dsb">
                  <el-option v-for="(item, index) in typeOptions" :key="index" :label="item.label"
                    :value="item.value"></el-option>
                </el-select>
              </el-form-item>
            </el-cow>
          </el-row>
        </el-container>
        <h4 class="form-header"> </h4>
        <el-form-item size="large">
          <el-button v-if="isShow" type="primary" @click="submitForm" :disabled="dsb">修改</el-button>
        </el-form-item>
      </el-form>
    </div>
  </div>
</template>
<script>
  export default {
    components: {},
    props: [],
    data() {
      return {
        cdi: "个人财产详细信息",
        udi: "个人财产信息详情",
        // 数据范围选项
        fot: ['.bmp', '.jpg', '.jpeg', '.png', '.tif', '.gif', '.pcx', '.tga', '.exif', '.fpx',
          '.svg', '.psd', '.cdr', '.pcd', '.dxf', '.ufo', '.eps', '.ai', '.aw', '.WMF', '.webp', '.apng'
        ],
        fileList: [],
        fileList1: [],
        uploadFileList: [],
        uploadFileList1: [],
        fileListOther: [],
        dsb: true,
        btn: false,
        isShow: true,
        uploading: false,
        formDat: {
          id: undefined,
          happenTime: undefined,
          endTime: undefined,
          timeSpan: undefined,
          meetingTitle: undefined,
          address: undefined,
          meetingID: undefined,
          capacity: undefined,
          attendance: undefined,
          applicant: undefined,
          familyName: undefined,
          name: undefined,
          phone: undefined,
          url: "",
          status: undefined
        },
        dialogImageUrl: '',
        dialogVisible: false,
        disabled: false,
        rules: {
          meetingTitle: [{
            required: true,
            message: '请输入会议标题',
            trigger: 'blur'
          }],
          happenTime: [{
            required: true,
            message: '请选择开始时间',
            trigger: 'blur'
          }],
          endTime: [{
            required: true,
            message: '请选择结束时间',
            trigger: 'blur'
          }],
          status: [{
            required: true,
            message: '请输入是否注销',
            trigger: 'blur'
          }],
          isChange: [{
            required: true,
            message: '请输入变更/注销',
            trigger: 'blur'
          }],
          price: [{
            required: true,
            message: '请输入金额',
            trigger: 'blur'
          }],
          incomeName: [{
            required: true,
            message: '请输入收支类别',
            trigger: 'blur'
          }],
          timeLimit: [{
            required: true,
            message: '请输入期限',
            trigger: 'blur'
          }],
          location: [{
            required: true,
            message: '请输入存放位置',
            trigger: 'blur'
          }],
          propertyRight: [{
            required: true,
            message: '请输入实现难度',
            trigger: 'blur'
          }],
          remark: [{
            // required: true,
            message: '请输入备注',
            trigger: 'blur'
          }],
        },
        typeOptions: [{
            value: 1,
            label: '结案',
          },
          {
            value: 0,
            label: '未结案',
          }
        ],
      }
    },
    created() {
      const id = this.$route.params && this.$route.params.id;
      let jd;
      if (this.$route.query.detail == 'true') {
        jd = this.$route.query.detail
        this.btn = jd
        this.dsb = !jd
        //    document.title = "修改个人财产详细信息";
        this.$route.meta.title = "会议统计详细信息"; //列表的名称
      } else {
        //   document.title = "个人财产详细信息";
        this.$route.meta.title = "会议统计详细信息"; //列表的名称
        this.btn = false;
        this.isShow = false
      }
      let _this = this
    },
    mounted() {},
    methods: {
      submitForm() {
        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.formData.url = ul + "," + uls
        this.$refs['elForm'].validate(valid => {
          alert(this.formData.status)
          if (valid) {
            if (this.formData.id != undefined) {
              updateSelfEconomy(this.formData).then(response => {
                this.$modal.msgSuccess("修改成功");
                // this.open = false;
                if (this.formData.status == 1)
                  this.formData.status = '是'
                else
                  this.formData.status = '否'
                this.btn = false
              });
            } else {
              this.$modal.msgSuccess("修改失败");
              if (this.formData.status == '是')
                this.formData.status = 1
              else
                this.formData.status = 0
            }
          }
        })
      },
    }
  }
</script>
<style scoped>
  .app-container {
    background-color: #FEF7FC;
  }
  .mt {
    position: relative;
  }
  .dt {
    display: block;
  }
  .pt {
    right: 10px;
    top: -3px;
    display: block;
    position: absolute;
  }
  .form {
    background: center/11% no-repeat url('../../assets/icons/form.png');
  }
  .hide /deep/ .el-upload--picture-card {
    display: none;
  }
  .form_item {
    font-size: 12px;
    font-family: Microsoft YaHei-Regular, Microsoft YaHei;
    font-weight: 400;
    color: #000000;
  }
</style>
ruoyi-ui/src/views/self/memoInfo.vue
@@ -220,6 +220,7 @@
      fileList:[],
      fileList1:[],
      fileListOther:[],
      fileListOther1:[],
      uploadFileList:[],
      uploadFileList1:[],
      dsb:true,
@@ -299,7 +300,7 @@
    if (id) {
      this.loading = true;
      getNote({id}).then((response) => {
console.log(response.data , '6666666666')
      console.log(response.data , '6666666666')
        this.formData = response.data;
        let paths = this.formData.url.split(",");
        for(let i = 0; i < paths.length; i++)
@@ -337,6 +338,41 @@
  },
  mounted() {},
  methods: {
    getData(){
      const id = this.$route.params && this.$route.params.id;
      let _this = this
      if (id) {
        this.loading = true;
        getNote({id}).then((response) => {
        // console.log(response.data , '6666666666')
          this.formData = response.data;
          let paths = this.formData.url.split(",");
          for(let i = 0; i < paths.length; i++)
              {
                if(paths[i]!="") {
                  let pth = paths[i].substr(paths[i].length - 4, paths[i].length)
                  if (_this.fot.includes(pth) === true){
                  console.log()
                  } else {
                    let nms = paths[i].split("\/")
                    let nm = nms[nms.length - 1]
                      if(paths[i][0]=="/")
                        _this.fileListOther1.push({name:nm, url: process.env.VUE_APP_BASE_TRUE_API+paths[i].substr(1),res:false})
                      else
                        _this.fileListOther1.push({name:nm, url: process.env.VUE_APP_BASE_TRUE_API+paths[i],res:false})
                  }
                }
              }
              _this.fileListOther = _this.fileListOther1
          this.loading = false;
        });
      }
    },
    submitForm() {
      // let ul = this.fileList.map(function (elem){
      //   return elem.url.replace(process.env.VUE_APP_BASE_TRUE_API,"")
@@ -499,7 +535,7 @@
           this.fileList.push({name:file.name,url:file.url,res:true})
        },
        //自定义上传方法
        handleChange1(file, fileListOther1) {
        handleChange1(file, fileListOther12) {
               //定义一个全局数组uploadFileList来做存储
             // this.uploadFileList.push(file.raw);
@@ -535,8 +571,11 @@
              updateNote(_this.formData).then(response => {
                this.$modal.msgSuccess("文档上传成功");
                // this.open = false;
              this.getData();
              this.fileListOther1=[]
              });
            })
        // this.getData();
      },
    picUpload(){