任务管理新增

dev
吱屋 1 year ago
parent 5fc6b94f6b
commit 4e803c83cd
  1. 13
      ant-design-vue-jeecg/src/views/requirementitem/modules/RequirementItemForm.vue
  2. 161
      ant-design-vue-jeecg/src/views/task/modules/TaskForm.vue
  3. 11
      jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/task/entity/Task.java

@ -22,8 +22,7 @@
dest-fields="typeId,typeName"
code="typename"
:multi="multi"
@input="popupCallback"
/>
@input="popupCallback"/>
</a-form-model-item>
</a-col>
@ -48,11 +47,6 @@
<a-input v-model="model.requirementName" placeholder="请输入中文名称" ></a-input>
</a-form-model-item>
</a-col>
<a-col :span="24">
<a-form-model-item label="需求文件" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="requirementFile">
<j-upload v-model="model.requirementFile" ></j-upload>
</a-form-model-item>
</a-col>
<a-col :span="24">
<a-form-model-item label="需求等级" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="requirementLevel">
<j-dict-select-tag type="radio" v-model="model.requirementLevel" dictCode="requirement_level" placeholder="请选择需求等级" />
@ -76,6 +70,11 @@
<j-editor v-model="model.requirementDescribe" />
</a-form-model-item>
</a-col>
<a-col :span="24">
<a-form-model-item label="需求文件" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="requirementFile">
<j-upload v-model="model.requirementFile" ></j-upload>
</a-form-model-item>
</a-col>
</a-row>
</a-form-model>
</j-form-container>

@ -4,28 +4,60 @@
<a-form-model ref="form" :model="model" :rules="validatorRules" slot="detail">
<a-row>
<a-col :span="24">
<a-form-model-item label="上级任务" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="upperName">
<j-popup
v-model="model.upperName"
field="upperName"
org-fields="id,task_name"
dest-fields="upperId,upperName"
code="taskname"
:multi="true"
@input="popupCallback"
/>
</a-form-model-item>
</a-col>
<!-- <a-col :span="24">
<a-form-model-item label="上级任务" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="upperId">
<j-dict-select-tag v-model="model.upperId" placeholder="请选择所属上级任务"
dict-code="task,task_name,id" style="width: 100%">
</j-dict-select-tag>
</a-form-model-item>
</a-col> -->
<a-col :span="24" style="display: none;">
<a-form-model-item label="上级任务" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="upperId">
<a-input v-model="model.upperId" placeholder="请选择所属上级任务"></a-input>
</a-form-model-item>
</a-col>
<a-col :span="24">
<a-form-model-item label="任务层级" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="level">
<a-form-model-item label="责任人" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="managerUsers">
<j-multi-select-tag type="list_multi" v-model="model.managerUsers" dictCode="sys_user,realname,id" placeholder="请选择责任人"/>
</a-form-model-item>
</a-col>
</a-row>
<a-row>
<a-col >
<a-form-model-item label="任务层级" :labelCol="labelCol1" :wrapperCol="wrapperCol1" prop="level">
<j-dict-select-tag v-model="model.level" type="radio" style="width: 100%" dictCode="task_type_level"/>
</a-form-model-item>
</a-col>
<a-col :span="24">
<a-form-model-item label="任务类型" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="typeId">
<j-dict-select-tag v-model="model.typeId" type="radio" style="width: 100%"
dict-code="task_type,type_name,id"/>
</a-row>
<a-row>
<a-col >
<a-form-model-item label="任务类型" :labelCol="labelCol1" :wrapperCol="wrapperCol1" prop="typeId">
<j-dict-select-tag v-model="model.typeId" type="radio" style="width: 100%" dict-code="task_type,type_name,id"/>
</a-form-model-item>
</a-col>
</a-row>
<a-row>
<a-col :span="24">
<a-form-model-item label="项目" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="projectId">
<j-dict-select-tag v-model="model.projectId" placeholder="请选择项目" dict-code="projectx,project_name,id"
style="width: 100%" :disabled="model.typeId==null"
@change="fillTaskName">
<j-dict-select-tag
v-model="model.projectId"
placeholder="请选择项目"
dict-code="projectx,project_name,id"
style="width: 100%"
:disabled="model.typeId==null"
@change="fillTaskName" >
</j-dict-select-tag>
</a-form-model-item>
</a-col>
@ -45,9 +77,8 @@
<a-col :span="24">
<a-form-model-item label="模块" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="moduleId">
<!-- <a-input v-model="model.moduleId" placeholder="请输入模块" ></a-input>-->
<j-dict-select-tag v-model="model.moduleId" placeholder="请选择模块" dict-code="modulex,module_name,id"
style="width: 100%"></j-dict-select-tag>
<j-dict-select-tag v-model="model.moduleId" placeholder="请选择模块" dict-code="modulex,module_name,id" style="width: 100%">
</j-dict-select-tag>
</a-form-model-item>
</a-col>
<a-col :span="24">
@ -61,67 +92,69 @@
<a-col :span="24">
<a-form-model-item label="规则" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="ruleId">
<!-- <a-input v-model="model.ruleId" placeholder="请输入规则id" ></a-input>-->
<j-dict-select-tag v-model="model.ruleId" placeholder="请选择规则" dict-code="rulex,rule_no,id"
style="width: 100%"></j-dict-select-tag>
</a-form-model-item>
</a-col>
<a-col :span="24">
<a-form-model-item label="责任人" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="managerUsers">
<j-multi-select-tag type="list_multi" v-model="model.managerUsers"
dictCode="sys_user,realname,id" placeholder="请选择责任人"/>
<j-dict-select-tag v-model="model.ruleId" placeholder="请选择规则" dict-code="rulex,rule_no,id" style="width: 100%"></j-dict-select-tag>
</a-form-model-item>
</a-col>
<a-col :span="24">
<a-form-model-item label="任务等级" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="workLevel">
<!-- <a-input-number :min="1" :max="16" v-model="model.workLevel" placeholder="请输入任务等级" style="width: 100%" />-->
<j-dict-select-tag v-model="model.workLevel" type="radio" placeholder="请选择任务等级"
dict-code="workLevel" style="width: 100%">
<j-dict-select-tag v-model="model.workLevel" type="radio" placeholder="请选择任务等级" dict-code="workLevel" style="width: 100%">
</j-dict-select-tag>
</a-form-model-item>
</a-col>
<a-col :span="24">
<a-form-model-item label="任务状态" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="workStatus">
</a-row>
<a-row>
<a-col >
<a-form-model-item label="任务状态" :labelCol="labelCol1" :wrapperCol="wrapperCol1" prop="workStatus">
<!-- <a-input-number :min="1" :max="16" v-model="model.workStatus" placeholder="请输入任务状态" style="width: 100%" />-->
<j-dict-select-tag v-model="model.workStatus" type="radio" dict-code="task_work_status"
placeholder="请选择任务状态" style="width: 100%"/>
</a-form-model-item>
</a-col>
</a-row>
<a-row>
<a-col>
<a-form-model-item label="任务描述" :labelCol="labelCol2" :wrapperCol="wrapperCol2" prop="taskDescribe">
<!-- <a-input type="textarea" v-model="model.taskDescribe" :rows="2"/> -->
<j-editor v-model="model.taskDescribe"/>
</a-form-model-item>
</a-col>
</a-row>
<a-row>
<a-col :span="24">
<a-form-model-item label="发布时间" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="publishTime">
<!-- <j-date placeholder="请选择发布时间" v-model="model.publishTime" style="width: 100%"/>-->
<a-date-picker showTime valueFormat="YYYY-MM-DD HH:mm:ss" v-model="model.publishTime"/>
<a-date-picker showTime valueFormat="YYYY-MM-DD HH:mm:ss" v-model="model.publishTime" style="width: 100%"/>
</a-form-model-item>
</a-col>
<a-col :span="24">
<a-form-model-item label="开始时间" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="startTime">
<!-- <j-date placeholder="请选择开始时间" v-model="model.startTime" style="width: 100%"/>-->
<a-date-picker showTime valueFormat="YYYY-MM-DD HH:mm:ss" v-model="model.startTime"/>
<a-form-model-item label="预计结束时间" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="expectedEndTime">
<!-- <j-date placeholder="请选择预计结束时间" v-model="model.expectedEndTime" style="width: 100%"/>-->
<a-date-picker showTime valueFormat="YYYY-MM-DD HH:mm:ss" v-model="model.expectedEndTime" style="width: 100%"/>
</a-form-model-item>
</a-col>
<a-col :span="24">
<a-form-model-item label="预计结束时间" :labelCol="labelCol" :wrapperCol="wrapperCol"
prop="expectedEndTime">
<!-- <j-date placeholder="请选择预计结束时间" v-model="model.expectedEndTime" style="width: 100%"/>-->
<a-date-picker showTime valueFormat="YYYY-MM-DD HH:mm:ss" v-model="model.expectedEndTime"/>
<a-form-model-item label="预计时长" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="expectedDuration">
<a-input-number v-model="model.expectedDuration" placeholder="请输入预计时长" style="width: 100%"/>
</a-form-model-item>
</a-col>
<a-col :span="24">
<a-form-model-item label="预计任务时长" :labelCol="labelCol" :wrapperCol="wrapperCol"
prop="expectedDuration">
<a-input-number v-model="model.expectedDuration" placeholder="请输入预计任务时长" style="width: 100%"/>
<a-form-model-item label="实际时长" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="realDuration">
<a-input-number v-model="model.realDuration" placeholder="请输入实际时长" style="width: 100%"/>
</a-form-model-item>
</a-col>
<a-col :span="24">
<a-form-model-item label="提交时间" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="submitTime">
<!-- <j-date placeholder="请选择提交时间" v-model="model.submitTime" style="width: 100%"/>-->
<a-date-picker showTime valueFormat="YYYY-MM-DD HH:mm:ss" v-model="model.submitTime"/>
<a-form-model-item label="开始时间" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="startTime">
<!-- <j-date placeholder="请选择开始时间" v-model="model.startTime" style="width: 100%"/>-->
<a-date-picker showTime valueFormat="YYYY-MM-DD HH:mm:ss" v-model="model.startTime" style="width: 100%"/>
</a-form-model-item>
</a-col>
<a-col :span="24">
<a-form-model-item label="实际任务时长" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="realDuration">
<a-input-number v-model="model.realDuration" placeholder="请输入实际任务时长" style="width: 100%"/>
<a-form-model-item label="提交时间" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="submitTime">
<!-- <j-date placeholder="请选择提交时间" v-model="model.submitTime" style="width: 100%"/>-->
<a-date-picker showTime valueFormat="YYYY-MM-DD HH:mm:ss" v-model="model.submitTime" style="width: 100%"/>
</a-form-model-item>
</a-col>
<a-col :span="24">
@ -131,13 +164,6 @@
</a-form-model-item>
</a-col>
</a-row>
<a-row>
<a-col :span="24">
<a-form-model-item label="任务描述" style="width: 700px" prop="taskDescribe">
<a-input type="textarea" v-model="model.taskDescribe" :rows="2"/>
</a-form-model-item>
</a-col>
</a-row>
</a-form-model>
</j-form-container>
</a-spin>
@ -175,14 +201,48 @@ export default {
expectedDuration: 1,
// curryUserName: '',
},
// labelCol: {
// xs: {span: 24},
// sm: {span: 5},
// },
// wrapperCol: {
// xs: {span: 24},
// sm: {span: 16},
// },
labelCol: {
xs: {span: 24},
sm: {span: 5},
xs: {span: 23},
sm: {span: 6},
},
wrapperCol: {
xs: {span: 24},
sm: {span: 16},
},
//
labelCol1: {
xs: {span: 24},
sm: {span: 3},
},
wrapperCol1: {
xs: {span: 24},
sm: {span: 21},
},
//
labelCol2: {
xs: {span: 24},
sm: {span: 3},
},
wrapperCol2: {
xs: {span: 24},
sm: {span: 20},
},
labelCol3: {
xs: {span: 24},
sm: {span: 7},
},
wrapperCol3: {
xs: {span: 24},
sm: {span: 15},
},
confirmLoading: false,
validatorRules: {
taskName: [
@ -242,6 +302,9 @@ export default {
this.modelDefault = JSON.parse(JSON.stringify(this.model));
},
methods: {
popupCallback(value,row){
this.model = Object.assign(this.model, row);
},
handleCheckChange(data, checked, tree) {
if (checked) {
this.currentNodeData.id = data.id

@ -60,12 +60,15 @@ public class Task implements Serializable {
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@ApiModelProperty(value = "更新日期")
private java.util.Date updateTime;
/**
* 上级任务id
*/
@Excel(name = "上级任务id", width = 15)
/**上级任务id*/
@Excel(name = "上级任务id", width = 15, dictTable = "task", dicText = "task_name", dicCode = "id")
@Dict(dictTable = "task", dicText = "task_name", dicCode = "id")
@ApiModelProperty(value = "上级任务id")
private java.lang.String upperId;
/**上级任务*/
@Excel(name = "上级任务", width = 15)
@ApiModelProperty(value = "上级任务")
private java.lang.String upperName;
/**
* 中文名称
*/

Loading…
Cancel
Save