|
|
@ -5,24 +5,17 @@ |
|
|
|
<a-row> |
|
|
|
<a-row> |
|
|
|
<a-col :span="24"> |
|
|
|
<a-col :span="24"> |
|
|
|
<a-form-model-item label="上级任务" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="upperName"> |
|
|
|
<a-form-model-item label="上级任务" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="upperName"> |
|
|
|
<j-popup |
|
|
|
<j-popup v-model="model.upperTaskName" field="upperTaskName" org-fields="id,task_name" |
|
|
|
v-model="model.upperTaskName" |
|
|
|
dest-fields="upperId,upperTaskName" code="taskname" :multi="true" @input="popupCallback" /> |
|
|
|
field="upperTaskName" |
|
|
|
|
|
|
|
org-fields="id,task_name" |
|
|
|
|
|
|
|
dest-fields="upperId,upperTaskName" |
|
|
|
|
|
|
|
code="taskname" |
|
|
|
|
|
|
|
:multi="true" |
|
|
|
|
|
|
|
@input="popupCallback" |
|
|
|
|
|
|
|
/> |
|
|
|
|
|
|
|
</a-form-model-item> |
|
|
|
</a-form-model-item> |
|
|
|
</a-col> |
|
|
|
</a-col> |
|
|
|
<!-- <a-col :span="24">--> |
|
|
|
<!-- <a-col :span="24">--> |
|
|
|
<!-- <a-form-model-item label="上级任务" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="upperId">--> |
|
|
|
<!-- <a-form-model-item label="上级任务" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="upperId">--> |
|
|
|
<!-- <j-dict-select-tag v-model="model.upperId" placeholder="请选择所属上级任务"--> |
|
|
|
<!-- <j-dict-select-tag v-model="model.upperId" placeholder="请选择所属上级任务"--> |
|
|
|
<!-- :dict-code="task" style="width: 100%">--> |
|
|
|
<!-- :dict-code="task" style="width: 100%">--> |
|
|
|
<!-- </j-dict-select-tag>--> |
|
|
|
<!-- </j-dict-select-tag>--> |
|
|
|
<!-- </a-form-model-item>--> |
|
|
|
<!-- </a-form-model-item>--> |
|
|
|
<!-- </a-col>--> |
|
|
|
<!-- </a-col>--> |
|
|
|
<a-col :span="24" style="display: none;"> |
|
|
|
<a-col :span="24" style="display: none;"> |
|
|
|
<a-form-model-item label="上级任务" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="upperId"> |
|
|
|
<a-form-model-item label="上级任务" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="upperId"> |
|
|
|
<a-input v-model="model.upperId" placeholder="请选择所属上级任务"></a-input> |
|
|
|
<a-input v-model="model.upperId" placeholder="请选择所属上级任务"></a-input> |
|
|
@ -31,26 +24,27 @@ |
|
|
|
<a-col :span="24"> |
|
|
|
<a-col :span="24"> |
|
|
|
<a-form-model-item label="任务等级" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="workLevel"> |
|
|
|
<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%" />--> |
|
|
|
<!-- <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> |
|
|
|
</j-dict-select-tag> |
|
|
|
</a-form-model-item> |
|
|
|
</a-form-model-item> |
|
|
|
|
|
|
|
|
|
|
|
</a-col> |
|
|
|
</a-col> |
|
|
|
</a-row> |
|
|
|
</a-row> |
|
|
|
<a-row> |
|
|
|
<a-row> |
|
|
|
<a-col > |
|
|
|
<a-col> |
|
|
|
<a-form-model-item label="任务层级" :labelCol="labelCol1" :wrapperCol="wrapperCol1" prop="level"> |
|
|
|
<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"/> |
|
|
|
<j-dict-select-tag v-model="model.level" type="radio" style="width: 100%" dictCode="task_type_level" /> |
|
|
|
</a-form-model-item> |
|
|
|
</a-form-model-item> |
|
|
|
</a-col> |
|
|
|
</a-col> |
|
|
|
</a-row> |
|
|
|
</a-row> |
|
|
|
<a-row> |
|
|
|
<a-row> |
|
|
|
<a-col > |
|
|
|
<a-col> |
|
|
|
<a-form-model-item label="任务类型" :labelCol="labelCol1" :wrapperCol="wrapperCol1" prop="typeId"> |
|
|
|
<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"/> --> |
|
|
|
<!-- <j-dict-select-tag v-model="model.typeId" type="radio" style="width: 100%" dict-code="task_type,type_name,id"/> --> |
|
|
|
<div v-for="item in options" :key="item.id" class="a"> |
|
|
|
<div v-for="item in options" :key="item.id" class="a"> |
|
|
|
<span style="margin-right: 10px;" class="B">{{ item.type_Name }} </span> |
|
|
|
<span style="margin-right: 10px;" class="B">{{ item.type_Name }} </span> |
|
|
|
<a-radio-group v-model="model.typeId" :key="`children-${item.id}`" > |
|
|
|
<a-radio-group v-model="model.typeId" :key="`children-${item.id}`"> |
|
|
|
<a-radio v-for="child in item.children" :key="child.id" :value="child.id"> |
|
|
|
<a-radio v-for="child in item.children" :key="child.id" :value="child.id"> |
|
|
|
<span>{{ child.type_Name }}</span> |
|
|
|
<span>{{ child.type_Name }}</span> |
|
|
|
</a-radio> |
|
|
|
</a-radio> |
|
|
@ -62,66 +56,59 @@ |
|
|
|
<a-row> |
|
|
|
<a-row> |
|
|
|
<a-col :span="24"> |
|
|
|
<a-col :span="24"> |
|
|
|
<a-form-model-item label="项目" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="projectId"> |
|
|
|
<a-form-model-item label="项目" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="projectId"> |
|
|
|
<j-dict-select-tag |
|
|
|
<j-dict-select-tag v-model="model.projectId" placeholder="请选择项目" dict-code="projectx,project_name,id" |
|
|
|
v-model="model.projectId" |
|
|
|
style="width: 100%" :disabled="model.typeId == null" @change="fillTaskName"> |
|
|
|
placeholder="请选择项目" |
|
|
|
|
|
|
|
dict-code="projectx,project_name,id" |
|
|
|
|
|
|
|
style="width: 100%" |
|
|
|
|
|
|
|
:disabled="model.typeId==null" |
|
|
|
|
|
|
|
@change="fillTaskName" > |
|
|
|
|
|
|
|
</j-dict-select-tag> |
|
|
|
</j-dict-select-tag> |
|
|
|
</a-form-model-item> |
|
|
|
</a-form-model-item> |
|
|
|
</a-col> |
|
|
|
</a-col> |
|
|
|
<a-col :span="24"> |
|
|
|
<a-col :span="24"> |
|
|
|
<a-form-model-item label="中文名称" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="taskName"> |
|
|
|
<a-form-model-item label="中文名称" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="taskName"> |
|
|
|
<!-- <a-input v-model="model.taskName" placeholder="请输入中文名称"--> |
|
|
|
<!-- <a-input v-model="model.taskName" placeholder="请输入中文名称"--> |
|
|
|
<!-- autocomplete="on" --> |
|
|
|
<!-- autocomplete="on" --> |
|
|
|
<!-- :disabled="model.typeId==null">--> |
|
|
|
<!-- :disabled="model.typeId==null">--> |
|
|
|
<!-- </a-input>--> |
|
|
|
<!-- </a-input>--> |
|
|
|
<a-textarea v-model="model.taskName" |
|
|
|
<a-textarea v-model="model.taskName" placeholder="请输入中文名称" autocomplete="on" |
|
|
|
placeholder="请输入中文名称" |
|
|
|
:disabled="model.typeId == null" auto-size /> |
|
|
|
autocomplete="on" |
|
|
|
|
|
|
|
:disabled="model.typeId==null" |
|
|
|
|
|
|
|
auto-size /> |
|
|
|
|
|
|
|
</a-form-model-item> |
|
|
|
</a-form-model-item> |
|
|
|
</a-col> |
|
|
|
</a-col> |
|
|
|
<a-col :span="24"> |
|
|
|
<a-col :span="24"> |
|
|
|
<a-form-model-item label="责任人" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="managerUsers"> |
|
|
|
<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-multi-select-tag type="list_multi" v-model="model.managerUsers" dictCode="sys_user,realname,id" |
|
|
|
|
|
|
|
placeholder="请选择责任人" /> |
|
|
|
</a-form-model-item> |
|
|
|
</a-form-model-item> |
|
|
|
</a-col> |
|
|
|
</a-col> |
|
|
|
<a-col :span="24"> |
|
|
|
<a-col :span="24"> |
|
|
|
<a-form-model-item label="模块" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="moduleId"> |
|
|
|
<a-form-model-item label="模块" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="moduleId"> |
|
|
|
<!-- <a-input v-model="model.moduleId" placeholder="请输入模块" modulex,module_name,id></a-input>--> |
|
|
|
<!-- <a-input v-model="model.moduleId" placeholder="请输入模块" modulex,module_name,id></a-input>--> |
|
|
|
<j-dict-select-tag v-model="model.moduleId" placeholder="请选择模块" :dict-code="this.modulex" |
|
|
|
<j-dict-select-tag v-model="model.moduleId" placeholder="请选择模块" :dict-code="this.modulex" style="width: 80%" |
|
|
|
style="width: 80%" @change="fillModuleName()"></j-dict-select-tag> |
|
|
|
@change="fillModuleName()"></j-dict-select-tag> |
|
|
|
<a-button @click="handleAdd3" type="primary" icon="plus" style="width: 20%;"></a-button> |
|
|
|
<a-button @click="handleAdd3" type="primary" icon="plus" style="width: 20%;"></a-button> |
|
|
|
</a-form-model-item> |
|
|
|
</a-form-model-item> |
|
|
|
</a-col> |
|
|
|
</a-col> |
|
|
|
<a-col :span="24"> |
|
|
|
<a-col :span="24"> |
|
|
|
<a-form-model-item label="功能" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="functionId"> |
|
|
|
<a-form-model-item label="功能" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="functionId"> |
|
|
|
<!-- <a-input v-model="model.functionId" placeholder="请输入功能id" functionx,function_name,id></a-input>--> |
|
|
|
<!-- <a-input v-model="model.functionId" placeholder="请输入功能id" functionx,function_name,id></a-input>--> |
|
|
|
<j-dict-select-tag v-model="model.functionId" placeholder="请选择功能" |
|
|
|
<j-dict-select-tag v-model="model.functionId" placeholder="请选择功能" :dict-code="functionx" style="width: 80%" |
|
|
|
:dict-code="functionx" |
|
|
|
@change="fillFunctionName()"></j-dict-select-tag> |
|
|
|
style="width: 80%" @change="fillFunctionName()"></j-dict-select-tag> |
|
|
|
<a-button @click="handleAdd1(model.moduleId)" type="primary" icon="plus" style="width: 20%;"></a-button> |
|
|
|
<a-button @click="handleAdd1(model.moduleId)" type="primary" icon="plus" style="width: 20%;" ></a-button> |
|
|
|
|
|
|
|
</a-form-model-item> |
|
|
|
</a-form-model-item> |
|
|
|
</a-col> |
|
|
|
</a-col> |
|
|
|
<a-col :span="24"> |
|
|
|
<a-col :span="24"> |
|
|
|
<a-form-model-item label="规则" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="ruleId"> |
|
|
|
<a-form-model-item label="规则" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="ruleId"> |
|
|
|
<!-- <a-input v-model="model.ruleId" placeholder="请输入规则id" rulex,rule_no,id></a-input>--> |
|
|
|
<!-- <a-input v-model="model.ruleId" placeholder="请输入规则id" rulex,rule_no,id></a-input>--> |
|
|
|
<j-dict-select-tag v-model="model.ruleId" placeholder="请选择规则" :dict-code="rulex" |
|
|
|
<j-dict-select-tag v-model="model.ruleId" placeholder="请选择规则" :dict-code="rulex" |
|
|
|
style="width: 80%"></j-dict-select-tag> |
|
|
|
style="width: 80%"></j-dict-select-tag> |
|
|
|
<a-button @click="handleAdd2(model.functionId,model.moduleId)" type="primary" icon="plus" style="width: 20%;"></a-button> |
|
|
|
<a-button @click="handleAdd2(model.functionId, model.moduleId)" type="primary" icon="plus" |
|
|
|
|
|
|
|
style="width: 20%;"></a-button> |
|
|
|
</a-form-model-item> |
|
|
|
</a-form-model-item> |
|
|
|
</a-col> |
|
|
|
</a-col> |
|
|
|
</a-row> |
|
|
|
</a-row> |
|
|
|
<a-row> |
|
|
|
<a-row> |
|
|
|
<a-col > |
|
|
|
<a-col> |
|
|
|
<a-form-model-item label="任务状态" :labelCol="labelCol1" :wrapperCol="wrapperCol1" prop="workStatus"> |
|
|
|
<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%" />--> |
|
|
|
<!-- <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" |
|
|
|
<j-dict-select-tag v-model="model.workStatus" type="radio" dict-code="task_work_status" |
|
|
|
placeholder="请选择任务状态" style="width: 100%"/> |
|
|
|
placeholder="请选择任务状态" style="width: 100%" /> |
|
|
|
</a-form-model-item> |
|
|
|
</a-form-model-item> |
|
|
|
</a-col> |
|
|
|
</a-col> |
|
|
|
</a-row> |
|
|
|
</a-row> |
|
|
@ -129,7 +116,7 @@ |
|
|
|
<a-col> |
|
|
|
<a-col> |
|
|
|
<a-form-model-item label="任务描述" :labelCol="labelCol2" :wrapperCol="wrapperCol2" prop="taskDescribe"> |
|
|
|
<a-form-model-item label="任务描述" :labelCol="labelCol2" :wrapperCol="wrapperCol2" prop="taskDescribe"> |
|
|
|
<!-- <a-input type="textarea" v-model="model.taskDescribe" :rows="2"/> --> |
|
|
|
<!-- <a-input type="textarea" v-model="model.taskDescribe" :rows="2"/> --> |
|
|
|
<j-editor v-model="model.taskDescribe"/> |
|
|
|
<j-editor v-model="model.taskDescribe" /> |
|
|
|
</a-form-model-item> |
|
|
|
</a-form-model-item> |
|
|
|
</a-col> |
|
|
|
</a-col> |
|
|
|
</a-row> |
|
|
|
</a-row> |
|
|
@ -137,36 +124,37 @@ |
|
|
|
<a-col :span="24"> |
|
|
|
<a-col :span="24"> |
|
|
|
<a-form-model-item label="发布时间" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="publishTime"> |
|
|
|
<a-form-model-item label="发布时间" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="publishTime"> |
|
|
|
<!-- <j-date placeholder="请选择发布时间" v-model="model.publishTime" style="width: 100%"/>--> |
|
|
|
<!-- <j-date placeholder="请选择发布时间" v-model="model.publishTime" style="width: 100%"/>--> |
|
|
|
<a-date-picker showTime valueFormat="YYYY-MM-DD HH:mm:ss" 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-form-model-item> |
|
|
|
</a-col> |
|
|
|
</a-col> |
|
|
|
<a-col :span="24"> |
|
|
|
<a-col :span="24"> |
|
|
|
<a-form-model-item label="预计结束时间" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="expectedEndTime"> |
|
|
|
<a-form-model-item label="预计结束时间" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="expectedEndTime"> |
|
|
|
<!-- <j-date placeholder="请选择预计结束时间" v-model="model.expectedEndTime" style="width: 100%"/>--> |
|
|
|
<!-- <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-date-picker showTime valueFormat="YYYY-MM-DD HH:mm:ss" v-model="model.expectedEndTime" |
|
|
|
|
|
|
|
style="width: 100%" /> |
|
|
|
|
|
|
|
|
|
|
|
</a-form-model-item> |
|
|
|
</a-form-model-item> |
|
|
|
</a-col> |
|
|
|
</a-col> |
|
|
|
<a-col :span="24"> |
|
|
|
<a-col :span="24"> |
|
|
|
<a-form-model-item label="预计时长" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="expectedDuration"> |
|
|
|
<a-form-model-item label="预计时长" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="expectedDuration"> |
|
|
|
<a-input-number v-model="model.expectedDuration" placeholder="请输入预计时长" style="width: 100%"/> |
|
|
|
<a-input-number v-model="model.expectedDuration" placeholder="请输入预计时长" style="width: 100%" @blur="expectedDuration()"/> |
|
|
|
</a-form-model-item> |
|
|
|
</a-form-model-item> |
|
|
|
</a-col> |
|
|
|
</a-col> |
|
|
|
<a-col :span="24"> |
|
|
|
<a-col :span="24"> |
|
|
|
<a-form-model-item label="实际时长" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="realDuration"> |
|
|
|
<a-form-model-item label="实际时长" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="realDuration"> |
|
|
|
<a-input-number v-model="model.realDuration" placeholder="请输入实际时长" style="width: 100%"/> |
|
|
|
<a-input-number v-model="model.realDuration" placeholder="请输入实际时长" style="width: 100%" /> |
|
|
|
</a-form-model-item> |
|
|
|
</a-form-model-item> |
|
|
|
</a-col> |
|
|
|
</a-col> |
|
|
|
<a-col :span="24"> |
|
|
|
<a-col :span="24"> |
|
|
|
<a-form-model-item label="开始时间" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="startTime"> |
|
|
|
<a-form-model-item label="开始时间" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="startTime"> |
|
|
|
<!-- <j-date placeholder="请选择开始时间" v-model="model.startTime" style="width: 100%"/>--> |
|
|
|
<!-- <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-date-picker showTime valueFormat="YYYY-MM-DD HH:mm:ss" v-model="model.startTime" style="width: 100%" /> |
|
|
|
</a-form-model-item> |
|
|
|
</a-form-model-item> |
|
|
|
</a-col> |
|
|
|
</a-col> |
|
|
|
<a-col :span="24"> |
|
|
|
<a-col :span="24"> |
|
|
|
<a-form-model-item label="提交时间" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="submitTime"> |
|
|
|
<a-form-model-item label="提交时间" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="submitTime"> |
|
|
|
<!-- <j-date placeholder="请选择提交时间" v-model="model.submitTime" style="width: 100%"/>--> |
|
|
|
<!-- <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-date-picker showTime valueFormat="YYYY-MM-DD HH:mm:ss" v-model="model.submitTime" style="width: 100%" /> |
|
|
|
</a-form-model-item> |
|
|
|
</a-form-model-item> |
|
|
|
</a-col> |
|
|
|
</a-col> |
|
|
|
<a-col :span="24"> |
|
|
|
<a-col :span="24"> |
|
|
@ -193,13 +181,13 @@ |
|
|
|
<script> |
|
|
|
<script> |
|
|
|
|
|
|
|
|
|
|
|
import store from '@/store' |
|
|
|
import store from '@/store' |
|
|
|
import {httpAction, getAction} from '@api/manage' |
|
|
|
import { httpAction, getAction } from '@api/manage' |
|
|
|
import {validateDuplicateValue} from '@/utils/util' |
|
|
|
import { validateDuplicateValue } from '@/utils/util' |
|
|
|
import JVxeDateCell from "@comp/jeecg/JVxeTable/components/cells/JVxeDateCell"; |
|
|
|
import JVxeDateCell from "@comp/jeecg/JVxeTable/components/cells/JVxeDateCell"; |
|
|
|
import JMultiSelectTag from "@/components/dict/JMultiSelectTag" |
|
|
|
import JMultiSelectTag from "@/components/dict/JMultiSelectTag" |
|
|
|
import TaskModal from "@views/task/modules/TaskModal.vue"; |
|
|
|
import TaskModal from "@views/task/modules/TaskModal.vue"; |
|
|
|
import {JeecgListMixin} from '@/mixins/JeecgListMixin' |
|
|
|
import { JeecgListMixin } from '@/mixins/JeecgListMixin' |
|
|
|
import {mixinDevice} from "@/utils/mixin"; |
|
|
|
import { mixinDevice } from "@/utils/mixin"; |
|
|
|
import modulexModal from "@views/modulex/modules/ModulexModal__Style#Drawer.vue"; |
|
|
|
import modulexModal from "@views/modulex/modules/ModulexModal__Style#Drawer.vue"; |
|
|
|
import FunctionxModal from "@views/functionx/modules/FunctionxModal__Style#Drawer.vue"; |
|
|
|
import FunctionxModal from "@views/functionx/modules/FunctionxModal__Style#Drawer.vue"; |
|
|
|
import RulexModal from "@views/rulex/modules/RulexModal__Style#Drawer.vue"; |
|
|
|
import RulexModal from "@views/rulex/modules/RulexModal__Style#Drawer.vue"; |
|
|
@ -249,73 +237,73 @@ export default { |
|
|
|
// sm: {span: 16}, |
|
|
|
// sm: {span: 16}, |
|
|
|
// }, |
|
|
|
// }, |
|
|
|
labelCol: { |
|
|
|
labelCol: { |
|
|
|
xs: {span: 23}, |
|
|
|
xs: { span: 23 }, |
|
|
|
sm: {span: 6}, |
|
|
|
sm: { span: 6 }, |
|
|
|
}, |
|
|
|
}, |
|
|
|
wrapperCol: { |
|
|
|
wrapperCol: { |
|
|
|
xs: {span: 24}, |
|
|
|
xs: { span: 24 }, |
|
|
|
sm: {span: 16}, |
|
|
|
sm: { span: 16 }, |
|
|
|
}, |
|
|
|
}, |
|
|
|
// 任务层级 任务类型 任务状态 |
|
|
|
// 任务层级 任务类型 任务状态 |
|
|
|
labelCol1: { |
|
|
|
labelCol1: { |
|
|
|
xs: {span: 24}, |
|
|
|
xs: { span: 24 }, |
|
|
|
sm: {span: 3}, |
|
|
|
sm: { span: 3 }, |
|
|
|
}, |
|
|
|
}, |
|
|
|
wrapperCol1: { |
|
|
|
wrapperCol1: { |
|
|
|
xs: {span: 24}, |
|
|
|
xs: { span: 24 }, |
|
|
|
sm: {span: 21}, |
|
|
|
sm: { span: 21 }, |
|
|
|
}, |
|
|
|
}, |
|
|
|
// 任务描述 |
|
|
|
// 任务描述 |
|
|
|
labelCol2: { |
|
|
|
labelCol2: { |
|
|
|
xs: {span: 24}, |
|
|
|
xs: { span: 24 }, |
|
|
|
sm: {span: 3}, |
|
|
|
sm: { span: 3 }, |
|
|
|
}, |
|
|
|
}, |
|
|
|
wrapperCol2: { |
|
|
|
wrapperCol2: { |
|
|
|
xs: {span: 24}, |
|
|
|
xs: { span: 24 }, |
|
|
|
sm: {span: 20}, |
|
|
|
sm: { span: 20 }, |
|
|
|
}, |
|
|
|
}, |
|
|
|
labelCol3: { |
|
|
|
labelCol3: { |
|
|
|
xs: {span: 24}, |
|
|
|
xs: { span: 24 }, |
|
|
|
sm: {span: 7}, |
|
|
|
sm: { span: 7 }, |
|
|
|
}, |
|
|
|
}, |
|
|
|
wrapperCol3: { |
|
|
|
wrapperCol3: { |
|
|
|
xs: {span: 24}, |
|
|
|
xs: { span: 24 }, |
|
|
|
sm: {span: 15}, |
|
|
|
sm: { span: 15 }, |
|
|
|
}, |
|
|
|
}, |
|
|
|
confirmLoading: false, |
|
|
|
confirmLoading: false, |
|
|
|
validatorRules: { |
|
|
|
validatorRules: { |
|
|
|
taskName: [ |
|
|
|
taskName: [ |
|
|
|
{required: true, message: '请输入中文名称!'}, |
|
|
|
{ required: true, message: '请输入中文名称!' }, |
|
|
|
// {pattern: /^.{2,300}$/, message: '长度不在范围内!'}, |
|
|
|
// {pattern: /^.{2,300}$/, message: '长度不在范围内!'}, |
|
|
|
// {pattern: /^[0-9]{0,100}$/, message: '栏目排序不能为空且长度为正整数'} |
|
|
|
// {pattern: /^[0-9]{0,100}$/, message: '栏目排序不能为空且长度为正整数'} |
|
|
|
|
|
|
|
|
|
|
|
], |
|
|
|
], |
|
|
|
level: [ |
|
|
|
level: [ |
|
|
|
{required: true, message: '任务层级不能为空!'}, |
|
|
|
{ required: true, message: '任务层级不能为空!' }, |
|
|
|
], |
|
|
|
], |
|
|
|
typeId: [ |
|
|
|
typeId: [ |
|
|
|
{required: true, message: '任务类型不能为空!'}, |
|
|
|
{ required: true, message: '任务类型不能为空!' }, |
|
|
|
], |
|
|
|
], |
|
|
|
workLevel: [ |
|
|
|
workLevel: [ |
|
|
|
{required: true, message: '任务等级不能为空!'}, |
|
|
|
{ required: true, message: '任务等级不能为空!' }, |
|
|
|
], |
|
|
|
], |
|
|
|
workStatus: [ |
|
|
|
workStatus: [ |
|
|
|
{required: true, message: '任务状态不能为空!'}, |
|
|
|
{ required: true, message: '任务状态不能为空!' }, |
|
|
|
], |
|
|
|
], |
|
|
|
projectId: [ |
|
|
|
projectId: [ |
|
|
|
{required: true, message: '项目不能为空!'}, |
|
|
|
{ required: true, message: '项目不能为空!' }, |
|
|
|
], |
|
|
|
], |
|
|
|
managerUsers: [ |
|
|
|
managerUsers: [ |
|
|
|
{required: true, message: '责任人不能为空!'}, |
|
|
|
{ required: true, message: '责任人不能为空!' }, |
|
|
|
], |
|
|
|
], |
|
|
|
|
|
|
|
|
|
|
|
expectedDuration: [ |
|
|
|
expectedDuration: [ |
|
|
|
{required: true, message: '请输入预计任务时长!'}, |
|
|
|
{ required: true, message: '请输入预计任务时长!' }, |
|
|
|
{pattern: /^(([1-9][0-9]*)|([0]\.\d{0,2}|[1-9][0-9]*\.\d{0,2}))$/, message: '请输入正确的时长!'}, |
|
|
|
{ pattern: /^(([1-9][0-9]*)|([0]\.\d{0,2}|[1-9][0-9]*\.\d{0,2}))$/, message: '请输入正确的时长!' }, |
|
|
|
], |
|
|
|
], |
|
|
|
realDuration: [ |
|
|
|
realDuration: [ |
|
|
|
{required: false, message: '请输入实际任务时长!'}, |
|
|
|
{ required: false, message: '请输入实际任务时长!' }, |
|
|
|
{pattern: /^(([1-9][0-9]*)|([0]\.\d{0,2}|[1-9][0-9]*\.\d{0,2}))$/, message: '请输入正确的时长!'}, |
|
|
|
{ pattern: /^(([1-9][0-9]*)|([0]\.\d{0,2}|[1-9][0-9]*\.\d{0,2}))$/, message: '请输入正确的时长!' }, |
|
|
|
], |
|
|
|
], |
|
|
|
}, |
|
|
|
}, |
|
|
|
url: { |
|
|
|
url: { |
|
|
@ -326,7 +314,8 @@ export default { |
|
|
|
// queryTaskTypeById: "/taskType/taskType/queryById", |
|
|
|
// queryTaskTypeById: "/taskType/taskType/queryById", |
|
|
|
fillTaskName: "/task/task/fillTaskName", |
|
|
|
fillTaskName: "/task/task/fillTaskName", |
|
|
|
list: "/task/task/list", |
|
|
|
list: "/task/task/list", |
|
|
|
listtasktype: '/taskType/taskType/getTypeMap' |
|
|
|
listtasktype: '/taskType/taskType/getTypeMap', |
|
|
|
|
|
|
|
expectedDuration: '/task/task/estimateTime' |
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
@ -343,6 +332,15 @@ export default { |
|
|
|
this.tasktype() |
|
|
|
this.tasktype() |
|
|
|
}, |
|
|
|
}, |
|
|
|
methods: { |
|
|
|
methods: { |
|
|
|
|
|
|
|
expectedDuration() { |
|
|
|
|
|
|
|
let param = { |
|
|
|
|
|
|
|
startTime: this.model.startTime, |
|
|
|
|
|
|
|
expectedDuration: this.model.expectedDuration, |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
getAction(this.url. expectedDuration, param).then((res) => { |
|
|
|
|
|
|
|
this.model.expectedEndTime=res.result |
|
|
|
|
|
|
|
}) |
|
|
|
|
|
|
|
}, |
|
|
|
tasktype() { |
|
|
|
tasktype() { |
|
|
|
getAction(this.url.listtasktype).then((res) => { |
|
|
|
getAction(this.url.listtasktype).then((res) => { |
|
|
|
const data = res.result; |
|
|
|
const data = res.result; |
|
|
@ -353,9 +351,9 @@ export default { |
|
|
|
}) |
|
|
|
}) |
|
|
|
}) |
|
|
|
}) |
|
|
|
}, |
|
|
|
}, |
|
|
|
popupCallback(value,row){ |
|
|
|
popupCallback(value, row) { |
|
|
|
this.model = Object.assign(this.model, row); |
|
|
|
this.model = Object.assign(this.model, row); |
|
|
|
}, |
|
|
|
}, |
|
|
|
handleCheckChange(data, checked, tree) { |
|
|
|
handleCheckChange(data, checked, tree) { |
|
|
|
if (checked) { |
|
|
|
if (checked) { |
|
|
|
this.currentNodeData.id = data.id |
|
|
|
this.currentNodeData.id = data.id |
|
|
@ -369,7 +367,7 @@ export default { |
|
|
|
} |
|
|
|
} |
|
|
|
, |
|
|
|
, |
|
|
|
fillTaskName() { |
|
|
|
fillTaskName() { |
|
|
|
this.modulex = "modulex,module_name,id,project_id='"+this.model.projectId+"'"; |
|
|
|
this.modulex = "modulex,module_name,id,project_id='" + this.model.projectId + "'"; |
|
|
|
|
|
|
|
|
|
|
|
let that = this; |
|
|
|
let that = this; |
|
|
|
let fillTaskName = ""; |
|
|
|
let fillTaskName = ""; |
|
|
@ -396,8 +394,8 @@ export default { |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
, |
|
|
|
, |
|
|
|
fillLevelName(){ |
|
|
|
fillLevelName() { |
|
|
|
this.task = "task,task_name,id,level='"+this.model.level+"'"; |
|
|
|
this.task = "task,task_name,id,level='" + this.model.level + "'"; |
|
|
|
} |
|
|
|
} |
|
|
|
, |
|
|
|
, |
|
|
|
handleAdd3: function () { |
|
|
|
handleAdd3: function () { |
|
|
@ -411,24 +409,24 @@ export default { |
|
|
|
// this.$refs.modalForm1.title = "新增"; |
|
|
|
// this.$refs.modalForm1.title = "新增"; |
|
|
|
// this.$refs.modalForm1.disableSubmit = false; |
|
|
|
// this.$refs.modalForm1.disableSubmit = false; |
|
|
|
// }, |
|
|
|
// }, |
|
|
|
handleAdd1(moduleId){ |
|
|
|
handleAdd1(moduleId) { |
|
|
|
console.log(moduleId+"22222222222222") |
|
|
|
console.log(moduleId + "22222222222222") |
|
|
|
this.$refs.modalForm1.add1(moduleId) |
|
|
|
this.$refs.modalForm1.add1(moduleId) |
|
|
|
this.$refs.modalForm1.title = "新增"; |
|
|
|
this.$refs.modalForm1.title = "新增"; |
|
|
|
this.$refs.modalForm1.disableSubmit = false; |
|
|
|
this.$refs.modalForm1.disableSubmit = false; |
|
|
|
}, |
|
|
|
}, |
|
|
|
handleAdd2: function (functionId,moduleId) { |
|
|
|
handleAdd2: function (functionId, moduleId) { |
|
|
|
this.$refs.modalForm2.add1(functionId,moduleId); |
|
|
|
this.$refs.modalForm2.add1(functionId, moduleId); |
|
|
|
this.$refs.modalForm2.title = "新增"; |
|
|
|
this.$refs.modalForm2.title = "新增"; |
|
|
|
this.$refs.modalForm2.disableSubmit = false; |
|
|
|
this.$refs.modalForm2.disableSubmit = false; |
|
|
|
}, |
|
|
|
}, |
|
|
|
fillModuleName() { |
|
|
|
fillModuleName() { |
|
|
|
this.functionx = "functionx,function_name,id,module_id='"+this.model.moduleId+"'"; |
|
|
|
this.functionx = "functionx,function_name,id,module_id='" + this.model.moduleId + "'"; |
|
|
|
}, |
|
|
|
}, |
|
|
|
fillFunctionName(){ |
|
|
|
fillFunctionName() { |
|
|
|
this.rulex = "rulex,rule_no,id,function_id='"+this.model.functionId+"'"; |
|
|
|
this.rulex = "rulex,rule_no,id,function_id='" + this.model.functionId + "'"; |
|
|
|
}, |
|
|
|
}, |
|
|
|
// 获取当前日期的方法 |
|
|
|
// 获取当前日期的方法 |
|
|
|
getProjectNum() { |
|
|
|
getProjectNum() { |
|
|
|
const projectTime = new Date() // 当前中国标准时间 |
|
|
|
const projectTime = new Date() // 当前中国标准时间 |
|
|
|
const Year = projectTime.getFullYear() // 获取当前年份 支持IE和火狐浏览器. |
|
|
|
const Year = projectTime.getFullYear() // 获取当前年份 支持IE和火狐浏览器. |
|
|
@ -499,17 +497,18 @@ export default { |
|
|
|
} |
|
|
|
} |
|
|
|
</script> |
|
|
|
</script> |
|
|
|
<style lang="less" scoped> |
|
|
|
<style lang="less" scoped> |
|
|
|
.a{ |
|
|
|
.a { |
|
|
|
display: flex; |
|
|
|
display: flex; |
|
|
|
flex-direction: row; |
|
|
|
flex-direction: row; |
|
|
|
flex-wrap:wrap; |
|
|
|
flex-wrap: wrap; |
|
|
|
align-items: baseline; |
|
|
|
align-items: baseline; |
|
|
|
} |
|
|
|
} |
|
|
|
.B{ |
|
|
|
|
|
|
|
|
|
|
|
.B { |
|
|
|
width: 10%; |
|
|
|
width: 10%; |
|
|
|
} |
|
|
|
} |
|
|
|
::v-deep .ant-radio-group{ |
|
|
|
|
|
|
|
|
|
|
|
::v-deep .ant-radio-group { |
|
|
|
width: 85%; |
|
|
|
width: 85%; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
</style> |
|
|
|
</style> |
|
|
|