@@ -26,3 +26,39 @@ export function managerUndistribTaskList(params) { | |||
params: params, | |||
}) | |||
} | |||
// 分配任务 | |||
export function distribTask(data) { | |||
return request({ | |||
url: '/manager/task/distrib', | |||
method: 'post', | |||
data: data, | |||
}) | |||
} | |||
// 全部任务 | |||
export function managerProcessingTaskList(params) { | |||
return request({ | |||
url: '/manager/task/processingTaskList', | |||
method: 'get', | |||
params: params, | |||
}) | |||
} | |||
// 区总览(处理中) | |||
export function managerCountyProcessingTaskSummary(params) { | |||
return request({ | |||
url: '/manager/task/countyProcessingTaskSummary', | |||
method: 'get', | |||
params: params, | |||
}) | |||
} | |||
// 撤销任务 | |||
export function revokeTask(data) { | |||
return request({ | |||
url: '/manager/task/revoke', | |||
method: 'post', | |||
data: data, | |||
}) | |||
} |
@@ -0,0 +1,10 @@ | |||
import request from '@/utils/request' | |||
// 任务用户列表 | |||
export function taskUserList(params) { | |||
return request({ | |||
url: '/task/user/userList', | |||
method: 'get', | |||
params: params, | |||
}) | |||
} |
@@ -70,7 +70,7 @@ | |||
</el-col> | |||
<el-col :span="2">记账:{{task.voucherCount}}</el-col> | |||
<el-col :span="2">合同:{{task.contracCount}}</el-col> | |||
<el-col :span="2">其他:{{task.allCount - task.voucherCount - task.contracCount}}</el-col> | |||
<el-col :span="2">其他:{{task.otherCount}}</el-col> | |||
<el-col :span="9" style="text-align: right"><el-button type="primary" size="mini" @click="gotoRemoteSite(task)">进入账套</el-button></el-col> | |||
</el-row> | |||
</div> | |||
@@ -78,7 +78,7 @@ | |||
</el-table-column> | |||
<el-table-column prop="orgName" label="村" show-overflow-tooltip /> | |||
<el-table-column prop="" label="合作社" show-overflow-tooltip /> | |||
<el-table-column prop="num" label="合作社" show-overflow-tooltip /> | |||
<el-table-column label="处理进度" show-overflow-tooltip > | |||
<template slot-scope="scope"> | |||
{{scope.row.numProcessFinish}}/{{scope.row.num}} | |||
@@ -98,7 +98,7 @@ | |||
<el-table-column prop="distriDate" label="下发日期" show-overflow-tooltip /> | |||
<el-table-column prop="endAt" label="截止日期" show-overflow-tooltip /> | |||
<el-table-column prop="handleDate" label="记账完成日期" show-overflow-tooltip /> | |||
<el-table-column prop="value8" label="是否审批完成" show-overflow-tooltip > | |||
<el-table-column label="是否审批完成" show-overflow-tooltip > | |||
<template slot-scope="scope"> | |||
<p class="backButton" v-if="!scope.row.approvalFinish">未完成</p> | |||
<p class="backButton2" v-if="scope.row.approvalFinish">已完成</p> | |||
@@ -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" :command="item.orgCode"> | |||
<div class="selected" @click="chooseCity(item.orgCode)"> | |||
<p>{{item.deptName}}</p> | |||
</div> | |||
</el-dropdown-item> | |||
</el-dropdown-menu> | |||
@@ -20,21 +20,21 @@ | |||
<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" :command="item.orgCode"> | |||
<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_num1">剩余村庄:<span>19</span>个</p> | |||
<p class="todo_num1">剩余合作社:<span>19</span>个</p> | |||
<p class="todo_num2">任务异常数:<span>1</span>个</p> | |||
<p class="todo_num">剩余镇:<span>{{ countySummary.numTown }}</span>个</p> | |||
<p class="todo_num1">剩余村庄:<span>{{ countySummary.numVillage }}</span>个</p> | |||
<p class="todo_num1">剩余合作社:<span>{{ countySummary.numBook }}</span>个</p> | |||
<p class="todo_num2">任务异常数:<span>{{ countySummary.abnormalCount }}</span>个</p> | |||
</div> | |||
@@ -42,44 +42,61 @@ | |||
<div class="left_main"> | |||
<el-collapse accordion> | |||
<el-collapse-item v-for="(item,index) in 5" :key="index"> | |||
<el-collapse-item v-for="(item,index) in list" :key="index"> | |||
<template slot="title"> | |||
<div class="left_main_tt"> | |||
<p>东沙镇</p> | |||
<div class="tt_label"> | |||
<p>异常:1</p> | |||
<p>剩余村庄:20</p> | |||
<p>剩余合作社:20</p> | |||
<p>异常:{{item.numExcept}}</p> | |||
<p>剩余村庄:{{item.numVillage}}</p> | |||
<p>剩余合作社:{{item.num}}</p> | |||
</div> | |||
</div> | |||
</template> | |||
<el-table :data="tableData" style="width: 100%;" :default-sort = "{prop: 'date', order: 'descending'}"> | |||
<el-table :data="item.villageList" style="width: 100%;"> | |||
<el-table-column type="expand"> | |||
<template slot-scope="props"> | |||
<div class="openTable"> | |||
<el-row v-for="(item,index) in 5" :key="index"> | |||
<el-col span="9">康师傅合作社</el-col> | |||
<el-col span="2">记账:3</el-col> | |||
<el-col span="2">合同:3</el-col> | |||
<el-col span="2">其他:3</el-col> | |||
<el-col span="9" style="text-align: right"><el-button type="primary" size="mini">进入账套</el-button></el-col> | |||
<el-row v-for="(task,index) in props.row.taskList" :key="index"> | |||
<el-col :span="9"> | |||
<div class="tab_main"> | |||
{{task.bookName}} | |||
<span class="tab_red" v-if="task.abnormalCount > 0">异常:{{task.abnormalCount}}</span> | |||
</div> | |||
</el-col> | |||
<el-col :span="2">记账:{{task.voucherCount}}</el-col> | |||
<el-col :span="2">合同:{{task.contracCount}}</el-col> | |||
<el-col :span="2">其他:{{task.otherCount}}</el-col> | |||
<el-col :span="9" style="text-align: right"><el-button type="primary" size="mini" @click="gotoRemoteSite(task)">进入账套</el-button></el-col> | |||
</el-row> | |||
</div> | |||
</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="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 label="处理进度" show-overflow-tooltip> | |||
<template slot-scope="scope"> | |||
<p class="backButton">撤回</p> | |||
{{scope.row.numProcessFinish}}/{{scope.row.num}} | |||
</template> | |||
</el-table-column> | |||
<el-table-column prop="numExcept" label="异常任务" show-overflow-tooltip > | |||
<template slot-scope="scope"> | |||
{{scope.row.numExcept || '无'}} | |||
</template> | |||
</el-table-column> | |||
<el-table-column prop="value5" label="任务进度" show-overflow-tooltip > | |||
<template slot-scope="scope"> | |||
{{scope.row.finishCount}}/{{scope.row.allCount}} | |||
</template> | |||
</el-table-column> | |||
<el-table-column prop="handleNick" label="会计" show-overflow-tooltip /> | |||
<el-table-column prop="distriDate" label="下发日期" show-overflow-tooltip /> | |||
<el-table-column prop="endAt" label="截至日期" show-overflow-tooltip /> | |||
<el-table-column label="操作" show-overflow-tooltip > | |||
<template slot-scope="scope"> | |||
<p class="backButton" @click="revokeVillageTask(scope.row)">撤回</p> | |||
</template> | |||
</el-table-column> | |||
@@ -89,31 +106,7 @@ | |||
</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="parms.orderYear" :month.sync="parms.orderMonth" @dateChanged="chooseMonth"/> | |||
</div> | |||
@@ -122,71 +115,116 @@ | |||
</template> | |||
<script> | |||
import RightYearMonthSelector from "@/components/framework/RightYearMonthSelector.vue"; | |||
import {date_format} from "@/utils/date"; | |||
import {cityTree} from "@/api/misc/misc_dept"; | |||
import {ENV} from "@/utils/env"; | |||
import {managerProcessingTaskList, managerCountyProcessingTaskSummary, revokeTask} from "@/api/agentcenter/task"; | |||
export default { | |||
name: "processing", | |||
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: [], | |||
list: [], | |||
total: 0, | |||
parms: { | |||
countyCode: null, | |||
townCode: null, | |||
orderYear: date_format('%Y'), | |||
orderMonth: date_format('%m'), | |||
}, | |||
countySummary: { | |||
numTown: 0, | |||
numBook: 0, | |||
abnormalCount: 0, | |||
numVillage: 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.parms.countyCode = this.deptOptions[0].orgCode; | |||
this.getSummary(); | |||
this.getTaskList(); | |||
} | |||
}); | |||
}, | |||
getTaskList() { | |||
if(!this.parms.countyCode || !this.parms.orderYear || !this.parms.orderMonth) | |||
return; | |||
managerProcessingTaskList(this.parms).then((resp) => { | |||
this.list = resp.rows; | |||
this.total = resp.total; | |||
}) | |||
}, | |||
reduceDate(){ | |||
this.year = Number(this.year) - 1 ; | |||
chooseCity(cmd) { | |||
this.parms.countyCode = cmd; | |||
this.parms.townCode = null; | |||
this.getTaskList(); | |||
this.getSummary(); | |||
}, | |||
selectionRange(){ | |||
this.$refs.datePicker.focus(); | |||
chooseTown(cmd) { | |||
this.parms.townCode = cmd; | |||
this.getTaskList(); | |||
}, | |||
chooseMonth(year, month) { | |||
this.getSummary(); | |||
this.getTaskList(); | |||
}, | |||
gotoRemoteSite(task) { | |||
window.open(`/api/open/book/${task.orgCode}/${task.bookId}`, '_blank'); | |||
}, | |||
getSummary() { | |||
if(!this.parms.countyCode || !this.parms.orderYear || !this.parms.orderMonth) | |||
return; | |||
managerCountyProcessingTaskSummary(this.parms).then((resp) => { | |||
this.countySummary = resp.data; | |||
}) | |||
}, | |||
revokeVillageTask(row) { | |||
revokeTask({ | |||
orderYear: row.orderYear, | |||
orderMonth: row.orderMonth, | |||
orgCode: row.orgCode, | |||
}).then((resp) => { | |||
this.$message.success('撤回成功'); | |||
this.getSummary(); | |||
this.getTaskList(); | |||
}); | |||
}, | |||
}, | |||
mounted(){ | |||
} | |||
}, | |||
computed: { | |||
cityName() { | |||
if(!this.deptOptions.length) | |||
return ''; | |||
let dept = this.deptOptions.find((x) => x.orgCode === this.parms.countyCode); | |||
return dept ? dept.deptName : ''; | |||
}, | |||
townList() { | |||
if(!this.deptOptions.length) | |||
return []; | |||
let dept = this.deptOptions.find((x) => x.orgCode === this.parms.countyCode); | |||
return dept ? dept.children || [] : []; | |||
}, | |||
townName() { | |||
if(!this.townList.length) | |||
return ''; | |||
let dept = this.townList.find((x) => x.orgCode === this.parms.townCode); | |||
return dept ? dept.deptName : ''; | |||
}, | |||
}, | |||
} | |||
</script> | |||
@@ -291,6 +329,25 @@ export default { | |||
.el-col{ | |||
padding: 10px 0; | |||
} | |||
.tab_main{ | |||
display: flex; | |||
span{ | |||
color: #ffffff; | |||
background-color: #acabab; | |||
padding: 2px 0px; | |||
width: 4vw; | |||
display: inline-block; | |||
border-radius: 7px; | |||
margin-right: 1vw; | |||
text-align: center; | |||
} | |||
.tab_green{ | |||
background-color: #209955; | |||
} | |||
.tab_red{ | |||
background-color: #ef0027; | |||
} | |||
} | |||
} | |||
.header_main{ | |||
@@ -393,6 +450,7 @@ export default { | |||
border-bottom: 1px solid #3976ff; | |||
display: inline-block; | |||
padding-bottom: 5px; | |||
cursor: pointer; | |||
} | |||
.left_main_tt{ | |||
flex: 1; | |||
@@ -40,7 +40,7 @@ | |||
<div class="main"> | |||
<div class="left_main"> | |||
<el-table :data="list" style="width: 100%;" v-if="list.length > 0"> | |||
<el-table :data="list" style="width: 100%;" v-if="list.length > 0" @expand-change="townExpanded"> | |||
<el-table-column type="expand"> | |||
<template slot-scope="props"> | |||
@@ -59,9 +59,17 @@ | |||
<el-table-column label="操作"> | |||
<template slot-scope="scope"> | |||
<div class="setting"> | |||
<el-button type="primary" size="mini" icon="el-icon-edit"></el-button> | |||
<img src="../../assets/images/toBeAllocated_icon_delete.png" alt=""> | |||
<span class="name">王五</span> | |||
<el-dropdown trigger="click" v-if="!scope.row.handleUser" @command="(e) => setTaskHandleUser(scope.row, e)"> | |||
<el-button type="primary" size="mini" icon="el-icon-edit" @click="getVillageTaskUserList(scope.row)"></el-button> | |||
<el-dropdown-menu slot="dropdown"> | |||
<el-dropdown-item v-for="(item, index) in villageTaskUserList" :key="index" :command="item">{{item.nickName}} - {{item.num}}</el-dropdown-item> | |||
</el-dropdown-menu> | |||
</el-dropdown> | |||
<template v-else> | |||
<img src="../../assets/images/toBeAllocated_icon_delete.png" alt="" @click="clearTaskHandleUser(scope.row)"> | |||
<span class="name">{{scope.row.handleNick}}</span> | |||
</template> | |||
</div> | |||
</template> | |||
</el-table-column> | |||
@@ -82,9 +90,19 @@ | |||
<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 label="操作" show-overflow-tooltip > | |||
<el-table-column label="操作"> | |||
<template slot-scope="scope"> | |||
<el-button type="primary" size="mini" icon="el-icon-edit"></el-button> | |||
<el-dropdown trigger="click" v-if="!scope.row.expanded"> | |||
<el-button type="primary" size="mini" icon="el-icon-edit" @click="getTownTaskUserList(scope.row)"></el-button> | |||
<el-dropdown-menu slot="dropdown"> | |||
<el-dropdown-item v-for="(item, index) in townTaskUserList" :key="index" :command="item">{{item.nickName}} - {{item.num}}</el-dropdown-item> | |||
</el-dropdown-menu> | |||
</el-dropdown> | |||
<template v-else> | |||
<el-button type="danger" size="mini" icon="el-icon-close" @click="resetTaskUser(scope.row)"></el-button> | |||
<el-button type="success" size="mini" icon="el-icon-upload2" @click="setupTaskUser(scope.row)"></el-button> | |||
</template> | |||
</template> | |||
</el-table-column> | |||
@@ -111,15 +129,19 @@ | |||
<el-col :span="8" align="center">未完成</el-col> | |||
<el-col :span="8" align="center">任务期限</el-col> | |||
</el-row> | |||
<el-row v-for="(item,index) in 10"> | |||
<el-col :span="8">张三</el-col> | |||
<el-col :span="8">19 <span class="num">1</span><span class="num2">10</span></el-col> | |||
<el-row v-for="(item,index) in taskUserList"> | |||
<el-col :span="8">{{item.nickName}}</el-col> | |||
<el-col :span="8">{{item.num}} | |||
<template v-if="item.addNum > 0"> | |||
<span class="num">{{item.addNum}}</span><span class="num2">{{item.num + item.addNum}}</span> | |||
</template> | |||
</el-col> | |||
<el-col :span="8" align="center"> | |||
<span class="no_yes">未选中</span> | |||
<div class="num_input"> | |||
<span @click="reduceNum">-</span> | |||
<p>{{num}}</p> | |||
<span @click="addNum">+</span> | |||
<span class="no_yes" v-if="item.addNum === 0">未选中</span> | |||
<div class="num_input" v-else> | |||
<span @click="reduceNum(item)">-</span> | |||
<p>{{item.days}}</p> | |||
<span @click="addNum(item)">+</span> | |||
</div> | |||
</el-col> | |||
</el-row> | |||
@@ -139,10 +161,10 @@ | |||
import RightYearMonthHorizontalSelector from "@/components/framework/RightYearMonthHorizontalSelector.vue"; | |||
import {cityTree} from "@/api/misc/misc_dept"; | |||
import {ENV} from "@/utils/env"; | |||
import {accountingTodoTaskList} from "@/api/agentcenter/accounting_task"; | |||
import RightYearMonthSelector from "@/components/framework/RightYearMonthSelector.vue"; | |||
import {date_format} from "@/utils/date"; | |||
import {managerUndistribTaskList} from "@/api/agentcenter/task"; | |||
import {distribTask, managerUndistribTaskList} from "@/api/agentcenter/task"; | |||
import {taskUserList} from "@/api/agentcenter/task_user"; | |||
export default { | |||
name: "processed", | |||
@@ -161,7 +183,9 @@ | |||
numBook: 0, | |||
numVillage: 0, | |||
allCount: 0, | |||
num:0 | |||
villageTaskUserList: [], | |||
townTaskUserList: [], | |||
taskUserList: [], | |||
} | |||
}, | |||
created() { | |||
@@ -172,29 +196,38 @@ | |||
cityTree({rootId: ENV.UserDeptId()}).then((resp) => { | |||
this.deptOptions = resp.data; | |||
if(this.deptOptions.length) | |||
{ | |||
this.parms.countyCode = this.deptOptions[0].orgCode; | |||
this.getTaskUserList({orgCode: this.parms.countyCode}); | |||
this.getTaskList(); | |||
} | |||
}); | |||
}, | |||
chooseCity(cmd) { | |||
this.parms.countyCode = cmd; | |||
this.parms.townCode = null; | |||
this.getTaskList(); | |||
this.getTaskUserList({orgCode: this.parms.countyCode}); | |||
}, | |||
chooseTown(cmd) { | |||
this.parms.townCode = cmd; | |||
this.getTaskList(); | |||
this.getVillageTaskUserList({orgCode: this.parms.townCode}); | |||
}, | |||
addNum(){ | |||
this.num = Number(this.num) + 1 ; | |||
addNum(item){ | |||
item.days++; | |||
}, | |||
reduceNum(){ | |||
if(this.num==0){return;} | |||
this.num = Number(this.num) - 1 ; | |||
reduceNum(item){ | |||
if(item.days <= 0){return;} | |||
item.days--; | |||
}, | |||
getTaskList() { | |||
if(!this.parms.countyCode || !this.parms.orderYear || !this.parms.orderMonth) | |||
return; | |||
managerUndistribTaskList(this.parms).then((resp) => { | |||
resp.rows.forEach((x) => { | |||
x.expanded = false; | |||
}) | |||
this.list = resp.rows; | |||
this.total = resp.total; | |||
this.numBook = resp.numBook; | |||
@@ -205,6 +238,99 @@ | |||
chooseMonth(year, month) { | |||
this.getTaskList(); | |||
}, | |||
getVillageTaskUserList(row) { | |||
this.villageTaskUserList = []; | |||
taskUserList({ | |||
orgCode: row.orgCode, | |||
}).then((resp) => { | |||
this.villageTaskUserList = resp.rows; | |||
}) | |||
}, | |||
getTownTaskUserList(row) { | |||
this.villageTaskUserList = []; | |||
taskUserList({ | |||
orgCode: row.townCode, | |||
}).then((resp) => { | |||
this.townTaskUserList = resp.rows; | |||
}) | |||
}, | |||
getTaskUserList() { | |||
if(!this.parms.countyCode) | |||
return; | |||
this.taskUserList = []; | |||
taskUserList({ | |||
orgCode: this.parms.countyCode, | |||
}).then((resp) => { | |||
resp.rows.forEach((x) => { | |||
x.days = 0; | |||
x.addNum = 0; | |||
}); | |||
this.taskUserList = resp.rows; | |||
}) | |||
}, | |||
setTaskHandleUser(row, user) { | |||
this.$set(row, 'handleUser', user.userName); | |||
this.$set(row, 'handleNick', user.nickName); | |||
let globalUser = this.taskUserList.find((x) => x.userName === user.userName); | |||
globalUser.addNum++; | |||
}, | |||
clearTaskHandleUser(row) { | |||
let globalUser = this.taskUserList.find((x) => x.userName === row.handleUser); | |||
globalUser.addNum--; | |||
this.$set(row, 'handleUser', ''); | |||
this.$set(row, 'handleNick', ''); | |||
if(!globalUser.addNum) | |||
globalUser.days = 0; | |||
}, | |||
townExpanded(row, expandedRows) { | |||
let expand = expandedRows.includes(row); | |||
this.$set(row, 'expanded', expand); | |||
}, | |||
resetTaskUser(row) { | |||
row.villageList.forEach((x) => { | |||
this.$set(x, 'handleUser', ''); | |||
this.$set(x, 'handleNick', ''); | |||
}); | |||
this.taskUserList.forEach((x) => { | |||
x.addNum = 0; | |||
x.days = 0; | |||
}) | |||
}, | |||
setupTaskUser(row) { | |||
let arr = []; | |||
for(let v of row.villageList) | |||
{ | |||
if(!v.handleUser) | |||
continue; | |||
let globalUser = this.taskUserList.find((x) => x.userName === v.handleUser); | |||
if(!globalUser.days) | |||
{ | |||
this.$message.error('请设置任务期限'); | |||
return; | |||
} | |||
let item = { | |||
handleUser: v.handleUser, | |||
orgCode: v.orgCode, | |||
days: globalUser.days, | |||
}; | |||
arr.push(item); | |||
} | |||
if(!arr.length) | |||
{ | |||
this.$message.error('请设置记账人'); | |||
return; | |||
} | |||
let data = { | |||
orderYear: this.parms.orderYear, | |||
orderMonth: this.parms.orderMonth, | |||
items: arr, | |||
}; | |||
distribTask(data).then((resp) => { | |||
this.$message.success('分配成功'); | |||
this.getTaskUserList({orgCode: this.parms.countyCode}); | |||
this.getTaskList(); | |||
}); | |||
}, | |||
}, | |||
mounted(){ | |||
@@ -321,7 +447,6 @@ | |||
.no_yes{ | |||
color: #9a9a9a; | |||
display: none; | |||
} | |||
.num_input{ | |||