-
-
-
{{num}}
-
+
+
未选中
+
@@ -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{