|
|
@@ -1,187 +1,164 @@
|
|
|
<template>
|
|
|
<div class="app-container">
|
|
|
- <el-form :model="queryParams" ref="queryForm" size="mini" :inline="true">
|
|
|
- <el-form-item label="所属项目" prop="projectId">
|
|
|
- <el-select
|
|
|
- v-model="queryParams.projectId"
|
|
|
- clearable
|
|
|
- style="width: 200px">
|
|
|
- <el-option v-for="item in projectList" :key="item.id" :label="item.projectName" :value="item.id"/>
|
|
|
- </el-select>
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="月份选择" prop="month">
|
|
|
- <el-date-picker
|
|
|
- v-model="queryParams.month"
|
|
|
- type="month"
|
|
|
- value-format="yyyy-MM"
|
|
|
- placeholder="选择月份"
|
|
|
- :clearable="false"
|
|
|
- style="width: 200px">
|
|
|
- </el-date-picker>
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="状态" prop="status">
|
|
|
- <el-select
|
|
|
- v-model="queryParams.status"
|
|
|
- placeholder="项目状态"
|
|
|
- style="width: 200px">
|
|
|
- <el-option label="全部" value="0"/>
|
|
|
- <el-option label="未开始" value="1"/>
|
|
|
- <el-option label="进行中" value="2"/>
|
|
|
- <el-option label="延期" value="3"/>
|
|
|
- <el-option label="完成" value="4"/>
|
|
|
- <el-option label="终止" value="5"/>
|
|
|
- </el-select>
|
|
|
- </el-form-item>
|
|
|
- <el-form-item>
|
|
|
- <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
|
|
|
- <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
|
|
|
- </el-form-item>
|
|
|
- </el-form>
|
|
|
-
|
|
|
- <el-row :gutter="10" style="margin-bottom:8px">
|
|
|
- <el-col :span="1.5">
|
|
|
- <el-button
|
|
|
- type="primary"
|
|
|
- plain
|
|
|
- icon="el-icon-plus"
|
|
|
- size="mini"
|
|
|
- @click="handleAdd"
|
|
|
- v-hasPermi="['task:task:add']"
|
|
|
- >新增
|
|
|
- </el-button>
|
|
|
+ <el-row :gutter="20">
|
|
|
+ <el-col :span="5" :xs="24">
|
|
|
+ <project @selectProject="selectProject"></project>
|
|
|
</el-col>
|
|
|
- </el-row>
|
|
|
+ <el-col :span="19" :xs="24">
|
|
|
+ <el-form :model="queryParams" ref="queryForm" size="mini" :inline="true">
|
|
|
+ <el-form-item label="任务名称" prop="taskName">
|
|
|
+ <el-input v-model="queryParams.taskName"></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="月份选择" prop="month">
|
|
|
+ <el-date-picker
|
|
|
+ v-model="queryParams.month"
|
|
|
+ type="daterange"
|
|
|
+ value-format="yyyy-MM-dd"
|
|
|
+ range-separator="至"
|
|
|
+ start-placeholder="开始日期"
|
|
|
+ end-placeholder="结束日期"
|
|
|
+ :clearable="false"
|
|
|
+ style="width: 220px">
|
|
|
+ </el-date-picker>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="状态" prop="status">
|
|
|
+ <el-select
|
|
|
+ v-model="queryParams.status"
|
|
|
+ placeholder="项目状态"
|
|
|
+ style="width: 200px">
|
|
|
+ <el-option label="全部" value="0"/>
|
|
|
+ <el-option label="未开始" value="1"/>
|
|
|
+ <el-option label="进行中" value="2"/>
|
|
|
+ <el-option label="延期" value="3"/>
|
|
|
+ <el-option label="完成" value="4"/>
|
|
|
+ <el-option label="终止" value="5"/>
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item>
|
|
|
+ <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
|
|
|
+ <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
|
|
|
+ </el-form-item>
|
|
|
+ </el-form>
|
|
|
|
|
|
- <el-table :data="taskList"
|
|
|
- @row-click="rowClick"
|
|
|
- border
|
|
|
- stripe
|
|
|
- size="mini">
|
|
|
- <el-table-column label="任务编号" prop="id" width="80"/>
|
|
|
- <el-table-column label="任务名称" prop="taskName" :show-overflow-tooltip="true"/>
|
|
|
- <el-table-column label="任务类型" prop="taskType" width="80">
|
|
|
- <template slot-scope="scope">
|
|
|
- <span v-if="scope.row.taskType==1">软件开发</span>
|
|
|
- <span v-if="scope.row.taskType==2">硬件开发</span>
|
|
|
- <span v-if="scope.row.taskType==3">测试</span>
|
|
|
- <span v-if="scope.row.taskType==4">实施</span>
|
|
|
- <span v-if="scope.row.taskType==5">日常事务</span>
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- <el-table-column label="所属项目" prop="projectName" :show-overflow-tooltip="true"/>
|
|
|
- <el-table-column label="执行人" prop="executorName" width="80"/>
|
|
|
- <el-table-column label="进度" prop="progressValue" width="70">
|
|
|
- <template slot-scope="scope">
|
|
|
- <span>{{ (scope.row.progressValue ? scope.row.progressValue : 0) + '%' }}</span>
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- <el-table-column label="状态" width="80">
|
|
|
- <template slot-scope="scope">
|
|
|
- <el-tag size="mini" :type="statusMap[scope.row.status].type">{{ statusMap[scope.row.status].name }}</el-tag>
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- <el-table-column label="任务起止时间" width="170">
|
|
|
- <template slot-scope="scope">
|
|
|
- <span>{{ scope.row.beginDate + ' 至 ' + scope.row.endDate }}</span>
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
+ <el-row :gutter="10" style="margin-bottom:8px">
|
|
|
+ <el-col :span="1.5">
|
|
|
+ <el-button
|
|
|
+ type="primary"
|
|
|
+ plain
|
|
|
+ icon="el-icon-plus"
|
|
|
+ size="mini"
|
|
|
+ @click="handleAdd"
|
|
|
+ v-hasPermi="['task:task:add']"
|
|
|
+ >新增任务
|
|
|
+ </el-button>
|
|
|
+ </el-col>
|
|
|
+ </el-row>
|
|
|
|
|
|
- <el-table-column label="创建时间" prop="createTime" width="120">
|
|
|
- <template slot-scope="scope">
|
|
|
- <span>{{ parseTime(scope.row.createTime) }}</span>
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- <el-table-column label="操作" width="210">
|
|
|
- <template slot-scope="scope">
|
|
|
- <el-button
|
|
|
- size="mini"
|
|
|
- type="text"
|
|
|
- icon="el-icon-edit"
|
|
|
- @click="handleAudit(scope.row)"
|
|
|
- :disabled="scope.row.progressValue!=100||(scope.row.status!='2'&&scope.row.status!='3')"
|
|
|
- v-hasPermi="['task:task:audit']"
|
|
|
- >审核
|
|
|
- </el-button>
|
|
|
- <el-button
|
|
|
- size="mini"
|
|
|
- type="text"
|
|
|
- icon="el-icon-edit"
|
|
|
- @click="handleSplit(scope.row)"
|
|
|
- v-hasPermi="['task:task:split']"
|
|
|
- >分解
|
|
|
- </el-button>
|
|
|
- <el-button
|
|
|
- size="mini"
|
|
|
- type="text"
|
|
|
- icon="el-icon-edit"
|
|
|
- @click="handleUpdate(scope.row)"
|
|
|
- v-hasPermi="['task:task:edit']"
|
|
|
- >终止
|
|
|
- </el-button>
|
|
|
- <el-button
|
|
|
- size="mini"
|
|
|
- type="text"
|
|
|
- icon="el-icon-delete"
|
|
|
- @click="handleDelete(scope.row)"
|
|
|
- v-hasPermi="['task:task:delete']"
|
|
|
- >删除
|
|
|
- </el-button>
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- </el-table>
|
|
|
+ <el-table :data="taskList"
|
|
|
+ @row-click="rowClick"
|
|
|
+ size="mini">
|
|
|
+ <el-table-column label="任务编号" prop="id" width="80"/>
|
|
|
+ <el-table-column label="任务名称" prop="taskName" min-width="150" :show-overflow-tooltip="true"/>
|
|
|
+ <!-- <el-table-column label="任务类型" prop="taskType" width="80">-->
|
|
|
+ <!-- <template slot-scope="scope">-->
|
|
|
+ <!-- <span v-if="scope.row.taskType==1">软件开发</span>-->
|
|
|
+ <!-- <span v-if="scope.row.taskType==2">硬件开发</span>-->
|
|
|
+ <!-- <span v-if="scope.row.taskType==3">测试</span>-->
|
|
|
+ <!-- <span v-if="scope.row.taskType==4">实施</span>-->
|
|
|
+ <!-- <span v-if="scope.row.taskType==5">日常事务</span>-->
|
|
|
+ <!-- </template>-->
|
|
|
+ <!-- </el-table-column>-->
|
|
|
+ <!-- <el-table-column label="所属项目" prop="projectName" :show-overflow-tooltip="true"/>-->
|
|
|
+ <el-table-column label="执行人" prop="executorName"/>
|
|
|
+ <el-table-column label="进度" prop="progressValue">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <span>{{ (scope.row.progressValue ? scope.row.progressValue : 0) + '%' }}</span>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column label="状态" width="80">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <el-tag size="mini" :type="statusMap[scope.row.status].type">{{
|
|
|
+ statusMap[scope.row.status].name
|
|
|
+ }}
|
|
|
+ </el-tag>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column label="任务起止时间" width="170">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <span>{{ scope.row.beginDate + ' 至 ' + scope.row.endDate }}</span>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+
|
|
|
+ <el-table-column label="创建时间" prop="createTime" width="120">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <span>{{ parseTime(scope.row.createTime) }}</span>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column label="操作" width="210">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <el-button
|
|
|
+ size="mini"
|
|
|
+ type="text"
|
|
|
+ icon="el-icon-edit"
|
|
|
+ @click="handleAudit(scope.row)"
|
|
|
+ :disabled="scope.row.progressValue!=100||(scope.row.status!='2'&&scope.row.status!='3')"
|
|
|
+ v-hasPermi="['task:task:audit']"
|
|
|
+ >审核
|
|
|
+ </el-button>
|
|
|
+ <el-button
|
|
|
+ size="mini"
|
|
|
+ type="text"
|
|
|
+ icon="el-icon-edit"
|
|
|
+ @click="handleSplit(scope.row)"
|
|
|
+ v-hasPermi="['task:task:split']"
|
|
|
+ >分解
|
|
|
+ </el-button>
|
|
|
+ <el-button
|
|
|
+ size="mini"
|
|
|
+ type="text"
|
|
|
+ icon="el-icon-edit"
|
|
|
+ @click="handleUpdate(scope.row)"
|
|
|
+ v-hasPermi="['task:task:edit']"
|
|
|
+ >终止
|
|
|
+ </el-button>
|
|
|
+ <el-button
|
|
|
+ size="mini"
|
|
|
+ type="text"
|
|
|
+ icon="el-icon-delete"
|
|
|
+ @click="handleDelete(scope.row)"
|
|
|
+ v-hasPermi="['task:task:delete']"
|
|
|
+ >删除
|
|
|
+ </el-button>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ </el-table>
|
|
|
+
|
|
|
+ <div style="margin-top: 10px;text-align: center">
|
|
|
+ <el-pagination
|
|
|
+ background
|
|
|
+ @size-change="handleSizeChange"
|
|
|
+ @current-change="handleCurrentChange"
|
|
|
+ :current-page="queryParams.pageNum"
|
|
|
+ :page-sizes="[10, 20, 50]"
|
|
|
+ :page-size="queryParams.pageSize"
|
|
|
+ layout="total, sizes, prev, pager, next, jumper"
|
|
|
+ :total="total">
|
|
|
+ </el-pagination>
|
|
|
+ </div>
|
|
|
+ </el-col>
|
|
|
+ </el-row>
|
|
|
|
|
|
- <div style="margin-top: 10px;text-align: center">
|
|
|
- <el-pagination
|
|
|
- background
|
|
|
- @size-change="handleSizeChange"
|
|
|
- @current-change="handleCurrentChange"
|
|
|
- :current-page="queryParams.pageNum"
|
|
|
- :page-sizes="[10, 20, 50]"
|
|
|
- :page-size="queryParams.pageSize"
|
|
|
- layout="total, sizes, prev, pager, next, jumper"
|
|
|
- :total="total">
|
|
|
- </el-pagination>
|
|
|
- </div>
|
|
|
|
|
|
<!-- 添加或修改任务配置对话框 -->
|
|
|
- <el-dialog :title="title" :visible.sync="open" width="500px" append-to-body :close-on-click-modal="false">
|
|
|
+ <el-dialog :title="title" :visible.sync="open" width="490px" append-to-body :close-on-click-modal="false">
|
|
|
<el-form ref="form" :model="form" :rules="rules" size="mini" label-width="100px">
|
|
|
<el-form-item label="任务名称" prop="taskName">
|
|
|
<el-input v-model="form.taskName" placeholder="请输入任务名称"/>
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="任务类型" prop="taskType">
|
|
|
- <el-radio-group v-model="form.taskType">
|
|
|
- <el-radio-button label="1">软件开发</el-radio-button>
|
|
|
- <el-radio-button label="2">硬件开发</el-radio-button>
|
|
|
- <el-radio-button label="3">测试</el-radio-button>
|
|
|
- <el-radio-button label="4">实施</el-radio-button>
|
|
|
- <el-radio-button label="5">日常事务</el-radio-button>
|
|
|
- </el-radio-group>
|
|
|
+ <el-form-item label="所属项目" prop="projectId" class="mini-treeselect">
|
|
|
+ <treeselect v-model="form.projectId" :options="projectOptions" :normalizer="normalizer"
|
|
|
+ placeholder="请选择"/>
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="所属项目" prop="projectId">
|
|
|
- <el-select
|
|
|
- v-model="form.projectId"
|
|
|
- clearable
|
|
|
- style="width: 240px">
|
|
|
- <el-option v-for="item in projectList" :key="item.id" :label="item.projectName" :value="item.id"/>
|
|
|
- </el-select>
|
|
|
- </el-form-item>
|
|
|
- <el-row :gutter="10" v-if="form.taskType==='4'">
|
|
|
- <el-col :span="12">
|
|
|
- <el-form-item label="实施医院">
|
|
|
- <el-select clearable filterable v-model="form.hname" placeholder="请选择医院">
|
|
|
- <el-option v-for="(item,index) in hnos" :label="item.dictLabel" :value="item.dictValue"></el-option>
|
|
|
- </el-select>
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- <el-col :span="12">
|
|
|
- <el-form-item label="实施系统">
|
|
|
- <el-select clearable filterable v-model="form.hsytem" placeholder="请选择医院">
|
|
|
- <el-option v-for="(item,indexw) in hsytem" :label="item.dictLabel" :value="item.dictValue"></el-option>
|
|
|
- </el-select>
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- </el-row>
|
|
|
<el-form-item label="起止时间" prop="rangeDate">
|
|
|
<el-date-picker
|
|
|
v-model="form.rangeDate"
|
|
|
@@ -211,8 +188,8 @@
|
|
|
</el-form-item>
|
|
|
</el-form>
|
|
|
<div slot="footer" class="dialog-footer">
|
|
|
- <el-button type="primary" size="small" @click="submitForm">确 定</el-button>
|
|
|
- <el-button size="small" @click="cancel">取 消</el-button>
|
|
|
+ <el-button type="primary" size="mini" @click="submitForm">确 定</el-button>
|
|
|
+ <el-button size="mini" @click="cancel">取 消</el-button>
|
|
|
</div>
|
|
|
</el-dialog>
|
|
|
|
|
|
@@ -234,8 +211,8 @@
|
|
|
</el-form>
|
|
|
</div>
|
|
|
<div v-if="detailTitle=='审核任务'" slot="footer" class="dialog-footer">
|
|
|
- <el-button type="primary" size="small" @click="submitAudit">确 定</el-button>
|
|
|
- <el-button size="small" @click="detailCancel">取 消</el-button>
|
|
|
+ <el-button type="primary" size="mini" @click="submitAudit">确 定</el-button>
|
|
|
+ <el-button size="mini" @click="detailCancel">取 消</el-button>
|
|
|
</div>
|
|
|
</el-dialog>
|
|
|
|
|
|
@@ -252,13 +229,15 @@
|
|
|
</el-form-item>
|
|
|
<el-card shadow="always" v-for="(child,index) in splitForm.children" :key="index">
|
|
|
<div slot="header" class="clearfix">
|
|
|
- <span>子任务{{ index + 1 }}</span>
|
|
|
- <el-button type="text" icon="el-icon-delete" @click="delChild(index)"
|
|
|
- style="float: right;color: red; padding: 3px 0"></el-button>
|
|
|
+ <div class="card-header">
|
|
|
+ <div style="margin-top: 5px">子任务{{ index + 1 }}</div>
|
|
|
+ <el-button type="text" icon="el-icon-delete" @click="delChild(index)"
|
|
|
+ style="float: right;color: red; padding: 3px 0"></el-button>
|
|
|
+ </div>
|
|
|
</div>
|
|
|
<el-form ref="splitChild" :model="child" :rules="rules" size="mini" label-width="80px">
|
|
|
<el-form-item label="任务名称" prop="taskName">
|
|
|
- <el-input v-model="child.taskName" size="small" style="width: 350px"/>
|
|
|
+ <el-input v-model="child.taskName" style="width: 350px"/>
|
|
|
</el-form-item>
|
|
|
<el-form-item label="执行人" prop="executor">
|
|
|
<el-cascader
|
|
|
@@ -273,7 +252,6 @@
|
|
|
<el-date-picker
|
|
|
v-model="child.rangeDate"
|
|
|
type="daterange"
|
|
|
- size="small"
|
|
|
value-format="yyyy-MM-dd"
|
|
|
range-separator="至"
|
|
|
start-placeholder="开始日期"
|
|
|
@@ -284,8 +262,8 @@
|
|
|
</el-card>
|
|
|
</el-form>
|
|
|
<div slot="footer" class="dialog-footer">
|
|
|
- <el-button type="primary" size="small" @click="submitSplit">确 定</el-button>
|
|
|
- <el-button size="small" @click="splitCancel">取 消</el-button>
|
|
|
+ <el-button type="primary" size="mini" @click="submitSplit">确 定</el-button>
|
|
|
+ <el-button size="mini" @click="splitCancel">取 消</el-button>
|
|
|
</div>
|
|
|
</el-dialog>
|
|
|
|
|
|
@@ -302,13 +280,15 @@ import {
|
|
|
auditTask,
|
|
|
splitTask
|
|
|
} from "@/api/task/task";
|
|
|
-import {getProjectList} from "@/api/task/project";
|
|
|
+import {getProjectList, listProject} from "@/api/task/project";
|
|
|
import {getDeptUserTree} from "@/api/system/user";
|
|
|
-import {getHosInfos, getHsystems} from '@/api/meeting/enforce'
|
|
|
import DateUtil from "@/utils/date"
|
|
|
import TaskDetail from "./components/taskDetail"
|
|
|
import DeptUserTree from "@/components/DeptUserTree"
|
|
|
import FileUpload from "@/components/FileUpload"
|
|
|
+import Project from "@/views/task/components/project";
|
|
|
+import Treeselect from "@riophae/vue-treeselect";
|
|
|
+import "@riophae/vue-treeselect/dist/vue-treeselect.css";
|
|
|
|
|
|
const statusMap = {
|
|
|
'0': {name: '待查看', type: 'info'},
|
|
|
@@ -320,11 +300,10 @@ const statusMap = {
|
|
|
}
|
|
|
export default {
|
|
|
name: "Task",
|
|
|
- components: {TaskDetail, DeptUserTree, FileUpload},
|
|
|
+ components: {Project, TaskDetail, DeptUserTree, FileUpload, Treeselect},
|
|
|
data() {
|
|
|
return {
|
|
|
- categoryList: [],
|
|
|
- projectList: [],
|
|
|
+ projectOptions: [],
|
|
|
userList: [],
|
|
|
// 总条数
|
|
|
total: 0,
|
|
|
@@ -339,7 +318,7 @@ export default {
|
|
|
queryParams: {
|
|
|
pageNum: 1,
|
|
|
pageSize: 10,
|
|
|
- categoryId: undefined,
|
|
|
+ taskName: undefined,
|
|
|
projectId: undefined,
|
|
|
month: DateUtil.month(),
|
|
|
status: '0'
|
|
|
@@ -382,15 +361,20 @@ export default {
|
|
|
methods: {
|
|
|
/** 查询项目列表 */
|
|
|
getList() {
|
|
|
- getProjectList("").then(res => {
|
|
|
- this.projectList = res.data;
|
|
|
- })
|
|
|
+ if (this.queryParams.month && this.queryParams.month.length === 2) {
|
|
|
+ this.queryParams.startDate = this.queryParams.month[0]
|
|
|
+ this.queryParams.endDate = this.queryParams.month[1]
|
|
|
+ }
|
|
|
listTask(this.queryParams).then(res => {
|
|
|
this.taskList = res.data.records;
|
|
|
this.total = res.data.total;
|
|
|
}
|
|
|
);
|
|
|
},
|
|
|
+ selectProject(data) {
|
|
|
+ this.queryParams.projectId = data;
|
|
|
+ this.handleQuery()
|
|
|
+ },
|
|
|
/** 搜索按钮操作 */
|
|
|
handleQuery() {
|
|
|
this.queryParams.pageNum = 1;
|
|
|
@@ -449,20 +433,29 @@ export default {
|
|
|
this.detailTitle = "任务详情";
|
|
|
})
|
|
|
},
|
|
|
+ /** 转换项目数据结构 */
|
|
|
+ normalizer(node) {
|
|
|
+ if (node.children && !node.children.length) {
|
|
|
+ delete node.children;
|
|
|
+ }
|
|
|
+ return {
|
|
|
+ id: node.id,
|
|
|
+ label: node.projectName,
|
|
|
+ children: node.children
|
|
|
+ };
|
|
|
+ },
|
|
|
+
|
|
|
/** 新增按钮操作 */
|
|
|
handleAdd() {
|
|
|
getDeptUserTree('').then(res => {
|
|
|
this.userList = res.data
|
|
|
})
|
|
|
- getHosInfos().then(res => {
|
|
|
- this.hnos = res.data
|
|
|
- })
|
|
|
- getHsystems().then(res => {
|
|
|
- this.hsytem = res.data
|
|
|
- })
|
|
|
this.reset();
|
|
|
this.open = true;
|
|
|
this.title = "添加项目";
|
|
|
+ listProject().then(response => {
|
|
|
+ this.projectOptions = this.handleTree(response.data, "id");
|
|
|
+ });
|
|
|
},
|
|
|
selectExecutor(val, form, index) {
|
|
|
if (form === 'splitForm') {
|
|
|
@@ -609,4 +602,19 @@ export default {
|
|
|
margin-bottom: 10px;
|
|
|
}
|
|
|
|
|
|
+.mini-treeselect {
|
|
|
+ ::v-deep.vue-treeselect__control {
|
|
|
+ height: 28px;
|
|
|
+ }
|
|
|
+
|
|
|
+ ::v-deep.vue-treeselect__placeholder, .vue-treeselect__single-value {
|
|
|
+ padding-left: 10px;
|
|
|
+ line-height: 28px;
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+.card-header {
|
|
|
+ display: flex;
|
|
|
+ justify-content: space-between
|
|
|
+}
|
|
|
</style>
|