yz3456
2024-04-25 9aa9c765801fcaa7281df2788400cc61592c005e
ruoyi-ui/src/views/meeting/index.vue
@@ -51,9 +51,9 @@
          end-placeholder="结束日期"
        ></el-date-picker>
      </el-form-item>
      <el-form-item label="地点" prop="address" >
      <el-form-item label="地点" prop="place" >
        <el-input
          v-model="queryParams.address"
          v-model="queryParams.place"
          placeholder="请输入地点"
          clearable
          style="width: 200px;
@@ -63,9 +63,9 @@
          @keyup.enter.native="handleQuery"
        />
      </el-form-item>
      <el-form-item label="申请部门或家庭" prop="applyOrganization" >
      <el-form-item label="申请部门或家庭" prop="applyApart" >
        <el-input
          v-model="queryParams.applyOrganization"
          v-model="queryParams.applyApart"
          placeholder="请输入申请部门或家庭"
          clearable
          style="width: 200px;
@@ -75,9 +75,9 @@
          @keyup.enter.native="handleQuery"
        />
      </el-form-item>
      <el-form-item label="申请人" prop="applicant" >
      <!-- <el-form-item label="申请人" prop="applyPerson" >
        <el-input
          v-model="queryParams.applicant"
          v-model="queryParams.applyPerson"
          placeholder="请输入申请人"
          clearable
          style="width: 200px;
@@ -87,7 +87,7 @@
          @keyup.enter.native="handleQuery"
        />
      </el-form-item>
      </el-form-item> -->
      <el-form-item>
        <el-button  size="mini" @click="handleQuery" style=" width: 65px; height: 32px;background: #FFDDE3;
@@ -98,66 +98,131 @@
      </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-row :gutter="10" class="mb8">
      <!-- <el-col :span="1.5">
        <el-button
          type="primary"
          plain
          icon="el-icon-plus"
          size="mini"
          @click="handleAdd"
          v-hasPermi="['system:role:add']"
        >新增</el-button>
      </el-col> -->
      <el-col :span="1.5">
        <el-button
          type="danger"
          plain
          icon="el-icon-delete"
          size="mini"
          :disabled="multiple"
          @click="handleDelete"
          v-hasPermi="['system:role:remove']"
        >删除</el-button>
      </el-col>
      <el-col :span="1.5">
        <el-button
          type="warning"
          plain
          icon="el-icon-download"
          size="mini"
          @click="handleExport"
          v-hasPermi="['family:note:export']"
        >导出</el-button>
      </el-col>
      <el-col :span="1.5">
        <el-button
          type="warning"
          plain
          icon="el-icon-download"
          size="mini"
          @click="handleExportTemplate"
          v-hasPermi="['family:note:export']"
        >导入模板下载</el-button>
      </el-col>
      <el-col :span="1.5">
        <el-upload
          action=""
          class="upload-demo"
          :show-file-list="false"
          :http-request="handleEnport"
        >
          <el-button size="mini"   type="primary"
                     plain
                     icon="el-icon-top">导入</el-button>
        </el-upload>
      </el-col>
      <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
    </el-row>
      <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">
        <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">
        <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">
        <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">
        <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">
        <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">
        <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">
        <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">
        <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">
        <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="200" class-name="small-padding fixed-width">
@@ -171,15 +236,23 @@
      </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="1000px" 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-form-item label="开始时间" prop="startTime">
          <el-date-picker v-model="formDat.startTime" type="date" placeholder="请选择日期"
                          :editable="false" :clearable="false" :style="{width: '100%'}"  value-format="yyyy-MM-dd"
          ></el-date-picker>
        </el-form-item>
@@ -189,43 +262,49 @@
          ></el-date-picker>
        </el-form-item>
        <el-form-item label="标题" prop="meetingTitle">
          <el-input v-model="formDat.meetingTitle" placeholder="请输入会议标题" clearable :style="{width: '100%'}">
        <el-form-item label="标题" prop="title">
          <el-input v-model="formDat.title" placeholder="请输入会议标题" clearable :style="{width: '100%'}">
          </el-input>
        </el-form-item>
        <el-form-item label="地点" prop="address">
          <el-input v-model="formDat.address" placeholder="请输入会议地点" clearable :style="{width: '100%'}">
        <el-form-item label="地点" prop="place">
          <el-input v-model="formDat.place" placeholder="请输入会议地点" clearable :style="{width: '100%'}">
          </el-input>
        </el-form-item>
        <el-form-item label="可容纳人数" prop="capacity">
          <el-input v-model="formDat.capacity" placeholder="请输入可容纳人数" clearable :style="{width: '100%'}">
        <el-form-item label="可容纳人数" prop="conPeople">
          <el-input v-model="formDat.conPeople" placeholder="请输入可容纳人数" clearable :style="{width: '100%'}">
          </el-input>
        </el-form-item>
        <el-form-item label="参与人数" prop="attendance">
          <el-input v-model="formDat.attendance" placeholder="请输入参与人数" clearable :style="{width: '100%'}">
        <el-form-item label="参与人数" prop="partPeople">
          <el-input v-model="formDat.partPeople" 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-form-item label="申请人" prop="applyPerson">
          <el-input v-model="formDat.applyPerson" placeholder="请输入申请人" clearable :style="{width: '100%'}">
          </el-input>
        </el-form-item>
        <el-form-item label="申请家庭或部门" prop="familyName">
          <el-input v-model="formDat.familyName" placeholder="请输入申请家庭或部门" clearable :style="{width: '100%'}">
        <el-form-item label="申请家庭或部门" prop="applyApart">
          <el-input v-model="formDat.applyApart" 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-form-item label="是否拜访水牌" prop="isPlacebrand">
          <el-select v-model="formDat.isPlacebrand" 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-item label="联系人" prop="name">
          <el-input v-model="formDat.name" placeholder="请输入联系人" clearable :style="{width: '100%'}">
        <el-form-item label="联系人" prop="connPerson">
          <el-input v-model="formDat.connPerson" placeholder="请输入联系人" clearable :style="{width: '100%'}">
          </el-input>
        </el-form-item>
        <el-form-item label="联系电话" prop="phone">
          <el-input v-model="formDat.phone" placeholder="请输入联系电话" clearable :style="{width: '100%'}"></el-input>
        <el-form-item label="联系电话" prop="connPhone">
          <el-input v-model="formDat.connPhone" placeholder="请输入联系电话" clearable :style="{width: '100%'}"></el-input>
        </el-form-item>
        <el-form-item label="状态" prop="statu">
          <el-select v-model="formDat.statu" placeholder="请选择" clearable :style="{width: '100%'}">
            <el-option v-for="(item, index) in typeOptions2" :key="index" :label="item.label" :value="item.value"
            ></el-option>
          </el-select>
        </el-form-item>
      </el-form>
@@ -238,144 +317,111 @@
      </div>
    </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";
  import { Notification, MessageBox, Message, Loading } from 'element-ui'
  //在system/note/index.js中导入接口函数  --接好了
  import {listMeeting,getMeetingInfo,addMeeting,enload,uploadPic,download,delMeeting,updateMeeting} from "@/api/meeting/index";
  export default {
    created() {
          this.getList();
    },
    data() {
      return {
        // 显示搜索条件
              loading: true,
        showSearch: true,
        open: false,
        title: "",
        tableData: [{
            title: '1',
            name: 'asasd',
            address: 'asdadsdasd',
            id: 1,
            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'
          },
        ],
        // 总条数
        total: 0,
        meetingList: [],
        formDat:{
          id: undefined,
          happenTime: undefined,
          title: undefined,
          place: undefined,
          conPeople: undefined,
          partPeople: undefined,
          applyPerson: undefined,
          applyApart: undefined,
          startTime: undefined,
          endTime: 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
        },
      queryParams: {
        pageNum: 1,
        pageSize: 10,
        content:undefined,
        buyer:undefined,
        location:undefined,
        createDate:undefined,
        happenTime:undefined
        place:undefined,
        apply_Apart:undefined,
        start_Time:undefined,
        applyPerson:undefined
      },
      dateRange: [],
      // 表单校验
      rules: {
        name: [{
          required: true,
          message: '请输入设备名称',
          trigger: 'blur'
        }],
        status: [{
          // required: true,
          message: '是否注销',
          trigger: 'change'
        }],
        buyer: [{
          required: true,
          message: '请输入购买人',
          trigger: 'blur'
        }],
        location: [{
          required: true,
          message: '请输入存放地点',
          trigger: 'blur'
        }],
        remark: [{
          // required: true,
          message: '请输入备注',
          trigger: 'blur'
        }],
        happenTime: [{
          required: true,
          message: '请选择日期选择',
          trigger: 'blur'
        }],
        content: [{
          required: true,
          message: '请输入标题',
          trigger: 'blur'
        }],
      },
        typeOptions: [{
        typeOptions: [
          {
          value: '1',
          label: '是',
        },
          },
          {
            value: '0',
            label: '否',
          }],
          }
          ],
          typeOptions2: [
            {
            value: '1',
            label: '同意',
            },
            {
              value: '0',
              label: '拒绝',
            }
            ],
      }
    },
    methods: {
      // 多选框选中数据
      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;
        // console.log(this.queryParams)
        //  listProperty(this.addDateRange(this.queryParams, this.dateRange)).then(response => {
          this.queryParams.happenStartTime = this.dateRange.length > 0 && this.dateRange[0]
          this.queryParams.happenEndTime = this.dateRange.length > 0 && this.dateRange[1]
        listMeeting(this.queryParams).then(response => {
            //  alert(123)
              console.log(response.data.data,'111111')
            this.meetingList = response.data.data;
            this.total = response.data.total;
            this.loading = false;
          }
        );
      },
      /** 搜索按钮操作 */
      handleQuery() {
        this.queryParams.pageNum = 1;
@@ -397,9 +443,30 @@
        this.open = false;
        // this.reset();
      },
      submitDataScope() {
        console.log(this.formDat.timeSpan)
      },
submitDataScope: function() {
      this.$refs["elForm"].validate(valid => {
        // alert(valid)
        if (valid) {
          addMeeting(this.formDat).then(response => {
            this.$modal.msgSuccess("新增成功");
            this.open = false;
            // 清空formDat对象的数据
            Object.keys(this.formDat).forEach(key => {
              this.formDat[key] = '';
            });
            // for(let i = 0; i <= this.fileList.length; i++)
            // {
            //   this.handleRemove(this.fileList[0]);
            // }
            // for(let i = 0; i < this.fileListOther.length; i++){
            //   this.handleRemoveFile(this.fileListOther[0]);
            // }
            this.getList();
          });
        }
      });
    },
      tableRowClassName({
        row,
@@ -436,12 +503,50 @@
      handleDelete(row) {
        const Ids = row.id || this.ids;
        this.$modal.confirm('是否确认删除数据项?').then(function() {
          return delSelfEconomy(Ids);
          return delMeeting(Ids);
        }).then(() => {
          this.getList();
          this.$modal.msgSuccess("删除成功");
        }).catch(() => {});
      },
      /** 导出按钮操作 */
      handleExport() {
          const Ids = this.ids;
        if(Ids.length==0)
        {
        this.download('/zMeeting/export', {
          ...this.queryParams
        }, `zMeeting_${new Date().getTime()}.xlsx`)
        }
        else{
          this.download('/zMeeting/export1/'+Ids, {
          }, `zMeeting_${new Date().getTime()}.xlsx`)
        }
        },
          /** 导入模板下载操作*/
      handleExportTemplate()
      {
       this.download('/zMeeting/model', {
        }, `zMeeting_${new Date().getTime()}.xlsx`)
      },
      /** 导入操作*/
      handleEnport(params){
        var file = params.file;
        var formData = new FormData();
        formData.append('excelImport', file);
        let _this = this
        enload(formData).then(response => {
          _this.getList();
          Message({ message: "导入成功", type: 'warning' })
        }).catch(err)
        {
          Message({ message: "导入失败", type: 'error' })
        }
      },
    }
  }