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/operation/serviceCar/apprRecord.vue | 307 +++++++++++++++++++++++++++++++++++++++----------- 1 files changed, 238 insertions(+), 69 deletions(-) diff --git a/admin/src/views/operation/serviceCar/apprRecord.vue b/admin/src/views/operation/serviceCar/apprRecord.vue index 2ed565a..f8099c4 100644 --- a/admin/src/views/operation/serviceCar/apprRecord.vue +++ b/admin/src/views/operation/serviceCar/apprRecord.vue @@ -1,45 +1,81 @@ <template> <TableLayout :permissions="['business:empower:query']"> <!-- 鎼滅储琛ㄥ崟 --> - <el-form ref="searchForm" slot="search-form" :model="searchForm" label-width="100px" inline> + <el-form + ref="searchForm" + slot="search-form" + :model="searchForm" + label-width="100px" + inline + > <el-form-item label="鐢宠浜�" prop="memberName"> - <el-input v-model="searchForm.memberName" placeholder="璇疯緭鍏ュ鍚�/鎵嬫満鍙�" @keypress.enter.native="search"></el-input> + <el-input + v-model="searchForm.memberName" + placeholder="璇疯緭鍏ュ鍚�/鎵嬫満鍙�" + @keypress.enter.native="search" + ></el-input> </el-form-item> <el-form-item label="鐢宠浜虹粍缁�" prop="companyName"> - <el-input v-model="searchForm.companyName" placeholder="璇疯緭鍏ョ敵璇蜂汉缁勭粐" clearable @keypress.enter.native="search"></el-input> + <el-input + v-model="searchForm.companyName" + placeholder="璇疯緭鍏ョ敵璇蜂汉缁勭粐" + clearable + @keypress.enter.native="search" + ></el-input> </el-form-item> <el-form-item label="杞︾墝鍙�" prop="carCode"> - <el-input v-model="searchForm.carCode" placeholder="璇疯緭鍏ヨ溅鐗屽彿" clearable @keypress.enter.native="search"></el-input> + <el-input + v-model="searchForm.carCode" + placeholder="璇疯緭鍏ヨ溅鐗屽彿" + clearable + @keypress.enter.native="search" + ></el-input> </el-form-item> <el-form-item label="鐘舵��" prop="status"> - <el-select v-model="searchForm.status" @change="search" clearable placeholder="鐘舵��"> + <el-select + v-model="searchForm.status" + @change="search" + clearable + 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="4"></el-option> </el-select> </el-form-item> <el-form-item label="鐩殑鍦扮被鍨�" prop="type"> - <el-select v-model="searchForm.type" @change="search" clearable placeholder="鐩殑鍦扮被鍨�"> + <el-select + v-model="searchForm.type" + @change="search" + clearable + placeholder="鐩殑鍦扮被鍨�" + > <el-option label="甯傚唴鐢ㄨ溅" value="0"></el-option> <el-option label="甯傚鐢ㄨ溅" value="1"></el-option> </el-select> </el-form-item> <el-form-item label="鍑哄彂鏃堕棿" prop="startTime"> <el-date-picker - @change="seleTime" - v-model="time" - @keypress.enter.native="search" - type="datetimerange" - format="yyyy-MM-dd HH:mm:ss" - value-format="yyyy-MM-dd HH:mm:ss" - range-separator="鑷�" - start-placeholder="寮�濮嬫棩鏈�" - end-placeholder="缁撴潫鏃ユ湡"> + @change="seleTime" + v-model="time" + @keypress.enter.native="search" + type="datetimerange" + format="yyyy-MM-dd HH:mm:ss" + value-format="yyyy-MM-dd HH:mm:ss" + :default-time="['00:00:00', '23:59:59']" + range-separator="鑷�" + start-placeholder="寮�濮嬫棩鏈�" + end-placeholder="缁撴潫鏃ユ湡" + > </el-date-picker> </el-form-item> - <el-radio-group v-model="searchForm.radio" size="small" @input="changeRadio"> + <el-radio-group + v-model="searchForm.radio" + size="small" + @input="changeRadio" + > <el-radio-button label="0">褰撳ぉ</el-radio-button> <el-radio-button label="1">杩�7澶�</el-radio-button> <el-radio-button label="2">杩�30澶�</el-radio-button> @@ -51,64 +87,154 @@ </el-form> <!-- 琛ㄦ牸鍜屽垎椤� --> <template v-slot:table-wrap> - <ul class="toolbar" v-permissions="['business:empower:create', 'business:empower:delete']"> - <!--<li><el-button type="primary" v-permissions="['business:empower:exportExcel']" @click="exportExcel">瀵煎嚭</el-button></li> --> + <ul + class="toolbar" + v-permissions="[ + 'business:carusebook:create', + 'business:carusebook:exportExcel', + ]" + > + <li> + <el-button + type="primary" + @click="handleEdit" + icon="el-icon-plus" + v-permissions="['business:carusebook:create']" + >鏂板缓</el-button + > + </li> + <li> + <el-button + type="primary" + @click="handleEx" + v-permissions="['business:carusebook:exportExcel']" + >瀵煎嚭</el-button + > + </li> </ul> <el-table - v-loading="isWorking.search" - :data="tableData.list" - stripe - @selection-change="handleSelectionChange" + 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="memberName" label="鎻愭姤浜�" min-width="80px"></el-table-column> - <el-table-column prop="companyName" label="鎵�灞炵粍缁�" min-width="150px"></el-table-column> - <el-table-column prop="carCode" label="杞︾墝鍙�" min-width="100px"></el-table-column> + <el-table-column + prop="memberName" + label="鎻愭姤浜�" + min-width="80px" + ></el-table-column> + <el-table-column + prop="companyName" + label="鎵�灞炵粍缁�" + min-width="150px" + ></el-table-column> + <el-table-column + prop="carCode" + label="杞︾墝鍙�" + min-width="100px" + ></el-table-column> <el-table-column label="鐢ㄨ溅鏃堕棿" min-width="170px"> - <template slot-scope="{row}"> - <span>璧�:{{row.startTime || ''}}</span><br> - <span>姝�:{{row.endTime || ''}}</span> + <template slot-scope="{ row }"> + <span>璧�:{{ row.startTime || "" }}</span + ><br /> + <span>姝�:{{ row.endTime || "" }}</span> </template> </el-table-column> - <el-table-column prop="planUseDate" label="鍑哄彂鏃堕棿" min-width="150px"></el-table-column> + <el-table-column + prop="planUseDate" + label="鍑哄彂鏃堕棿" + min-width="150px" + ></el-table-column> <el-table-column label="鐩殑鍦�" min-width="200px"> - <template slot-scope="{row}"> + <template slot-scope="{ row }"> <span class="status-green" v-if="row.type === 0">銆愬競鍐呫��</span> - <span class="status-red" v-if="row.type === 1">銆愬競澶栥��</span> - <span >{{ row.addr }}</span> + <span class="status-red" v-if="row.type === 1">銆愬競澶栥��</span> + <span>{{ row.addr }}</span> </template> </el-table-column> <el-table-column label="鐘舵��" min-width="100px"> - <template slot-scope="{row}"> - <span class="status-blue" v-if="row.status === 0">鐢宠涓�</span> - <span class="status-blue" v-if="row.status === 1">寰呭鎵�</span> + <template slot-scope="{ row }"> + <span class="status-blue" v-if="row.status === 0">鐢宠涓�</span> + <span class="status-blue" v-if="row.status === 1">瀹℃牳涓�</span> <span class="status-green" v-if="row.status === 2">瀹℃壒閫氳繃</span> - <span class="status-red" v-if="row.status === 3">瀹℃壒涓嶉�氳繃</span> - <span class="status-red" v-if="row.status === 4">宸插彇娑�</span> + <span class="status-red" v-if="row.status === 3">瀹℃壒涓嶉�氳繃</span> + <span class="status-red" v-if="row.status === 4">宸叉挙閿�</span> </template> </el-table-column> - <el-table-column prop="createDate" label="鐢宠鏃堕棿" min-width="150px"></el-table-column> - <el-table-column prop="editDate" label="鎿嶄綔鏃堕棿" min-width="150px"></el-table-column> <el-table-column - label="鎿嶄綔" - min-width="100" - align="center" - fixed="right" + prop="createDate" + label="鐢宠鏃堕棿" + min-width="150px" + ></el-table-column> + <el-table-column + prop="editDate" + label="鎿嶄綔鏃堕棿" + min-width="150px" + ></el-table-column> + <el-table-column + label="鎿嶄綔" + min-width="160" + align="center" + fixed="right" > - <template slot-scope="{row}"> - <el-button type="text" icon="el-icon-edit" @click="$refs.OperaDetailsWindow.open('鍏姟杞︾敵璇疯鎯�',row)" >鏌ョ湅璇︽儏</el-button> + <template slot-scope="{ row }"> + <el-button + type="text" + icon="el-icon-edit" + @click="$refs.OperaDetailsWindow.open('鍏姟杞︾敵璇疯鎯�', row)" + >鏌ョ湅璇︽儏</el-button + > + <!-- <el-button v-if="(row.status === 1 || row.status === 2) && new Date().getTime() < new Date(row.startTime).getTime()" type="text" icon="el-icon-delete" @click="rowRevokeClick(row)" >鎾ら攢</el-button> --> + <el-button + v-if=" + (row.status === 0 || row.status === 1 || row.status === 2) && + new Date().getTime() < new Date(row.startTime).getTime() + " + type="text" + icon="el-icon-delete" + @click="rowRevokeClick(row)" + >鎾ら攢</el-button + > </template> </el-table-column> </el-table> <pagination - @size-change="handleSizeChange" - @current-change="handlePageChange" - :pagination="tableData.pagination" + @size-change="handleSizeChange" + @current-change="handlePageChange" + :pagination="tableData.pagination" > </pagination> </template> - <OperaCarUseBookWindow ref="OperaDetailsWindow" @success="handlePageChange"/> + <!-- --> + <el-dialog title="鐢ㄨ溅鎾ら攢" :visible.sync="isShowBack" width="520px"> + <el-form + :model="backParam" + :rules="rules" + ref="backForm" + label-width="100px" + class="demo-ruleForm" + > + <el-form-item label="璇存槑" prop="info"> + <el-input + type="textarea" + :rows="4" + v-model="backParam.info" + placeholder="璇疯緭鍏ユ挙閿�璇存槑" + ></el-input> + </el-form-item> + </el-form> + <span slot="footer" class="dialog-footer"> + <el-button @click="isShowBack = false">鍙栨秷</el-button> + <el-button type="primary" @click="backSubmit">纭畾</el-button> + </span> + </el-dialog> + <OperaCarUseBookWindow + ref="OperaDetailsWindow" + @success="handlePageChange" + /> + <OperaCarUseBookParamWindow ref="OperaParamWindow" @success="search" /> </TableLayout> </template> @@ -117,12 +243,14 @@ import TableLayout from '@/layouts/TableLayout' import Pagination from '@/components/common/Pagination' import OperaCarUseBookWindow from '@/components/business/OperaCarUseBookWindow' +import OperaCarUseBookParamWindow from '@/components/operation/OperCarUseBookParamWindow.vue' import { timeForMat } from '@/utils/util' import { allList } from '@/api/business/hiddenDangerParam' +import { carUseBookRecordEx, revokeById } from '@/api/business/carUseBook' export default { name: 'Empower', extends: BaseTable, - components: { TableLayout, Pagination ,OperaCarUseBookWindow}, + components: { TableLayout, Pagination, OperaCarUseBookWindow, OperaCarUseBookParamWindow }, data () { return { // 鎼滅储 @@ -137,7 +265,13 @@ }, cateList: [], areaList: [], - time: [] + time: [], + + isShowBack: false, + backParam: {}, + rules: { + info: [{ required: true, message: '璇疯緭鍏�', trigger: 'blur' }] + } } }, created () { @@ -152,6 +286,38 @@ this.loadParams() }, methods: { + rowRevokeClick (row) { + this.isShowBack = true + this.backParam = {} + this.$set(this.backParam, 'id', row.id) + this.$nextTick(() => { + this.$refs.backForm.clearValidate() + }) + }, + backSubmit () { + revokeById({ ...this.backParam }).then(res => { + this.$tip.success('鎾ら攢鎴愬姛') + this.isShowBack = false + this.search() + }) + }, + handleEx () { + this.$dialog.exportConfirm('纭瀵煎嚭鍚楋紵') + .then(() => { + this.exLoading = true + carUseBookRecordEx({ + model: this.searchForm + }) + .then(response => { + this.download(response) + }) + .catch(e => { + }) + .finally(() => { + this.exLoading = false + }) + }) + }, changeRadio (e) { this.searchForm.radio = e if (e === '0') { @@ -169,26 +335,29 @@ } this.search() }, + handleEdit () { + this.$refs.OperaParamWindow.open() + }, loadParams () { allList({ }) - .then(res => { - if (res != null && res.length) { - res.forEach(item => { - if (item && item.type != null && item.type === 0) { - this.areaList.push(item) - } - if (item && item.type != null && item.type === 1) { - this.cateList.push(item) - } - }) - } - }) - .catch(e => { - // this.$tip.apiFailed(e) - }) - .finally(() => { - }) + .then(res => { + if (res != null && res.length) { + res.forEach(item => { + if (item && item.type != null && item.type === 0) { + this.areaList.push(item) + } + if (item && item.type != null && item.type === 1) { + this.cateList.push(item) + } + }) + } + }) + .catch(e => { + // this.$tip.apiFailed(e) + }) + .finally(() => { + }) }, seleTime (e) { this.searchForm.queryStartTime = e[0] -- Gitblit v1.9.3