yz3456
2024-05-03 7678c30ff853730d22a0fa374367404af8aea946
完成会议审批模块
5个文件已修改
664 ■■■■■ 已修改文件
ruoyi-ui/src/api/meeting/index.js 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-ui/src/views/meeting/approve.vue 296 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-ui/src/views/meeting/approveInfo.vue 322 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-ui/src/views/meeting/statistics.vue 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-ui/src/views/meeting/webcast.vue 20 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-ui/src/api/meeting/index.js
@@ -70,6 +70,24 @@
    data: data
  })
}
// ------------------------------------------------
// 会议审批
// 查询所有会议
export function listMeeting2(query) {
  return request({
    url: '/zMeetingRatify/all',
    method: 'get',
    params: query
  })
}
export function updateStatu(data) {
  return request({
    url: '/zMeetingRatify',
    method: 'put',
    data: data
  })
}
ruoyi-ui/src/views/meeting/approve.vue
@@ -1,10 +1,8 @@
<template>
  <div class="app-container">
    <el-backtop :bottom="150" :right="30">
      <el-button type="primary" circle class="el-icon-top"></el-button>
    </el-backtop>
    <h1 style="font-size:21px;padding-top:30px;display: flex;">
      <span>会议审批</span>
@@ -12,128 +10,286 @@
      <div style="display: flex; align-items: center;">
      </div>
    </h1>
    <hr>
    <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch">
    <el-form :model="queryParams1">
      <el-row>
        <el-form-item label="" prop="people">
          <el-input v-model="queryParams1.people" placeholder="请输入搜索内容" clearable style="width: 200px;
      <el-form-item label="时间" prop="happenTime">
        <el-date-picker
          v-model="dateRange"
          style="width: 240px;
                   height: 35px;
                   text-align: left;
                   border-radius: 16px 16px 16px 16px;
                   opacity: 0.5;" @keyup.enter.native="handleQuery">
            <i slot="prefix" class="el-input__icon el-icon-search"></i>
          </el-input>
                   opacity: 0.5;"
          value-format="yyyy-MM-dd"
          type="daterange"
          range-separator="-"
          start-placeholder="开始日期"
          end-placeholder="结束日期"
        ></el-date-picker>
        </el-form-item>
      </el-row>
      <el-form-item label="地点" prop="place" >
        <el-input
          v-model="queryParams.place"
          placeholder="请输入地点"
          clearable
          style="width: 200px;
                   height: 35px;
                   border-radius: 16px 16px 16px 16px;
                   opacity: 0.5;"
          @keyup.enter.native="handleQuery"
        />
      </el-form-item>
      <el-form-item label="申请部门或家庭" prop="applyApart" >
        <el-input
          v-model="queryParams.applyApart"
          placeholder="请输入申请部门或家庭"
          clearable
          style="width: 200px;
                   height: 35px;
                   border-radius: 16px 16px 16px 16px;
                   opacity: 0.5;"
          @keyup.enter.native="handleQuery"
        />
      </el-form-item>
      <el-form-item>
        <el-button  size="mini" @click="handleQuery" style=" width: 65px; height: 32px;background: #FFDDE3;
          border-radius: 6px 6px 6px 6px;opacity:1;">搜索</el-button>
        <el-button  size="mini" @click="resetQuery" style=" width: 65px;height: 32px; background: #FFDDE3;
          border-radius: 6px 6px 6px 6px;
          opacity: 1;">重置</el-button>
      </el-form-item>
    </el-form>
    <el-table :data="tableData" border :header-cell-style="{ background: 'pink', fontSize: '13px', color: 'black' }"
      :row-class-name="tableRowClassName" :row-key="getRowId">
    <el-table v-loading="loading"  :data="meetingList" :row-key="getRowId" ref="multipleTable"
      @selection-change="handleSelectionChange"  :row-class-name="tableRowClassName">
      <!-- <el-table-column type="selection"  :reserve-selection="true" width="55"  align="center" /> -->
      <el-table-column fixed label="序号" sortable type="index" :index="(queryParams.pageNum-1)*queryParams.pageSize+1" width="80px"/>
      <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="address" sortable align="center">
      <el-table-column label="地点" prop="place" sortable align="center">
        <template slot-scope="scope">{{
      scope.row.address ? scope.row.address : '————' }}</template>
      scope.row.place ? scope.row.place : '————' }}</template>
      </el-table-column>
      <el-table-column label="可容纳人数" prop="capacity" sortable align="center">
      <el-table-column label="可容纳人数" prop="conPeople" sortable align="center" min-width="150">
        <template slot-scope="scope">{{
      scope.row.capacity ? scope.row.capacity : '————' }}</template>
      scope.row.conPeople ? scope.row.conPeople : '————' }}</template>
      </el-table-column>
      <el-table-column label="参与人数" prop="persons" sortable align="center">
      <el-table-column label="参与人数" prop="partPeople" sortable align="center" min-width="120">
        <template slot-scope="scope">{{
      scope.row.persons ? scope.row.persons : '————' }}</template>
      scope.row.partPeople ? scope.row.partPeople : '————' }}</template>
      </el-table-column>
      <el-table-column label="申请人" prop="applicant" sortable align="center">
      <el-table-column label="申请人" prop="applyPerson" sortable align="center" min-width="120">
        <template slot-scope="scope">{{
      scope.row.applicant ? scope.row.applicant : '————' }}</template>
      scope.row.applyPerson ? scope.row.applyPerson : '————' }}</template>
      </el-table-column>
      <el-table-column label="申请部门或家庭" prop="applyOrganization" sortable align="center">
      <el-table-column label="申请部门或家庭" prop="applyApart" sortable align="center" min-width="150">
        <template slot-scope="scope">{{
      scope.row.applyOrganization ? scope.row.applyOrganization : '————' }}</template>
      scope.row.applyApart ? scope.row.applyApart : '————' }}</template>
      </el-table-column>
      <el-table-column label="开始时间" prop="begin" sortable align="center">
        <template slot-scope="scope">{{ scope.row.begin
      ? scope.row.begin : '————' }}</template>
      <el-table-column label="开始时间" prop="startTime" sortable align="center"min-width="120">
        <template slot-scope="scope">{{ scope.row.startTime
      ? scope.row.startTime : '————' }}</template>
      </el-table-column>
      <el-table-column label="结束时间" prop="end" sortable align="center">
        <template slot-scope="scope">{{ scope.row.end ?
      scope.row.end : '————' }}</template>
      <el-table-column label="结束时间" prop="endTime" sortable align="center" min-width="120">
        <template slot-scope="scope">{{ scope.row.endTime ?
      scope.row.endTime : '————' }}</template>
      </el-table-column>
      <el-table-column label="是否摆放水牌" prop="card" sortable align="center">
        <template slot-scope="scope">{{ scope.row.card
      ? scope.row.card : '————' }}</template>
      <el-table-column label="是否摆放水牌" prop="isPlacebrand" sortable align="center" min-width="150">
        <template slot-scope="scope">{{scope.row.isPlacebrand===1? '是': '否'}}</template>
      </el-table-column>
      <el-table-column label="联系人" prop="name" sortable align="center">
        <template slot-scope="scope">{{ scope.row.name ?
      scope.row.name : '————' }}</template>
      <el-table-column label="联系人" prop="connPerson" sortable align="center" min-width="100">
        <template slot-scope="scope">{{ scope.row.connPerson ?
      scope.row.connPerson : '————' }}</template>
      </el-table-column>
      <el-table-column label="联系电话" prop="phone" sortable align="center">
        <template slot-scope="scope">{{ scope.row.phone
      ? scope.row.phone : '————' }}</template>
      <el-table-column label="联系电话" prop="connPhone" sortable align="center" min-width="100">
        <template slot-scope="scope">{{ scope.row.connPhone
      ? scope.row.connPhone : '————' }}</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 label="状态" prop="statu" sortable align="center">
        <template slot-scope="scope">{{scope.row.statu===1? '同意': '拒绝'}}</template>
      </el-table-column>
      <el-table-column label="操作" align="center" width="250" class-name="small-padding fixed-width">
      <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 v-show="agree" size="mini" type="text" @click="agree(scope.row)">同意</el-button>
            <el-button v-show="agree" size="mini" type="text" icon="el-icon-delete">拒绝</el-button>
            <el-button v-show="agree1" size="mini" type="text" icon="el-icon-delete">重新审批</el-button>
            <el-button size="mini" type="text" icon="el-icon-edit" @click="agree(scope.row)">同意</el-button>
            <el-button size="mini" type="text" icon="el-icon-delete" @click="refuse(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>
    <pagination
      v-show="total>0"
      :total="total"
      :page.sync="queryParams.pageNum"
      :limit.sync="queryParams.pageSize"
      @pagination="getList"
      style="background: #FEF7FC;"
    />
  </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";
  import { Notification, MessageBox, Message, Loading } from 'element-ui'
  //在system/note/index.js中导入接口函数  --接好了
  import {listMeeting2,updateStatu} from "@/api/meeting/index";
export default {
  created() {
        this.getList();
  },
  data() {
    return {
      tableData: [
        { 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' },
        { title: '5', name: 'rtyrtyrty', address: 'rtyrtyrty', id: 5, age: '30' },
        { title: '6', name: 'yuiyuiyui', address: 'yuiyuiyui', id: 6, age: '30' },
        { title: '7', name: 'hjkljkljk', address: 'jkljklhlkjl', id: 7, age: '30' },
      ],
      queryParams1: {
      formDat1:{
        id:undefined,
        statu:undefined
      },
        // 显示搜索条件
              loading: true,
        showSearch: true,
        open: false,
        title: "",
        // 总条数
        total: 0,
        meetingList: [],
        formDat:{
          id: undefined,
          title: undefined,
          place: undefined,
          conPeople: undefined,
          partPeople: undefined,
          applyPerson: undefined,
          applyApart: undefined,
          startTime: undefined,
          endTime: undefined,
          happenStartTime: undefined,
          happenEndTime: undefined,
          isPlacebrand: undefined,
          connPerson: undefined,
          connPhone: undefined,
          statu: undefined,
          createTime: undefined
        },
      queryParams: {
        pageNum: 1,
        pageSize: 10,
        happenTime: undefined,
        people: undefined,
        address: undefined,
        title: undefined,
        remark: undefined,
        status: undefined,
        agree1: false,
        agree: true,
        place:undefined,
        apply_Apart:undefined,
        start_Time:undefined,
        applyPerson:undefined
      },
      dateRange: [],
      // 表单校验
      rules: {},
        typeOptions: [
          {
          value: '1',
          label: '是',
          },
          {
            value: '0',
            label: '否',
      }
          ],
          typeOptions2: [
            {
            value: '1',
            label: '同意',
            },
            {
              value: '0',
              label: '拒绝',
            }
            ],
    }
  },
  methods: {
    agree(row){
      this.formDat1.id = row.id
      this.formDat1.statu = 1
      // this.$refs['elForm'].validate(valid => {
        // if (valid) {
          if (row.id != undefined) {
            updateStatu(this.formDat1).then(response => {
              this.$modal.msgSuccess("修改成功");
              // this.btn = false
            });
          } else {
            this.$modal.msgSuccess("修改失败");
          }
          this.getList();
          this.getList();
        // }
      // })
    },
    refuse(row){
      this.formDat1.id = row.id
      this.formDat1.statu = 0
      if (row.id != undefined) {
          updateStatu(this.formDat1).then(response => {
            this.$modal.msgSuccess("修改成功");
            // this.btn = false
          });
        } else {
          this.$modal.msgSuccess("修改失败");
        }
        this.getList();
        this.getList();
    },
    // 多选框选中数据
    handleSelectionChange(selection) {
      this.ids = selection.map(item => item.id)
    //  alert(this.ids)
      this.single = selection.length!=1
      this.multiple = !selection.length
    },
    getList() {
      this.loading = true;
        this.queryParams.happenStartTime = this.dateRange.length > 0 && this.dateRange[0]
        this.queryParams.happenEndTime = this.dateRange.length > 0 && this.dateRange[1]
      listMeeting2(this.queryParams).then(response => {
          this.meetingList = response.data.data;
          this.total = response.data.total;
          this.loading = false;
        }
      );
    },
    /** 搜索按钮操作 */
    handleQuery() {
      this.queryParams.pageNum = 1;
      this.getList();
    },
    /** 重置按钮操作 */
    resetQuery() {
      this.dateRange = [];
      this.resetForm("queryForm");
      this.handleQuery();
    },
    tableRowClassName({ row, rowIndex }) {
@@ -147,14 +303,7 @@
      return row.id
    },
    agree(row){
    this.agree1 = true
    this.agree = false
      row.status = '同意'
      alert(row.status)
    },
    // 查看详细信息
    handleCheck(row){
      const id = row.id;
@@ -168,6 +317,11 @@
      });
    },
  }
}
</script>
ruoyi-ui/src/views/meeting/approveInfo.vue
@@ -2,43 +2,51 @@
  <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>
        <span>会议详情</span>
      </h1>
    </div>
    <div style="padding-left:15px">
      <el-form ref="elForm" :model="formDat" :rules="rules" size="medium" label-position="left" label-width="160px">
      <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="meetingTitle" label-width="90px"
              <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.meetingTitle" placeholder="请输入会议标题" clearable :style="{width: '100%'}">
                </el-input>
                <el-input v-if="!dsb" v-model="formData.title" placeholder="请输入会议标题" clearable :style="{width: '100%'}" :disabled="dsb"></el-input>
                <el-input v-if="dsb" v-model="formData.title" placeholder="" clearable :style="{width: '100%'}" :disabled="dsb"></el-input>
              </el-form-item>
            </el-cow>
            <el-cow>
              <el-form-item label="开始时间" prop="happenTime" label-width="80px"
              <el-form-item label="开始时间" prop="startTime" 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 v-if="!dsb" v-model="formData.startTime" type="datetime" placeholder="选择日期时间" align="right"
                  :picker-options="pickerOptions" :style="{width: '100%'}" :disabled="dsb" value-format="yyyy-MM-dd HH:mm:ss">
                </el-date-picker>
                <el-date-picker v-if="dsb" v-model="formData.startTime" type="datetime" placeholder="" align="right"
                  :picker-options="pickerOptions" :style="{width: '100%'}" :disabled="dsb" value-format="yyyy-MM-dd HH:mm:ss">
                </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 v-if="!dsb" v-model="formData.endTime" type="datetime" placeholder="选择日期时间" align="right"
                  :picker-options="pickerOptions" :style="{width: '100%'}" :disabled="dsb" value-format="yyyy-MM-dd HH:mm:ss">
                </el-date-picker>
                <el-date-picker v-if="dsb" v-model="formData.endTime" type="datetime" placeholder="" align="right"
                  :picker-options="pickerOptions" :style="{width: '100%'}" :disabled="dsb" value-format="yyyy-MM-dd HH:mm:ss">
                </el-date-picker>
              </el-form-item>
            </el-cow>
            <el-cow>
              <el-form-item label="会议地点" prop="address" label-width="90px"
              <el-form-item label="会议地点" prop="place" 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 v-if="!dsb" v-model="formData.place" placeholder="请输入会议地点" clearable :style="{width: '100%'}" :disabled="dsb">
                </el-input>
                <el-input v-if="dsb" v-model="formData.place" placeholder="" clearable :style="{width: '100%'}" :disabled="dsb">
                </el-input>
              </el-form-item>
            </el-cow>
@@ -46,42 +54,50 @@
            <!-- <el-cow>
              <el-form-item label="会议室代码" prop="meetingID" label-width="90px"
                style="background: #FAD1E0;border-radius: 7px 7px 7px 7px;opacity: 1;">
                <el-input v-model="formDat.meetingID" placeholder="请输入会议室代码" clearable :style="{width: '100%'}">
                <el-input v-model="formData.meetingID" placeholder="请输入会议室代码" clearable :style="{width: '100%'}">
                </el-input>
              </el-form-item>
            </el-cow> -->
            <el-cow>
              <el-form-item label="可容纳人数" prop="capacity" label-width="90px"
              <el-form-item label="可容纳人数" prop="conPeople" label-width="90px"
                style="background: #FAD1E0;border-radius: 7px 7px 7px 7px;opacity: 1;">
                <el-input v-model="formDat.capacity" placeholder="请输入可容纳人数" clearable :style="{width: '100%'}">
                <el-input v-if="!dsb" v-model="formData.conPeople" placeholder="请输入可容纳人数" clearable :style="{width: '100%'}" :disabled="dsb">
                </el-input>
                <el-input v-if="dsb" v-model="formData.conPeople" placeholder="" clearable :style="{width: '100%'}" :disabled="dsb">
                </el-input>
              </el-form-item>
            </el-cow>
            <el-cow>
              <el-form-item label="参与人数" prop="attendance" label-width="90px"
              <el-form-item label="参与人数" prop="partPeople" label-width="90px"
                style="background: #FAD1E0;border-radius: 7px 7px 7px 7px;opacity: 1;">
                <el-input v-model="formDat.attendance" placeholder="请输入参与人数" clearable :style="{width: '100%'}">
                <el-input v-if="!dsb" v-model="formData.partPeople" placeholder="请输入参与人数" clearable :style="{width: '100%'}" :disabled="dsb">
                </el-input>
                <el-input v-if="dsb" v-model="formData.partPeople" placeholder="" clearable :style="{width: '100%'}" :disabled="dsb">
                </el-input>
              </el-form-item>
            </el-cow>
            <el-cow>
              <el-form-item label="申请人" prop="applicant" label-width="90px"
              <el-form-item label="申请人" prop="applyPerson" 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 v-if="!dsb" v-model="formData.applyPerson" placeholder="请输入申请人" clearable :style="{width: '100%'}" :disabled="dsb">
                </el-input>
                <el-input v-if="dsb" v-model="formData.applyPerson" placeholder="" clearable :style="{width: '100%'}" :disabled="dsb">
                </el-input>
              </el-form-item>
            </el-cow>
            <el-cow>
              <el-form-item label="家庭或部门" prop="familyName" label-width="90px"
              <el-form-item label="家庭或部门" prop="applyApart" label-width="90px"
                style="background: #FAD1E0;border-radius: 7px 7px 7px 7px;opacity: 1;">
                <el-input v-model="formDat.familyName" placeholder="请输入申请家庭或部门" clearable :style="{width: '100%'}">
                <el-input v-if="!dsb" v-model="formData.applyApart" placeholder="请输入申请家庭或部门" clearable :style="{width: '100%'}" :disabled="dsb">
                </el-input>
                <el-input v-if="dsb" v-model="formData.applyApart" placeholder="" clearable :style="{width: '100%'}" :disabled="dsb">
                </el-input>
              </el-form-item>
            </el-cow>
            <el-cow>
              <el-form-item label="是否拜访水牌" prop="status" label-width="120px"
              <el-form-item label="是否拜访水牌" prop="isPlacebrand" 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%'}"
                <el-select v-model="formData.isPlacebrand" 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>
@@ -89,16 +105,29 @@
              </el-form-item>
            </el-cow>
            <el-cow>
              <el-form-item label="联系人" prop="name" label-width="90px"
              <el-form-item label="联系人" prop="connPerson" label-width="90px"
                style="background: #FAD1E0;border-radius: 7px 7px 7px 7px;opacity: 1;">
                <el-input v-model="formDat.name" placeholder="请输入联系人" clearable :style="{width: '100%'}">
                <el-input v-if="!dsb" v-model="formData.connPerson" placeholder="请输入联系人" clearable :style="{width: '100%'}" :disabled="dsb">
                </el-input>
                <el-input v-if="dsb" v-model="formData.connPerson" placeholder="" clearable :style="{width: '100%'}" :disabled="dsb">
                </el-input>
              </el-form-item>
            </el-cow>
            <el-cow>
              <el-form-item label="联系电话" prop="phone" label-width="90px"
              <el-form-item label="联系电话" prop="connPhone" label-width="90px"
                style="background: #FAD1E0;border-radius: 7px 7px 7px 7px;opacity: 1;">
                <el-input v-model="formDat.phone" placeholder="请输入联系电话" clearable :style="{width: '100%'}"></el-input>
                <el-input v-if="!dsb" v-model="formData.connPhone" placeholder="请输入联系电话" clearable :style="{width: '100%'}" :disabled="dsb"></el-input>
                <el-input v-if="dsb" v-model="formData.connPhone" placeholder="" clearable :style="{width: '100%'}" :disabled="dsb"></el-input>
              </el-form-item>
            </el-cow>
            <el-cow>
              <el-form-item label="状态" prop="statu" label-width="120px"
                style="background: #FAD1E0;border-radius: 7px 7px 7px 7px;opacity: 1;">
                <el-select v-model="formData.statu" placeholder="请选择 " clearable :style="{width: '100%'}"
                  :disabled="dsb">
                  <el-option v-for="(item, index) in typeOptions2" :key="index" :label="item.label"
                    :value="item.value"></el-option>
                </el-select>
              </el-form-item>
            </el-cow>
          </el-row>
@@ -106,10 +135,15 @@
        <h4 class="form-header"> </h4>
        <el-form-item size="large">
          <el-button type="primary" @click="submitForm" :disabled="dsb">同意</el-button>
          <el-button type="primary" @click="submitForm" :disabled="dsb">拒绝</el-button>
          <el-button v-if="isShow" type="primary" @click="agree()" :disabled="!dsb">同意</el-button>
                    <el-button v-if="isShow" type="primary" @click="refuse()" :disabled="!dsb">拒绝</el-button>
        </el-form-item>
      </el-form>
      <el-dialog  :visible.sync="dialogVisible">
        <img w-full :src="dialogImageUrl"    style="width: 100%; height: 100%" alt="Preview Image" />
      </el-dialog>
    </div>
@@ -117,108 +151,76 @@
</template>
<script>
import {addRole, updateRole} from "@/api/system/role";
import {blobValidate} from "@/utils/ruoyi";
import errorCode from "@/utils/errorCode";
import {Message} from "element-ui";
  import {listMeeting,getMeetingInfo,addMeeting,enload,uploadPic,download,delMeeting,updateMeeting,updateStatu} from "@/api/meeting/index";
  export default {
    components: {},
    props: [],
    data() {
      return {
        cdi: "个人财产详细信息",
        udi: "个人财产信息详情",
        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'
        ],
        formDat:{
          id:undefined,
          statu:undefined
        },
        fileList: [],
        fileList1: [],
        uploadFileList: [],
        uploadFileList1: [],
        fileListOther: [],
        dsb: false,
        dsb: true,
        btn: false,
        isShow: true,
        uploading: false,
        formDat: {
        formData:{
          id: undefined,
          happenTime: undefined,
          title: undefined,
          place: undefined,
          conPeople: undefined,
          partPeople: undefined,
          applyPerson: undefined,
          applyApart: undefined,
          startTime: 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
          happenStartTime: undefined,
          happenEndTime: undefined,
          isPlacebrand: undefined,
          connPerson: undefined,
          connPhone: undefined,
          statu: undefined,
          createTime: 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: [{
          // title: [{
            // required: true,
            message: '请输入备注',
            trigger: 'blur'
          }],
          //   message: '请输入会议标题',
          //   trigger: 'blur'
          // }],
          // startTime: [{
          //   required: true,
          //   message: '请选择开始时间',
          //   trigger: 'blur'
          // }],
          // endTime: [{
          //   required: true,
          //   message: '请选择结束时间',
          //   trigger: 'blur'
          // }]
        },
        typeOptions: [{
        typeOptions: [
          {
            value: 1,
            label: '是',
          },
@@ -227,13 +229,14 @@
            label: '否',
          }
        ],
        typeOptions1: [{
            value: '变更',
            label: '变更',
          typeOptions2: [
            {
            value: 1,
            label: '同意',
          },
          {
            value: '注销',
            label: '注销',
              value: 0,
              label: '拒绝',
          }
        ],
      }
@@ -243,51 +246,90 @@
      let jd;
      if (this.$route.query.detail == 'true') {
        jd = this.$route.query.detail
        this.btn = jd
        //    document.title = "修改个人财产详细信息";
        this.$route.meta.title = "审批详情"; //列表的名称
        // this.btn = jd
        this.dsb = jd
        this.$route.meta.title = "会议审批详细信息"; //列表的名称
      } else {
        //   document.title = "个人财产详细信息";
        this.$route.meta.title = "审批详情"; //列表的名称
        this.$route.meta.title = "会议审批详细信息"; //列表的名称
        this.btn = false;
        this.isShow = false
      }
      let _this = this
      if (id) {
        this.loading = true;
        getMeetingInfo(id).then((response) => {
          console.log(response.data,'123123123')
          this.formData = response.data;
          this.loading = false;
        });
      }
    },
    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.formDat.url = ul + "," + uls
      getList() {
      const id = this.$route.params && this.$route.params.id;
        let _this = this
        if (id) {
          this.loading = true;
          getMeetingInfo(id).then((response) => {
            console.log(response.data,'123123123')
            this.formData = response.data;
            this.loading = false;
          });
        }
        this.$refs['elForm'].validate(valid => {
          alert(this.formDat.status)
          if (valid) {
            if (this.formDat.id != undefined) {
              updateSelfEconomy(this.formDat).then(response => {
      },
      agree(){
        this.formDat.id = this.formData.id
        this.formDat.statu = 1
            if (this.formData.id != undefined) {
              updateStatu(this.formDat).then(response => {
                this.$modal.msgSuccess("修改成功");
                // this.open = false;
                if (this.formDat.status == 1)
                  this.formDat.status = '是'
                else
                  this.formDat.status = '否'
                this.btn = false
                // this.btn = false
              });
            } else {
              this.$modal.msgSuccess("修改失败");
              if (this.formDat.status == '是')
                this.formDat.status = 1
              else
                this.formDat.status = 0
            }
          }
        })
            this.getList();
            this.getList();
      },
      refuse(row){
        this.formDat.id = this.formData.id
        this.formDat.statu = 0
        if (this.formData.id != undefined) {
            updateStatu(this.formDat).then(response => {
              this.$modal.msgSuccess("修改成功");
              // this.btn = false
            });
          } else {
            this.$modal.msgSuccess("修改失败");
          }
          this.getList();
          this.getList();
      },
  //     submitForm() {
  //       this.$refs['elForm'].validate(valid => {
  //         if (valid) {
  //           if (this.formData.id != undefined) {
  //             updateMeeting(this.formData).then(response => {
  //               this.$modal.msgSuccess("修改成功");
  //               // 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>
ruoyi-ui/src/views/meeting/statistics.vue
@@ -16,14 +16,14 @@
            </div>
          </el-button>
        </div>
        <div style="display: flex; align-items: center;">
        <!-- <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="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>
        </div> -->
      </h1>
@@ -88,7 +88,7 @@
        </div>
      </el-dialog>
      <!-- 新增数据框 -->
      <el-dialog :title="title" :visible.sync="open" width="1000px" append-to-body>
      <!-- <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">
@@ -143,7 +143,7 @@
          <el-button type="primary" @click="submitDataScope">保 存</el-button>
          <el-button @click="cancel">取 消</el-button>
        </div>
      </el-dialog>
      </el-dialog> -->
    </div>
  </template>
ruoyi-ui/src/views/meeting/webcast.vue
@@ -147,30 +147,30 @@
          <el-input v-model="formDat.meetingTitle" placeholder="请输入会议标题" clearable :style="{width: '100%'}">
          </el-input>
        </el-form-item>
        <el-form-item label="会议地点" prop="address">
<!--        <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="meetingID">
        </el-form-item> -->
<!--        <el-form-item label="会议室代码" prop="meetingID">
          <el-input v-model="formDat.meetingID" placeholder="请输入会议室代码" clearable :style="{width: '100%'}">
          </el-input>
        </el-form-item>
        <el-form-item label="可容纳人数" prop="capacity">
        </el-form-item> -->
      <!--  <el-form-item label="可容纳人数" prop="capacity">
          <el-input v-model="formDat.capacity" placeholder="请输入可容纳人数" clearable :style="{width: '100%'}">
          </el-input>
        </el-form-item>
        <el-form-item label="参与人数" prop="attendance">
        </el-form-item> -->
        <!-- <el-form-item label="参与人数" prop="attendance">
          <el-input v-model="formDat.attendance" placeholder="请输入参与人数" clearable :style="{width: '100%'}">
          </el-input>
        </el-form-item>
        </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="familyName">
        <!-- <el-form-item label="申请家庭或部门" prop="familyName">
          <el-input v-model="formDat.familyName" placeholder="请输入申请家庭或部门" clearable :style="{width: '100%'}">
          </el-input>
        </el-form-item>
        </el-form-item> -->
        <el-form-item label="联系人" prop="name">
          <el-input v-model="formDat.name" placeholder="请输入联系人" clearable :style="{width: '100%'}">
          </el-input>