From 105abcb08f5d1c1114ce0e093d1a4912fbbfd609 Mon Sep 17 00:00:00 2001 From: kongdeqiang <123456> Date: 星期五, 09 六月 2023 16:43:47 +0800 Subject: [PATCH] 修改前端页面 --- src/components/page/ticket/index.vue | 463 +++++++++++++++++++++++++++++++-------------------------- 1 files changed, 253 insertions(+), 210 deletions(-) diff --git a/src/components/page/ticket/index.vue b/src/components/page/ticket/index.vue index aabbb65..6e54bd2 100644 --- a/src/components/page/ticket/index.vue +++ b/src/components/page/ticket/index.vue @@ -1,226 +1,269 @@ <template> - <section> - <el-card class="box-card toolCard"> - <div slot="header" class="clearfix"> - <!--鏄剧ず瀵艰埅--> - <el-breadcrumb separator="/"> - <el-breadcrumb-item :to="{ path: '/' }">棣栭〉</el-breadcrumb-item> - <el-breadcrumb-item> - <a href="javascript:void(0);">绯荤粺绠$悊</a> - </el-breadcrumb-item> - <el-breadcrumb-item>鐢ㄦ埛绠$悊</el-breadcrumb-item> - </el-breadcrumb> - </div> - <!--<div class="text item">--> - <!--宸ュ叿鏉�--> - <!--<section class="toolbar">--> + <div class="mod-config" style="padding: 10px 10px 0px 10px;"> + <el-form :inline="true" :model="dataForm" @keyup.enter.native="getDataList()"> + <el-form-item label="杞︾墝鍙�"> + <el-input v-model="searchForm.carNo" clearable></el-input> + </el-form-item> + <el-form-item label="浜嬩欢绫诲瀷"> + <el-select v-model="searchForm.type" placeholder="璇烽�夋嫨" clearable> + <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="缂磋垂鐘舵��"> + <el-select v-model="searchForm.payStatus" placeholder="璇烽�夋嫨" clearable> + <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="杩濈珷绫诲瀷"> + <el-select v-model="searchForm.violationTypeId" clearable> + <el-option v-for="item in table1" :key="item.id" :label="item.name" :value="item.id" ></el-option> + </el-select> + </el-form-item> + <el-form-item> + <el-button type="primary" size="small" @click="getDataList" icon="el-icon-search">鏌ヨ</el-button> + </el-form-item> + </el-form> - <!--</section>--> - <el-form :inline="true" :model="searchForm"> - <el-form-item label="鍚嶇О"> - <el-input v-model="searchForm.name" placeholder="鍚嶇О"></el-input> - </el-form-item> - <el-form-item label="鎵嬫満鍙�"> - <el-input v-model="searchForm.phone" placeholder="鎵嬫満鍙�"></el-input> - </el-form-item> - <el-form-item> - <el-button type="primary" size="small" @click="onSearch" icon="el-icon-search">鏌ヨ</el-button> - <el-button type="primary" size="small" @click="onAdd" icon="el-icon-plus">澧炲姞</el-button> - <el-button type="primary" size="small" @click="onInitPassword" icon="el-icon-refresh">鍒濆鍖栧瘑鐮�</el-button> - <el-button type="primary" size="small" @click="onSetUserImage" icon="el-icon-picture-outline">璁剧疆澶村儚</el-button> - <el-button type="primary" size="small" @click="onChangeDept" icon="el-icon-picture-outline">璋冩崲閮ㄩ棬</el-button> - </el-form-item> - </el-form> - - <!--</div>--> - </el-card> - - <!--鍒楄〃鏁版嵁--> - <el-table :data="pageData.rows" v-loading="pageData.isLoading" :element-loading-text="pageData.loadingText" - border - :height="pageConfig.maxHeight" - stripe tooltip-effect="dark" style="width:100%; height:100%" @selection-change="onSelectionChange" @row-click="clickRow" - ref="mulTable"> - <!--<el-table-column--> - <!--type="selection"--> - <!--width="50"> - </el-table-column>--> - <el-table-column prop="loginName" label="鐧诲綍鍚�"> + <div class="avue-crud"> + <el-table + :height="tableHeight" + :data="pageData.rows" + border + v-loading="pageData.isLoading"> + <el-table-column + type="index" + width="50" + label="搴忓彿" + align="center"> + </el-table-column> + <el-table-column + prop="carNo" + width="100px" + header-align="center" + align="center" + label="杞︾墝鍙�"> + </el-table-column> + <el-table-column + prop="type" + width="100px" + header-align="center" + align="center" + label="浜嬩欢绫诲瀷"> + <template slot-scope="scope"> + <p v-if="scope.row.type==0" >鐜板満澶勭綒</p> + <p v-if="scope.row.type==1">涓婄骇浠诲姟</p> + <p v-if="scope.row.type==2">杩濈珷鎷栬溅</p> + </template> + </el-table-column> + <el-table-column + prop="carType" + width="90px" + header-align="center" + align="center" + label="杞﹁締绫诲瀷"> + </el-table-column> + <el-table-column + prop="color" + width="90px" + header-align="center" + align="center" + label="杞﹁締棰滆壊"> + </el-table-column> + <el-table-column + prop="address" + header-align="center" + align="center" + label="杩濇硶鍦扮偣"> </el-table-column> - <el-table-column prop="name" label="濮撳悕"> - </el-table-column> - <el-table-column prop="sexStr" label="鎬у埆鍚�"> - </el-table-column> - <el-table-column prop="age" label="骞撮緞"> - </el-table-column> - <el-table-column prop="deptName" label="鎵�鍦ㄩ儴闂�"> - </el-table-column> - <el-table-column prop="post" label="鑱屼綅"> - </el-table-column> - <el-table-column prop="phone" label="鎵嬫満鍙�"> - </el-table-column> - <el-table-column prop="roleNames" label="瑙掕壊"> - </el-table-column> - <el-table-column prop="status" label="鐘舵��"> - </el-table-column> - <el-table-column prop="lastLoginTime" label="鏈�杩戠櫥褰曟椂闂�"> + <el-table-column + prop="money" + width="100px" + header-align="center" + align="center" + label="搴旂即閲戦"> </el-table-column> - <el-table-column label="鎿嶄綔" fixed="right" width="250"> - <template slot-scope="scope"> - <el-button - size="mini" - @click="onEdit(scope.$index, scope.row)">缂栬緫 - </el-button> - <el-button - size="mini" - type="danger" - @click="onStop(scope.$index, scope.row)">鍋滅敤 - </el-button> - <el-button - size="mini" - @click="onStart(scope.$index, scope.row)">鍚敤 - </el-button> - </template> + <el-table-column + prop="payStatus" + width="100px" + header-align="center" + align="center" + label="缂磋垂鐘舵��"> + <template slot-scope="scope"> + <p v-if="scope.row.payStatus==0" style="color: red">寰呯即璐�</p> + <p v-if="scope.row.payStatus==1">宸茬即璐�</p> + <p v-if="scope.row.payStatus==2" style="color: blue">缂磋垂澶辫触</p> + </template> </el-table-column> + <el-table-column + prop="userName" + width="100px" + header-align="center" + align="center" + label="澶勭悊浜�"> + </el-table-column> + <el-table-column + prop="violationTypeName" + header-align="center" + align="center" + width="100px" + label="杩濈珷绫诲瀷"> + </el-table-column> + <el-table-column + prop="remark" + header-align="center" + align="center" + label="澶囨敞"> + </el-table-column> + <el-table-column + width="300px" + fixed="right" + header-align="center" + align="center" + label="鎿嶄綔"> + <template slot-scope="scope"> + <el-button type="text" size="small" icon="el-icon-document" @click="addOrUpdateHandle(scope.row.id)">澶勫喅涔�</el-button> + <el-button type="text" size="small" icon="el-icon-document-checked" @click="addOrUpdateHandle2(scope.row)">閫佽揪鍥炶瘉</el-button> + <el-button type="text" size="small" icon="el-icon-view" @click="pictureHandle(scope.row)">鍥惧儚璇佹嵁</el-button> + <el-button v-if="items==2" type="text" size="small" icon="el-icon-delete" @click="onDelete(scope.row.id)">鎾ら攢</el-button> +<!-- <el-button type="text" size="small" icon="el-pay6zhifu" @click="jiaofeiHandle(scope.row.id)">鐜板満缂磋垂</el-button>--> + </template> + </el-table-column> </el-table> - <!--鍒嗛〉淇℃伅--> - <el-pagination - background - @size-change="onPageSizeChange" - @current-change="onCurrentPageChange" - :current-page="pageData.currentPage" - :page-sizes="[10, 20, 30, 40, 50, 100, 200]" - :page-size="pageData.pageSize" - layout="total, sizes, jumper, prev, pager, next" - :total="pageData.total"> - </el-pagination> - </section> + <el-pagination background @size-change="onPageSizeChange" @current-change="onCurrentPageChange" :current-page="pageData.currentPage" :page-size="pageData.pageSize" :total="pageData.total" style="float: right"></el-pagination> + + </div> + + <!-- 寮圭獥, 鏂板 / 淇敼 --> + <table-form v-if="addOrUpdateVisible" ref="addOrUpdate" @refreshDataList="getDataList"></table-form> + <table-form2 v-if="addOrUpdateVisible2" ref="addOrUpdate2" @refreshDataList="getDataList"></table-form2> + <!--鍥惧儚璇佹嵁--> + <pictureForm v-if="pictureFormVisiable" ref="pictureForm"></pictureForm> + </div> </template> <script> - // 瀵煎叆鏂板缁勪欢 - import addDialog from './AddDialog' - export default { - name: "UserIndex", - data: function () { - return { - pageConfig: { - pageDataUrl: this.$systemconfig.basePath + '/security/user/list', - stopUrl: this.$systemconfig.basePath + '/security/user/stop', - startUrl: this.$systemconfig.basePath + '/security/user/start', - initPasswordUrl:this.$systemconfig.basePath+'/security/user/restoreInitialPassword', - }, - // 鏌ヨ鏁版嵁 - searchForm: { - name: '' - }, - // 椤甸潰鏁版嵁 - pageData: this.$byutil.defaultPageData() - } + import TableForm from './ticket-form' + import TableForm2 from './ticket-form2' + import pictureForm from './picture-form' + import {mapState} from 'vuex' + export default { + data () { + return { + tableHeight:650, + dataForm: { + key: '' }, - // 寮曞叆缁勪欢 - components: { - addDialog: addDialog + table1:[], + pageData: this.$byutil.defaultPageData(), + searchForm: { + current:this.pageIndex, + size:this.pageSize, + carNo:'', + type:null, + violationTypeId:null, + payStatus:null, }, - // 鎵ц鍒濆鍖栨暟鎹� - mounted() { - this.$byutil.initTableMaxHeight(this); - this.loadData(); - }, - // 鏂规硶 - methods: { - //鍔犺浇鏁版嵁 - loadData() { - this.$byutil.loadPageData(this, this.pageConfig.pageDataUrl, this.searchForm); - }, - // 鐐瑰嚮鏌ヨ鎸夐挳 - onSearch() { - this.pageData = this.$byutil.defaultPageData(); - this.loadData(); - }, - // 鐐瑰嚮鏂板鎸夐挳 - onAdd() { - this.$refs.addDialog.showDialog(true); - }, - // 鐐瑰嚮缂栬緫鎸夐挳 - onEdit(index, row) { - this.$refs.addDialog.showDialog(true); - //鍒濆鍖栨棫鏁版嵁 - this.$refs.addDialog.initData(row); - }, - // 鐐瑰嚮鍋滅敤 - onStop(index, row) { - if(row.status == "鍒犻櫎"){ - alert("宸茬粡鍋滅敤锛屼笉鑳藉啀娆″仠鐢�"); - return; - } - this.$byutil.stopData(this, this.pageConfig.stopUrl, row); - }, - // 鐐瑰嚮鍚敤 - onStart(index, row) { - if(row.status == "姝e父"){ - alert("姝e父鐘舵�侊紝涓嶈兘鍐嶆鍚敤"); - return; - } - this.$byutil.startData(this, this.pageConfig.startUrl, row); - }, - // 澶氶�夋椂 - onSelectionChange(val) { - // this.pageData.multipleSelection = val - }, - // 鍒囨崲姣忛〉鏄剧ず鏉℃暟 - onPageSizeChange(val) { - this.pageData.pageSize = val; - this.loadData(); - }, - // 璺宠浆椤� - onCurrentPageChange(val) { - this.pageData.page = val; - this.loadData(); - }, - //鍗曢�� - clickRow(val){ - this.pageData.signSelection = val + dataList: [], + pageIndex: 1, + pageSize: 10, + totalPage: 0, + dataListLoading: false, + addOrUpdateVisible: false, + addOrUpdateVisible2: false, + pictureFormVisiable:false, //鍥惧儚璇佹嵁寮规 + } + }, + components: { + TableForm, + TableForm2, + pictureForm + }, + created () { + this.getDataList() + this.findAllViolation() + this.tableHeight = window.innerHeight - 255 + }, + computed: { + ...mapState({ + items:'roles' + }), + }, + methods: { + // 鑾峰彇鏁版嵁鍒楄〃 + getDataList () { + this.dataListLoading = true + this.searchForm.current=this.pageIndex + this.searchForm.size=this.pageSize + this.$byutil.loadPageData(this, this.$systemconfig.basePath+'/ffzf/ticket/findPage', this.searchForm); + this.dataListLoading = false + }, + findAllViolation(){ + this.$byutil.postData(this, this.$systemconfig.basePath+'/ffzf/violationtype/findAll', this.formData, res => { + this.table1 = res.data; + }) + }, + onPageSizeChange(val) { + this.pageData.pageSize = val; + this.getDataList(); + }, + onCurrentPageChange(val) { + this.pageData.page = val; + this.getDataList(); + }, + pictureHandle(data) { + console.log(data,'data=====') + let imgArry = [] + if(data.img) { + imgArry = data.img.split(',') + console.log(imgArry,'imgArry====') + } + this.pictureFormVisiable = true + this.$nextTick(() => { + this.$refs.pictureForm.init(imgArry) + }) - }, - // 璁剧疆澶村儚 - onSetUserImage (){ - let row = this.pageData.signSelection; - if(!row){ - this.$alert('璇烽�夋嫨鐢ㄦ埛', {'title': '鎻愮ず','type': 'warning','center': true,'showClose': false}); - return; - } - this.$refs.setUserImageDialog.showDialog(true); - this.$refs.setUserImageDialog.initData(row); - }, - - // 璋冩崲閮ㄩ棬 - onChangeDept (){ - let row = this.pageData.signSelection; - if(!row){ - this.$alert('璇烽�夋嫨鐢ㄦ埛', {'title': '鎻愮ず','type': 'warning','center': true,'showClose': false}); - return; - } - this.$refs.changeDeptDialog.showDialog(true); - this.$refs.changeDeptDialog.initData(row); - }, - - //鍒濆鍖栧瘑鐮� - onInitPassword(){ - let row = this.pageData.signSelection; - if(!row){ - this.$alert('璇烽�夋嫨鐢ㄦ埛', {'title': '鎻愮ず','type': 'warning','center': true,'showClose': false}); - return; - } - this.$byutil.postData(this,this.pageConfig.initPasswordUrl,row,res=>{ - this.$alert(row.name+'鍒濆鍖栧瘑鐮佹垚鍔�', {'title': '鎻愮ず','type': 'success','center': true,'showClose': false}); - }) - } + }, + // 鏂板 / 淇敼 + addOrUpdateHandle (id) { + this.addOrUpdateVisible = true + this.$nextTick(() => { + this.$refs.addOrUpdate.init(id) + }) + }, + // 鏂板 / 淇敼 + addOrUpdateHandle2 (row) { + if(row.personName != null){ + this.addOrUpdateVisible2 = true + this.$nextTick(() => { + this.$refs.addOrUpdate2.init(row.id) + }) + }else { + this.$message.error("澶勫喅涔﹁繕鏈~鍐欙紒") } + + }, + //鐜板満缂磋垂 + jiaofeiHandle(id){ + this.$byutil.postData(this, this.$systemconfig.basePath+'/ffzf/ticket/jiaofei', {id:id}, res => { + if(res.code===0){ + this.$message.success(res.msg) + }else { + this.$message.error(res.msg) + } + }) + }, + //鍒犻櫎 + onDelete(id) { + this.$byutil.deleteData(this,this.$systemconfig.basePath+'/ffzf/ticket/delete',{id:id}, res => { + this.$message({message: '鎾ら攢鎴愬姛', type: 'success'}); + this.getDataList(); + }) + }, } + } </script> - -<style scoped> - -</style> \ No newline at end of file -- Gitblit v1.9.1