123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218 |
- <!DOCTYPE html>
- <html lang="en">
- <head>
- <meta charset="UTF-8">
- <meta http-equiv="X-UA-Compatible" content="IE=edge">
- <meta name="viewport" content="width=device-width, initial-scale=1.0">
- <title>Document</title>
- <script src="https://unpkg.com/vue@2/dist/vue.js"></script>
- <script src="https://unpkg.com/element-ui@2.15.14/lib/index.js"></script>
- <script src="https://unpkg.com/axios/dist/axios.min.js"></script>
- <style>
- @import url("https://unpkg.com/element-ui@2.15.14/lib/theme-chalk/index.css");
- *{
- margin:0;
- padding:0;
- }
- .el-calendar__header{
- border:none;
- }
- .el-calendar__body{
- margin-top:-24px;
- }
- td{
- text-align:center;
- }
- .el-calendar-table .el-calendar-day{
- height:auto;
- }
- .el-calendar-table td{
- border:none;
- }
- .el-calendar-table tr td:first-child{
- border:none;
- }
- .el-calendar-table .el-calendar-day{
- padding:6px;
- }
- .el-calendar-table tr:first-child td{
- border:none;
- }
- .el-calendar-day span{
- font-size:14px;
- }
- .form{
- display:flex;
- justify-content: space-between;
- padding:0 20px;
- margin-top:-20px;
- margin-bottom:-20px;
- }
- .form input{
- background:#F6F6F6;
- border:none;
- border-radius: 10px;
- width:120px;
- padding:5px 10px;
- }
- .form button{
- border:none;
- color:white;
- background:#3B70FE;
- border-radius: 10px;
- width:60px;
- height:40px;
- }
- .list{
- padding:20px;
- }
- .list .item{
- display:flex;
- justify-content: space-between;
- align-items: center;
- margin-bottom:20px;
- }
- .list .item .left{
- display:flex;
- align-items: center;
- position:relative;
- }
- .list .item .left .shu{
- border-left:1px solid #DADADA;
- width:1px;
- height:30px;
- position:absolute;
- left:5px;
- top:16px;
- }
- .list .item span{
- color:#DADADA;
- }
- .list .item .left .yuan{
- width:10px;
- height:10px;
- border-radius: 50%;
- border:1px solid #DBDBDB;
- margin-right:10px;
- }
- .list .item .left .through{
- background:#3F6EFE;
- }
- </style>
- </head>
- <body>
- <div id="app">
- <el-calendar v-model="val">
- </el-calendar>
- <div class="form">
- <!-- <input type="text" v-model="section" placeholder="单位名称"> -->
- <!-- <input type="text" v-model="name" placeholder="姓名"> -->
- <el-form :inline="true" class="demo-form-inline">
- <el-form-item>
- <el-select v-model="section" placeholder="单位名称" @change="handleSectionChange">
- <el-option v-for="(item,index) in select_list" :key="index" :label="item.name" :value="item.name"></el-option>
- </el-select>
- </el-form-item>
- <el-form-item>
- <el-select v-model="name" placeholder="姓名">
- <el-option v-for="(item,index) in name_select" :key="index" :label="item.person_name" :value="item.person_id"></el-option>
- </el-select>
- </el-form-item>
- </el-form>
- <button @click="search">搜索</button>
- </div>
- <div class="list">
- <div class="item" v-for="(item,index) in record_list" :key="index" @click="page_dump(item.url)">
- <div class="left">
- <div class="yuan" :class="{ 'through': item.date }"></div>
- <div class="shu"></div>
- <p>{{item.area}}</p>
- </div>
- <span>{{item.date}}</span>
- </div>
- </div>
- </div>
- <script>
- var Main = {
- data() {
- return {
- val: new Date(),
- section:'',
- name:'',
- ind:0,
- select_list:[],
- name_select:[],
- record_list:[]
- }
- },
- created(){
- this.get_select()
- },
- watch: {
- val(newValue, oldValue) {
- this.get_select()
- // 在这里可以处理选中日期改变的逻辑
- // 例如:
- // this.fetchEvents(newValue); // 拉取新选中日期的事件
- },
- },
- methods:{
- search(){
- this.get_select()
- const date = new Date(this.val);
- const year = date.getFullYear();
- const month = ('0' + (date.getMonth() + 1)).slice(-2); // 月份从0开始,需要加1并补零
- const day = ('0' + date.getDate()).slice(-2); // 获取日并补零
- const formattedDate = `${year}-${month}-${day}`;
- const loading = this.$loading({
- lock: true,
- text: '数据加载中',
- spinner: 'el-icon-loading',
- background: 'rgba(0, 0, 0, 0.7)'
- });
- axios.post('http://anvideo.nxmy.com:8011/api/fanwei/get_person_travel',{'person_id':this.name,'date':formattedDate,'depart':this.section})
- .then( (response)=> {
- this.record_list = response.data.content.data
- loading.close()
- })
- .catch(function (error) {
- console.log(error);
- loading.close()
- });
- },
- get_select() {
- const date = new Date(this.val);
- const year = date.getFullYear();
- const month = ('0' + (date.getMonth() + 1)).slice(-2); // 月份从0开始,需要加1并补零
- const day = ('0' + date.getDate()).slice(-2); // 获取日并补零
- const formattedDate = `${year}-${month}-${day}`;
-
- axios.post('http://anvideo.nxmy.com:8011/api/fanwei/get_query_conition',{'date':formattedDate})
- .then( (response)=> {
- this.select_list = response.data.content.data
- })
- .catch(function (error) {
- console.log(error);
- });
- },
- handleSectionChange() {
- this.name = ''
- this.ind = this.select_list.findIndex(item => item.name === this.section)
- this.name_select = this.select_list[this.ind].person_list
- },
- page_dump(url){
- if(url != ''){
- window.location.href = 'http://10.186.132.147'+url
- }
- }
- }
- }
- var Ctor = Vue.extend(Main)
- new Ctor().$mount('#app')
- </script>
- </body>
- </html>
|