|
@@ -1,8 +1,138 @@
|
|
|
<template>
|
|
|
<div class="app-container">
|
|
|
- <el-row :gutter="10" class="mb8">
|
|
|
- <el-col :span="1.5">
|
|
|
- <el-button
|
|
|
+ <!-- <el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="68px">
|
|
|
+ <el-form-item label="计划名称" prop="planName">
|
|
|
+ <el-input
|
|
|
+ v-model="queryParams.planName"
|
|
|
+ placeholder="请输入计划名称"
|
|
|
+ clearable
|
|
|
+ size="small"
|
|
|
+ @keyup.enter.native="handleQuery"
|
|
|
+ />
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="计划开始时间" prop="planStartTime">
|
|
|
+ <el-date-picker clearable size="small"
|
|
|
+ v-model="queryParams.planStartTime"
|
|
|
+ type="date"
|
|
|
+ value-format="yyyy-MM-dd"
|
|
|
+ placeholder="选择计划开始时间">
|
|
|
+ </el-date-picker>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="计划结束时间" prop="planEndTime">
|
|
|
+ <el-date-picker clearable size="small"
|
|
|
+ v-model="queryParams.planEndTime"
|
|
|
+ type="date"
|
|
|
+ value-format="yyyy-MM-dd"
|
|
|
+ placeholder="选择计划结束时间">
|
|
|
+ </el-date-picker>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="计划简介" prop="planIntroduction">
|
|
|
+ <el-input
|
|
|
+ v-model="queryParams.planIntroduction"
|
|
|
+ placeholder="请输入计划简介"
|
|
|
+ clearable
|
|
|
+ size="small"
|
|
|
+ @keyup.enter.native="handleQuery"
|
|
|
+ />
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="文件路径" prop="filePath">
|
|
|
+ <el-input
|
|
|
+ v-model="queryParams.filePath"
|
|
|
+ placeholder="请输入文件路径"
|
|
|
+ clearable
|
|
|
+ size="small"
|
|
|
+ @keyup.enter.native="handleQuery"
|
|
|
+ />
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="文件名称" prop="fileName">
|
|
|
+ <el-input
|
|
|
+ v-model="queryParams.fileName"
|
|
|
+ placeholder="请输入文件名称"
|
|
|
+ clearable
|
|
|
+ size="small"
|
|
|
+ @keyup.enter.native="handleQuery"
|
|
|
+ />
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="创建人" prop="createName">
|
|
|
+ <el-input
|
|
|
+ v-model="queryParams.createName"
|
|
|
+ placeholder="请输入创建人"
|
|
|
+ clearable
|
|
|
+ size="small"
|
|
|
+ @keyup.enter.native="handleQuery"
|
|
|
+ />
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="创建人id" prop="createId">
|
|
|
+ <el-input
|
|
|
+ v-model="queryParams.createId"
|
|
|
+ placeholder="请输入创建人id"
|
|
|
+ clearable
|
|
|
+ size="small"
|
|
|
+ @keyup.enter.native="handleQuery"
|
|
|
+ />
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="需响应计划数" prop="planNumber">
|
|
|
+ <el-input
|
|
|
+ v-model="queryParams.planNumber"
|
|
|
+ placeholder="请输入需响应计划数"
|
|
|
+ clearable
|
|
|
+ size="small"
|
|
|
+ @keyup.enter.native="handleQuery"
|
|
|
+ />
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="已响应计划数" prop="responseNumber">
|
|
|
+ <el-input
|
|
|
+ v-model="queryParams.responseNumber"
|
|
|
+ placeholder="请输入已响应计划数"
|
|
|
+ clearable
|
|
|
+ size="small"
|
|
|
+ @keyup.enter.native="handleQuery"
|
|
|
+ />
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="单位id" prop="unitId">
|
|
|
+ <el-input
|
|
|
+ v-model="queryParams.unitId"
|
|
|
+ placeholder="请输入单位id"
|
|
|
+ clearable
|
|
|
+ size="small"
|
|
|
+ @keyup.enter.native="handleQuery"
|
|
|
+ />
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="计划状态(0进行中,1已完成,2已审批,3已驳回)" prop="state">
|
|
|
+ <el-input
|
|
|
+ v-model="queryParams.state"
|
|
|
+ placeholder="请输入计划状态(0进行中,1已完成,2已审批,3已驳回)"
|
|
|
+ clearable
|
|
|
+ size="small"
|
|
|
+ @keyup.enter.native="handleQuery"
|
|
|
+ />
|
|
|
+ </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="20">
|
|
|
+ <el-col :span="4" :xs="24">
|
|
|
+ <div class="dadui">
|
|
|
+ <img src="../../../images/星星.png" alt />
|
|
|
+ 大队
|
|
|
+ </div>
|
|
|
+ <div class="tree">
|
|
|
+ <el-tree
|
|
|
+ class="userAgrees"
|
|
|
+ style="height: calc(100vh - 170px); overflow: auto"
|
|
|
+ :data="deptOptions"
|
|
|
+ :props="defaultProps"
|
|
|
+ @node-click="handleNodeClick"
|
|
|
+ default-expand-all
|
|
|
+ highlight-current
|
|
|
+ :expand-on-click-node="false"
|
|
|
+ ></el-tree>
|
|
|
+ </div>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="1.5" class="mb8">
|
|
|
+ <!-- <el-button
|
|
|
type="primary"
|
|
|
plain
|
|
|
icon="el-icon-plus"
|
|
@@ -10,10 +140,10 @@
|
|
|
@click="handleAdd"
|
|
|
v-hasPermi="['thought:thoughtPlan:add']"
|
|
|
>新增</el-button
|
|
|
- >
|
|
|
+ > -->
|
|
|
</el-col>
|
|
|
<el-col :span="1.5">
|
|
|
- <el-button
|
|
|
+ <!-- <el-button
|
|
|
type="success"
|
|
|
plain
|
|
|
icon="el-icon-edit"
|
|
@@ -22,10 +152,10 @@
|
|
|
@click="handleUpdate"
|
|
|
v-hasPermi="['thought:thoughtPlan:edit']"
|
|
|
>修改</el-button
|
|
|
- >
|
|
|
+ > -->
|
|
|
</el-col>
|
|
|
<el-col :span="1.5">
|
|
|
- <el-button
|
|
|
+ <!-- <el-button
|
|
|
type="danger"
|
|
|
plain
|
|
|
icon="el-icon-delete"
|
|
@@ -34,10 +164,10 @@
|
|
|
@click="handleDelete"
|
|
|
v-hasPermi="['thought:thoughtPlan:remove']"
|
|
|
>删除</el-button
|
|
|
- >
|
|
|
+ > -->
|
|
|
</el-col>
|
|
|
<el-col :span="1.5">
|
|
|
- <el-button
|
|
|
+ <!-- <el-button
|
|
|
type="warning"
|
|
|
plain
|
|
|
icon="el-icon-download"
|
|
@@ -46,137 +176,135 @@
|
|
|
@click="handleExport"
|
|
|
v-hasPermi="['thought:thoughtPlan:export']"
|
|
|
>导出</el-button
|
|
|
- >
|
|
|
+ > -->
|
|
|
</el-col>
|
|
|
- </el-row>
|
|
|
-
|
|
|
- <el-table
|
|
|
- v-loading="loading"
|
|
|
- :header-cell-style="{ background: '#003C69', color: 'white' }"
|
|
|
- :data="thoughtPlanList"
|
|
|
- @selection-change="handleSelectionChange"
|
|
|
- >
|
|
|
- <el-table-column type="selection" width="55" align="center" />
|
|
|
- <el-table-column label="序号" align="center" type="index" />
|
|
|
- <!-- <el-table-column label="主键id" align="center" prop="id" /> -->
|
|
|
- <el-table-column
|
|
|
- label="计划名称"
|
|
|
- align="center"
|
|
|
- prop="planName"
|
|
|
- width="120"
|
|
|
- />
|
|
|
- <el-table-column
|
|
|
- label="计划简介"
|
|
|
- align="center"
|
|
|
- prop="planIntroduction"
|
|
|
- width="150"
|
|
|
- />
|
|
|
- <el-table-column
|
|
|
- label="计划开始时间"
|
|
|
- align="center"
|
|
|
- prop="planStartTime"
|
|
|
- width="150"
|
|
|
- >
|
|
|
- <template slot-scope="scope">
|
|
|
- <span>{{ parseTime(scope.row.planStartTime, "{y}-{m}-{d}") }}</span>
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- <el-table-column
|
|
|
- label="计划结束时间"
|
|
|
- align="center"
|
|
|
- prop="planEndTime"
|
|
|
- width="150"
|
|
|
- >
|
|
|
- <template slot-scope="scope">
|
|
|
- <span>{{ parseTime(scope.row.planEndTime, "{y}-{m}-{d}") }}</span>
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- <el-table-column label="计划个数" align="center" prop="planNumber" />
|
|
|
- <el-table-column
|
|
|
- label="需响应计划数"
|
|
|
- align="center"
|
|
|
- prop="planNumber"
|
|
|
- width="120"
|
|
|
- />
|
|
|
- <el-table-column
|
|
|
- label="已响应计划数"
|
|
|
- align="center"
|
|
|
- prop="responseNumber"
|
|
|
- width="120"
|
|
|
- />
|
|
|
- <el-table-column label="计划状态" align="center" prop="state">
|
|
|
- <template slot-scope="scope">
|
|
|
- <span v-if="scope.row.state == '0'" style="color: #00eaff"
|
|
|
- >未响应</span
|
|
|
- >
|
|
|
- <span v-if="scope.row.state == '1'" style="color: #13ce66"
|
|
|
- >已完成</span
|
|
|
- >
|
|
|
- <span v-if="scope.row.state == '2'" style="color: #ffba00"
|
|
|
- >已审批</span
|
|
|
- >
|
|
|
- <span
|
|
|
- v-if="scope.row.state == '3'"
|
|
|
- style="color: #ff4949"
|
|
|
- :title="scope.row.reasons"
|
|
|
- >已驳回</span
|
|
|
+ <!-- </el-row> -->
|
|
|
+ <el-col :span="20" :xs="24">
|
|
|
+ <el-table
|
|
|
+ v-loading="loading"
|
|
|
+ :header-cell-style="{ background: '#003C69', color: 'white' }"
|
|
|
+ :data="thoughtPlanList"
|
|
|
+ max-width="10"
|
|
|
+ @selection-change="handleSelectionChange"
|
|
|
+ >
|
|
|
+ <el-table-column type="selection" width="55" align="center" />
|
|
|
+ <el-table-column label="序号" align="center" type="index" />
|
|
|
+ <!-- <el-table-column label="主键id" align="center" prop="id" /> -->
|
|
|
+ <el-table-column label="计划名称" align="center" prop="planName" />
|
|
|
+ <el-table-column
|
|
|
+ label="计划简介"
|
|
|
+ align="center"
|
|
|
+ prop="planIntroduction"
|
|
|
+ show-overflow-tooltip
|
|
|
+ />
|
|
|
+ <el-table-column
|
|
|
+ label="计划开始时间"
|
|
|
+ align="center"
|
|
|
+ prop="planStartTime"
|
|
|
+ width="120"
|
|
|
>
|
|
|
- <span v-if="scope.row.state == '4'" style="color: #00eaff"
|
|
|
- >进行中</span
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <span>{{
|
|
|
+ parseTime(scope.row.planStartTime, "{y}-{m}-{d}")
|
|
|
+ }}</span>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column
|
|
|
+ label="计划结束时间"
|
|
|
+ align="center"
|
|
|
+ prop="planEndTime"
|
|
|
+ width="120"
|
|
|
>
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- <el-table-column
|
|
|
- label="创建时间"
|
|
|
- align="center"
|
|
|
- prop="createTime"
|
|
|
- width="120"
|
|
|
- >
|
|
|
- <template slot-scope="scope">
|
|
|
- <span>{{ parseTime(scope.row.createTime, "{y}-{m}-{d}") }}</span>
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- <el-table-column
|
|
|
- width="200"
|
|
|
- label="操作"
|
|
|
- align="center"
|
|
|
- class-name="small-padding fixed-width"
|
|
|
- fixed="right"
|
|
|
- >
|
|
|
- <template slot-scope="scope">
|
|
|
- <el-button
|
|
|
- v-if="scope.row.state == '1'"
|
|
|
- size="btc"
|
|
|
- type="text"
|
|
|
- @click="handleUpdate1(scope.row)"
|
|
|
- v-hasPermi="['thought:thoughtPlan:edit']"
|
|
|
- >审批</el-button
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <span>{{ parseTime(scope.row.planEndTime, "{y}-{m}-{d}") }}</span>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column label="计划个数" align="center" prop="planNumber" />
|
|
|
+ <el-table-column
|
|
|
+ label="需响应计划数"
|
|
|
+ align="center"
|
|
|
+ prop="planNumber"
|
|
|
+ />
|
|
|
+ <el-table-column
|
|
|
+ label="已响应计划数"
|
|
|
+ align="center"
|
|
|
+ prop="responseNumber"
|
|
|
+ />
|
|
|
+ <el-table-column label="计划状态" align="center" prop="state">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <span v-if="scope.row.state == '0'" style="color: #00eaff"
|
|
|
+ >未响应</span
|
|
|
+ >
|
|
|
+ <span v-if="scope.row.state == '1'" style="color: #13ce66"
|
|
|
+ >已完成</span
|
|
|
+ >
|
|
|
+ <span v-if="scope.row.state == '2'" style="color: #ffba00"
|
|
|
+ >已审批</span
|
|
|
+ >
|
|
|
+ <span
|
|
|
+ v-if="scope.row.state == '3'"
|
|
|
+ style="color: #ff4949"
|
|
|
+ :title="scope.row.reasons"
|
|
|
+ >已驳回</span
|
|
|
+ >
|
|
|
+ <span v-if="scope.row.state == '4'" style="color: #00eaff"
|
|
|
+ >进行中</span
|
|
|
+ >
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column
|
|
|
+ label="创建时间"
|
|
|
+ align="center"
|
|
|
+ prop="createTime"
|
|
|
+ width="120"
|
|
|
>
|
|
|
- <el-button
|
|
|
- size="btc"
|
|
|
- type="text"
|
|
|
- @click="handleUpdate(scope.row)"
|
|
|
- v-hasPermi="['thought:thoughtPlan:edit']"
|
|
|
- >查看</el-button
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <span>{{ parseTime(scope.row.createTime, "{y}-{m}-{d}") }}</span>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column
|
|
|
+ fixed="right"
|
|
|
+ width="200"
|
|
|
+ label="操作"
|
|
|
+ align="center"
|
|
|
+ class-name="small-padding fixed-width"
|
|
|
>
|
|
|
- <!-- <el-button
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <el-button
|
|
|
+ v-if="scope.row.state == '1'"
|
|
|
+ size="btc"
|
|
|
+ type="text"
|
|
|
+ @click="handleUpdate1(scope.row)"
|
|
|
+ v-hasPermi="['thought:responses:edit']"
|
|
|
+ >审批</el-button
|
|
|
+ >
|
|
|
+ <el-button
|
|
|
+ size="btc"
|
|
|
+ type="text"
|
|
|
+ @click="handleUpdate(scope.row)"
|
|
|
+ v-hasPermi="['thought:responses:edit']"
|
|
|
+ >查看</el-button
|
|
|
+ >
|
|
|
+ <!-- <el-button
|
|
|
size="btc"
|
|
|
type="text"
|
|
|
@click="handleDelete(scope.row)"
|
|
|
v-hasPermi="['thought:thoughtPlan:remove']"
|
|
|
>删除</el-button
|
|
|
> -->
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- </el-table>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ </el-table>
|
|
|
|
|
|
- <pagination
|
|
|
- v-show="total > 0"
|
|
|
- :total="total"
|
|
|
- :page.sync="queryParams.pageNum"
|
|
|
- :limit.sync="queryParams.pageSize"
|
|
|
- @pagination="getList"
|
|
|
- />
|
|
|
+ <pagination
|
|
|
+ v-show="total > 0"
|
|
|
+ :total="total"
|
|
|
+ :page.sync="queryParams.pageNum"
|
|
|
+ :limit.sync="queryParams.pageSize"
|
|
|
+ @pagination="getList"
|
|
|
+ />
|
|
|
+ </el-col>
|
|
|
+ </el-row>
|
|
|
|
|
|
<!-- 添加或修改月教育计划对话框 -->
|
|
|
<el-dialog
|
|
@@ -267,6 +395,7 @@
|
|
|
:visible.sync="open2"
|
|
|
width="1064px"
|
|
|
append-to-body
|
|
|
+ :close-on-click-modal="false"
|
|
|
>
|
|
|
<el-form
|
|
|
ref="form2"
|
|
@@ -363,6 +492,7 @@
|
|
|
:visible.sync="open3"
|
|
|
width="1064px"
|
|
|
append-to-body
|
|
|
+ :close-on-click-modal="false"
|
|
|
>
|
|
|
<el-form
|
|
|
ref="form3"
|
|
@@ -420,6 +550,12 @@
|
|
|
placeholder="请输入计划详情"
|
|
|
readonly
|
|
|
/>
|
|
|
+ <span style="color: #fff" v-if="item.isresponse == '1'"
|
|
|
+ >此条计划需各单位配合执行</span
|
|
|
+ >
|
|
|
+ <span style="color: #fff" v-if="item.isresponse == '0'"
|
|
|
+ >此条计划非必要,各单位根据实际执行</span
|
|
|
+ >
|
|
|
</el-form-item>
|
|
|
</el-form>
|
|
|
</div>
|
|
@@ -456,7 +592,7 @@ import {
|
|
|
updateResponses,
|
|
|
exportResponses,
|
|
|
} from "@/api/thought/responses";
|
|
|
-import { getUserProfile } from "@/api/system/user";
|
|
|
+import { getWeiShu } from "@/api/grassrootsregistration/bdglmeeting";
|
|
|
|
|
|
export default {
|
|
|
name: "responses",
|
|
@@ -539,25 +675,13 @@ export default {
|
|
|
{ required: true, message: "请输入驳回原因", trigger: "blur" },
|
|
|
],
|
|
|
},
|
|
|
- // 用户信息
|
|
|
- user: {},
|
|
|
};
|
|
|
},
|
|
|
created() {
|
|
|
- // this.getList();
|
|
|
- this.getUser();
|
|
|
+ this.getList();
|
|
|
+ this.treeselect();
|
|
|
},
|
|
|
methods: {
|
|
|
- // 获取登录信息
|
|
|
- getUser() {
|
|
|
- getUserProfile().then((response) => {
|
|
|
- console.log(response.data);
|
|
|
- this.user = response.data;
|
|
|
- this.unitId = response.data.deptId;
|
|
|
- this.queryParams.unitId = this.unitId;
|
|
|
- this.getList();
|
|
|
- });
|
|
|
- },
|
|
|
// 审批确定提交操作
|
|
|
submitForm1() {
|
|
|
if (this.form.id != null) {
|
|
@@ -749,6 +873,34 @@ export default {
|
|
|
})
|
|
|
.catch(() => {});
|
|
|
},
|
|
|
+ // 获取部门数据
|
|
|
+ getShuJu(data) {
|
|
|
+ exportBdgShuju(data).then((res) => {
|
|
|
+ this.DataTime = data;
|
|
|
+ this.registrationData = res;
|
|
|
+ this.cg = res.cg;
|
|
|
+ this.sb = res.sb;
|
|
|
+ this.tiems = res.time;
|
|
|
+ });
|
|
|
+ },
|
|
|
+ // 搜索时间触发
|
|
|
+ shiJian(data) {
|
|
|
+ this.queryParams.diaryTime = data;
|
|
|
+ this.timeDate = data;
|
|
|
+ this.getList();
|
|
|
+ this.getShuJu(data);
|
|
|
+ },
|
|
|
+ // 获取外面部门树形
|
|
|
+ treeselect() {
|
|
|
+ getWeiShu().then((res) => {
|
|
|
+ this.deptOptions = res.data;
|
|
|
+ });
|
|
|
+ },
|
|
|
+ //外面树形选择搜索
|
|
|
+ handleNodeClick(data) {
|
|
|
+ this.queryParams.unitId = data.id;
|
|
|
+ this.getList();
|
|
|
+ },
|
|
|
},
|
|
|
};
|
|
|
</script>
|
|
@@ -814,7 +966,7 @@ export default {
|
|
|
}
|
|
|
/* 会议文本域样式 */
|
|
|
::v-deep .el-form-item__content .el-textarea {
|
|
|
- width: 900px;
|
|
|
+ width: 1000px;
|
|
|
/* height: 80px !important; */
|
|
|
}
|
|
|
::v-deep .el-form-item__content .el-textarea .el-textarea__inner {
|
|
@@ -1001,6 +1153,9 @@ export default {
|
|
|
background-size: 100% 100%;
|
|
|
background-repeat: no-repeat;
|
|
|
}
|
|
|
+.app-container {
|
|
|
+ display: flex;
|
|
|
+}
|
|
|
/* 左侧树状盒子 */
|
|
|
.app-container .box-lfet {
|
|
|
width: 15%;
|
|
@@ -1085,4 +1240,8 @@ export default {
|
|
|
line-height: 33px;
|
|
|
text-align: center;
|
|
|
}
|
|
|
+/* 卡片样式 */
|
|
|
+.app-container {
|
|
|
+ height: calc(100vh - 108px) !important;
|
|
|
+}
|
|
|
</style>
|