|
@@ -5,24 +5,24 @@
|
|
|
</Toptitle>
|
|
|
<Form :label-width='100' class="form_content">
|
|
|
<FormItem label='时间:'>
|
|
|
- <DatePicker type='date' v-model="searchData.start_time" class="form_item"></DatePicker>~
|
|
|
- <DatePicker type='date' v-model="searchData.end_time" class="form_item"></DatePicker>
|
|
|
+ <DatePicker type='date' v-model="searchData.start_time" class="form_item" placeholder='年/月/日'></DatePicker>~
|
|
|
+ <DatePicker type='date' v-model="searchData.end_time" class="form_item" placeholder='年/月/日'></DatePicker>
|
|
|
</FormItem>
|
|
|
<FormItem label='包装班组:'>
|
|
|
<Select v-model="searchData.employee" filterable clearable class="form_item">
|
|
|
- <Option :value="1" :label="1"/>
|
|
|
+ <Option v-for="item in employeeList" :key="item.id" :value="item.id" :label="item.nickname"/>
|
|
|
</Select>
|
|
|
</FormItem>
|
|
|
<FormItem label='项目名称:'>
|
|
|
<Select v-model="searchData.project_title" filterable multiple :max-tag-count='1' class="form_item">
|
|
|
- <Option :value="1" :label='1'/>
|
|
|
+ <Option v-for="(item,index) in projectList" :key="index" :value="item" :label="item"/>
|
|
|
</Select>
|
|
|
</FormItem>
|
|
|
<FormItem :label-width='40'>
|
|
|
- <Button style="primary" type="primary">搜索</Button>
|
|
|
+ <Button style="primary" type="primary" @click="search">搜索</Button>
|
|
|
</FormItem>
|
|
|
</Form>
|
|
|
- <Table :data='tableData' :columns='setTableColumns' border max-height='550' :span-method="handleSpan">
|
|
|
+ <Table :data='tableData' :columns='setTableColumns' border max-height='550' :span-method="handleSpan" v-show='tableData.length!=0' @on-cell-click='handleClick'>
|
|
|
<template slot="set" slot-scope="{row}">
|
|
|
<a @click="goPage(row)" v-show="row.time!=='合计'">详情</a>
|
|
|
</template>
|
|
@@ -33,9 +33,12 @@
|
|
|
export default {
|
|
|
data(){
|
|
|
return{
|
|
|
+ num:'',
|
|
|
+ employeeList:[],
|
|
|
+ projectList:[],
|
|
|
tableSlice:[],
|
|
|
tableData:[
|
|
|
- {time:'123',A:"600",B:'700',C:'800',D:'900',E:'1000',F:'1100',G:"1200",H:'1300',I:"1400",j:'2000',total_price:'5000'}
|
|
|
+ // {time:'123',A:"600",B:'700',C:'800',D:'900',E:'1000',F:'1100',G:"1200",H:'1300',I:"1400",j:'2000',total_price:'5000'}
|
|
|
],
|
|
|
tableColumns:[
|
|
|
{title:'时间',key:'time',align:'center',minWidth:100}
|
|
@@ -61,12 +64,46 @@ export default {
|
|
|
}
|
|
|
},
|
|
|
mounted(){
|
|
|
- this.initData();
|
|
|
+ // this.initData();
|
|
|
},
|
|
|
|
|
|
methods:{
|
|
|
+ handleClick(row,column,data,event){
|
|
|
+ this.num = data;
|
|
|
+ },
|
|
|
+ search(){
|
|
|
+ if(!this.searchData.start_time||!this.searchData.end_time){
|
|
|
+ return this.$Message.warning('请将开始时间和结束时间填写完整!')
|
|
|
+ }
|
|
|
+ let obj = JSON.parse(JSON.stringify(this.searchData));
|
|
|
+ obj.start_time = obj.start_time?Date.parse(obj.start_time).toString().slice(0,10):'';
|
|
|
+ obj.end_time = obj.end_time?Date.parse(obj.end_time).toString().slice(0,10):"";
|
|
|
+ this.initData(obj)
|
|
|
+ },
|
|
|
goPage(row){
|
|
|
- this.$router.push({path:'/cms/PackagingStatistics/detail',query:{...row}})
|
|
|
+ // (new Date(this.searchData.start_time).getTime().toString().slice(0,10))*1;
|
|
|
+ // let start_time = new Date(this.searchData.start_time).getFullYear();
|
|
|
+ // let end_time=new Date(this.searchData.end_time).getFullYear();
|
|
|
+ // let obj = {};
|
|
|
+ // if(row.time*1==start_time&&row.time*1<end_time){
|
|
|
+ // obj.start_time = (new Date(this.searchData.start_time).getTime().toString().slice(0,10))*1;
|
|
|
+ // obj.end_time = (new Date(`${row.time}/12/31`).getTime().toString().slice(0,10))*1;
|
|
|
+ // console.log(obj.end_time);
|
|
|
+ // }else if(row.time*1>start_time&&row.time*1<end_time){
|
|
|
+ // obj.start_time = (new Date(`${row.time}/1/1`).getTime().toString().slice(0,10))*1;
|
|
|
+ // obj.end_time = (new Date(`${row.time}/12/31`).getTime().toString().slice(0,10))*1;
|
|
|
+ // }else if(row.time*1>start_time&&row.time*1==end_time){
|
|
|
+ // obj.start_time = (new Date(`${row.time}/1/1`).getTime().toString().slice(0,10))*1;
|
|
|
+ // obj.end_time = (new Date(this.searchData.end_time).getTime().toString().slice(0,10))*1;
|
|
|
+ // }else if(row.time*1==start_time&&row.time*1==end_time){
|
|
|
+ // obj.start_time = (new Date(this.searchData.start_time).getTime().toString().slice(0,10))*1;
|
|
|
+ // obj.end_time = (new Date(this.searchData.end_time).getTime().toString().slice(0,10))*1;
|
|
|
+ // }
|
|
|
+ let obj ={};
|
|
|
+ obj.start_time = (new Date(this.searchData.start_time).getTime().toString().slice(0,10))*1;
|
|
|
+ obj.end_time = (new Date(this.searchData.end_time).getTime().toString().slice(0,10))*1;
|
|
|
+ obj.year = row.time;
|
|
|
+ this.$router.push({path:'/cms/PackagingStatistics/detail',query:{...obj}})
|
|
|
},
|
|
|
handleSpan({ row, column, rowIndex, columnIndex }){
|
|
|
if (rowIndex ===this.tableData.length-2 && (columnIndex === 0||columnIndex===this.tableSlice[this.tableSlice.length-1]+1||columnIndex===this.tableSlice[this.tableSlice.length-1]+2)) {
|
|
@@ -110,14 +147,23 @@ export default {
|
|
|
arr = [1,this.tableSlice[0]] }
|
|
|
return arr;
|
|
|
},
|
|
|
- initData(){
|
|
|
- setTimeout(() => {
|
|
|
- let data=[
|
|
|
- {title:'包装一组',children:[{title:'项目A',key:'A'},{title:'项目B',key:'B'},{title:'项目C',key:'C'}],total_price:'1750'},
|
|
|
- {title:'包装二组',children:[{title:'项目D',key:'D'},{title:'项目E',key:'E'},{title:'项目F',key:'F'}],total_price:'1800'},
|
|
|
- {title:'包装三组',children:[{title:'项目G',key:'G'},{title:'项目H',key:'H'},{title:'项目I',key:'I'},{title:'项目j',key:'j'}],total_price:'1900'},
|
|
|
- ];
|
|
|
- let totalData = {time:'合计',A:"600",B:'700',C:'800',D:'900',E:'1000',F:'1100',G:"1200",H:'1300',I:"1400",j:'2000',total_price:'5000'};
|
|
|
+ initData(row){
|
|
|
+ this.axios.post('/api/finance_pack_year',{...row,state:'year'}).then(res=>{
|
|
|
+ this.otherColumns=[];
|
|
|
+ this.projectList = res.data.order_list;
|
|
|
+ this.employeeList = res.data.employee;
|
|
|
+ let data = res.data.header;
|
|
|
+ let totalData = res.data.price;
|
|
|
+ totalData.time = '合计';
|
|
|
+ this.tableData = res.data.list;
|
|
|
+ // });
|
|
|
+ // setTimeout(() => {
|
|
|
+ // let data=[
|
|
|
+ // {title:'包装一组',children:[{title:'项目A',key:'A'},{title:'项目B',key:'B'},{title:'项目C',key:'C'}],total_price:'1750'},
|
|
|
+ // {title:'包装二组',children:[{title:'项目D',key:'D'},{title:'项目E',key:'E'},{title:'项目F',key:'F'}],total_price:'1800'},
|
|
|
+ // {title:'包装三组',children:[{title:'项目G',key:'G'},{title:'项目H',key:'H'},{title:'项目I',key:'I'},{title:'项目j',key:'j'}],total_price:'1900'},
|
|
|
+ // ];
|
|
|
+ // let totalData = {time:'合计',A:"600",B:'700',C:'800',D:'900',E:'1000',F:'1100',G:"1200",H:'1300',I:"1400",j:'2000',total_price:'5000'};
|
|
|
let totalSure = {};
|
|
|
let sum = 0;
|
|
|
data.forEach(v=>{
|
|
@@ -131,10 +177,18 @@ export default {
|
|
|
val.align='center';
|
|
|
val.minWidth=100;
|
|
|
val.render=(h,params)=>{
|
|
|
- const {row} = params;
|
|
|
+ const {row,column} = params;
|
|
|
return !row.time?h('span',{},row[val.key]):h('a',{on:{
|
|
|
'click':()=>{
|
|
|
- this.$router.push({path:'/cms/PackagingStatistics/urlNumberDetail',query:{...row}})
|
|
|
+ let obj ={};
|
|
|
+ obj.employee = column.id;
|
|
|
+ obj.order_no = column.order_no;
|
|
|
+ obj.start_time = (new Date(this.searchData.start_time).getTime().toString().slice(0,10))*1;
|
|
|
+ obj.end_time = (new Date(this.searchData.end_time).getTime().toString().slice(0,10))*1;
|
|
|
+ obj.year = row.time
|
|
|
+ obj.employee_title = column.employee;
|
|
|
+ obj.project_title = column.title;
|
|
|
+ this.$router.push({path:'/cms/PackagingStatistics/urlNumberDetail',query:{...obj}})
|
|
|
}
|
|
|
}},row[val.key])
|
|
|
}
|