weaver_trunk_cli/pc4mobx/prj/stores/mindmap/taskCardStore.js

1099 lines
28 KiB
JavaScript
Raw Normal View History

2023-03-08 15:22:38 +08:00
import { observable, action, computed, toJS } from 'mobx';
import { WeaTools } from "ecCom"
import objectAssign from 'object-assign';
import { message, Modal } from 'antd';
const confirm = Modal.confirm;
import isEqual from 'lodash/isEqual';
import { WeaTableNew, WeaForm } from 'comsMobx'
const { TableStore } = WeaTableNew;
import { WeaLocaleProvider } from 'ecCom';
const getLabel = WeaLocaleProvider.getLabel;
import * as Apis from '../../apis/task';
import * as Apis_prj from '../../apis/project';
import { getFormInitDatas, cptAddFormRules } from "../../util/index"
import { ShareStore } from '../shareStore'
import { ExchangeStore } from "../exchangeStore"
import { TaskInfoStore } from '../projectBoard/taskInfoStore'
export class TaskCardStore {
@observable tabDatas = [];
@observable selectTabKey = "1"
@observable form = new WeaForm();
@observable taskInfo = []; //任务信息
@observable fieldinfo = [];
@observable loading = false;
@observable taskid = "";
@observable targetid = "";
discusstype = "PT";
@observable prjid = "";
taskname = "";
validateRules = {};
@observable showSearchAd = false // 高级搜索显示
@observable taskSubStore = new TableStore();
@observable tasksubform = new WeaForm();
@observable rightMenu = [];
@observable condition = [];
@observable shareStore = new ShareStore();
@observable exchangeStore = new ExchangeStore();
@observable taskInfoStore = new TaskInfoStore();
@observable shareTableStore = new TableStore();
@observable isShowShare = false;
@observable shareRight = {
hasRight: false,
verified: false
}
shareCondition = [
{
"colSpan": 2,
"conditionType": "SELECT",
"domkey": [
"sharetype"
],
"fieldcol": 18,
"isQuickSearch": false,
"label": getLabel(21956, "对象类型"),
"labelcol": 6,
"options": [
{
"key": "1",
"selected": true,
"showname": getLabel(179, "人力资源")
}, {
"key": "5",
"selected": false,
"showname": getLabel(141, "分部")
}, {
"key": "2",
"selected": false,
"showname": getLabel(124, "部门")
}, {
"key": "11",
"selected": false,
"showname": getLabel(6086, "岗位")
}, {
"key": "3",
"selected": false,
"showname": getLabel(122, "角色")
}, {
"key": "4",
"selected": false,
"showname": getLabel(1340, "所有人")
}
],
"viewAttr": 2
}, {
"2": [[
{
"browserConditionParam": {
"completeParams": {},
"conditionDataParams": {},
"dataParams": {},
"destDataParams": {},
"hasAddBtn": false,
"hasAdvanceSerach": true,
"idSeparator": ",",
"isAutoComplete": 1,
"isDetail": 0,
"isMultCheckbox": false,
"isSingle": false,
"pageSize": 10,
"quickSearchName": "",
"type": "57",
"viewAttr": 3
},
"colSpan": 2,
"conditionType": "BROWSER",
"domkey": [
"relatedshareid"
],
"fieldcol": 18,
"isQuickSearch": false,
"label": getLabel(106, "对象"),
"labelcol": 6,
"viewAttr": 3
}
], [
{
"colSpan": 2,
"conditionType": "INPUT_INTERVAL",
"needDefaultValue":false,
"domkey": [
"seclevel",
"seclevelMax"
],
"fieldcol": 18,
"isQuickSearch": false,
"label": getLabel(683, "安全级别"),
"labelcol": 6,
"value": [
0,
''
],
"viewAttr": 3
}
], [
{
"colSpan": 2,
"conditionType": "SELECT",
"domkey": [
"sharelevel"
],
"fieldcol": 18,
"isQuickSearch": false,
"label": getLabel(385, "权限"),
"labelcol": 6,
"options": [
{
"key": "1",
"selected": true,
"showname": getLabel(33564, "查看")
}, {
"key": "2",
"selected": false,
"showname": getLabel(93, "编辑")
}
],
"viewAttr": 2
}
]
],
"5": [[
{
"browserConditionParam": {
"completeParams": {},
"conditionDataParams": {},
"dataParams": {},
"destDataParams": {},
"hasAddBtn": false,
"hasAdvanceSerach": true,
"idSeparator": ",",
"isAutoComplete": 1,
"isDetail": 0,
"isMultCheckbox": false,
"isSingle": false,
"pageSize": 10,
"quickSearchName": "",
"type": "194",
"viewAttr": 3
},
"colSpan": 2,
"conditionType": "BROWSER",
"domkey": [
"relatedshareid"
],
"fieldcol": 18,
"isQuickSearch": false,
"label": getLabel(106, "对象"),
"labelcol": 6,
"value": 3,
"viewAttr": 2
}
], [
{
"colSpan": 2,
"conditionType": "INPUT_INTERVAL",
"needDefaultValue":false,
"domkey": [
"seclevel",
"seclevelMax"
],
"fieldcol": 18,
"isQuickSearch": false,
"label": getLabel(683, "安全级别"),
"labelcol": 6,
"value": [
0,
''
],
"viewAttr": 3
}
], [
{
"colSpan": 2,
"conditionType": "SELECT",
"domkey": [
"sharelevel"
],
"fieldcol": 18,
"isQuickSearch": false,
"label": getLabel(385, "权限"),
"labelcol": 6,
"options": [
{
"key": "1",
"selected": true,
"showname": getLabel(33564, "查看")
}, {
"key": "2",
"selected": false,
"showname": getLabel(93, "编辑")
}
],
"viewAttr": 2
}
]
],
"1": [[
{
"browserConditionParam": {
"completeParams": {},
"conditionDataParams": {},
"dataParams": {},
"destDataParams": {},
"hasAddBtn": false,
"hasAdvanceSerach": true,
"idSeparator": ",",
"isAutoComplete": 1,
"isDetail": 0,
"isMultCheckbox": false,
"isSingle": false,
"pageSize": 10,
"quickSearchName": "",
"type": "17",
"viewAttr": 3
},
"colSpan": 2,
"conditionType": "BROWSER",
"domkey": [
"relatedshareid"
],
"fieldcol": 18,
"isQuickSearch": false,
"label": getLabel(106, "对象"),
"labelcol": 6,
"viewAttr": 3
}
], [
{
"colSpan": 2,
"conditionType": "SELECT",
"domkey": [
"sharelevel"
],
"fieldcol": 18,
"isQuickSearch": false,
"label": getLabel(385, "权限"),
"labelcol": 6,
"options": [
{
"key": "1",
"selected": true,
"showname": getLabel(33564, "查看")
}, {
"key": "2",
"selected": false,
"showname": getLabel(93, "编辑")
}
],
"viewAttr": 2
}
]
],
"11": [[
{
"browserConditionParam": {
"completeParams": {},
"conditionDataParams": {},
"dataParams": {},
"destDataParams": {},
"hasAddBtn": false,
"hasAdvanceSerach": true,
"idSeparator": ",",
"isAutoComplete": 1,
"isDetail": 0,
"isMultCheckbox": false,
"isSingle": false,
"pageSize": 10,
"quickSearchName": "",
"type": "278",
"viewAttr": 3
},
"colSpan": 2,
"conditionType": "BROWSER",
"domkey": [
"relatedshareid"
],
"fieldcol": 18,
"isQuickSearch": false,
"label": getLabel(106, "对象"),
"labelcol": 6,
"viewAttr": 3
}
], [
{
"colSpan": 2,
"conditionType": "SELECT_LINKAGE",
"domkey": [
"joblevel"
],
"fieldcol": 18,
"isQuickSearch": false,
"label": getLabel(28169, "岗位级别"),
"labelcol": 6,
"options": [
{
"key": "0",
"selected": true,
"showname": getLabel(140, "总部")
}, {
"key": "2",
"selected": false,
"showname": getLabel(19437, "指定分部")
}, {
"key": "1",
"selected": false,
"showname": getLabel(19438, "指定部门")
}
],
"selectLinkageDatas": {
"1": {
"browserConditionParam": {
"completeParams": {},
"conditionDataParams": {},
"dataParams": {},
"destDataParams": {},
"hasAddBtn": false,
"hasAdvanceSerach": true,
"idSeparator": ",",
"isAutoComplete": 1,
"isDetail": 0,
"isMultCheckbox": false,
"isSingle": false,
"pageSize": 10,
"quickSearchName": "",
"type": "57",
"viewAttr": 3
},
"colSpan": 2,
"conditionType": "BROWSER",
"domkey": [
"jobtitledepartment"
],
"fieldcol": 18,
"isQuickSearch": false,
"label": "",
"labelcol": 6,
"viewAttr": 3
},
"2": {
"browserConditionParam": {
"completeParams": {},
"conditionDataParams": {},
"dataParams": {},
"destDataParams": {},
"hasAddBtn": false,
"hasAdvanceSerach": true,
"idSeparator": ",",
"isAutoComplete": 1,
"isDetail": 0,
"isMultCheckbox": false,
"isSingle": false,
"pageSize": 10,
"quickSearchName": "",
"type": "194",
"viewAttr": 3
},
"colSpan": 2,
"conditionType": "BROWSER",
"domkey": [
"jobtitlesubcompany"
],
"fieldcol": 18,
"isQuickSearch": false,
"label": "",
"labelcol": 6,
"viewAttr": 3
}
},
"viewAttr": 2
}
], [
{
"colSpan": 2,
"conditionType": "SELECT",
"domkey": [
"sharelevel"
],
"fieldcol": 18,
"isQuickSearch": false,
"label": getLabel(385, "权限"),
"labelcol": 6,
"options": [
{
"key": "1",
"selected": true,
"showname": getLabel(33564, "查看")
}, {
"key": "2",
"selected": false,
"showname": getLabel(93, "编辑")
}
],
"viewAttr": 2
}
]
],
"4": [[
{
"colSpan": 2,
"conditionType": "INPUT_INTERVAL",
"needDefaultValue":false,
"domkey": [
"seclevel",
"seclevelMax"
],
"fieldcol": 18,
"isQuickSearch": false,
"label": getLabel(683, "安全级别"),
"labelcol": 6,
"value": [
0,
''
],
"viewAttr": 3
}
], [
{
"colSpan": 2,
"conditionType": "SELECT",
"domkey": [
"sharelevel"
],
"fieldcol": 18,
"isQuickSearch": false,
"label": getLabel(385, "权限"),
"labelcol": 6,
"options": [
{
"key": "1",
"selected": true,
"showname": getLabel(33564, "查看")
}, {
"key": "2",
"selected": false,
"showname": getLabel(93, "编辑")
}
],
"viewAttr": 2
}
]
],
"3": [[
{
"browserConditionParam": {
"completeParams": {},
"conditionDataParams": {},
"dataParams": {},
"destDataParams": {},
"hasAddBtn": false,
"hasAdvanceSerach": true,
"idSeparator": ",",
"isAutoComplete": 1,
"isDetail": 0,
"isMultCheckbox": false,
"isSingle": false,
"pageSize": 10,
"quickSearchName": "",
"type": "65",
"viewAttr": 3
},
"colSpan": 2,
"conditionType": "BROWSER",
"domkey": [
"relatedshareid"
],
"fieldcol": 18,
"isQuickSearch": false,
"label": getLabel(106, "对象"),
"labelcol": 6,
"viewAttr": 3
}, {
"colSpan": 2,
"conditionType": "SELECT",
"domkey": [
"rolelevel"
],
"fieldcol": 18,
"isQuickSearch": false,
"label": getLabel(139, "级别"),
"labelcol": 6,
"options": [
{
"key": "0",
"selected": true,
"showname": getLabel(124, "部门")
}, {
"key": "1",
"selected": false,
"showname": getLabel(141, "分部")
}, {
"key": "2",
"selected": false,
"showname": getLabel(140, "总部")
}
],
"viewAttr": 2
}
], [
{
"colSpan": 2,
"conditionType": "INPUT_INTERVAL",
"needDefaultValue":false,
"domkey": [
"seclevel",
"seclevelMax"
],
"fieldcol": 18,
"isQuickSearch": false,
"label": getLabel(683, "安全级别"),
"labelcol": 6,
"value": [
0,
''
],
"viewAttr": 3
}
], [
{
"colSpan": 2,
"conditionType": "SELECT",
"domkey": [
"sharelevel"
],
"fieldcol": 18,
"isQuickSearch": false,
"label": getLabel(385, "权限"),
"labelcol": 6,
"options": [
{
"key": "1",
"selected": true,
"showname": getLabel(33564, "查看")
}, {
"key": "2",
"selected": false,
"showname": getLabel(93, "编辑")
}
],
"viewAttr": 2
}
]
]
}
]
@observable taskReqStore = new TableStore(); //流程
@observable taskDocStore = new TableStore(); //文档
@observable taskCrmStore = new TableStore(); //客户
@observable taskCptStore = new TableStore(); //资产
@observable taskRelRight = {
hasRight: false,
verified: false
}
@observable crmType = "add";
@observable crmVisible = false;
@observable crmUpdateid = "";
@observable relateCrmform = new WeaForm();
@observable logVisible = false; //任务修改记录
@observable logTableStore = new TableStore();
@observable relateList = {}; // 查询结果集
@observable exchangeform = new WeaForm();
@observable exchangeContent = {} //相关交流内容
@observable exchangeList = "";
@observable _BrowserList = {
'create': {remark: ''},
datas: [],
};
@observable verified = false;
@observable hasRight = true; //权限
@observable isTimeShow = '1';
@observable canSave = true;
@action
reLoad = (tableStore) => {
tableStore.getDatas(tableStore.dataKey, tableStore.current, tableStore.pageSize, tableStore.sortParams)
}
getTaskTabs = (params = {}) => {
this.taskid = params.taskid;
this.prjisdel = false;
Apis.getTaskTabs(params).then(data => {
if (!data.isright && typeof (data.isright) !== "undefined") {
this.hasRight = data.isright;
this.verified = true;
} else {
this.hasRight = true;
this.verified = true;
this.tabDatas = data.tabs;
this.changeTab(this.selectTabKey);
}
})
}
@action
//设置选中按钮
changeTab = (key) => {
this.selectTabKey = key;
this.rightMenu = [];
const tabDatas = toJS(this.tabDatas);
if (tabDatas) {
for (let i = 0; i < tabDatas.length; i++) {
if (tabDatas[i].id == key && tabDatas[i].shortname == "taskinfo") { //基本信息
this.getTaskForm({viewtype:'view',taskid:this.taskid});
} else if (tabDatas[i].id == key && tabDatas[i].shortname == "tasksub") {//任务列表
this.condition=[];
this.getTaskSubList();
Apis.getTaskSubCondition({conditiontype:'tasksub'}).then(data=>{
this.condition = data.condition;
this.tasksubform && !this.tasksubform.isFormInit && this.tasksubform.initFormFields(data.condition);
});
} else if (tabDatas[i].id == key && tabDatas[i].shortname == "taskshare") { //子项目
this.getTaskShareList();
} else if (tabDatas[i].id == key && (tabDatas[i].shortname == "req" || tabDatas[i].shortname == "doc" || tabDatas[i].shortname == "crm" || tabDatas[i].shortname == "cpt" )) { //相关交流
this.getTaskReference(tabDatas[i].shortname);
this.taskRelRight={
hasRight:false,
verified:false
}
} else if (tabDatas[i].id == key && tabDatas[i].shortname == "exchange") { //共享设置
this.targetid = this.taskid;
this.getExchangeList({});
}
}
}
}
//任务信息
getTaskForm = (params = {}) => {
this.loading = true;
this.form = new WeaForm();
Apis.getTaskForm(params).then(data => {
if (!data.isright && typeof (data.isright) !== "undefined") {
this.hasRight = data.isright;
this.verified = true;
} else {
this.isTimeShow = data.isTimeShow;
this.hasRight = true;
this.verified = true;
this.taskid = data.taskid || params.taskid;
this.prjid = data.prjid;
this.taskname = data.taskname;
this.taskInfo = data;
this.rightMenu = data.rightMenus;
this.fieldinfo = data.fieldinfo;
this.form && !this.form.isFormInit && this.form.initFormFields(this.fieldinfo);
this.form.isFormInit && this.form.updateFields(getFormInitDatas(this.fieldinfo), false);
};
this.loading = false;
})
}
//任务信息保存
saveTaskInfo = (params = {}, contentStore) => {
this.form.validateForm().then(f => {
if (f.isValid) {
this.loading = true;
let newParams = { method: 'edit', ...toJS(this.form.getFormParams()), taskid: this.taskid, ...params };
const {field18} = newParams;
Apis.getCheckRole({roleid:field18}).then(data=>{
if(data.data.isAccess){
Apis.saveTaskInfo(newParams).then(data => {
window.opener && window.opener._table && window.opener._table.reLoad();
this.getTaskForm({ viewtype: 'view', taskid: this.taskid });
this.loading = false;
this.canSave = true;
if(contentStore){
contentStore.refresh();
}
})
}else{
message.error("审批人选择角色下不存在人员!");
this.loading = false;
this.canSave = true;
}
})
// Apis.saveTaskInfo(newParams).then(data => {
// window.opener && window.opener._table && window.opener._table.reLoad();
// this.getTaskForm({ viewtype: 'view', taskid: this.taskid });
// this.loading = false;
// this.canSave = true;
// if(contentStore){
// contentStore.refresh();
// }
// })
} else {
f.showErrors();
}
});
}
//任务删除
@action
delTask = (type, taskid, contentStore) => {
let _this = this;
Modal.confirm({
title: getLabel(15172, "系统提示"),
content: getLabel(83925, "该任务及其子任务都会被删除,您确认要删除吗?"),
onOk() {
Apis.delTask({ method: type, taskid: taskid }).then(data => {
if (data.success) {
//window.opener && window.opener._table && window.opener._table.reLoad();
if(contentStore){
contentStore.showSlideModal(false);
contentStore.refresh();
}
message.success(getLabel(83472, "删除成功!"));
} else {
message.error(getLabel(383746, "请求失败") + "" + data.msgcode);
}
})
},
onCancel() { },
})
}
//子任务列表
getTaskSubList = (params = {}) => {
//获取表单的参数值
this.loading = true;
const searchParamsAd = this.tasksubform.getFormParams();
const newParams = { taskid: this.taskid, ...searchParamsAd, ...params };
Apis.getTaskSubList(newParams).then(data => {
this.taskSubStore.getDatas(data.sessionkey, 1);
this.rightMenu = data.rightMenus;
this.loading = false;
});
}
//添加共享v
addShare = (value) => {
Apis.addTaskShare({ ...value, method: 'add', taskid: this.taskid, opttype: 'task' }).then(data => {
this.getTaskShareList();
})
}
//批量删除
delBatchShare = (value) => {
let _this = this;
Modal.confirm({
title: getLabel(15172, "系统提示"),
content: getLabel(83601, "您确认要删除选中的记录吗?"),
onOk() {
Apis.delBatchTaskShare({ id: value, method: 'batchdelete', opttype: 'task' }).then(data => {
_this.getTaskShareList();
});
},
onCancel() { },
})
}
//高级搜索设值
setFormFields = (value) => {
const tabDatas = toJS(this.tabDatas);
if (tabDatas) {
for (let i = 0; i < tabDatas.length; i++) {
if (tabDatas[i].id == this.selectTabKey && tabDatas[i].shortname == "taskinfo") { //基本信息
this.form.updateFields(value, false); //true代表完全覆盖方式更新条件值
}
if (tabDatas[i].id == this.selectTabKey && tabDatas[i].shortname == "tasksub") { //基本信息
this.tasksubform.updateFields(value, false); //true代表完全覆盖方式更新条件值
}
if (tabDatas[i].id == this.selectTabKey && tabDatas[i].shortname == "exchange") { //基本信息
this.exchangeform.updateFields(value, false); //true代表完全覆盖方式更新条件值
}
}
}
}
//共享
getTaskShareList = (params = {}) => {
//获取表单的参数值
this.loading = true;
const newParams = { taskid: this.taskid, ...params };
Apis.getTaskShareList(newParams).then(data => {
if (!data.isright && typeof (data.isright) !== "undefined") {
this.shareRight = {
hasRight: data.isright,
verified: true
};
} else {
this.shareRight = {
hasRight: true,
verified: true
};
this.shareTableStore.getDatas(data.sessionkey, 1);
this.rightMenu = data.rightMenus;
}
this.loading = false;
});
}
showAddShareModal = (bool) => {
this.isShowShare = bool;
}
//相关流程-文档-资产-客户
getTaskReference = (type) => {
this.loading = true;
const newParams = { taskid: this.taskid, reftype: type };
Apis.getTaskReference(newParams).then(data => {
if (!data.isright && typeof (data.isright) !== "undefined") {
this.taskRelRight = {
hasRight: data.isright,
verified: true
};
} else {
this.taskRelRight = {
hasRight: true,
verified: true
};
if (type == "req") {
this.taskReqStore.getDatas(data.sessionkey, 1);
this.relateList = data;
this.rightMenu = data.rightMenus;
} else if (type == "doc") {
this.taskDocStore.getDatas(data.sessionkey, 1);
this.relateList = data;
this.rightMenu = data.rightMenus;
} else if (type == "crm") {
this.taskCrmStore.getDatas(data.sessionkey, 1);
this.rightMenu = data.rightMenus;
} else if (type == "cpt") {
this.taskCptStore.getDatas(data.sessionkey, 1);
this.rightMenu = data.rightMenus;
}
}
this.loading = false;
});
}
//所需流程文档操作
doDspTaskRequiredOpt = (params = {}, type) => {
Apis.doDspTaskRequiredOpt(params).then(data => {
this.getTaskReference(type);
if (params.method == "addRequiredWF" || params.method == "addRequiredDoc") {
message.success(getLabel(83880, "添加成功!"));
} else if (params.method == "delRequiredWF" || params.method == "delRequiredDoc") {
message.success(getLabel(83472, "删除成功!"));
}
})
}
//相关流程文档操作
doDspTaskReferenceOpt = (params = {}, type) => {
Apis.doDspTaskReferenceOpt(params).then(data => {
this.getTaskReference(type);
message.success(params.method == "del" ? getLabel(83472, "删除成功!") : getLabel(83880, "添加成功!"));
})
}
//修改相关客户设置修改id
setRelateCrmUpdateID = (id) => {
this.crmUpdateid = id;
}
//添加相关客户
saveRelateCrm = () => {
this.relateCrmform.validateForm().then(f => {
if (f.isValid) {
this.handleRelateCrmDialog(false, this.crmType);
this.doDspTaskReferenceOpt({
dotype: 'crm',
method: this.crmType,
prjid: this.prjid,
taskid: this.taskid,
id: this.crmUpdateid,
...this.relateCrmform.getFormParams()
}, "crm")
} else {
f.showErrors();
}
});
}
//相关交流内容
getRelateExchangeInfo = (params = {}) => {
this.loading = true;
const searchParamsAd = this.exchangeform.getFormParams();
const newParams = { types: "pt", sortid: this.taskid, ...searchParamsAd, ...params };
Apis.getTaskExchange(newParams).then(data => {
this.rightMenu = data.rightMenus;
this.exchangeContent = data;
this.loading = false;
})
}
//删除
exchangeDelete = (value) => {
let _this = this;
Apis_prj.exchangeDelete(value).then(data => {
if(data.status){
_this.getExchangeList()
}else {
message.error(data.error ? data.error : `${getLabel(384137,'操作失败!')}`);
}
})
}
//获取相关交流信息
@action
getExchangeList = (value) => {
let _this = this;
const newParams = { types: "PT", sortid: this.taskid, ...value };
Apis_prj.getExchangeList(newParams).then(data => {
let exchange = { ...data }
exchange.datas.forEach((element, index) => {
element.isEdit = false
})
exchange.datas.unshift({
id: 'create',
isEdit: true,
remark: '',
docids: [],
projectids: [],
relatedcus: [],
relateddoc: [],
relatedprj: [],
relatedwf: [],
})
_this.exchangeList = exchange;
_this._BrowserList = {
'create': {remark: ''},
datas: [],
};
_this.exchangeList.datas&&_this.exchangeList.datas.forEach((element, index) => {
if (_this._BrowserList[element['id']] == undefined) {
_this._BrowserList[element['id']] = {};
}
_this._BrowserList[element['id']].remark = element.remark;
_this._BrowserList[element['id']].docids = element.docids;
_this._BrowserList[element['id']].projectids = element.projectids;
_this._BrowserList[element['id']].relatedcus = element.relatedcus;
_this._BrowserList[element['id']].relateddoc = element.relateddoc;
_this._BrowserList[element['id']].relatedprj = element.relatedprj;
_this._BrowserList[element['id']].relatedwf = element.relatedwf;
})
_this._BrowserList.datas = _this.exchangeList.datas;
})
}
//相关交流datas循环
changeDiscussList = (value = {}) => {
this.exchangeList = value;
this.exchangeList.datas&&this.exchangeList.datas.forEach((element, index) => {
if (this._BrowserList[element['id']] == undefined) {
this._BrowserList[element['id']] = {};
}
this._BrowserList[element['id']].remark = element.remark;
this._BrowserList[element['id']].docids = element.docids;
this._BrowserList[element['id']].projectids = element.projectids;
this._BrowserList[element['id']].relatedcus = element.relatedcus;
this._BrowserList[element['id']].relateddoc = element.relateddoc;
this._BrowserList[element['id']].relatedprj = element.relatedprj;
this._BrowserList[element['id']].relatedwf = element.relatedwf;
})
this._BrowserList.datas = this.exchangeList.datas;
}
//相关交流提交
exchangeSave = (value) => {
let _this = this;
Apis_prj.exchangeSave({...value,discusstype:'PT'}).then(data => {
if(data.status){
_this.getExchangeList({ });
}else {
message.error(data.error ? data.error : `${getLabel(384137,'操作失败!')}`);
}
})
}
//相关交流提交
setBrowserList = (_BrowserList) => {
this._BrowserList = _BrowserList;
}
//form 重置
clearFormFields = () => {
const tabDatas = toJS(this.tabDatas);
if (tabDatas) {
for (let i = 0; i < tabDatas.length; i++) {
if (tabDatas[i].id == this.selectTabKey && tabDatas[i].shortname == "tasksub") {
this.tasksubform.reset(); //清除查询条件值
} else if (tabDatas[i].id == this.selectTabKey && tabDatas[i].shortname == "exchange") {
this.exchangeform.reset(); //清除查询条件值
}
}
}
}
//高级搜索显隐
setShowSearchAd = (bool) => {
this.showSearchAd = bool
}
onShowColumn = () => { //显示定制列
const tabDatas = toJS(this.tabDatas);
if (tabDatas) {
for (let i = 0; i < tabDatas.length; i++) {
if (tabDatas[i].id == this.selectTabKey && tabDatas[i].shortname == "tasksub") {
this.taskSubStore.setColSetVisible(true);
this.taskSubStore.tableColSet(true)
}
}
}
}
//保存规则
setValidate = (params = {}) => {
this.validateRules = params;
}
//操作相关客户
handleRelateCrmDialog = (bool, type, value) => {
this.crmVisible = bool;
this.crmType = type;
this.relateCrmform.updateFields(value, false);
}
//修改记录
viewModifyLog = (id) => {
this.logVisible = true;
this.logTableStore = new TableStore();
Apis.taskModifyList({ taskid: id }).then(data => {
this.logTableStore.getDatas(data.sessionkey, 1);
})
}
clearStatus = () => {
this.selectTabKey = "1";
this.form = new WeaForm();
}
saveAndReLoadWf = (params) => {
Apis.addRequiredWF({...params,taskid:this.taskid,prjid:this.prjid}).then(data=>{
if(data.status){
this.getTaskReference("req");
message.success(getLabel(83880,"添加成功!"));
}else{
message.error(data.error ? data.error : `${getLabel(384137,'操作失败!')}`);
}
})
}
@computed
get register_table() {
return {
reLoad: (param) => {
if(param.requestid && param.requestid == -1){
this.saveAndReLoadWf(param)
}
}
};
}
@action
setCanSave = (v) =>{
this.canSave = v;
}
}