|
|
|
@ -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 |
|
|
|
|