From 8f1ea2f09cfb16341e91d1e96a88de898eb43f94 Mon Sep 17 00:00:00 2001 From: MrShi <1878285526@qq.com> Date: 星期一, 12 五月 2025 09:22:44 +0800 Subject: [PATCH] 提交 --- admin/src/views/business/visits.vue | 146 +++++++++++++++++++++++++++++------------------- 1 files changed, 88 insertions(+), 58 deletions(-) diff --git a/admin/src/views/business/visits.vue b/admin/src/views/business/visits.vue index 6e28c5b..9af7373 100644 --- a/admin/src/views/business/visits.vue +++ b/admin/src/views/business/visits.vue @@ -1,36 +1,55 @@ <template> <TableLayout :permissions="['business:visits:query']"> <!-- 鎼滅储琛ㄥ崟 --> - <el-form ref="searchForm" slot="search-form" :model="searchForm" label-width="100px" inline> - <el-form-item label="濮撳悕/鎵嬫満鍙�" prop="name"> - <el-input v-model="searchForm.name" placeholder="璇疯緭鍏ュ鍚�/鎵嬫満鍙�" @keypress.enter.native="search"></el-input> - </el-form-item> - <el-form-item label="韬唤璇佸彿" prop="idcardNo"> - <el-input v-model="searchForm.idcardNo" placeholder="璇疯緭鍏ヨ韩浠借瘉鍙�" @keypress.enter.native="search"></el-input> - </el-form-item> - <el-form-item label="璁垮鍗曚綅" prop="companyName"> - <el-input v-model="searchForm.companyName" placeholder="璇疯緭鍏ヨ瀹㈠崟浣�" @keypress.enter.native="search"></el-input> - </el-form-item> - <el-form-item label="瀹℃壒鐘舵��" prop="status"> - <el-select v-model="searchForm.status" placeholder="璇烽�夋嫨"> - <el-option label="寰呮彁浜ゅ鎵�" value="0"></el-option> - <el-option label="瀹℃壒涓�" value="1"></el-option> - <el-option label="瀹℃牳閫氳繃" value="2"></el-option> - <el-option label="瀹℃壒椹冲洖" value="3"></el-option> - <el-option label="鍙栨秷" value="4"></el-option> - <el-option label="涓嬪彂鎴愬姛" value="5"></el-option> - <el-option label="涓嬪彂澶辫触" value="6"></el-option> - <el-option label="鎷滆涓�" value="7"></el-option> - <el-option label="宸茬绂�" value="8"></el-option> - <el-option label="宸插け鏁�" value="9"></el-option> - </el-select> - </el-form-item> - <section> - <el-button type="primary" @click="search">鎼滅储</el-button> - <!-- <el-button type="primary" :loading="isWorking.export" v-permissions="['business:visits:exportExcel']" @click="exportExcel">瀵煎嚭</el-button>--> - <el-button @click="reset">閲嶇疆</el-button> - </section> - </el-form> + <div slot="search-form" ref="QueryFormRef"> + <el-form ref="searchForm" :model="searchForm" label-width="100px" inline> + <el-form-item label="濮撳悕/鎵嬫満鍙�" prop="name"> + <el-input v-model="searchForm.name" placeholder="璇疯緭鍏ュ鍚�/鎵嬫満鍙�" @keypress.enter.native="search"></el-input> + </el-form-item> + <el-form-item label="韬唤璇佸彿" prop="idcardNo"> + <el-input v-model="searchForm.idcardNo" placeholder="璇疯緭鍏ヨ韩浠借瘉鍙�" @keypress.enter.native="search"></el-input> + </el-form-item> + <el-form-item label="璁垮鍗曚綅" prop="companyName"> + <el-input v-model="searchForm.companyName" placeholder="璇疯緭鍏ヨ瀹㈠崟浣�" @keypress.enter.native="search"></el-input> + </el-form-item> + <el-form-item label="鎷滆鏃堕棿" prop="date"> + <el-date-picker + v-model="searchForm.queryStarttime" + type="datetime" + clearable + value-format="yyyy-MM-dd HH:mm:ss" + class="w200" + placeholder="寮�濮嬫椂闂�" /> + <el-date-picker + v-model="searchForm.queryEndtime" + type="datetime" + value-format="yyyy-MM-dd HH:mm:ss" + class="w200" + clearable + placeholder="缁撴潫鏃堕棿" /> + </el-form-item> + <el-form-item label="瀹℃壒鐘舵��" prop="status"> + <el-select v-model="searchForm.status" placeholder="璇烽�夋嫨"> + <el-option label="寰呮彁浜ゅ鎵�" value="0"></el-option> + <el-option label="瀹℃壒涓�" value="1"></el-option> + <el-option label="瀹℃牳閫氳繃" value="2"></el-option> + <el-option label="瀹℃壒椹冲洖" value="3"></el-option> + <el-option label="鍙栨秷" value="4"></el-option> + <el-option label="涓嬪彂鎴愬姛" value="5"></el-option> + <el-option label="涓嬪彂澶辫触" value="6"></el-option> + <el-option label="鎷滆涓�" value="7"></el-option> + <el-option label="宸茬绂�" value="8"></el-option> + <el-option label="宸插け鏁�" value="9"></el-option> + </el-select> + </el-form-item> + <section> + <el-button type="primary" @click="search">鎼滅储</el-button> + <!-- <el-button type="primary" :loading="isWorking.export" v-permissions="['business:visits:exportExcel']" @click="exportExcel">瀵煎嚭</el-button>--> + <el-button @click="reset">閲嶇疆</el-button> + </section> + </el-form> + </div> + <!-- 琛ㄦ牸鍜屽垎椤� --> <template v-slot:table-wrap> <ul class="toolbar" v-permissions="['business:visits:create', 'business:visits:exportExcel']"> @@ -39,26 +58,18 @@ <li><el-button type="primary" :loading="isWorking.export" @click="exportExcel" v-permissions="['business:visits:exportExcel']">瀵煎嚭</el-button></li> </ul> - <el-table v-loading="isWorking.search" :data="tableData.list" stripe @selection-change="handleSelectionChange"> + <el-table :max-height="tableHeightNew" v-loading="isWorking.search" :data="tableData.list" stripe + @selection-change="handleSelectionChange"> <el-table-column type="selection" width="55"></el-table-column> <el-table-column prop="name" label="璁垮濮撳悕" min-width="100px"></el-table-column> <el-table-column prop="phone" label="鎵嬫満鍙�" min-width="100px"></el-table-column> <el-table-column prop="companyName" label="璁垮鍗曚綅" min-width="100px"></el-table-column> <el-table-column prop="receptMemberName" label="琚浜�" min-width="100px"></el-table-column> <el-table-column prop="reason" label="鎷滆浜嬬敱" min-width="100px"></el-table-column> - <el-table-column label="棰勭害鏃堕棿" min-width="170px"> + <el-table-column label="鎷滆鏃堕棿" min-width="170px"> <template slot-scope="{row}"> <span>璧凤細{{ row.starttime }}</span><br /> <span>姝細{{ row.endtime }}</span> - </template> - </el-table-column> - <el-table-column label="绛惧埌鏃堕棿" min-width="170px"> - <template slot-scope="{row}"> - <div v-if="row.inDate && row.outDate"> - <span>璧凤細{{ row.inDate }}</span><br /> - <span>姝細{{ row.outDate }}</span> - </div> - <span v-else>-</span> </template> </el-table-column> <el-table-column label="鏂藉伐浜哄憳" min-width="100px"> @@ -86,17 +97,16 @@ <span v-if="row.status === 9" style="color: gray">宸插け鏁�</span> </template> </el-table-column> - <el-table-column v-if="containPermissions(['business:visits:update', 'business:visits:delete'])" label="鎿嶄綔" + <el-table-column prop="remark" label="涓嬪彂澶囨敞" min-width="100px"></el-table-column> + <el-table-column prop="createDate" label="鍒涘缓鏃堕棿" min-width="170px"></el-table-column> + <el-table-column label="鎿嶄綔" min-width="200" fixed="right"> <template slot-scope="{row}"> - <el-button type="text" @click="departure(row.id)" icon="el-icon-delete" style="color: red" v-if="row.status == 7">绂诲巶</el-button> - <el-button type="text" @click="cancel(row.id)" v-permissions="['business:visits:cancel']" - icon="el-icon-delete" style="color: red" v-if="row.status == 5">鍙栨秷棰勭害</el-button> - <el-button type="text" @click="resend(row.id)" v-permissions="['business:visits:update']" - icon="el-icon-edit" v-if="row.status == 6">閲嶆柊涓嬪彂</el-button> - <!-- <el-button type="text" @click="$refs.OperaVisitsDesWindow.open('璇︽儏', row.id)" icon="el-icon-view">璇︽儏</el-button> --> <el-button type="text" @click="handleDetail(row)" icon="el-icon-view">璇︽儏</el-button> - <!-- <el-button type="text" @click="deleteById(row)" icon="el-icon-delete" v-permissions="['business:visits:delete']">鏌ヨ瀹℃壒缁撴灉</el-button>--> + <el-button type="text" @click="resend(row.id)" v-permissions="['business:visits:update']" icon="el-icon-edit" v-if="row.status == 6">閲嶆柊涓嬪彂</el-button> + <el-button type="text" @click="cancel(row.id)" v-permissions="['business:visits:cancel']" v-if="(row.status == 0 || row.status == 1 || row.status == 2|| row.status == 5)" icon="el-icon-delete" style="color: red" >鍙栨秷棰勭害</el-button> + <el-button type="text" @click="departure(row.id)" icon="el-icon-delete" style="color: red" v-if="row.status == 7">绂诲満</el-button> + <el-button type="text" icon="el-icon-delete" @click="deleteById(row)" style="color: red" v-permissions="['business:visits:delete']">鍒犻櫎</el-button> </template> </el-table-column> </el-table> @@ -118,6 +128,7 @@ import OperaVisitsDesWindow from '@/components/business/OperaVisitsDesWindow' import OperaVisitsWindow from '@/components/business/operaVisitsWindow' import TaskDetail from '@/views/task/visSubDetail.vue' +import {mapState} from "vuex"; export default { name: 'Visits', @@ -133,11 +144,17 @@ companyName: '', idcardNo: '', status: '', - type: 0 + type: 0, + queryStarttime: '', + queryEndtime: '', + date: [] } } }, - created() { + computed: { + ...mapState(['userInfo']) + }, + created () { this.config({ module: '璁垮鐢宠淇℃伅琛�', api: '/business/visits', @@ -146,7 +163,19 @@ }) this.search() }, + mounted() { + this.$nextTick(() => { + this.tableHeight = document.body.scrollHeight - this.$refs.QueryFormRef.offsetHeight - 300 + }) + }, methods: { + // 鎼滅储妗嗛噸缃� + reset () { + this.$refs.searchForm.resetFields() + this.searchForm.queryStarttime = '' + this.searchForm.queryEndtime = '' + this.search() + }, handleDetail(row) { this.isShowDetail = true console.log('row', row) @@ -164,30 +193,31 @@ }) }, departure(id) { - this.$confirm('纭畾绂诲巶鍚�, 鏄惁缁х画?', '鎻愮ず', { + this.$confirm('纭畾杩涜绂诲満鎿嶄綔鍚楋紝璇ユ搷浣滀笉鍙�嗚璋ㄦ厧鎿嶄綔, 鏄惁缁х画?', '鎻愮ず', { confirmButtonText: '纭畾', cancelButtonText: '鍙栨秷', type: 'warning' }).then(() => { - level(id) + this.api.level(id) .then(res => { + this.$message.success('鎿嶄綔鎴愬姛') this.page = 1 - this.getData() + this.search() }) }).catch(() => { }) }, - cancel(id) { + cancel( id) { this.$confirm('纭畾鍙栨秷棰勭害鍚�, 鏄惁缁х画?', '鎻愮ず', { confirmButtonText: '纭畾', cancelButtonText: '鍙栨秷', type: 'warning' }).then(() => { - visitCancel(id) + this.api.visitsCancel(id) .then(res => { this.page = 1 - this.getData() + this.search() }) }).catch(() => { @@ -202,7 +232,7 @@ this.api.visitResend(id) .then(res => { this.page = 1 - this.getData() + this.search() }) }).catch(() => { -- Gitblit v1.9.3