|
|
@@ -6,12 +6,12 @@ |
|
|
|
<el-dropdown trigger="click" placement="bottom-start"> |
|
|
|
<div class="select_address el-dropdown-link"> |
|
|
|
<span class="sanjiao-right"></span> |
|
|
|
<p>大足区</p> |
|
|
|
<p>{{cityName}}</p> |
|
|
|
</div> |
|
|
|
<el-dropdown-menu slot="dropdown" style="width: 8vw;text-align: center;"> |
|
|
|
<el-dropdown-item v-for="(item,index) in 5"> |
|
|
|
<div class="selected"> |
|
|
|
<p>张家镇</p> |
|
|
|
<el-dropdown-item v-for="(item,index) in deptOptions"> |
|
|
|
<div class="selected" @click="chooseCity(item.orgCode)"> |
|
|
|
<p>{{item.deptName}}</p> |
|
|
|
</div> |
|
|
|
</el-dropdown-item> |
|
|
|
</el-dropdown-menu> |
|
|
@@ -20,43 +20,47 @@ |
|
|
|
<el-dropdown trigger="click" placement="bottom-start"> |
|
|
|
<div class="select_address el-dropdown-link"> |
|
|
|
<span class="sanjiao-right"></span> |
|
|
|
<p>大足区</p> |
|
|
|
<p>{{townName}}</p> |
|
|
|
</div> |
|
|
|
<el-dropdown-menu slot="dropdown" style="width: 8vw;text-align: center;"> |
|
|
|
<el-dropdown-item v-for="(item,index) in 5"> |
|
|
|
<div class="selected"> |
|
|
|
<p>张家镇</p> |
|
|
|
<el-dropdown-item v-for="(item,index) in townList"> |
|
|
|
<div class="selected" @click="chooseTown(item.orgCode)"> |
|
|
|
<p>{{item.deptName}}</p> |
|
|
|
</div> |
|
|
|
</el-dropdown-item> |
|
|
|
</el-dropdown-menu> |
|
|
|
</el-dropdown> |
|
|
|
|
|
|
|
<p class="todo_num">已处理村庄:<span>19</span>个</p> |
|
|
|
<p class="todo_num2">超时完成村庄:<span>1</span>个</p> |
|
|
|
<p class="todo_num">已处理村庄:<span>{{total}}</span>个</p> |
|
|
|
<p class="todo_num2">超时完成村庄:<span>{{overdue}}</span>个</p> |
|
|
|
|
|
|
|
</div> |
|
|
|
|
|
|
|
<div class="main"> |
|
|
|
|
|
|
|
<div class="left_main"> |
|
|
|
<el-table :data="tableData" style="width: 100%;" :default-sort = "{prop: 'date', order: 'descending'}"> |
|
|
|
<el-table :data="list" style="width: 100%;"> |
|
|
|
|
|
|
|
<el-table-column type="expand"> |
|
|
|
<template slot-scope="props"> |
|
|
|
<div class="openTable"> |
|
|
|
<el-table :data="tableData" style="width: 100%;background-color: transparent;" :default-sort = "{prop: 'date', order: 'descending'}"> |
|
|
|
<el-table-column prop="value1" label="组织名称" show-overflow-tooltip /> |
|
|
|
<el-table-column prop="value2" label="记账笔数" show-overflow-tooltip > |
|
|
|
<el-table :data="props.row.taskList" style="width: 100%;background-color: transparent;"> |
|
|
|
<el-table-column prop="bookName" label="组织名称" show-overflow-tooltip /> |
|
|
|
<el-table-column prop="voucherCount" label="记账笔数" show-overflow-tooltip > |
|
|
|
<template slot-scope="scope"> |
|
|
|
5 <span class="num">7</span> |
|
|
|
{{scope.row.voucherCount}} <span class="num">7</span> |
|
|
|
</template> |
|
|
|
</el-table-column> |
|
|
|
<el-table-column prop="value3" label="合同数量" show-overflow-tooltip /> |
|
|
|
<el-table-column prop="value4" label="其他" show-overflow-tooltip /> |
|
|
|
<el-table-column prop="value5" label="任务总数" show-overflow-tooltip /> |
|
|
|
<el-table-column prop="value6" label="状态" show-overflow-tooltip /> |
|
|
|
<el-table-column prop="value7" label="审核日期" show-overflow-tooltip /> |
|
|
|
<el-table-column prop="value9" label="操作"> |
|
|
|
<el-table-column prop="contracCount" label="合同数量" show-overflow-tooltip /> |
|
|
|
<el-table-column prop="otherCount" label="其他" show-overflow-tooltip /> |
|
|
|
<el-table-column prop="allCount" label="任务总数" show-overflow-tooltip /> |
|
|
|
<el-table-column prop="isAudit" label="状态" show-overflow-tooltip> |
|
|
|
<template slot-scope="scope"> |
|
|
|
{{scope.row.isAudit === 'Y' ? '已审核' : '未审核'}} |
|
|
|
</template> |
|
|
|
</el-table-column> |
|
|
|
<el-table-column prop="auditDate" label="审核日期" show-overflow-tooltip /> |
|
|
|
<el-table-column label="操作"> |
|
|
|
<template slot-scope="scope"> |
|
|
|
<el-button type="primary" size="mini" icon="el-icon-edit"></el-button> |
|
|
|
</template> |
|
|
@@ -66,45 +70,21 @@ |
|
|
|
</template> |
|
|
|
</el-table-column> |
|
|
|
|
|
|
|
<el-table-column prop="value1" label="村" show-overflow-tooltip /> |
|
|
|
<el-table-column prop="value2" label="合作社数量" show-overflow-tooltip /> |
|
|
|
<el-table-column prop="value3" label="已审核" show-overflow-tooltip /> |
|
|
|
<el-table-column prop="value4" label="待审核" show-overflow-tooltip /> |
|
|
|
<el-table-column prop="value5" label="下发日期" show-overflow-tooltip /> |
|
|
|
<el-table-column prop="value6" label="截止日期" show-overflow-tooltip /> |
|
|
|
<el-table-column prop="value7" label="完成日期" show-overflow-tooltip /> |
|
|
|
<el-table-column prop="value8" label="审核人" show-overflow-tooltip /> |
|
|
|
<el-table-column prop="orgName" label="村" show-overflow-tooltip /> |
|
|
|
<el-table-column prop="num" label="合作社数量" show-overflow-tooltip /> |
|
|
|
<el-table-column prop="numApprovalFinish" label="已审核" show-overflow-tooltip /> |
|
|
|
<el-table-column prop="numNotApproval" label="待审核" show-overflow-tooltip /> |
|
|
|
<el-table-column prop="distriDate" :formatter="dateFormatter" label="下发日期" show-overflow-tooltip /> |
|
|
|
<el-table-column prop="endAt" label="截止日期" show-overflow-tooltip /> |
|
|
|
<el-table-column prop="handleDate" :formatter="dateFormatter" label="完成日期" show-overflow-tooltip sortable /> |
|
|
|
<el-table-column prop="handleNick" label="审核人" show-overflow-tooltip /> |
|
|
|
|
|
|
|
</el-table> |
|
|
|
|
|
|
|
|
|
|
|
</div> |
|
|
|
|
|
|
|
<div class="right_main"> |
|
|
|
<div class="title"> |
|
|
|
<i></i> |
|
|
|
<p>任务日期</p> |
|
|
|
</div> |
|
|
|
|
|
|
|
<div class="time_main"> |
|
|
|
<span class="sanjiao-top" @click="addDate"></span> |
|
|
|
<p @click = "selectionRange">{{year}}</p> |
|
|
|
<el-date-picker |
|
|
|
v-model="year" |
|
|
|
type="year" |
|
|
|
class="pickerTime" |
|
|
|
ref = "datePicker" |
|
|
|
value-format="yyyy" |
|
|
|
placeholder="选择年"> |
|
|
|
</el-date-picker> |
|
|
|
<span class="sanjiao-bottom" @click="reduceDate"></span> |
|
|
|
</div> |
|
|
|
|
|
|
|
<div class="month_main"> |
|
|
|
<p v-for="(item,index) in 12" :class="{'active':index==3}">{{index+1}}月<i v-if="index==3"></i></p> |
|
|
|
</div> |
|
|
|
|
|
|
|
</div> |
|
|
|
<RightYearMonthSelector class="right_main" :year.sync="year" :month.sync="month" @dateChanged="chooseMonth"/> |
|
|
|
|
|
|
|
</div> |
|
|
|
|
|
|
@@ -113,71 +93,93 @@ |
|
|
|
</template> |
|
|
|
|
|
|
|
<script> |
|
|
|
import RightYearMonthSelector from "@/components/framework/RightYearMonthSelector.vue"; |
|
|
|
import {date, date_format} from "@/utils/date"; |
|
|
|
import {cityTree} from "@/api/misc/misc_dept"; |
|
|
|
import {ENV} from "@/utils/env"; |
|
|
|
import {processedTaskList} from "@/api/agentcenter/accounting_task"; |
|
|
|
|
|
|
|
export default { |
|
|
|
name: "processed", |
|
|
|
components: {RightYearMonthSelector}, |
|
|
|
data() { |
|
|
|
return { |
|
|
|
tableData: [{ |
|
|
|
value1: '当当村', |
|
|
|
value2: '玩玩玩玩玩玩玩玩合作社玩玩玩玩玩玩玩玩合作社', |
|
|
|
value3: '8', |
|
|
|
value4: '5', |
|
|
|
value5: '5', |
|
|
|
value6: '18', |
|
|
|
value7: '2023.03.05', |
|
|
|
value8: '2023.03.06', |
|
|
|
value9: '111' |
|
|
|
}, { |
|
|
|
value1: '当当村', |
|
|
|
value2: '玩玩玩玩玩玩玩玩合作社', |
|
|
|
value3: '8', |
|
|
|
value4: '5', |
|
|
|
value5: '5', |
|
|
|
value6: '18', |
|
|
|
value7: '2023.03.05', |
|
|
|
value8: '2023.03.06', |
|
|
|
value9: '111' |
|
|
|
}, { |
|
|
|
value1: '当当村', |
|
|
|
value2: '玩玩玩玩玩玩玩玩合作社', |
|
|
|
value3: '8', |
|
|
|
value4: '5', |
|
|
|
value5: '5', |
|
|
|
value6: '18', |
|
|
|
value7: '2023.03.05', |
|
|
|
value8: '2023.03.06', |
|
|
|
value9: '111' |
|
|
|
}, { |
|
|
|
value1: '当当村', |
|
|
|
value2: '玩玩玩玩玩玩玩玩合作社', |
|
|
|
value3: '8', |
|
|
|
value4: '5', |
|
|
|
value5: '5', |
|
|
|
value6: '18', |
|
|
|
value7: '2023.03.05', |
|
|
|
value8: '2023.03.06', |
|
|
|
value9: '111' |
|
|
|
}], |
|
|
|
year:'2023', |
|
|
|
deptOptions: [], |
|
|
|
cityCode: null, |
|
|
|
townCode: null, |
|
|
|
list: [], |
|
|
|
total: 0, |
|
|
|
year: date_format('%Y'), |
|
|
|
month: date_format('%m'), |
|
|
|
overdue: 0, |
|
|
|
} |
|
|
|
}, |
|
|
|
created() { |
|
|
|
|
|
|
|
this.getDeptTree(); |
|
|
|
}, |
|
|
|
methods:{ |
|
|
|
addDate(){ |
|
|
|
this.year = Number(this.year) + 1 ; |
|
|
|
getDeptTree() { |
|
|
|
cityTree({rootId: ENV.UserDeptId()}).then((resp) => { |
|
|
|
this.deptOptions = resp.data; |
|
|
|
if(this.deptOptions.length) |
|
|
|
this.cityCode = this.deptOptions[0].orgCode; |
|
|
|
}); |
|
|
|
}, |
|
|
|
reduceDate(){ |
|
|
|
this.year = Number(this.year) - 1 ; |
|
|
|
chooseCity(cmd) { |
|
|
|
this.cityCode = cmd; |
|
|
|
this.townCode = null; |
|
|
|
this.getTaskList(); |
|
|
|
}, |
|
|
|
selectionRange(){ |
|
|
|
this.$refs.datePicker.focus(); |
|
|
|
chooseTown(cmd) { |
|
|
|
this.townCode = cmd; |
|
|
|
this.getTaskList(); |
|
|
|
}, |
|
|
|
getTaskList() { |
|
|
|
if(!this.cityCode || !this.year || !this.month) |
|
|
|
return; |
|
|
|
processedTaskList({ |
|
|
|
countyCode: this.cityCode, |
|
|
|
townCode: this.townCode, |
|
|
|
orderYear: this.year, |
|
|
|
orderMonth: this.month, |
|
|
|
}).then((resp) => { |
|
|
|
this.list = resp.rows; |
|
|
|
this.total = resp.total; |
|
|
|
this.overdue = resp.overdue; |
|
|
|
}) |
|
|
|
}, |
|
|
|
chooseMonth(year, month) { |
|
|
|
this.getTaskList(); |
|
|
|
}, |
|
|
|
dateFormatter(row, column, cellValue, index) { |
|
|
|
return cellValue ? date(cellValue, 'yyyy-MM-dd HH:mm:ss', 'yyyy-MM-dd') : ''; |
|
|
|
}, |
|
|
|
}, |
|
|
|
mounted(){ |
|
|
|
|
|
|
|
} |
|
|
|
}, |
|
|
|
computed: { |
|
|
|
cityName() { |
|
|
|
if(!this.deptOptions.length) |
|
|
|
return ''; |
|
|
|
let dept = this.deptOptions.find((x) => x.orgCode === this.cityCode); |
|
|
|
return dept ? dept.deptName : ''; |
|
|
|
}, |
|
|
|
townList() { |
|
|
|
if(!this.deptOptions.length) |
|
|
|
return []; |
|
|
|
let dept = this.deptOptions.find((x) => x.orgCode === this.cityCode); |
|
|
|
return [{orgCode: '', deptName: '全部'}, ...(dept ? dept.children || [] : [])]; |
|
|
|
}, |
|
|
|
townName() { |
|
|
|
if(!this.townList.length) |
|
|
|
return ''; |
|
|
|
if(!this.townCode) |
|
|
|
return '全部'; |
|
|
|
let dept = this.townList.find((x) => x.orgCode === this.townCode); |
|
|
|
return dept ? dept.deptName : ''; |
|
|
|
}, |
|
|
|
}, |
|
|
|
} |
|
|
|
</script> |
|
|
|
|
|
|
@@ -344,67 +346,4 @@ export default { |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
.sanjiao-top { |
|
|
|
display: inline-block; |
|
|
|
border-bottom: 8px solid #414141; |
|
|
|
border-bottom-color: initial; |
|
|
|
border-left: 5px solid transparent; |
|
|
|
border-right: 5px solid transparent; |
|
|
|
} |
|
|
|
|
|
|
|
.sanjiao-bottom { |
|
|
|
display: inline-block; |
|
|
|
border-top: 8px solid #414141; |
|
|
|
border-top-color: initial; |
|
|
|
border-left: 5px solid transparent; |
|
|
|
border-right: 5px solid transparent; |
|
|
|
} |
|
|
|
|
|
|
|
.time_main{ |
|
|
|
display: flex; |
|
|
|
flex-direction: column; |
|
|
|
align-items: center; |
|
|
|
background-color: #f5f6f8; |
|
|
|
color: #414141; |
|
|
|
width: 75%; |
|
|
|
margin: 0 auto; |
|
|
|
margin-top: 15px; |
|
|
|
padding: 15px 0; |
|
|
|
border-radius: 8px; |
|
|
|
position: relative; |
|
|
|
cursor: pointer; |
|
|
|
p{ |
|
|
|
margin: 10px 0; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
.month_main{ |
|
|
|
display: flex; |
|
|
|
flex-direction: column; |
|
|
|
align-items: center; |
|
|
|
color: #414141; |
|
|
|
p{ |
|
|
|
margin-top: 3vh; |
|
|
|
position: relative; |
|
|
|
&.active{ |
|
|
|
color: #3976ff; |
|
|
|
} |
|
|
|
&:hover{ |
|
|
|
color: #3976ff; |
|
|
|
cursor: pointer; |
|
|
|
} |
|
|
|
i{ |
|
|
|
display: block; |
|
|
|
width: 5px; |
|
|
|
height: 5px; |
|
|
|
background-color: #fc5659; |
|
|
|
position: absolute; |
|
|
|
top: -5px; |
|
|
|
right: -5px; |
|
|
|
border-radius: 100%; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
</style> |