¶Ô±ÈÐÂÎļþ |
| | |
| | | import request from '../../utils/request' |
| | | |
| | | // æ¥è¯¢ |
| | | export function fetchList (data) { |
| | | return request.post('/visitsAdmin/cloudService/business/carUseBook/page', data, { |
| | | trim: true |
| | | }) |
| | | } |
| | | // æ¥è¯¢ |
| | | export function findLogList (data) { |
| | | return request.post('/visitsAdmin/cloudService/business/carUseBookLog/findList', data, { |
| | | trim: true |
| | | }) |
| | | } |
| | | |
| | | // å建 |
| | | export function create (data) { |
| | | return request.post('/visitsAdmin/cloudService/business/carUseBook/create', data) |
| | | } |
| | | export function transfercarUseBook (data) { |
| | | return request.post('/visitsAdmin/cloudService/business/carUseBook/transfercarUseBook', data) |
| | | } |
| | | export function dealcarUseBook (data) { |
| | | return request.post('/visitsAdmin/cloudService/business/carUseBook/dealcarUseBook', data) |
| | | } |
| | | |
| | | // ä¿®æ¹ |
| | | export function updateById (data) { |
| | | return request.post('/visitsAdmin/cloudService/business/carUseBook/updateById', data) |
| | | } |
| | | |
| | | // å é¤ |
| | | export function deleteById (id) { |
| | | return request.get(`/visitsAdmin/cloudService/business/carUseBook/delete/${id}`) |
| | | } |
| | | // æ ¹æ®IDæ¥è¯¢ |
| | | export function detail(id) { |
| | | return request.get(`/visitsAdmin/cloudService/business/carUseBook/${id}`) |
| | | } |
| | | // æ¹éå é¤ |
| | | export function deleteByIdInBatch (ids) { |
| | | return request.get('/visitsAdmin/cloudService/business/carUseBook/delete/batch', { |
| | | params: { |
| | | ids |
| | | } |
| | | }) |
| | | } |
| | |
| | | <div class="time">ææ¥æ¶é´ï¼{{model.createDate}}</div> |
| | | </div> |
| | | <div class="right" v-if="model.status==0">å¾
å¤ç</div> |
| | | <div class="right" v-if="model.status==1">å·²å¤ç</div> |
| | | <div class="right" v-if="model.status==2">å·²æ¤é</div> |
| | | <div class="right" style="background:#53b76f " v-if="model.status==1">å·²å¤ç</div> |
| | | <div class="right" style="background:#dc362e " v-if="model.status==2">å·²éå</div> |
| | | </div> |
| | | <div class="info"> |
| | | <div class="title">éæ£ææ¥è¯¦æ
</div> |
| | |
| | | <template v-slot:footer> |
| | | <el-button @click="isShowProblem = true" type="primary" v-if="model.status==0&& model.checkUserId == userInfo.memberId" class="status-red">å¤ç</el-button> |
| | | <el-button type="primary" plain v-if="model.status==0 && model.checkUserId == userInfo.memberId" @click="handleTransfer">转交</el-button> |
| | | <el-button @click="backDo" v-if="model.status==0&& model.checkUserId == userInfo.memberId" type="danger" >éå</el-button> |
| | | <el-button @click="isBackProblem=true" v-if="model.status==0&& model.checkUserId == userInfo.memberId" type="danger" >éå</el-button> |
| | | <el-button @click="visible=false">è¿å</el-button> |
| | | </template> |
| | | |
| | |
| | | <el-form-item label="æ´æ¹æ¶é´" prop="checkDate"> |
| | | <el-date-picker |
| | | class="w300" |
| | | type="date" |
| | | placeholder="éæ©æ¥æ" |
| | | type="datetime" |
| | | value-format="yyyy-MM-dd HH:mm:ss" |
| | | placeholder="éæ©æ´æ¹æ¶é´" |
| | | v-model="dealForm.checkDate" |
| | | /> |
| | | </el-form-item> |
| | |
| | | <el-dialog |
| | | append-to-body |
| | | title="鿣éå" |
| | | |
| | | class="dialogCl" |
| | | :visible.sync="isBackProblem" |
| | | width="480px" |
| | | width="600px" |
| | | > |
| | | <el-form :model="backForm" :rules="rulesBack" ref="backForm" label-width="100px"> |
| | | <el-form-item label="éåæ¶é´" prop="checkDate"> |
| | | <el-date-picker |
| | | class="w300" |
| | | type="date" |
| | | placeholder="éæ©æ¥æ" |
| | | value-format="yyyy-MM-dd HH:mm:ss" |
| | | type="datetime" |
| | | placeholder="éæ©éåæ¶é´" |
| | | v-model="backForm.checkDate" |
| | | /> |
| | | </el-form-item> |
| | |
| | | rulesBack: { |
| | | checkDate: [ |
| | | { required: true, message: 'è¯·éæ©éåæ¶é´' } |
| | | ], |
| | | ]/*, |
| | | dealBeforeFileList: [ |
| | | { required: true, message: '请ä¸ä¼ æ´æ¹åæ
åµ' } |
| | | ] |
| | | ]*/ |
| | | }, |
| | | memberList: [], |
| | | transForm: { |
| | |
| | | this.dealForm.dealAfterFileList.splice(index, 1) |
| | | } |
| | | } else if (type == 2) { |
| | | if (this.backForm.dealAfterFileList != null && this.backForm.dealAfterFileList.length > index) { |
| | | this.backForm.dealAfterFileList.splice(index, 1) |
| | | if (this.backForm.dealBeforeFileList != null && this.backForm.dealBeforeFileList.length > index) { |
| | | this.backForm.dealBeforeFileList.splice(index, 1) |
| | | } |
| | | } |
| | | }, |
| | |
| | | this.dealForm.dealBeforeFileList = [] |
| | | } |
| | | this.dealForm.dealBeforeFileList.push({ |
| | | id: this.model.id, |
| | | fileurl: e.imgaddr, |
| | | url: e.url, |
| | | fileUrl: e.imgaddr, |
| | | fileName: e.originname, |
| | | name: e.originname, |
| | | fileType: e.type |
| | | }) |
| | | } else if (objType === 1) { |
| | |
| | | this.dealForm.dealAfterFileList = [] |
| | | } |
| | | this.dealForm.dealAfterFileList.push({ |
| | | id: this.model.id, |
| | | fileUrl: e.imgaddr, |
| | | fileurl: e.imgaddr, |
| | | url: e.url, |
| | | fileName: e.originname, |
| | | name: e.originname, |
| | | fileType: e.type |
| | | }) |
| | | } else if (objType === 2) { |
| | | if (this.backForm.dealAfterFileList == null) { |
| | | this.backForm.dealAfterFileList = [] |
| | | if (this.backForm.dealBeforeFileList == null) { |
| | | this.backForm.dealBeforeFileList = [] |
| | | } |
| | | this.backForm.dealAfterFileList.push({ |
| | | id: this.model.id, |
| | | fileUrl: e.imgaddr, |
| | | this.backForm.dealBeforeFileList.push({ |
| | | fileurl: e.imgaddr, |
| | | url: e.url, |
| | | fileName: e.originname, |
| | | name: e.originname, |
| | | fileType: e.type |
| | | }) |
| | | } |
| | |
| | | } |
| | | this.$dialog.actionConfirm('æä½ç¡®è®¤', 'æ¨ç¡®è®¤æäº¤è¯¥éæ£å¤çæ
åµåï¼') |
| | | .then(() => { |
| | | this.transfering = true |
| | | this.dealing = true |
| | | this.api.dealHiddenDanger({ |
| | | id: this.dataId, |
| | | status: 1, |
| | | checkDate: this.dealForm.checkDate, |
| | | dealTime: this.dealForm.checkDate, |
| | | checkInfo: this.dealForm.checkInfo, |
| | | dealBeforeFileList: this.dealForm.dealBeforeFileList, |
| | | dealAfterFileList: this.dealForm.dealBeforeFileList |
| | | dealAfterFileList: this.dealForm.dealAfterFileList |
| | | }) |
| | | .then(res => { |
| | | this.$tip.apiSuccess('转交æå') |
| | | this.$tip.apiSuccess('å¤çæå') |
| | | this.getDetail() |
| | | this.getLogList() |
| | | this.isShowTransfer = false |
| | | this.isShowProblem = false |
| | | }) |
| | | .catch(e => { |
| | | }) |
| | |
| | | } |
| | | this.$dialog.actionConfirm('æä½ç¡®è®¤', 'æ¨ç¡®è®¤éåè¯¥éæ£å¤çæ
åµåï¼') |
| | | .then(() => { |
| | | this.transfering = true |
| | | this.dealing = true |
| | | this.api.dealHiddenDanger({ |
| | | id: this.dataId, |
| | | status: 0, |
| | | checkDate: this.backForm.checkDate, |
| | | status: 2, |
| | | dealTime: this.backForm.checkDate, |
| | | checkInfo: this.backForm.checkInfo, |
| | | dealBeforeFileList: this.backForm.dealBeforeFileList |
| | | }) |
| | | .then(res => { |
| | | this.$tip.apiSuccess('转交æå') |
| | | this.$tip.apiSuccess('éåæå') |
| | | this.getDetail() |
| | | this.getLogList() |
| | | this.isShowTransfer = false |
| | | this.isBackProblem = false |
| | | }) |
| | | .catch(e => { |
| | | }) |
| | |
| | | .icon2 { |
| | | position: relative; |
| | | z-index: 11; |
| | | color: red; |
| | | color: #dc362e; |
| | | font-size: 24px; |
| | | } |
| | | .avatar { |
| | |
| | | <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="请è¾å
¥" @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="areaId"> |
| | | <el-select v-model="searchForm.areaId" placeholder="è¯·éæ©éæ£åºå" @keypress.enter.native="search"> |
| | | <el-select v-model="searchForm.areaId" placeholder="è¯·éæ©éæ£åºå" clearable @change="search"> |
| | | <el-option |
| | | v-for="item in areaList" |
| | | :key="item.id" |
| | |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="éæ£ç±»å" prop="cateId"> |
| | | <el-select v-model="searchForm.cateId" placeholder="è¯·éæ©éæ£ç±»å" @keypress.enter.native="search"> |
| | | <el-select v-model="searchForm.cateId" placeholder="è¯·éæ©éæ£ç±»å" clearable @change="search"> |
| | | <el-option |
| | | v-for="item in cateList" |
| | | :key="item.id" |
| | | :label="item.name" |
| | | :value="item.id"> |
| | | </el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="ç¶æ" prop="status"> |
| | | <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-select> |
| | | </el-form-item> |
| | | <el-form-item label="ææ¥æ¶é´" prop="startTime"> |
| | |
| | | <template slot-scope="{row}"> |
| | | <span class="status-blue" v-if="row.status === 0">å¾
å¤ç</span> |
| | | <span class="status-green" v-if="row.status === 1">å·²å¤ç</span> |
| | | <span class="status-red" v-if="row.status === 2">å·²æ¤é</span> |
| | | <span class="status-red" v-if="row.status === 2">å·²éå</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="editDate" label="æä½æ¶é´" min-width="150px"></el-table-column> |
| | |
| | | queryStartTime: '', |
| | | queryEndTime: '', |
| | | areaId: null, |
| | | cateId: null |
| | | cateId: null, |
| | | status:null |
| | | }, |
| | | cateList: [], |
| | | areaList: [], |
| | |
| | | <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> |
| | | <el-table-column |
| | | prop="name" |
| | | label="ç³è¯·äºº" |
| | | min-width="100" |
| | | show-overflow-tooltip |
| | | /> |
| | | <el-table-column |
| | | prop="name" |
| | | label="ç»ç»" |
| | | min-width="100" |
| | | show-overflow-tooltip |
| | | /> |
| | | <el-table-column |
| | | prop="name" |
| | | label="车çç
§" |
| | | min-width="100" |
| | | show-overflow-tooltip |
| | | /> |
| | | <el-table-column |
| | | prop="name" |
| | | label="ç¨è½¦æ¶é´" |
| | | min-width="80" |
| | | show-overflow-tooltip |
| | | /> |
| | | <el-table-column |
| | | prop="name" |
| | | label="åºåæ¶é´" |
| | | min-width="100" |
| | | show-overflow-tooltip |
| | | /> |
| | | <el-table-column |
| | | prop="name" |
| | | label="ç®çå°ç±»å«" |
| | | min-width="110" |
| | | show-overflow-tooltip |
| | | /> |
| | | <el-table-column |
| | | prop="name" |
| | | label="ç®çå°" |
| | | min-width="100" |
| | | show-overflow-tooltip |
| | | /> |
| | | <el-table-column |
| | | prop="name" |
| | | label="ç³è¯·ç¶æ" |
| | | min-width="80" |
| | | show-overflow-tooltip |
| | | /> |
| | | <el-table-column |
| | | prop="name" |
| | | label="æä½" |
| | | min-width="80" |
| | | show-overflow-tooltip |
| | | <TableLayout :permissions="['business:empower:query']"> |
| | | <!-- æç´¢è¡¨å --> |
| | | <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-form-item> |
| | | <el-form-item label="ç³è¯·äººç»ç»" prop="companyName"> |
| | | <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-form-item> |
| | | <el-form-item label="ç¶æ" prop="status"> |
| | | <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-select> |
| | | </el-form-item> |
| | | <el-form-item label="ç®çå°ç±»å" prop="type"> |
| | | <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="ç»ææ¥æ"> |
| | | </el-date-picker> |
| | | </el-form-item> |
| | | <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> |
| | | </el-radio-group> |
| | | <section> |
| | | <el-button type="primary" @click="search">æç´¢</el-button> |
| | | <el-button @click="reset">éç½®</el-button> |
| | | </section> |
| | | </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> |
| | | <el-table |
| | | v-loading="isWorking.search" |
| | | :data="tableData.list" |
| | | stripe |
| | | @selection-change="handleSelectionChange" |
| | | > |
| | | <template> |
| | | <el-button type="text">æ¥ç详æ
</el-button> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | <pagination |
| | | @size-change="handleSizeChange" |
| | | @current-change="getList" |
| | | :pagination="pagination" |
| | | /> |
| | | </div> |
| | | <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 label="ç¨è½¦æ¶é´" min-width="170px"> |
| | | <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 label="ç®çå°ç±»å" min-width="100px"> |
| | | <template slot-scope="{row}"> |
| | | <span class="status-green" v-if="row.type === 0">å¸å
ç¨è½¦</span> |
| | | <span class="status-red" v-if="row.type === 1">å¸å¤ç¨è½¦</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="addr" label="ç®çå°" min-width="200px"></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> |
| | | <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> |
| | | </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" |
| | | > |
| | | <template slot-scope="{row}"> |
| | | <el-button type="text" icon="el-icon-edit" @click="$refs.OperaHiddenDangerWindow.open('éæ£éææè¯¦æ
',row)" >æ¥ç详æ
</el-button> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | <pagination |
| | | @size-change="handleSizeChange" |
| | | @current-change="handlePageChange" |
| | | :pagination="tableData.pagination" |
| | | > |
| | | </pagination> |
| | | </template> |
| | | <OperaHiddenDangerWindow ref="OperaHiddenDangerWindow" @success="handlePageChange"/> |
| | | </TableLayout> |
| | | </template> |
| | | |
| | | <script> |
| | | import BaseTable from '@/components/base/BaseTable' |
| | | import TableLayout from '@/layouts/TableLayout' |
| | | import Pagination from '@/components/common/Pagination' |
| | | import QueryForm from '@/components/common/QueryForm' |
| | | import OperaHiddenDangerWindow from '@/components/business/OperaHiddenDangerWindow' |
| | | import { timeForMat } from '@/utils/util' |
| | | import { allList } from '@/api/business/hiddenDangerParam' |
| | | export default { |
| | | components: { |
| | | Pagination, |
| | | QueryForm |
| | | }, |
| | | name: 'Empower', |
| | | extends: BaseTable, |
| | | components: { TableLayout, Pagination ,OperaHiddenDangerWindow}, |
| | | data () { |
| | | return { |
| | | filters: {}, |
| | | loading: false, |
| | | queryFormConfig: { |
| | | formItems: [ |
| | | { |
| | | filed: 'name', |
| | | type: 'input', |
| | | label: 'ç³è¯·äººå§å' |
| | | }, |
| | | { |
| | | filed: 'idCard', |
| | | type: 'input', |
| | | label: '车çç
§' |
| | | }, |
| | | { |
| | | filed: 'name', |
| | | type: 'select', |
| | | label: 'ç®çå°ç±»å«', |
| | | options: [] |
| | | }, |
| | | { |
| | | filed: 'name', |
| | | type: 'datetimerange', |
| | | label: 'åºåæ¶é´', |
| | | options: [] |
| | | } |
| | | ], |
| | | online: true |
| | | // æç´¢ |
| | | searchForm: { |
| | | memberName: '', |
| | | companyName: '', |
| | | queryStartTime: '', |
| | | queryEndTime: '', |
| | | type: null, |
| | | status:null |
| | | }, |
| | | pagination: { |
| | | capacity: 10, |
| | | page: 1 |
| | | }, |
| | | list: [], |
| | | total: 0 |
| | | cateList: [], |
| | | areaList: [], |
| | | time: [] |
| | | } |
| | | }, |
| | | created () { |
| | | this.config({ |
| | | module: 'ç¨è½¦ç³è¯·ç®¡ç', |
| | | api: '/business/carUseBook', |
| | | 'field.id': 'id', |
| | | 'field.main': 'id' |
| | | }) |
| | | // this.search() |
| | | this.changeRadio('0') |
| | | this.loadParams() |
| | | }, |
| | | methods: { |
| | | getList (page) { }, |
| | | clear () { }, |
| | | handleSizeChange (capacity) { |
| | | this.pagination.capacity = capacity |
| | | changeRadio (e) { |
| | | this.searchForm.radio = e |
| | | if (e === '0') { |
| | | this.searchForm.queryStartTime = timeForMat(0)[0] |
| | | this.searchForm.queryEndTime = timeForMat(0)[1] |
| | | this.time = timeForMat(0) |
| | | } else if (e === '1') { |
| | | this.searchForm.queryStartTime = timeForMat(6)[0] |
| | | this.searchForm.queryEndTime = timeForMat(6)[1] |
| | | this.time = timeForMat(6) |
| | | } else if (e === '2') { |
| | | this.searchForm.queryStartTime = timeForMat(29)[0] |
| | | this.searchForm.queryEndTime = timeForMat(29)[1] |
| | | this.time = timeForMat(29) |
| | | } |
| | | this.search() |
| | | }, |
| | | 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(() => { |
| | | }) |
| | | }, |
| | | seleTime (e) { |
| | | this.searchForm.queryStartTime = e[0] |
| | | this.searchForm.queryEndTime = e[1] |
| | | this.searchForm.radio = null |
| | | this.search() |
| | | }, |
| | | reset () { |
| | | this.$refs.searchForm.resetFields() |
| | | this.searchForm.radio = '0' |
| | | this.changeRadio('0') |
| | | // this.search() |
| | | } |
| | | } |
| | | } |
| | | </script> |
| | | |
| | | <style> |
| | | </style> |
| | |
| | | int invalid =9; |
| | | } |
| | | |
| | | public interface multifileObjType{ |
| | | //0鿣ç°åºæ
åµ 1鿣å¤çåæ
åµ 2鿣å¤çåæ
åµ 3鿣éå说æ |
| | | int zero = 0; |
| | | int one = 1; |
| | | int two = 2; |
| | | int three = 3; |
| | | } |
| | | |
| | | |
| | | public interface EmpowerStatus{ |
| | | //ä¸å¡éææä¸åç¶æ 0å¾
ä¸å 1å·²ä¸å 2ä¸åæå 3已忶 4ä¸å失败 5ä»»å¡ä¸è½½å·²ç»æ |
| | |
| | | import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
| | | import com.doumee.dao.system.model.Multifile; |
| | | |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * @author æ±è¹è¹ |
| | | * @date 2023/05/04 18:18 |
| | | */ |
| | | public interface MultifileMapper extends BaseMapper<Multifile> { |
| | | |
| | | void insertBatchSomeColumn(List<Multifile> fileList); |
| | | } |
| | |
| | | |
| | | @ApiModelProperty(value = "å¤ç说æ") |
| | | @ExcelColumn(name="å¤ç说æ") |
| | | private String checklInfo; |
| | | private String checkInfo; |
| | | |
| | | @ApiModelProperty(value = "å¤ç人ç¼ç ï¼å
³èmember)", example = "1") |
| | | @ExcelColumn(name="å¤ç人ç¼ç ï¼å
³èmember)") |
| | |
| | | queryWrapper.select("t1.name",CarUseBook::getMemberName); |
| | | queryWrapper.select("t1.phone",CarUseBook::getMemberPhone); |
| | | queryWrapper.select("t2.name",CarUseBook::getDriverName); |
| | | queryWrapper.select("t3.phone",CarUseBook::getDriverPhone); |
| | | queryWrapper.select("t2.phone",CarUseBook::getDriverPhone); |
| | | queryWrapper.select("t4.company_name_path",CarUseBook::getCompanyName); |
| | | queryWrapper.leftJoin(Member.class,Member::getId,CarUseBook::getMemberId) |
| | | .leftJoin("company t4 on t1.company_id=t4.id") |
| | | .leftJoin(Member.class,Member::getId,CarUseBook::getDriverId) |
| | | .leftJoin("company t4 on t1.company_id=t4.id") |
| | | .eq(CarUseBook::getId,id) |
| | | .last("limit 1" ); |
| | | CarUseBook model = carUseBookMapper.selectJoinOne(CarUseBook.class,queryWrapper); |
| | |
| | | queryWrapper.select("t1.name",CarUseBook::getMemberName); |
| | | queryWrapper.select("t1.phone",CarUseBook::getMemberPhone); |
| | | queryWrapper.select("t2.name",CarUseBook::getDriverName); |
| | | queryWrapper.select("t3.phone",CarUseBook::getDriverPhone); |
| | | queryWrapper.select("t2.phone",CarUseBook::getDriverPhone); |
| | | queryWrapper.select("t4.company_name_path",CarUseBook::getCompanyName); |
| | | queryWrapper.leftJoin(Member.class,Member::getId,CarUseBook::getMemberId) |
| | | .leftJoin("company t4 on t1.company_id=t4.id") |
| | | .leftJoin(Member.class,Member::getId,CarUseBook::getDriverId); |
| | | .leftJoin(Member.class,Member::getId,CarUseBook::getDriverId) |
| | | .leftJoin("company t4 on t1.company_id=t4.id"); |
| | | queryWrapper |
| | | .eq(pageWrap.getModel().getId() != null, CarUseBook::getId, pageWrap.getModel().getId()) |
| | | .eq(pageWrap.getModel().getCreator() != null, CarUseBook::getCreator, pageWrap.getModel().getCreator()) |
| | |
| | | .eq(pageWrap.getModel().getAddr() != null, CarUseBook::getAddr, pageWrap.getModel().getAddr()) |
| | | .eq(pageWrap.getModel().getMemberId() != null, CarUseBook::getMemberId, pageWrap.getModel().getMemberId()) |
| | | .eq(pageWrap.getModel().getDriverId() != null, CarUseBook::getDriverId, pageWrap.getModel().getDriverId()) |
| | | .apply(pageWrap.getModel().getCompanyName() != null, "t4.company_name_path like '%"+pageWrap.getModel().getCompanyName()+"%'") |
| | | .and(StringUtils.isNotBlank(pageWrap.getModel().getQueryDate()), |
| | | i->i.and(j->j.lt(CarUseBook::getStartTime,pageWrap.getModel().getQueryDate() +"00:00:00").gt(CarUseBook::getStartTime,pageWrap.getModel().getQueryDate() +"23:59:59")) |
| | | .or() |
| | |
| | | ) |
| | | .and(StringUtils.isNotBlank(pageWrap.getModel().getMemberName()), ms->ms.like(Member::getName,pageWrap.getModel().getMemberName()) |
| | | .or().like(Member::getPhone,pageWrap.getModel().getMemberName())) |
| | | .ge(Objects.nonNull(pageWrap.getModel().getQueryStartTime()), Empower::getCreateDate,pageWrap.getModel().getQueryStartTime()) |
| | | .le(Objects.nonNull(pageWrap.getModel().getQueryEndTime()),Empower::getCreateDate,pageWrap.getModel().getQueryEndTime()) |
| | | .ge(Objects.nonNull(pageWrap.getModel().getQueryStartTime()), CarUseBook::getPlanUseDate,pageWrap.getModel().getQueryStartTime()) |
| | | .le(Objects.nonNull(pageWrap.getModel().getQueryEndTime()),CarUseBook::getPlanUseDate,pageWrap.getModel().getQueryEndTime()) |
| | | .orderByDesc(Visits::getCreateDate) |
| | | ; |
| | | for(PageWrap.SortData sortData: pageWrap.getSorts()) { |
| | |
| | | if(Objects.isNull(hiddenDanger)){ |
| | | return null; |
| | | } |
| | | HiddenDangerLog newBean = new HiddenDangerLog(); |
| | | newBean.setCreateUserName("-"); |
| | | newBean.setCompanyName("-"); |
| | | newBean.setTitle("鿣å¤ç"); |
| | | newBean.setAvatar("-"); |
| | | |
| | | if(hiddenDanger.getStatus().equals(Constants.ZERO)){ |
| | | //ä¸ä¸æ¥å¤ç人 |
| | | HiddenDangerLog newBean = new HiddenDangerLog(); |
| | | newBean.setCreateUserName("-"); |
| | | newBean.setCompanyName("-"); |
| | | newBean.setTitle("鿣å¤ç"); |
| | | newBean.setAvatar("-"); |
| | | |
| | | SystemUser systemUser = systemUserMapper.selectOne(new QueryWrapper<SystemUser>().lambda().eq(SystemUser::getMemberId,hiddenDanger.getCheckUserId())); |
| | | if(Objects.nonNull(systemUser)){ |
| | | newBean.setCreateUserName(systemUser.getRealname()); |
| | |
| | | newBean.setCompanyName(company.getCompanyNamePath()); |
| | | } |
| | | } |
| | | hiddenDangerLogList.add(newBean); |
| | | } |
| | | hiddenDangerLogList.add(newBean); |
| | | |
| | | String path = systemDictDataBiz.queryByCode(Constants.FTP,Constants.FTP_RESOURCE_PATH).getCode() |
| | | +systemDictDataBiz.queryByCode(Constants.FTP,Constants.MEMBER_IMG).getCode(); |
| | |
| | | multifile.setCreator(hiddenDanger.getCreator()); |
| | | multifile.setIsdeleted(Constants.ZERO); |
| | | multifile.setObjId(hiddenDanger.getId()); |
| | | multifile.setObjType(Constants.multifileObjType.zero); |
| | | multifile.setObjType(Constants.MultiFile.HIDDEN_DANGER_SUBMIT.getKey()); |
| | | multifile.setSortnum(i+1); |
| | | multifileMapper.insert(multifile); |
| | | } |
| | |
| | | .eq(pageWrap.getModel().getMemberId() != null, HiddenDanger::getMemberId, pageWrap.getModel().getMemberId()) |
| | | .ge(pageWrap.getModel().getCheckDate() != null, HiddenDanger::getCheckDate, Utils.Date.getStart(pageWrap.getModel().getCheckDate())) |
| | | .le(pageWrap.getModel().getCheckDate() != null, HiddenDanger::getCheckDate, Utils.Date.getEnd(pageWrap.getModel().getCheckDate())) |
| | | .eq(pageWrap.getModel().getChecklInfo() != null, HiddenDanger::getChecklInfo, pageWrap.getModel().getChecklInfo()) |
| | | .eq(pageWrap.getModel().getCheckInfo() != null, HiddenDanger::getCheckInfo, pageWrap.getModel().getCheckInfo()) |
| | | .eq(pageWrap.getModel().getCheckUserId() != null, HiddenDanger::getCheckUserId, pageWrap.getModel().getCheckUserId()) |
| | | .eq(pageWrap.getModel().getAreaName() != null, HiddenDanger::getAreaName, pageWrap.getModel().getAreaName()) |
| | | |
| | |
| | | @Override |
| | | @Transactional(rollbackFor = {Exception.class,BusinessException.class}) |
| | | public void dealHiddenDanger(HiddenDanger hiddenDanger){ |
| | | isParamValid(hiddenDanger); |
| | | dealFileBiz(hiddenDanger); |
| | | hiddenDanger.setEditor(hiddenDanger.getLoginUserInfo().getId()); |
| | | hiddenDanger.setEditDate(new Date()); |
| | | hiddenDanger.setCheckDate(hiddenDanger.getEditDate()); |
| | | hiddenDangerMapper.updateById(hiddenDanger); |
| | | //åå¨ æä½æ¥å¿ |
| | | HiddenDangerLog hiddenDangerLog = new HiddenDangerLog(); |
| | | hiddenDangerLog.setIsdeleted(Constants.ZERO); |
| | | hiddenDangerLog.setCreateDate(new Date()); |
| | | hiddenDangerLog.setCreator(hiddenDanger.getEditor()); |
| | | hiddenDangerLog.setHiddenDangerId(hiddenDanger.getId()); |
| | | hiddenDangerLog.setContent(hiddenDanger.getCheckInfo()); |
| | | hiddenDangerLog.setTitle(hiddenDanger.getStatus().equals(Constants.ONE)?"鿣å¤ç":"鿣éå"); |
| | | hiddenDangerLog.setObjType(hiddenDanger.getStatus().equals(Constants.ONE)?Constants.FOUR:Constants.TWO); |
| | | hiddenDangerLogMapper.insert(hiddenDangerLog); |
| | | } |
| | | |
| | | private void isParamValid(HiddenDanger hiddenDanger) { |
| | | if(Objects.isNull(hiddenDanger) |
| | | || Objects.isNull(hiddenDanger.getId()) |
| | | || Objects.isNull(hiddenDanger.getDealTime()) |
| | | || Objects.isNull(hiddenDanger.getLoginUserInfo()) |
| | | || Objects.isNull(hiddenDanger.getStatus()) |
| | | ){ |
| | | || Objects.isNull(hiddenDanger.getId()) |
| | | || Objects.isNull(hiddenDanger.getDealTime()) |
| | | || Objects.isNull(hiddenDanger.getLoginUserInfo()) |
| | | || Objects.isNull(hiddenDanger.getStatus()) |
| | | ){ |
| | | throw new BusinessException(ResponseStatus.BAD_REQUEST); |
| | | } |
| | | HiddenDanger model = hiddenDangerMapper.selectById(hiddenDanger.getId()); |
| | |
| | | if (!model.getStatus().equals(Constants.ZERO)) { |
| | | throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"æ°æ®ç¶æå·²æµè½¬!"); |
| | | } |
| | | if (!model.getCheckUserId().equals(hiddenDanger.getEditor())) { |
| | | if (!model.getCheckUserId().equals(hiddenDanger.getLoginUserInfo().getMemberId())) { |
| | | throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"å¤ç人éå½å人åï¼"); |
| | | } |
| | | if(!(hiddenDanger.getStatus().equals(Constants.ONE)||hiddenDanger.getStatus().equals(Constants.TWO))){ |
| | | throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"æ°æ®ç¶æé误ï¼"); |
| | | } |
| | | //æ´æ¹åæä»¶ |
| | | } |
| | | |
| | | private void dealFileBiz(HiddenDanger hiddenDanger) {//æ´æ¹åæä»¶ |
| | | List<Multifile> beforList = hiddenDanger.getDealBeforeFileList(); |
| | | List<Multifile> fileList = new ArrayList<>(); |
| | | |
| | | if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(beforList)){ |
| | | boolean isTrue = false; |
| | | for (int i = 0; i < beforList.size(); i++) { |
| | | Multifile multifile = beforList.get(i); |
| | | if(StringUtils.isBlank(multifile.getFileurl())){ |
| | | continue; |
| | | } |
| | | multifile.setCreateDate(new Date()); |
| | | multifile.setCreator(hiddenDanger.getEditor()); |
| | | multifile.setIsdeleted(Constants.ZERO); |
| | | multifile.setObjId(hiddenDanger.getId()); |
| | | multifile.setObjType(Constants.multifileObjType.one); |
| | | multifile.setCreator(hiddenDanger.getLoginUserInfo().getId()); |
| | | multifile.setObjType(Constants.MultiFile.HIDDEN_DANGER_DEAL_BEFORE.getKey()); |
| | | multifile.setSortnum(i+1); |
| | | multifileMapper.insert(multifile); |
| | | fileList.add(multifile); |
| | | isTrue=true; |
| | | } |
| | | if(hiddenDanger.getStatus().equals(Constants.ONE) && !isTrue){ |
| | | throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"对ä¸èµ·ï¼è¯·æè¦æ±å¡«åå¤çæ°æ®"); |
| | | } |
| | | } |
| | | if(hiddenDanger.getStatus().equals(Constants.ONE)){ |
| | | boolean isTrue = false; |
| | | List<Multifile> afterList = hiddenDanger.getDealAfterFileList(); |
| | | if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(afterList)){ |
| | | for (int i = 0; i < afterList.size(); i++) { |
| | | Multifile multifile = afterList.get(i); |
| | | if(StringUtils.isBlank(multifile.getFileurl())){ |
| | | continue; |
| | | } |
| | | multifile.setCreateDate(new Date()); |
| | | multifile.setCreator(hiddenDanger.getEditor()); |
| | | multifile.setIsdeleted(Constants.ZERO); |
| | | multifile.setCreator(hiddenDanger.getLoginUserInfo().getId()); |
| | | multifile.setObjId(hiddenDanger.getId()); |
| | | multifile.setObjType(Constants.multifileObjType.two); |
| | | multifile.setObjType(Constants.MultiFile.HIDDEN_DANGER_DEAL_AFTER.getKey()); |
| | | multifile.setSortnum(i+1); |
| | | multifileMapper.insert(multifile); |
| | | fileList.add(multifile); |
| | | isTrue = true; |
| | | } |
| | | } |
| | | if(isTrue){ |
| | | throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"对ä¸èµ·ï¼è¯·æè¦æ±å¡«åå¤çæ°æ®"); |
| | | } |
| | | } |
| | | hiddenDanger.setEditor(hiddenDanger.getLoginUserInfo().getId()); |
| | | hiddenDanger.setEditDate(new Date()); |
| | | hiddenDangerMapper.updateById(hiddenDanger); |
| | | //åå¨ æä½æ¥å¿ |
| | | HiddenDangerLog hiddenDangerLog = new HiddenDangerLog(); |
| | | hiddenDangerLog.setIsdeleted(Constants.ZERO); |
| | | hiddenDangerLog.setCreateDate(new Date()); |
| | | hiddenDangerLog.setCreator(hiddenDanger.getCreator()); |
| | | hiddenDangerLog.setHiddenDangerId(hiddenDanger.getId()); |
| | | hiddenDangerLog.setTitle(hiddenDanger.getStatus().equals(Constants.ONE)?"鿣å¤ç":"鿣éå"); |
| | | hiddenDangerLog.setObjType(hiddenDanger.getStatus().equals(Constants.ONE)?Constants.FOUR:Constants.TWO); |
| | | hiddenDangerLogMapper.insert(hiddenDangerLog); |
| | | if(fileList.size()>0){ |
| | | multifileMapper.insertBatchSomeColumn(fileList); |
| | | } |
| | | } |
| | | |
| | | |