From 9aa9c765801fcaa7281df2788400cc61592c005e Mon Sep 17 00:00:00 2001 From: yz3456 <2753272399@qq.com> Date: 星期四, 25 四月 2024 17:42:30 +0800 Subject: [PATCH] 修改了会议申请内容 --- ruoyi-ui/src/views/meeting/index.vue | 434 +++++++++++++++++++++++++++++++++-------------------- 1 files changed, 269 insertions(+), 165 deletions(-) diff --git a/ruoyi-ui/src/views/meeting/index.vue b/ruoyi-ui/src/views/meeting/index.vue index 84fb7de..c3cb233 100644 --- a/ruoyi-ui/src/views/meeting/index.vue +++ b/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,130 +317,63 @@ </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' + + //鍦╯ystem/note/index.js涓鍏ユ帴鍙e嚱鏁� --鎺ュソ浜� + 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, - address:undefined, - applyOrganization:undefined, - applicant: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: [ { @@ -373,10 +385,43 @@ 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; @@ -398,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, @@ -437,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' }) + } + + }, } } -- Gitblit v1.9.1