From 17efddc6a667670dca682bf36b51a43e99615e6d Mon Sep 17 00:00:00 2001 From: k94314517 <8417338+k94314517@user.noreply.gitee.com> Date: 星期三, 16 十月 2024 15:59:38 +0800 Subject: [PATCH] 代码初始化 --- admin/src/views/business/reportRecord.vue | 193 +++++++++++++++++++++++++++++++++++++++++------- 1 files changed, 165 insertions(+), 28 deletions(-) diff --git a/admin/src/views/business/reportRecord.vue b/admin/src/views/business/reportRecord.vue index 348d2ef..0c1c06b 100644 --- a/admin/src/views/business/reportRecord.vue +++ b/admin/src/views/business/reportRecord.vue @@ -1,50 +1,141 @@ <template> <div class="main_app"> - <QueryForm v-model="filters" :query-form-config="queryFormConfig" @handleQuery="getList(1)" @clear="clear" /> - <el-table v-loading="loading" :data="list" stripe row-key="id" default-expand-all> - <el-table-column prop="" label="鍏ュ洯杞﹁締" min-width="100" show-overflow-tooltip></el-table-column> - <el-table-column prop="" label="鍏徃鍚嶇О" min-width="120" show-overflow-tooltip></el-table-column> - <el-table-column prop="" label="鑱旂郴浜轰俊鎭�" min-width="100" show-overflow-tooltip></el-table-column> - <el-table-column prop="" label="鎵嬫満鍙�" min-width="120" show-overflow-tooltip></el-table-column> - <el-table-column prop="" label="琚浜�" min-width="120" show-overflow-tooltip></el-table-column> - <el-table-column prop="" label="鎷滆鏃堕棿" min-width="120" show-overflow-tooltip></el-table-column> - <el-table-column prop="" label="鎷滆浜嬬敱" min-width="80" show-overflow-tooltip></el-table-column> - <el-table-column prop="" fixed="right" label="鐘舵��" min-width="100"></el-table-column> - <el-table-column label="鎿嶄綔" width="230" fixed="right"> - <template slot-scope="{row}"> - <el-button type="text" @click="handleDetail(row)" v-permissions="['business:company:update']">鏌ョ湅璇︽儏</el-button> + <QueryForm + v-model="filters" + :query-form-config="queryFormConfig" + @handleQuery="getList(1)" + @clear="clear" + /> + <div class="query_btns" style="margin: 16px 0 0" v-permissions="['business:visits:create', 'business:visits:exportExcel']"> + <el-button type="primary" @click="handleEdit()" icon="el-icon-plus" v-permissions="['business:visits:create']">鏂板缓</el-button> + <el-button type="primary" :loading="exLoading" @click="exportExcel" v-permissions="['business:visits:exportExcel']">瀵煎嚭</el-button> + </div> + <el-table + v-loading="loading" + :data="dataList" + stripe + row-key="id" + default-expand-all + > + <el-table-column type="selection" width="55" align="center"></el-table-column> + <el-table-column + prop="carNos" + label="鍏ュ洯杞﹁締" + min-width="100px" + ></el-table-column> + <el-table-column + prop="companyName" + label="鍏徃鍚嶇О" + min-width="100px" + ></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="receptMemberName" + label="琚浜�" + min-width="100px" + ></el-table-column> + <el-table-column label="鎷滆鏃堕棿" min-width="160px"> + <template slot-scope="{ row }"> + <span>璧凤細{{ row.starttime }}</span + ><br /> + <span>姝細{{ row.endtime }}</span> + </template> + </el-table-column> + <el-table-column + prop="reason" + label="鎷滆浜嬬敱" + min-width="100" + ></el-table-column> + <el-table-column + prop="status" + fixed="right" + label="鐘舵��" + align="center" + min-width="100" + > + <template slot-scope="{ row }"> + <span style="color: rgba(245, 154, 35, 0.996)" v-if="row.status === 0" + >寰呮彁浜ゅ鎵�</span + > + <span v-if="row.status === 1" style="color: rgba(245, 154, 35, 0.996)" + >澶勭悊涓�</span + > + <span v-if="row.status === 2" style="color: rgba(245, 154, 35, 0.996)" + >宸插悓鎰�</span + > + <span style="color: gray" v-if="row.status === 3">宸叉嫆缁�</span> + <span v-if="row.status === 4" style="color: gray">鍙栨秷</span> + <span v-if="row.status === 5" style="color: green">涓嬪彂鎴愬姛</span> + <span v-if="row.status === 6" style="color: gray">涓嬪彂澶辫触</span> + <span v-if="row.status === 7" style="color: green">鎷滆涓�</span> + <span v-if="row.status === 8" style="color: red">宸茬绂�</span> + <span v-if="row.status === 9" style="color: gray">宸插け鏁�</span> + </template> + </el-table-column> + <el-table-column label="鎿嶄綔" align="center" width="100" fixed="right"> + <template slot-scope="{ row }"> + <el-button + type="text" + @click="handleDetail(row)" + v-permissions="['business:company:update']" + >鏌ョ湅璇︽儏</el-button + > </template> </el-table-column> </el-table> - <pagination @size-change="handleSizeChange" @current-change="getList" :pagination="pagination" /> - <ReportDetail v-if="isShowDetail" ref="DetailRef" /> + <pagination + @size-change="handleSizeChange" + @current-change="getList" + :pagination="pagination" + /> + <ReportDetail v-if="isShowReport" ref="VisReportDetailRef" /> + <OperaVisitsReportWindow @close="isShowEdit = false" @success="getList" v-if="isShowEdit" ref="operaVisitsWindowRef" /> </div> </template> <script> import Pagination from '@/components/common/Pagination' import QueryForm from '@/components/common/QueryForm' -import ReportDetail from './page-components/ReportDetail.vue' +// import ReportDetail from './page-components/ReportDetail.vue' +import ReportDetail from '@/views/task/visReportDetail.vue' +import OperaVisitsReportWindow from '@/components/business/operaVisitsReportWindow.vue' +import { fetchList, exportExcel } from '@/api/business/visits' export default { components: { ReportDetail, QueryForm, - Pagination + Pagination, + OperaVisitsReportWindow }, data () { return { - isShowDetail: false, + isShowEdit: false, + exLoading: false, + + isShowReport: false, activeTab: '0', - filters: {}, + filters: { + type: 2 + }, + dataList: [], queryFormConfig: { formItems: [ { - filed: 'idCard', + filed: 'carNos', type: 'input', label: '杞︾墝鍙�' }, { - filed: 'name', + filed: 'companyName', type: 'input', label: '鍏徃鍚嶇О' } @@ -60,19 +151,66 @@ capacity: 10, page: 1 }, - list: [{}], total: 0 } }, + created () { + this.getList() + }, methods: { - handleDetail () { - this.isShowDetail = true + exportExcel () { + this.$dialog.exportConfirm('纭瀵煎嚭鍚楋紵') + .then(() => { + this.exLoading = true + exportExcel({ + page: this.pagination.page, + capacity: 1000000, + model: this.filters + }) + .then(response => { + this.download(response) + }) + .catch(e => { + this.$tip.apiFailed(e) + }) + .finally(() => { + this.exLoading = false + }) + }) + }, + handleEdit () { + this.isShowEdit = true this.$nextTick(() => { - this.$refs.DetailRef.isShowModal = true + this.$refs.operaVisitsWindowRef.isShowModal = true }) }, - getList (page) {}, - clear () { }, + handleDetail (row) { + this.isShowReport = true + this.$nextTick(() => { + this.$nextTick(() => { + this.$refs.VisReportDetailRef.id = row.id + this.$refs.VisReportDetailRef.type = 1 + this.$refs.VisReportDetailRef.getDetail() + this.$refs.VisReportDetailRef.isShowModal = true + }) + }) + }, + getList (page) { + const { pagination, filters } = this + pagination.page = page || pagination.page + fetchList({ + model: { ...filters }, + ...pagination + }).then(res => { + this.dataList = res.records || [] + }) + }, + clear () { + this.filters = { + type: 2 + } + this.getList(0) + }, handleSizeChange (capacity) { this.pagination.capacity = capacity } @@ -81,5 +219,4 @@ </script> <style lang="scss" scoped> - </style> -- Gitblit v1.9.3