-
{stateName}
+
{stateName}
任务描述
任务状态
期望时间
@@ -89,7 +90,7 @@ export const DroppableTable = React.memo((props: DroppableTableProps) => {
style={getItemStyle(snapshot.isDragging, {...provided.draggableProps.style})}
className="virtualized-row displayFlexRow"
>
-
+
{record.name}
diff --git a/src/ui/task/project/DetailModelForm.tsx b/src/ui/task/project/DetailModelForm.tsx
index b05b88d..d281e6d 100644
--- a/src/ui/task/project/DetailModelForm.tsx
+++ b/src/ui/task/project/DetailModelForm.tsx
@@ -17,37 +17,38 @@ import {
} from "@/lib/task/project/data";
import {DataType} from "@/lib/definitions";
import dayjs, {Dayjs} from "dayjs";
+import DiaryOption from "@/components/DiaryOption";
-export type DetailModelFormProps={
+export type DetailModelFormProps = {
// 当前内容id
itemId?: string,
- pid?:string,
+ pid?: string,
// 祖宗任务id
- pPid?:string,
+ pPid?: string,
// 操作id
operationId: OPERATION_BUTTON_TYPE,
// 标题描述
- description:string,
+ description: string,
// 是否打开界面,用于非按钮操作
- open:boolean,
+ open: boolean,
// 使用按钮操作
- haveButton:boolean,
- expectedStartTime?:Dayjs,
- expectedEndTime?:Dayjs,
+ haveButton: boolean,
+ expectedStartTime?: Dayjs,
+ expectedEndTime?: Dayjs,
// 重新加载数据
reloadData?: () => void
}
-export type PidSelectTree= { label: string; value: string;pid:string; children?: PidSelectTree[] }
+export type PidSelectTree = { label: string; value: string; pid: string; children?: PidSelectTree[] }
export const DetailModelForm: React.FC = (props) => {
- console.log("DetailModelForm:props:",props)
+ console.log("DetailModelForm:props:", props)
const [form] = Form.useForm();
- const [pid, setPid] = useState(props.pid?props.pid:'0');
+ const [pid, setPid] = useState(props.pid ? props.pid : '0');
const [editFormDisable, setEditFormDisable] = useState(props.operationId === OPERATION_BUTTON_TYPE.DETAIL)
// 团队第一层 pid必须为0
const [taskType, setTaskType] = useState('0')
useEffect(() => {
- if (props.itemId!=undefined&&(
+ if (props.itemId != undefined && (
props.operationId === OPERATION_BUTTON_TYPE.DETAIL || props.operationId === OPERATION_BUTTON_TYPE.UPDATE)) {
getTask(props.itemId).then(task => {
console.log('DetailModelForm:getTask(props.itemId)', props.itemId, task);
@@ -60,38 +61,43 @@ export const DetailModelForm: React.FC = (props) => {
task.data.expectedTimeRange = [task.data.expectedStartTime ? dayjs(task.data.expectedStartTime) : undefined,
task.data.expectedEndTime ? dayjs(task.data.expectedEndTime) : undefined];
form.setFieldsValue(task.data)
- console.log("form.setFieldsValue(task.data)"+JSON.stringify(task.data))
+ console.log("form.setFieldsValue(task.data)" + JSON.stringify(task.data))
} else {
message.error(task.status.message);
props.reloadData?.()
}
})
- }else if(props.operationId === OPERATION_BUTTON_TYPE.ADD|| props.operationId === OPERATION_BUTTON_TYPE.ADD_CHILD){
- let data={'expectedTimeRange':[props.expectedStartTime?props.expectedStartTime:dayjs(), props.expectedEndTime],'pid':props.pid};
+ } else if (props.operationId === OPERATION_BUTTON_TYPE.ADD || props.operationId === OPERATION_BUTTON_TYPE.ADD_CHILD) {
+ let data = {
+ 'expectedTimeRange': [props.expectedStartTime ? props.expectedStartTime : dayjs(), props.expectedEndTime],
+ 'pid': props.pid
+ };
form.setFieldsValue(data)
}
}, [props])
- function childReduce(child:DataType[]):PidSelectTree[]{
- const result:PidSelectTree[] = [];
- child.map(data=> {
- const resultData:PidSelectTree = {label:data.name,value:data.id,pid:data.pid};
- if (data.children){
- resultData.children=childReduce(data.children);
+
+ function childReduce(child: DataType[]): PidSelectTree[] {
+ const result: PidSelectTree[] = [];
+ child.map(data => {
+ const resultData: PidSelectTree = {label: data.name, value: data.id, pid: data.pid};
+ if (data.children) {
+ resultData.children = childReduce(data.children);
}
result.push(resultData);
})
return result;
}
+
// 如果不是添加任务需要回显
return (
title={props.description}
- open={props.open&&!props.haveButton}
- trigger={props.haveButton?
+ open={props.open && !props.haveButton}
+ trigger={props.haveButton ?
:undefined
+ : undefined
}
form={form}
autoFocusFirstInput
@@ -102,10 +108,10 @@ export const DetailModelForm: React.FC = (props) => {
props.reloadData?.();
},
}}
- submitter={props.itemId!==undefined&&props.itemId!=='-1'?{
+ submitter={props.itemId !== undefined && props.itemId !== '-1' ? {
render: (prop, defaultDoms) => {
return [
- editFormDisable?:undefined,
- props.operationId === OPERATION_BUTTON_TYPE.DETAIL||props.operationId === OPERATION_BUTTON_TYPE.UPDATE?}
- okText="确认"
- cancelText="取消"
- onConfirm={() => {
- if (props.itemId!==undefined) {
- deleteTask(props.itemId).then((response => {
- console.log('response', response)
- if (response.status.success) {
- message.success("删除任务成功:" + response.data)
- props.reloadData?.()
- }
- }));
- }
- }}
- >
- :undefined
+ : undefined,
+ props.operationId === OPERATION_BUTTON_TYPE.DETAIL || props.operationId === OPERATION_BUTTON_TYPE.UPDATE ?
+ }
+ okText="确认"
+ cancelText="取消"
+ onConfirm={() => {
+ if (props.itemId !== undefined) {
+ deleteTask(props.itemId).then((response => {
+ console.log('response', response)
+ if (response.status.success) {
+ message.success("删除任务成功:" + response.data)
+ props.reloadData?.()
+ }
+ }));
+ }
+ }}
+ >
+
+ : undefined
,
+ ,
...defaultDoms
];
},
- }:undefined}
+ } : undefined}
onFinish={async (values) => {
console.log('Received values of form: ', values);
- if (values.pid===undefined){
- values.pid='0'
+ if (values.pid === undefined) {
+ values.pid = '0'
}
- if (values.expectedTimeRange?.[0]!=undefined) {
- values.expectedStartTime=dayjs(values.expectedTimeRange[0]).format()
+ if (values.expectedTimeRange?.[0] != undefined) {
+ values.expectedStartTime = dayjs(values.expectedTimeRange[0]).format()
}
- if (values.expectedTimeRange?.[1]!=undefined) {
- values.expectedEndTime=dayjs(values.expectedTimeRange[1]).format()
+ if (values.expectedTimeRange?.[1] != undefined) {
+ values.expectedEndTime = dayjs(values.expectedTimeRange[1]).format()
}
- if (values.actualTimeRange?.[0]!=undefined) {
- values.actualStartTime=dayjs(values.actualTimeRange[0]).toDate()
+ if (values.actualTimeRange?.[0] != undefined) {
+ values.actualStartTime = dayjs(values.actualTimeRange[0]).toDate()
}
- if (values.actualTimeRange?.[1]!=undefined) {
- values.actualEndTime=dayjs(values.actualTimeRange[1]).toDate()
+ if (values.actualTimeRange?.[1] != undefined) {
+ values.actualEndTime = dayjs(values.actualTimeRange[1]).toDate()
}
- var result:boolean=false;
+ var result: boolean = false;
let state = taskStateList.find(taskState => taskState.name === values.state?.toString());
if (state) {
@@ -169,7 +178,7 @@ export const DetailModelForm: React.FC = (props) => {
values.priority = priority.code
}
// todo 修改
- if (props.operationId === OPERATION_BUTTON_TYPE.UPDATE||(props.operationId === OPERATION_BUTTON_TYPE.DETAIL&&!editFormDisable)) {
+ if (props.operationId === OPERATION_BUTTON_TYPE.UPDATE || (props.operationId === OPERATION_BUTTON_TYPE.DETAIL && !editFormDisable)) {
await updateTask(values).then(response => {
console.log('response', response)
if (response.status.success) {
@@ -177,16 +186,16 @@ export const DetailModelForm: React.FC = (props) => {
// 树任务重新刷新
// 四象限任务重新刷新
// 如果可以直接更新列表而不请求。。。。。。
- console.log('props.reloadData?.()',props.reloadData)
+ console.log('props.reloadData?.()', props.reloadData)
props.reloadData?.()
- result= true
- }else {
+ result = true
+ } else {
message.error(response.status.message)
- result= false
+ result = false
}
}
);
- }else {
+ } else {
await addTask(values).then(response => {
console.log('response', response)
if (response.status.success) {
@@ -194,12 +203,12 @@ export const DetailModelForm: React.FC = (props) => {
// 树任务重新刷新
// 四象限任务重新刷新
// 如果可以直接更新列表而不请求。。。。。。
- console.log('props.reloadData?.()',props.reloadData)
+ console.log('props.reloadData?.()', props.reloadData)
props.reloadData?.()
- result= true
- }else {
+ result = true
+ } else {
message.error(response.status.message)
- result= false
+ result = false
}
}
);
@@ -207,9 +216,9 @@ export const DetailModelForm: React.FC = (props) => {
return result;
}}
>
-
-
-
+
+
+
= (props) => {
name="taskType"
label="任务类型"
initialValue='0'
- disabled ={editFormDisable}
- onChange={(value:string, option)=>{
+ disabled={editFormDisable}
+ onChange={(value: string, option) => {
setTaskType(value)
}}
rules={[
- {required:true,
- message:"请输入计划类型"
+ {
+ required: true,
+ message: "请输入计划类型"
}
]}
/>
{
+ request={() => {
return getTaskTreeResult(JSON.stringify(
- {pageSize:1000,pageNumber:1,data:[{code:'pid',value:'0',operateType:'='},{code:'state',value:'8,9',operateType:'IN'},{code:'',value:true,operateType: "TREE"}]}
- )).then(result=> childReduce(result.data.content))
+ {
+ pageSize: 1000,
+ pageNumber: 1,
+ data: [{code: 'pid', value: '0', operateType: '='}, {
+ code: 'state',
+ value: '8,9',
+ operateType: 'IN'
+ }, {code: '', value: true, operateType: "TREE"}]
+ }
+ )).then(result => childReduce(result.data.content))
}}
name="pid"
label="父级任务"
- fieldProps={{onSelect: (e,node) => {console.log('onSelect',e,node);setPid(e)}}}
- disabled ={editFormDisable}
+ fieldProps={{
+ onSelect: (e, node) => {
+ console.log('onSelect', e, node);
+ setPid(e)
+ }
+ }}
+ disabled={editFormDisable}
/>
= (props) => {
label="任务名称"
tooltip="最长为 10 位"
placeholder="请输入任务名称"
- disabled ={editFormDisable}
+ disabled={editFormDisable}
rules={[
- {required:true,
- message:"请输入计划名称"
- },{
- max:10,
- message:"名称长度不易超过10个字"
+ {
+ required: true,
+ message: "请输入计划名称"
+ }, {
+ max: 10,
+ message: "名称长度不易超过10个字"
}
]}
/>
@@ -275,7 +299,7 @@ export const DetailModelForm: React.FC = (props) => {
label="任务描述"
// tooltip="最长为 24 位"
placeholder="请输入任务描述"
- disabled ={editFormDisable}
+ disabled={editFormDisable}
/>
@@ -290,10 +314,11 @@ export const DetailModelForm: React.FC = (props) => {
name="priority"
label="任务优先级"
initialValue='3'
- disabled ={editFormDisable}
+ disabled={editFormDisable}
rules={[
- {required:true,
- message:"请选择计划优先级"
+ {
+ required: true,
+ message: "请选择计划优先级"
}
]}
/>
@@ -308,10 +333,11 @@ export const DetailModelForm: React.FC = (props) => {
name="state"
label="任务状态"
initialValue='8'
- disabled ={editFormDisable}
+ disabled={editFormDisable}
rules={[
- {required:true,
- message:"请选择计划状态"
+ {
+ required: true,
+ message: "请选择计划状态"
}
]}
/>
@@ -322,16 +348,16 @@ export const DetailModelForm: React.FC = (props) => {
initialValue={[dayjs(), undefined]}
name="expectedTimeRange"
label="期望时间"
- fieldProps={{allowEmpty:[true, true],showTime:true,needConfirm:true}}
- placeholder={['开始时间','结束时间']}
- disabled ={editFormDisable}
+ fieldProps={{allowEmpty: [true, true], showTime: true, needConfirm: true}}
+ placeholder={['开始时间', '结束时间']}
+ disabled={editFormDisable}
/>
diff --git a/src/utils/axiosReq.ts b/src/utils/axiosReq.ts
index 7cb5b9d..5f49606 100644
--- a/src/utils/axiosReq.ts
+++ b/src/utils/axiosReq.ts
@@ -23,6 +23,7 @@ httpReq.interceptors.request.use((config) => {
if (token) {
config.headers.Authorization = `Bearer ${token}`;
}
+ config.headers.set("source-client","web")
return config;
},
(error) => {