ソースを参照

三级菜单切换

zxr 3 年 前
コミット
547fbef602

+ 53 - 0
src/api/thought/getready.js

@@ -0,0 +1,53 @@
+import request from '@/utils/request'
+
+// 查询教育准备会列表
+export function listGetready(query) {
+  return request({
+    url: '/thought/getready/list',
+    method: 'get',
+    params: query
+  })
+}
+
+// 查询教育准备会详细
+export function getGetready(id) {
+  return request({
+    url: '/thought/getready/' + id,
+    method: 'get'
+  })
+}
+
+// 新增教育准备会
+export function addGetready(data) {
+  return request({
+    url: '/thought/getready',
+    method: 'post',
+    data: data
+  })
+}
+
+// 修改教育准备会
+export function updateGetready(data) {
+  return request({
+    url: '/thought/getready',
+    method: 'put',
+    data: data
+  })
+}
+
+// 删除教育准备会
+export function delGetready(id) {
+  return request({
+    url: '/thought/getready/' + id,
+    method: 'delete'
+  })
+}
+
+// 导出教育准备会
+export function exportGetready(query) {
+  return request({
+    url: '/thought/getready/export',
+    method: 'get',
+    params: query
+  })
+}

+ 53 - 0
src/api/thought/parliament.js

@@ -0,0 +1,53 @@
+import request from '@/utils/request'
+
+// 查询党委议教会列表
+export function listParliament(query) {
+  return request({
+    url: '/thought/parliament/list',
+    method: 'get',
+    params: query
+  })
+}
+
+// 查询党委议教会详细
+export function getParliament(id) {
+  return request({
+    url: '/thought/parliament/' + id,
+    method: 'get'
+  })
+}
+
+// 新增党委议教会
+export function addParliament(data) {
+  return request({
+    url: '/thought/parliament',
+    method: 'post',
+    data: data
+  })
+}
+
+// 修改党委议教会
+export function updateParliament(data) {
+  return request({
+    url: '/thought/parliament',
+    method: 'put',
+    data: data
+  })
+}
+
+// 删除党委议教会
+export function delParliament(id) {
+  return request({
+    url: '/thought/parliament/' + id,
+    method: 'delete'
+  })
+}
+
+// 导出党委议教会
+export function exportParliament(query) {
+  return request({
+    url: '/thought/parliament/export',
+    method: 'get',
+    params: query
+  })
+}

+ 53 - 0
src/api/thought/talk.js

@@ -0,0 +1,53 @@
+import request from '@/utils/request'
+
+// 查询谈心记录卡列表
+export function listTalk(query) {
+  return request({
+    url: '/thought/talk/list',
+    method: 'get',
+    params: query
+  })
+}
+
+// 查询谈心记录卡详细
+export function getTalk(id) {
+  return request({
+    url: '/thought/talk/' + id,
+    method: 'get'
+  })
+}
+
+// 新增谈心记录卡
+export function addTalk(data) {
+  return request({
+    url: '/thought/talk',
+    method: 'post',
+    data: data
+  })
+}
+
+// 修改谈心记录卡
+export function updateTalk(data) {
+  return request({
+    url: '/thought/talk',
+    method: 'put',
+    data: data
+  })
+}
+
+// 删除谈心记录卡
+export function delTalk(id) {
+  return request({
+    url: '/thought/talk/' + id,
+    method: 'delete'
+  })
+}
+
+// 导出谈心记录卡
+export function exportTalk(query) {
+  return request({
+    url: '/thought/talk/export',
+    method: 'get',
+    params: query
+  })
+}

+ 53 - 0
src/api/thought/weekjob.js

@@ -0,0 +1,53 @@
+import request from '@/utils/request'
+
+// 查询周工作列表
+export function listWeekjob(query) {
+  return request({
+    url: '/thought/weekjob/list',
+    method: 'get',
+    params: query
+  })
+}
+
+// 查询周工作详细
+export function getWeekjob(id) {
+  return request({
+    url: '/thought/weekjob/' + id,
+    method: 'get'
+  })
+}
+
+// 新增周工作
+export function addWeekjob(data) {
+  return request({
+    url: '/thought/weekjob',
+    method: 'post',
+    data: data
+  })
+}
+
+// 修改周工作
+export function updateWeekjob(data) {
+  return request({
+    url: '/thought/weekjob',
+    method: 'put',
+    data: data
+  })
+}
+
+// 删除周工作
+export function delWeekjob(id) {
+  return request({
+    url: '/thought/weekjob/' + id,
+    method: 'delete'
+  })
+}
+
+// 导出周工作
+export function exportWeekjob(query) {
+  return request({
+    url: '/thought/weekjob/export',
+    method: 'get',
+    params: query
+  })
+}

+ 53 - 0
src/api/thought/weekjobFu.js

@@ -0,0 +1,53 @@
+import request from '@/utils/request'
+
+// 查询周工作附列表
+export function listWeekjobFu(query) {
+  return request({
+    url: '/thought/weekjobFu/list',
+    method: 'get',
+    params: query
+  })
+}
+
+// 查询周工作附详细
+export function getWeekjobFu(id) {
+  return request({
+    url: '/thought/weekjobFu/' + id,
+    method: 'get'
+  })
+}
+
+// 新增周工作附
+export function addWeekjobFu(data) {
+  return request({
+    url: '/thought/weekjobFu',
+    method: 'post',
+    data: data
+  })
+}
+
+// 修改周工作附
+export function updateWeekjobFu(data) {
+  return request({
+    url: '/thought/weekjobFu',
+    method: 'put',
+    data: data
+  })
+}
+
+// 删除周工作附
+export function delWeekjobFu(id) {
+  return request({
+    url: '/thought/weekjobFu/' + id,
+    method: 'delete'
+  })
+}
+
+// 导出周工作附
+export function exportWeekjobFu(query) {
+  return request({
+    url: '/thought/weekjobFu/export',
+    method: 'get',
+    params: query
+  })
+}

+ 1 - 1
src/layout/components/Sidebar/SidebarItem.vue

@@ -21,7 +21,7 @@
         <item v-if="item.meta" :icon="item.meta && item.meta.icon" :title="item.meta.title" />
       </template>
       <sidebar-item
-        v-for="child in item.children"
+        v-for="child in item.children" 
         :key="child.path"
         :is-nest="true"
         :item="child"

+ 5 - 2
src/layout/components/Sidebar/index.vue

@@ -12,7 +12,7 @@
         :unique-opened="true"
         :active-text-color="settings.theme"
         :collapse-transition="false"
-        :default-openeds="[routs[0].path]"
+        :default-openeds="defaultpath"
         mode="vertical"
         :default-active="$route.path"
       >
@@ -37,7 +37,8 @@ export default {
   data() {
     return {
       routs: [],
-      p: null
+      p: null,
+      defaultpath:null,
     };
   },
   components: { SidebarItem, Logo },
@@ -79,9 +80,11 @@ export default {
           console.log(item);
           this.routs.push(item);
           if (this.routs[0].children[0].children) {
+            this.defaultpath=[this.routs[0].children[0].path];
              this.p = this.routs[0].path + "/" + this.routs[0].children[0].path + "/" + this.routs[0].children[0].children[0].path;
             this.$router.push({ path: this.p });
           } else {
+            this.defaultpath=[this.routs[0].path];
             this.p = this.routs[0].path + "/" + this.routs[0].children[0].path;
             this.$router.push({ path: this.p });
           }

+ 1 - 1
src/views/peopleManage/people/index.vue

@@ -1444,7 +1444,7 @@ export default {
         deptId: [
           { required: true, message: "单位不能为空", trigger: "change" }
         ],
-        name: [{ required: true, message: "亲属姓名不能为空", trigger: "blur" }]
+        // name: [{ required: true, message: "亲属姓名不能为空", trigger: "blur" }]
         // jtname:[{ validator: jtnameblur, trigger: "blur" }],
         // characterRelationship: [
         //   { required: true, message: "与本人关系必填一个", trigger: "blur" }

+ 6 - 1
src/views/pt.vue

@@ -181,7 +181,7 @@
           <ul class="ul">
             <li>
               <div class="demo-box">
-                <div class="demo active" data-url="/diary?ref=addtabs">
+                <div class="demo active" v-on:click="sixiangfun" data-url="/diary?ref=addtabs">
                   <img src="../images/sx.png" alt />
                 </div>
               </div>
@@ -781,6 +781,11 @@ export default {
         .push({ path: "/index", query: { name: "/bdglSecret" } })
         .catch(() => {});
     },
+    sixiangfun() {
+      this.$router
+        .push({ path: "/index", query: { name: "/thought" } })
+        .catch(() => {});
+    },
     showfun() {
       this.open = false;
       printTriggerClear().then((res) => {

+ 410 - 0
src/views/thought/getready/index.vue

@@ -0,0 +1,410 @@
+<template>
+  <div class="app-container">
+    <el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="68px">
+      <el-form-item label="谈心人员" prop="talkPeople">
+        <el-input
+          v-model="queryParams.talkPeople"
+          placeholder="请输入谈心人员"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="开始时间" prop="startTime">
+        <el-date-picker clearable size="small"
+          v-model="queryParams.startTime"
+          type="date"
+          value-format="yyyy-MM-dd"
+          placeholder="选择开始时间">
+        </el-date-picker>
+      </el-form-item>
+      <el-form-item label="结束时间" prop="endTime">
+        <el-date-picker clearable size="small"
+          v-model="queryParams.endTime"
+          type="date"
+          value-format="yyyy-MM-dd"
+          placeholder="选择结束时间">
+        </el-date-picker>
+      </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="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="recorder">
+        <el-input
+          v-model="queryParams.recorder"
+          placeholder="请输入记录人"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="记录人id" prop="recorderId">
+        <el-input
+          v-model="queryParams.recorderId"
+          placeholder="请输入记录人id"
+          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="10" class="mb8">
+      <el-col :span="1.5">
+        <el-button
+          type="primary"
+          plain
+          icon="el-icon-plus"
+          size="mini"
+          @click="handleAdd"
+          v-hasPermi="['thought:getready:add']"
+        >新增</el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button
+          type="success"
+          plain
+          icon="el-icon-edit"
+          size="mini"
+          :disabled="single"
+          @click="handleUpdate"
+          v-hasPermi="['thought:getready:edit']"
+        >修改</el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button
+          type="danger"
+          plain
+          icon="el-icon-delete"
+          size="mini"
+          :disabled="multiple"
+          @click="handleDelete"
+          v-hasPermi="['thought:getready:remove']"
+        >删除</el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button
+          type="warning"
+          plain
+          icon="el-icon-download"
+          size="mini"
+          :loading="exportLoading"
+          @click="handleExport"
+          v-hasPermi="['thought:getready:export']"
+        >导出</el-button>
+      </el-col>
+      <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
+    </el-row>
+
+    <el-table v-loading="loading" :data="getreadyList" @selection-change="handleSelectionChange">
+      <el-table-column type="selection" width="55" align="center" />
+      <el-table-column label="主键id" align="center" prop="id" />
+      <el-table-column label="谈心人员" align="center" prop="talkPeople" />
+      <el-table-column label="开始时间" align="center" prop="startTime" width="180">
+        <template slot-scope="scope">
+          <span>{{ parseTime(scope.row.startTime, '{y}-{m}-{d}') }}</span>
+        </template>
+      </el-table-column>
+      <el-table-column label="结束时间" align="center" prop="endTime" width="180">
+        <template slot-scope="scope">
+          <span>{{ parseTime(scope.row.endTime, '{y}-{m}-{d}') }}</span>
+        </template>
+      </el-table-column>
+      <el-table-column label="创建人姓名" align="center" prop="createName" />
+      <el-table-column label="创建人id" align="center" prop="createId" />
+      <el-table-column label="文件路径" align="center" prop="filePath" />
+      <el-table-column label="文件名称" align="center" prop="fileName" />
+      <el-table-column label="会议内容" align="center" prop="talkContent" />
+      <el-table-column label="会议主题" align="center" prop="talkTheme" />
+      <el-table-column label="会议简介" align="center" prop="talkIntroduction" />
+      <el-table-column label="记录人" align="center" prop="recorder" />
+      <el-table-column label="记录人id" align="center" prop="recorderId" />
+      <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
+        <template slot-scope="scope">
+          <el-button
+            size="mini"
+            type="text"
+            icon="el-icon-edit"
+            @click="handleUpdate(scope.row)"
+            v-hasPermi="['thought:getready:edit']"
+          >修改</el-button>
+          <el-button
+            size="mini"
+            type="text"
+            icon="el-icon-delete"
+            @click="handleDelete(scope.row)"
+            v-hasPermi="['thought:getready:remove']"
+          >删除</el-button>
+        </template>
+      </el-table-column>
+    </el-table>
+    
+    <pagination
+      v-show="total>0"
+      :total="total"
+      :page.sync="queryParams.pageNum"
+      :limit.sync="queryParams.pageSize"
+      @pagination="getList"
+    />
+
+    <!-- 添加或修改教育准备会对话框 -->
+    <el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
+      <el-form ref="form" :model="form" :rules="rules" label-width="80px">
+        <el-form-item label="谈心人员" prop="talkPeople">
+          <el-input v-model="form.talkPeople" placeholder="请输入谈心人员" />
+        </el-form-item>
+        <el-form-item label="开始时间" prop="startTime">
+          <el-date-picker clearable size="small"
+            v-model="form.startTime"
+            type="date"
+            value-format="yyyy-MM-dd"
+            placeholder="选择开始时间">
+          </el-date-picker>
+        </el-form-item>
+        <el-form-item label="结束时间" prop="endTime">
+          <el-date-picker clearable size="small"
+            v-model="form.endTime"
+            type="date"
+            value-format="yyyy-MM-dd"
+            placeholder="选择结束时间">
+          </el-date-picker>
+        </el-form-item>
+        <el-form-item label="创建人姓名" prop="createName">
+          <el-input v-model="form.createName" placeholder="请输入创建人姓名" />
+        </el-form-item>
+        <el-form-item label="创建人id" prop="createId">
+          <el-input v-model="form.createId" placeholder="请输入创建人id" />
+        </el-form-item>
+        <el-form-item label="文件路径" prop="filePath">
+          <el-input v-model="form.filePath" placeholder="请输入文件路径" />
+        </el-form-item>
+        <el-form-item label="文件名称" prop="fileName">
+          <el-input v-model="form.fileName" placeholder="请输入文件名称" />
+        </el-form-item>
+        <el-form-item label="会议内容">
+          <editor v-model="form.talkContent" :min-height="192"/>
+        </el-form-item>
+        <el-form-item label="会议主题" prop="talkTheme">
+          <el-input v-model="form.talkTheme" type="textarea" placeholder="请输入内容" />
+        </el-form-item>
+        <el-form-item label="会议简介" prop="talkIntroduction">
+          <el-input v-model="form.talkIntroduction" type="textarea" placeholder="请输入内容" />
+        </el-form-item>
+        <el-form-item label="记录人" prop="recorder">
+          <el-input v-model="form.recorder" placeholder="请输入记录人" />
+        </el-form-item>
+        <el-form-item label="记录人id" prop="recorderId">
+          <el-input v-model="form.recorderId" placeholder="请输入记录人id" />
+        </el-form-item>
+      </el-form>
+      <div slot="footer" class="dialog-footer">
+        <el-button type="primary" @click="submitForm">确 定</el-button>
+        <el-button @click="cancel">取 消</el-button>
+      </div>
+    </el-dialog>
+  </div>
+</template>
+
+<script>
+import { listGetready, getGetready, delGetready, addGetready, updateGetready, exportGetready } from "@/api/thought/getready";
+
+export default {
+  name: "Getready",
+  data() {
+    return {
+      // 遮罩层
+      loading: true,
+      // 导出遮罩层
+      exportLoading: false,
+      // 选中数组
+      ids: [],
+      // 非单个禁用
+      single: true,
+      // 非多个禁用
+      multiple: true,
+      // 显示搜索条件
+      showSearch: true,
+      // 总条数
+      total: 0,
+      // 教育准备会表格数据
+      getreadyList: [],
+      // 弹出层标题
+      title: "",
+      // 是否显示弹出层
+      open: false,
+      // 查询参数
+      queryParams: {
+        pageNum: 1,
+        pageSize: 10,
+        talkPeople: null,
+        startTime: null,
+        endTime: null,
+        createName: null,
+        createId: null,
+        filePath: null,
+        fileName: null,
+        talkContent: null,
+        talkTheme: null,
+        talkIntroduction: null,
+        recorder: null,
+        recorderId: null
+      },
+      // 表单参数
+      form: {},
+      // 表单校验
+      rules: {
+      }
+    };
+  },
+  created() {
+    this.getList();
+  },
+  methods: {
+    /** 查询教育准备会列表 */
+    getList() {
+      this.loading = true;
+      listGetready(this.queryParams).then(response => {
+        this.getreadyList = response.rows;
+        this.total = response.total;
+        this.loading = false;
+      });
+    },
+    // 取消按钮
+    cancel() {
+      this.open = false;
+      this.reset();
+    },
+    // 表单重置
+    reset() {
+      this.form = {
+        id: null,
+        talkPeople: null,
+        startTime: null,
+        endTime: null,
+        createTime: null,
+        updateTime: null,
+        createName: null,
+        createId: null,
+        filePath: null,
+        fileName: null,
+        talkContent: null,
+        talkTheme: null,
+        talkIntroduction: null,
+        recorder: null,
+        recorderId: null
+      };
+      this.resetForm("form");
+    },
+    /** 搜索按钮操作 */
+    handleQuery() {
+      this.queryParams.pageNum = 1;
+      this.getList();
+    },
+    /** 重置按钮操作 */
+    resetQuery() {
+      this.resetForm("queryForm");
+      this.handleQuery();
+    },
+    // 多选框选中数据
+    handleSelectionChange(selection) {
+      this.ids = selection.map(item => item.id)
+      this.single = selection.length!==1
+      this.multiple = !selection.length
+    },
+    /** 新增按钮操作 */
+    handleAdd() {
+      this.reset();
+      this.open = true;
+      this.title = "添加教育准备会";
+    },
+    /** 修改按钮操作 */
+    handleUpdate(row) {
+      this.reset();
+      const id = row.id || this.ids
+      getGetready(id).then(response => {
+        this.form = response.data;
+        this.open = true;
+        this.title = "修改教育准备会";
+      });
+    },
+    /** 提交按钮 */
+    submitForm() {
+      this.$refs["form"].validate(valid => {
+        if (valid) {
+          if (this.form.id != null) {
+            updateGetready(this.form).then(response => {
+              this.$modal.msgSuccess("修改成功");
+              this.open = false;
+              this.getList();
+            });
+          } else {
+            addGetready(this.form).then(response => {
+              this.$modal.msgSuccess("新增成功");
+              this.open = false;
+              this.getList();
+            });
+          }
+        }
+      });
+    },
+    /** 删除按钮操作 */
+    handleDelete(row) {
+      const ids = row.id || this.ids;
+      this.$modal.confirm('是否确认删除教育准备会编号为"' + ids + '"的数据项?').then(function() {
+        return delGetready(ids);
+      }).then(() => {
+        this.getList();
+        this.$modal.msgSuccess("删除成功");
+      }).catch(() => {});
+    },
+    /** 导出按钮操作 */
+    handleExport() {
+      const queryParams = this.queryParams;
+      this.$modal.confirm('是否确认导出所有教育准备会数据项?').then(() => {
+        this.exportLoading = true;
+        return exportGetready(queryParams);
+      }).then(response => {
+        this.$download.name(response.msg);
+        this.exportLoading = false;
+      }).catch(() => {});
+    }
+  }
+};
+</script>

+ 477 - 0
src/views/thought/parliament/index.vue

@@ -0,0 +1,477 @@
+<template>
+  <div class="app-container">
+    <el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="68px">
+      <el-form-item label="单位名称" prop="unitName">
+        <el-select v-model="queryParams.unitName" placeholder="请选择单位名称" clearable size="small">
+          <el-option label="请选择字典生成" value="" />
+        </el-select>
+      </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="开始时间" prop="startTime">
+        <el-date-picker clearable size="small"
+          v-model="queryParams.startTime"
+          type="date"
+          value-format="yyyy-MM-dd"
+          placeholder="选择开始时间">
+        </el-date-picker>
+      </el-form-item>
+      <el-form-item label="结束时间" prop="endTime">
+        <el-date-picker clearable size="small"
+          v-model="queryParams.endTime"
+          type="date"
+          value-format="yyyy-MM-dd"
+          placeholder="选择结束时间">
+        </el-date-picker>
+      </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="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="recorder">
+        <el-input
+          v-model="queryParams.recorder"
+          placeholder="请输入记录人"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="记录人id" prop="recorderId">
+        <el-input
+          v-model="queryParams.recorderId"
+          placeholder="请输入记录人id"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="参加人" prop="participants">
+        <el-input
+          v-model="queryParams.participants"
+          placeholder="请输入参加人"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="参加人id" prop="participantsId">
+        <el-input
+          v-model="queryParams.participantsId"
+          placeholder="请输入参加人id"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="组织人" prop="organizer">
+        <el-input
+          v-model="queryParams.organizer"
+          placeholder="请输入组织人"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="组织人id" prop="organizerId">
+        <el-input
+          v-model="queryParams.organizerId"
+          placeholder="请输入组织人id"
+          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="10" class="mb8">
+      <el-col :span="1.5">
+        <el-button
+          type="primary"
+          plain
+          icon="el-icon-plus"
+          size="mini"
+          @click="handleAdd"
+          v-hasPermi="['thought:parliament:add']"
+        >新增</el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button
+          type="success"
+          plain
+          icon="el-icon-edit"
+          size="mini"
+          :disabled="single"
+          @click="handleUpdate"
+          v-hasPermi="['thought:parliament:edit']"
+        >修改</el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button
+          type="danger"
+          plain
+          icon="el-icon-delete"
+          size="mini"
+          :disabled="multiple"
+          @click="handleDelete"
+          v-hasPermi="['thought:parliament:remove']"
+        >删除</el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button
+          type="warning"
+          plain
+          icon="el-icon-download"
+          size="mini"
+          :loading="exportLoading"
+          @click="handleExport"
+          v-hasPermi="['thought:parliament:export']"
+        >导出</el-button>
+      </el-col>
+      <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
+    </el-row>
+
+    <el-table v-loading="loading" :data="parliamentList" @selection-change="handleSelectionChange">
+      <el-table-column type="selection" width="55" align="center" />
+      <el-table-column label="主键id" align="center" prop="id" />
+      <el-table-column label="单位名称" align="center" prop="unitName" />
+      <el-table-column label="单位id" align="center" prop="unitId" />
+      <el-table-column label="开始时间" align="center" prop="startTime" width="180">
+        <template slot-scope="scope">
+          <span>{{ parseTime(scope.row.startTime, '{y}-{m}-{d}') }}</span>
+        </template>
+      </el-table-column>
+      <el-table-column label="结束时间" align="center" prop="endTime" width="180">
+        <template slot-scope="scope">
+          <span>{{ parseTime(scope.row.endTime, '{y}-{m}-{d}') }}</span>
+        </template>
+      </el-table-column>
+      <el-table-column label="创建人姓名" align="center" prop="createName" />
+      <el-table-column label="创建人id" align="center" prop="createId" />
+      <el-table-column label="文件路径" align="center" prop="filePath" />
+      <el-table-column label="文件名称" align="center" prop="fileName" />
+      <el-table-column label="会议内容" align="center" prop="talkContent" />
+      <el-table-column label="记录人" align="center" prop="recorder" />
+      <el-table-column label="记录人id" align="center" prop="recorderId" />
+      <el-table-column label="参加人" align="center" prop="participants" />
+      <el-table-column label="参加人id" align="center" prop="participantsId" />
+      <el-table-column label="组织人" align="center" prop="organizer" />
+      <el-table-column label="组织人id" align="center" prop="organizerId" />
+      <el-table-column label="议会主题" align="center" prop="talkTheme" />
+      <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
+        <template slot-scope="scope">
+          <el-button
+            size="mini"
+            type="text"
+            icon="el-icon-edit"
+            @click="handleUpdate(scope.row)"
+            v-hasPermi="['thought:parliament:edit']"
+          >修改</el-button>
+          <el-button
+            size="mini"
+            type="text"
+            icon="el-icon-delete"
+            @click="handleDelete(scope.row)"
+            v-hasPermi="['thought:parliament:remove']"
+          >删除</el-button>
+        </template>
+      </el-table-column>
+    </el-table>
+    
+    <pagination
+      v-show="total>0"
+      :total="total"
+      :page.sync="queryParams.pageNum"
+      :limit.sync="queryParams.pageSize"
+      @pagination="getList"
+    />
+
+    <!-- 添加或修改党委议教会对话框 -->
+    <el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
+      <el-form ref="form" :model="form" :rules="rules" label-width="80px">
+        <el-form-item label="单位名称" prop="unitName">
+          <el-select v-model="form.unitName" placeholder="请选择单位名称">
+            <el-option label="请选择字典生成" value="" />
+          </el-select>
+        </el-form-item>
+        <el-form-item label="单位id" prop="unitId">
+          <el-input v-model="form.unitId" placeholder="请输入单位id" />
+        </el-form-item>
+        <el-form-item label="开始时间" prop="startTime">
+          <el-date-picker clearable size="small"
+            v-model="form.startTime"
+            type="date"
+            value-format="yyyy-MM-dd"
+            placeholder="选择开始时间">
+          </el-date-picker>
+        </el-form-item>
+        <el-form-item label="结束时间" prop="endTime">
+          <el-date-picker clearable size="small"
+            v-model="form.endTime"
+            type="date"
+            value-format="yyyy-MM-dd"
+            placeholder="选择结束时间">
+          </el-date-picker>
+        </el-form-item>
+        <el-form-item label="创建人姓名" prop="createName">
+          <el-input v-model="form.createName" placeholder="请输入创建人姓名" />
+        </el-form-item>
+        <el-form-item label="创建人id" prop="createId">
+          <el-input v-model="form.createId" placeholder="请输入创建人id" />
+        </el-form-item>
+        <el-form-item label="文件路径" prop="filePath">
+          <el-input v-model="form.filePath" placeholder="请输入文件路径" />
+        </el-form-item>
+        <el-form-item label="文件名称" prop="fileName">
+          <el-input v-model="form.fileName" placeholder="请输入文件名称" />
+        </el-form-item>
+        <el-form-item label="会议内容">
+          <editor v-model="form.talkContent" :min-height="192"/>
+        </el-form-item>
+        <el-form-item label="记录人" prop="recorder">
+          <el-input v-model="form.recorder" placeholder="请输入记录人" />
+        </el-form-item>
+        <el-form-item label="记录人id" prop="recorderId">
+          <el-input v-model="form.recorderId" placeholder="请输入记录人id" />
+        </el-form-item>
+        <el-form-item label="参加人" prop="participants">
+          <el-input v-model="form.participants" placeholder="请输入参加人" />
+        </el-form-item>
+        <el-form-item label="参加人id" prop="participantsId">
+          <el-input v-model="form.participantsId" placeholder="请输入参加人id" />
+        </el-form-item>
+        <el-form-item label="组织人" prop="organizer">
+          <el-input v-model="form.organizer" placeholder="请输入组织人" />
+        </el-form-item>
+        <el-form-item label="组织人id" prop="organizerId">
+          <el-input v-model="form.organizerId" placeholder="请输入组织人id" />
+        </el-form-item>
+        <el-form-item label="议会主题" prop="talkTheme">
+          <el-input v-model="form.talkTheme" type="textarea" placeholder="请输入内容" />
+        </el-form-item>
+      </el-form>
+      <div slot="footer" class="dialog-footer">
+        <el-button type="primary" @click="submitForm">确 定</el-button>
+        <el-button @click="cancel">取 消</el-button>
+      </div>
+    </el-dialog>
+  </div>
+</template>
+
+<script>
+import { listParliament, getParliament, delParliament, addParliament, updateParliament, exportParliament } from "@/api/thought/parliament";
+
+export default {
+  name: "Parliament",
+  data() {
+    return {
+      // 遮罩层
+      loading: true,
+      // 导出遮罩层
+      exportLoading: false,
+      // 选中数组
+      ids: [],
+      // 非单个禁用
+      single: true,
+      // 非多个禁用
+      multiple: true,
+      // 显示搜索条件
+      showSearch: true,
+      // 总条数
+      total: 0,
+      // 党委议教会表格数据
+      parliamentList: [],
+      // 弹出层标题
+      title: "",
+      // 是否显示弹出层
+      open: false,
+      // 查询参数
+      queryParams: {
+        pageNum: 1,
+        pageSize: 10,
+        unitName: null,
+        unitId: null,
+        startTime: null,
+        endTime: null,
+        createName: null,
+        createId: null,
+        filePath: null,
+        fileName: null,
+        talkContent: null,
+        recorder: null,
+        recorderId: null,
+        participants: null,
+        participantsId: null,
+        organizer: null,
+        organizerId: null,
+        talkTheme: null
+      },
+      // 表单参数
+      form: {},
+      // 表单校验
+      rules: {
+      }
+    };
+  },
+  created() {
+    this.getList();
+  },
+  methods: {
+    /** 查询党委议教会列表 */
+    getList() {
+      this.loading = true;
+      listParliament(this.queryParams).then(response => {
+        this.parliamentList = response.rows;
+        this.total = response.total;
+        this.loading = false;
+      });
+    },
+    // 取消按钮
+    cancel() {
+      this.open = false;
+      this.reset();
+    },
+    // 表单重置
+    reset() {
+      this.form = {
+        id: null,
+        unitName: null,
+        unitId: null,
+        startTime: null,
+        endTime: null,
+        createTime: null,
+        updateTime: null,
+        createName: null,
+        createId: null,
+        filePath: null,
+        fileName: null,
+        talkContent: null,
+        recorder: null,
+        recorderId: null,
+        participants: null,
+        participantsId: null,
+        organizer: null,
+        organizerId: null,
+        talkTheme: null
+      };
+      this.resetForm("form");
+    },
+    /** 搜索按钮操作 */
+    handleQuery() {
+      this.queryParams.pageNum = 1;
+      this.getList();
+    },
+    /** 重置按钮操作 */
+    resetQuery() {
+      this.resetForm("queryForm");
+      this.handleQuery();
+    },
+    // 多选框选中数据
+    handleSelectionChange(selection) {
+      this.ids = selection.map(item => item.id)
+      this.single = selection.length!==1
+      this.multiple = !selection.length
+    },
+    /** 新增按钮操作 */
+    handleAdd() {
+      this.reset();
+      this.open = true;
+      this.title = "添加党委议教会";
+    },
+    /** 修改按钮操作 */
+    handleUpdate(row) {
+      this.reset();
+      const id = row.id || this.ids
+      getParliament(id).then(response => {
+        this.form = response.data;
+        this.open = true;
+        this.title = "修改党委议教会";
+      });
+    },
+    /** 提交按钮 */
+    submitForm() {
+      this.$refs["form"].validate(valid => {
+        if (valid) {
+          if (this.form.id != null) {
+            updateParliament(this.form).then(response => {
+              this.$modal.msgSuccess("修改成功");
+              this.open = false;
+              this.getList();
+            });
+          } else {
+            addParliament(this.form).then(response => {
+              this.$modal.msgSuccess("新增成功");
+              this.open = false;
+              this.getList();
+            });
+          }
+        }
+      });
+    },
+    /** 删除按钮操作 */
+    handleDelete(row) {
+      const ids = row.id || this.ids;
+      this.$modal.confirm('是否确认删除党委议教会编号为"' + ids + '"的数据项?').then(function() {
+        return delParliament(ids);
+      }).then(() => {
+        this.getList();
+        this.$modal.msgSuccess("删除成功");
+      }).catch(() => {});
+    },
+    /** 导出按钮操作 */
+    handleExport() {
+      const queryParams = this.queryParams;
+      this.$modal.confirm('是否确认导出所有党委议教会数据项?').then(() => {
+        this.exportLoading = true;
+        return exportParliament(queryParams);
+      }).then(response => {
+        this.$download.name(response.msg);
+        this.exportLoading = false;
+      }).catch(() => {});
+    }
+  }
+};
+</script>

+ 496 - 0
src/views/thought/talk/index.vue

@@ -0,0 +1,496 @@
+<template>
+  <div class="app-container">
+    <el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="68px">
+      <el-form-item label="谈心人员" prop="talkPeople">
+        <el-input
+          v-model="queryParams.talkPeople"
+          placeholder="请输入谈心人员"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="单位名称" prop="unitName">
+        <el-input
+          v-model="queryParams.unitName"
+          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="谈心对象" prop="talkObject">
+        <el-input
+          v-model="queryParams.talkObject"
+          placeholder="请输入谈心对象"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="谈心对象id" prop="talkObjectId">
+        <el-input
+          v-model="queryParams.talkObjectId"
+          placeholder="请输入谈心对象id"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="开始时间" prop="startTime">
+        <el-date-picker clearable size="small"
+          v-model="queryParams.startTime"
+          type="date"
+          value-format="yyyy-MM-dd"
+          placeholder="选择开始时间">
+        </el-date-picker>
+      </el-form-item>
+      <el-form-item label="结束时间" prop="endTime">
+        <el-date-picker clearable size="small"
+          v-model="queryParams.endTime"
+          type="date"
+          value-format="yyyy-MM-dd"
+          placeholder="选择结束时间">
+        </el-date-picker>
+      </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="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="talkTime">
+        <el-date-picker clearable size="small"
+          v-model="queryParams.talkTime"
+          type="date"
+          value-format="yyyy-MM-dd"
+          placeholder="选择谈话时间">
+        </el-date-picker>
+      </el-form-item>
+      <el-form-item label="谈话地点" prop="talkAddress">
+        <el-input
+          v-model="queryParams.talkAddress"
+          placeholder="请输入谈话地点"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="记录人" prop="recorder">
+        <el-input
+          v-model="queryParams.recorder"
+          placeholder="请输入记录人"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="记录人id" prop="recorderId">
+        <el-input
+          v-model="queryParams.recorderId"
+          placeholder="请输入记录人id"
+          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="10" class="mb8">
+      <el-col :span="1.5">
+        <el-button
+          type="primary"
+          plain
+          icon="el-icon-plus"
+          size="mini"
+          @click="handleAdd"
+          v-hasPermi="['thought:talk:add']"
+        >新增</el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button
+          type="success"
+          plain
+          icon="el-icon-edit"
+          size="mini"
+          :disabled="single"
+          @click="handleUpdate"
+          v-hasPermi="['thought:talk:edit']"
+        >修改</el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button
+          type="danger"
+          plain
+          icon="el-icon-delete"
+          size="mini"
+          :disabled="multiple"
+          @click="handleDelete"
+          v-hasPermi="['thought:talk:remove']"
+        >删除</el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button
+          type="warning"
+          plain
+          icon="el-icon-download"
+          size="mini"
+          :loading="exportLoading"
+          @click="handleExport"
+          v-hasPermi="['thought:talk:export']"
+        >导出</el-button>
+      </el-col>
+      <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
+    </el-row>
+
+    <el-table v-loading="loading" :data="talkList" @selection-change="handleSelectionChange">
+      <el-table-column type="selection" width="55" align="center" />
+      <el-table-column label="主键id" align="center" prop="id" />
+      <el-table-column label="谈心人员" align="center" prop="talkPeople" />
+      <el-table-column label="单位名称" align="center" prop="unitName" />
+      <el-table-column label="单位id" align="center" prop="unitId" />
+      <el-table-column label="谈心对象" align="center" prop="talkObject" />
+      <el-table-column label="谈心对象id" align="center" prop="talkObjectId" />
+      <el-table-column label="开始时间" align="center" prop="startTime" width="180">
+        <template slot-scope="scope">
+          <span>{{ parseTime(scope.row.startTime, '{y}-{m}-{d}') }}</span>
+        </template>
+      </el-table-column>
+      <el-table-column label="结束时间" align="center" prop="endTime" width="180">
+        <template slot-scope="scope">
+          <span>{{ parseTime(scope.row.endTime, '{y}-{m}-{d}') }}</span>
+        </template>
+      </el-table-column>
+      <el-table-column label="创建人姓名" align="center" prop="createName" />
+      <el-table-column label="创建人id" align="center" prop="createId" />
+      <el-table-column label="文件路径" align="center" prop="filePath" />
+      <el-table-column label="文件名称" align="center" prop="fileName" />
+      <el-table-column label="谈话内容" align="center" prop="talkContent" />
+      <el-table-column label="谈话时间" align="center" prop="talkTime" width="180">
+        <template slot-scope="scope">
+          <span>{{ parseTime(scope.row.talkTime, '{y}-{m}-{d}') }}</span>
+        </template>
+      </el-table-column>
+      <el-table-column label="谈话地点" align="center" prop="talkAddress" />
+      <el-table-column label="记录人" align="center" prop="recorder" />
+      <el-table-column label="记录人id" align="center" prop="recorderId" />
+      <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
+        <template slot-scope="scope">
+          <el-button
+            size="mini"
+            type="text"
+            icon="el-icon-edit"
+            @click="handleUpdate(scope.row)"
+            v-hasPermi="['thought:talk:edit']"
+          >修改</el-button>
+          <el-button
+            size="mini"
+            type="text"
+            icon="el-icon-delete"
+            @click="handleDelete(scope.row)"
+            v-hasPermi="['thought:talk:remove']"
+          >删除</el-button>
+        </template>
+      </el-table-column>
+    </el-table>
+    
+    <pagination
+      v-show="total>0"
+      :total="total"
+      :page.sync="queryParams.pageNum"
+      :limit.sync="queryParams.pageSize"
+      @pagination="getList"
+    />
+
+    <!-- 添加或修改谈心记录卡对话框 -->
+    <el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
+      <el-form ref="form" :model="form" :rules="rules" label-width="80px">
+        <el-form-item label="谈心人员" prop="talkPeople">
+          <el-input v-model="form.talkPeople" placeholder="请输入谈心人员" />
+        </el-form-item>
+        <el-form-item label="单位名称" prop="unitName">
+          <el-input v-model="form.unitName" placeholder="请输入单位名称" />
+        </el-form-item>
+        <el-form-item label="单位id" prop="unitId">
+          <el-input v-model="form.unitId" placeholder="请输入单位id" />
+        </el-form-item>
+        <el-form-item label="谈心对象" prop="talkObject">
+          <el-input v-model="form.talkObject" placeholder="请输入谈心对象" />
+        </el-form-item>
+        <el-form-item label="谈心对象id" prop="talkObjectId">
+          <el-input v-model="form.talkObjectId" placeholder="请输入谈心对象id" />
+        </el-form-item>
+        <el-form-item label="开始时间" prop="startTime">
+          <el-date-picker clearable size="small"
+            v-model="form.startTime"
+            type="date"
+            value-format="yyyy-MM-dd"
+            placeholder="选择开始时间">
+          </el-date-picker>
+        </el-form-item>
+        <el-form-item label="结束时间" prop="endTime">
+          <el-date-picker clearable size="small"
+            v-model="form.endTime"
+            type="date"
+            value-format="yyyy-MM-dd"
+            placeholder="选择结束时间">
+          </el-date-picker>
+        </el-form-item>
+        <el-form-item label="创建人姓名" prop="createName">
+          <el-input v-model="form.createName" placeholder="请输入创建人姓名" />
+        </el-form-item>
+        <el-form-item label="创建人id" prop="createId">
+          <el-input v-model="form.createId" placeholder="请输入创建人id" />
+        </el-form-item>
+        <el-form-item label="文件路径" prop="filePath">
+          <el-input v-model="form.filePath" placeholder="请输入文件路径" />
+        </el-form-item>
+        <el-form-item label="文件名称" prop="fileName">
+          <el-input v-model="form.fileName" placeholder="请输入文件名称" />
+        </el-form-item>
+        <el-form-item label="谈话内容">
+          <editor v-model="form.talkContent" :min-height="192"/>
+        </el-form-item>
+        <el-form-item label="谈话时间" prop="talkTime">
+          <el-date-picker clearable size="small"
+            v-model="form.talkTime"
+            type="date"
+            value-format="yyyy-MM-dd"
+            placeholder="选择谈话时间">
+          </el-date-picker>
+        </el-form-item>
+        <el-form-item label="谈话地点" prop="talkAddress">
+          <el-input v-model="form.talkAddress" placeholder="请输入谈话地点" />
+        </el-form-item>
+        <el-form-item label="记录人" prop="recorder">
+          <el-input v-model="form.recorder" placeholder="请输入记录人" />
+        </el-form-item>
+        <el-form-item label="记录人id" prop="recorderId">
+          <el-input v-model="form.recorderId" placeholder="请输入记录人id" />
+        </el-form-item>
+      </el-form>
+      <div slot="footer" class="dialog-footer">
+        <el-button type="primary" @click="submitForm">确 定</el-button>
+        <el-button @click="cancel">取 消</el-button>
+      </div>
+    </el-dialog>
+  </div>
+</template>
+
+<script>
+import { listTalk, getTalk, delTalk, addTalk, updateTalk, exportTalk } from "@/api/thought/talk";
+
+export default {
+  name: "Talk",
+  data() {
+    return {
+      // 遮罩层
+      loading: true,
+      // 导出遮罩层
+      exportLoading: false,
+      // 选中数组
+      ids: [],
+      // 非单个禁用
+      single: true,
+      // 非多个禁用
+      multiple: true,
+      // 显示搜索条件
+      showSearch: true,
+      // 总条数
+      total: 0,
+      // 谈心记录卡表格数据
+      talkList: [],
+      // 弹出层标题
+      title: "",
+      // 是否显示弹出层
+      open: false,
+      // 查询参数
+      queryParams: {
+        pageNum: 1,
+        pageSize: 10,
+        talkPeople: null,
+        unitName: null,
+        unitId: null,
+        talkObject: null,
+        talkObjectId: null,
+        startTime: null,
+        endTime: null,
+        createName: null,
+        createId: null,
+        filePath: null,
+        fileName: null,
+        talkContent: null,
+        talkTime: null,
+        talkAddress: null,
+        recorder: null,
+        recorderId: null
+      },
+      // 表单参数
+      form: {},
+      // 表单校验
+      rules: {
+      }
+    };
+  },
+  created() {
+    this.getList();
+  },
+  methods: {
+    /** 查询谈心记录卡列表 */
+    getList() {
+      this.loading = true;
+      listTalk(this.queryParams).then(response => {
+        this.talkList = response.rows;
+        this.total = response.total;
+        this.loading = false;
+      });
+    },
+    // 取消按钮
+    cancel() {
+      this.open = false;
+      this.reset();
+    },
+    // 表单重置
+    reset() {
+      this.form = {
+        id: null,
+        talkPeople: null,
+        unitName: null,
+        unitId: null,
+        talkObject: null,
+        talkObjectId: null,
+        startTime: null,
+        endTime: null,
+        createTime: null,
+        updateTime: null,
+        createName: null,
+        createId: null,
+        filePath: null,
+        fileName: null,
+        talkContent: null,
+        talkTime: null,
+        talkAddress: null,
+        recorder: null,
+        recorderId: null
+      };
+      this.resetForm("form");
+    },
+    /** 搜索按钮操作 */
+    handleQuery() {
+      this.queryParams.pageNum = 1;
+      this.getList();
+    },
+    /** 重置按钮操作 */
+    resetQuery() {
+      this.resetForm("queryForm");
+      this.handleQuery();
+    },
+    // 多选框选中数据
+    handleSelectionChange(selection) {
+      this.ids = selection.map(item => item.id)
+      this.single = selection.length!==1
+      this.multiple = !selection.length
+    },
+    /** 新增按钮操作 */
+    handleAdd() {
+      this.reset();
+      this.open = true;
+      this.title = "添加谈心记录卡";
+    },
+    /** 修改按钮操作 */
+    handleUpdate(row) {
+      this.reset();
+      const id = row.id || this.ids
+      getTalk(id).then(response => {
+        this.form = response.data;
+        this.open = true;
+        this.title = "修改谈心记录卡";
+      });
+    },
+    /** 提交按钮 */
+    submitForm() {
+      this.$refs["form"].validate(valid => {
+        if (valid) {
+          if (this.form.id != null) {
+            updateTalk(this.form).then(response => {
+              this.$modal.msgSuccess("修改成功");
+              this.open = false;
+              this.getList();
+            });
+          } else {
+            addTalk(this.form).then(response => {
+              this.$modal.msgSuccess("新增成功");
+              this.open = false;
+              this.getList();
+            });
+          }
+        }
+      });
+    },
+    /** 删除按钮操作 */
+    handleDelete(row) {
+      const ids = row.id || this.ids;
+      this.$modal.confirm('是否确认删除谈心记录卡编号为"' + ids + '"的数据项?').then(function() {
+        return delTalk(ids);
+      }).then(() => {
+        this.getList();
+        this.$modal.msgSuccess("删除成功");
+      }).catch(() => {});
+    },
+    /** 导出按钮操作 */
+    handleExport() {
+      const queryParams = this.queryParams;
+      this.$modal.confirm('是否确认导出所有谈心记录卡数据项?').then(() => {
+        this.exportLoading = true;
+        return exportTalk(queryParams);
+      }).then(response => {
+        this.$download.name(response.msg);
+        this.exportLoading = false;
+      }).catch(() => {});
+    }
+  }
+};
+</script>

+ 494 - 0
src/views/thought/weekjob/index.vue

@@ -0,0 +1,494 @@
+<template>
+  <div class="app-container">
+    <el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="68px">
+      <el-form-item label="创建时间" prop="creatTime">
+        <el-date-picker clearable size="small"
+          v-model="queryParams.creatTime"
+          type="date"
+          value-format="yyyy-MM-dd"
+          placeholder="选择创建时间">
+        </el-date-picker>
+      </el-form-item>
+      <el-form-item label="创建人姓名" prop="creatName">
+        <el-input
+          v-model="queryParams.creatName"
+          placeholder="请输入创建人姓名"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="创建人id" prop="creatId">
+        <el-input
+          v-model="queryParams.creatId"
+          placeholder="请输入创建人id"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="单位名称" prop="unitName">
+        <el-input
+          v-model="queryParams.unitName"
+          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="值班领导" prop="dutyLeader">
+        <el-input
+          v-model="queryParams.dutyLeader"
+          placeholder="请输入值班领导"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="值班领导id" prop="dutyLeaderId">
+        <el-input
+          v-model="queryParams.dutyLeaderId"
+          placeholder="请输入值班领导id"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="电话" prop="phone">
+        <el-input
+          v-model="queryParams.phone"
+          placeholder="请输入电话"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="军事长官 " prop="militaryOfficer">
+        <el-input
+          v-model="queryParams.militaryOfficer"
+          placeholder="请输入军事长官 "
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="军事长官id" prop="militaryOfficerId">
+        <el-input
+          v-model="queryParams.militaryOfficerId"
+          placeholder="请输入军事长官id"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="政治长官" prop="politicalOfficer">
+        <el-input
+          v-model="queryParams.politicalOfficer"
+          placeholder="请输入政治长官"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="政治长官id" prop="politicalOfficerId">
+        <el-input
+          v-model="queryParams.politicalOfficerId"
+          placeholder="请输入政治长官id"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="工作标题" prop="jobTitle">
+        <el-input
+          v-model="queryParams.jobTitle"
+          placeholder="请输入工作标题"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="开始时间" prop="startTime">
+        <el-date-picker clearable size="small"
+          v-model="queryParams.startTime"
+          type="date"
+          value-format="yyyy-MM-dd"
+          placeholder="选择开始时间">
+        </el-date-picker>
+      </el-form-item>
+      <el-form-item label="结束时间" prop="endTime">
+        <el-date-picker clearable size="small"
+          v-model="queryParams.endTime"
+          type="date"
+          value-format="yyyy-MM-dd"
+          placeholder="选择结束时间">
+        </el-date-picker>
+      </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" class="mb8">
+      <el-col :span="1.5">
+        <el-button
+          type="primary"
+          plain
+          icon="el-icon-plus"
+          size="mini"
+          @click="handleAdd"
+          v-hasPermi="['thought:weekjob:add']"
+        >新增</el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button
+          type="success"
+          plain
+          icon="el-icon-edit"
+          size="mini"
+          :disabled="single"
+          @click="handleUpdate"
+          v-hasPermi="['thought:weekjob:edit']"
+        >修改</el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button
+          type="danger"
+          plain
+          icon="el-icon-delete"
+          size="mini"
+          :disabled="multiple"
+          @click="handleDelete"
+          v-hasPermi="['thought:weekjob:remove']"
+        >删除</el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button
+          type="warning"
+          plain
+          icon="el-icon-download"
+          size="mini"
+          :loading="exportLoading"
+          @click="handleExport"
+          v-hasPermi="['thought:weekjob:export']"
+        >导出</el-button>
+      </el-col>
+      <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
+    </el-row>
+
+    <el-table v-loading="loading" :data="weekjobList" @selection-change="handleSelectionChange">
+      <el-table-column type="selection" width="55" align="center" />
+      <el-table-column label="主键id" align="center" prop="id" />
+      <el-table-column label="创建时间" align="center" prop="creatTime" width="180">
+        <template slot-scope="scope">
+          <span>{{ parseTime(scope.row.creatTime, '{y}-{m}-{d}') }}</span>
+        </template>
+      </el-table-column>
+      <el-table-column label="创建人姓名" align="center" prop="creatName" />
+      <el-table-column label="创建人id" align="center" prop="creatId" />
+      <el-table-column label="备注" align="center" prop="remark" />
+      <el-table-column label="单位名称" align="center" prop="unitName" />
+      <el-table-column label="单位id" align="center" prop="unitId" />
+      <el-table-column label="值班领导" align="center" prop="dutyLeader" />
+      <el-table-column label="值班领导id" align="center" prop="dutyLeaderId" />
+      <el-table-column label="电话" align="center" prop="phone" />
+      <el-table-column label="军事长官 " align="center" prop="militaryOfficer" />
+      <el-table-column label="军事长官id" align="center" prop="militaryOfficerId" />
+      <el-table-column label="政治长官" align="center" prop="politicalOfficer" />
+      <el-table-column label="政治长官id" align="center" prop="politicalOfficerId" />
+      <el-table-column label="工作标题" align="center" prop="jobTitle" />
+      <el-table-column label="开始时间" align="center" prop="startTime" width="180">
+        <template slot-scope="scope">
+          <span>{{ parseTime(scope.row.startTime, '{y}-{m}-{d}') }}</span>
+        </template>
+      </el-table-column>
+      <el-table-column label="结束时间" align="center" prop="endTime" width="180">
+        <template slot-scope="scope">
+          <span>{{ parseTime(scope.row.endTime, '{y}-{m}-{d}') }}</span>
+        </template>
+      </el-table-column>
+      <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
+        <template slot-scope="scope">
+          <el-button
+            size="mini"
+            type="text"
+            icon="el-icon-edit"
+            @click="handleUpdate(scope.row)"
+            v-hasPermi="['thought:weekjob:edit']"
+          >修改</el-button>
+          <el-button
+            size="mini"
+            type="text"
+            icon="el-icon-delete"
+            @click="handleDelete(scope.row)"
+            v-hasPermi="['thought:weekjob:remove']"
+          >删除</el-button>
+        </template>
+      </el-table-column>
+    </el-table>
+    
+    <pagination
+      v-show="total>0"
+      :total="total"
+      :page.sync="queryParams.pageNum"
+      :limit.sync="queryParams.pageSize"
+      @pagination="getList"
+    />
+
+    <!-- 添加或修改周工作对话框 -->
+    <el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
+      <el-form ref="form" :model="form" :rules="rules" label-width="80px">
+        <el-form-item label="创建时间" prop="creatTime">
+          <el-date-picker clearable size="small"
+            v-model="form.creatTime"
+            type="date"
+            value-format="yyyy-MM-dd"
+            placeholder="选择创建时间">
+          </el-date-picker>
+        </el-form-item>
+        <el-form-item label="创建人姓名" prop="creatName">
+          <el-input v-model="form.creatName" placeholder="请输入创建人姓名" />
+        </el-form-item>
+        <el-form-item label="创建人id" prop="creatId">
+          <el-input v-model="form.creatId" placeholder="请输入创建人id" />
+        </el-form-item>
+        <el-form-item label="备注" prop="remark">
+          <el-input v-model="form.remark" placeholder="请输入备注" />
+        </el-form-item>
+        <el-form-item label="单位名称" prop="unitName">
+          <el-input v-model="form.unitName" placeholder="请输入单位名称" />
+        </el-form-item>
+        <el-form-item label="单位id" prop="unitId">
+          <el-input v-model="form.unitId" placeholder="请输入单位id" />
+        </el-form-item>
+        <el-form-item label="值班领导" prop="dutyLeader">
+          <el-input v-model="form.dutyLeader" placeholder="请输入值班领导" />
+        </el-form-item>
+        <el-form-item label="值班领导id" prop="dutyLeaderId">
+          <el-input v-model="form.dutyLeaderId" placeholder="请输入值班领导id" />
+        </el-form-item>
+        <el-form-item label="电话" prop="phone">
+          <el-input v-model="form.phone" placeholder="请输入电话" />
+        </el-form-item>
+        <el-form-item label="军事长官 " prop="militaryOfficer">
+          <el-input v-model="form.militaryOfficer" placeholder="请输入军事长官 " />
+        </el-form-item>
+        <el-form-item label="军事长官id" prop="militaryOfficerId">
+          <el-input v-model="form.militaryOfficerId" placeholder="请输入军事长官id" />
+        </el-form-item>
+        <el-form-item label="政治长官" prop="politicalOfficer">
+          <el-input v-model="form.politicalOfficer" placeholder="请输入政治长官" />
+        </el-form-item>
+        <el-form-item label="政治长官id" prop="politicalOfficerId">
+          <el-input v-model="form.politicalOfficerId" placeholder="请输入政治长官id" />
+        </el-form-item>
+        <el-form-item label="工作标题" prop="jobTitle">
+          <el-input v-model="form.jobTitle" placeholder="请输入工作标题" />
+        </el-form-item>
+        <el-form-item label="开始时间" prop="startTime">
+          <el-date-picker clearable size="small"
+            v-model="form.startTime"
+            type="date"
+            value-format="yyyy-MM-dd"
+            placeholder="选择开始时间">
+          </el-date-picker>
+        </el-form-item>
+        <el-form-item label="结束时间" prop="endTime">
+          <el-date-picker clearable size="small"
+            v-model="form.endTime"
+            type="date"
+            value-format="yyyy-MM-dd"
+            placeholder="选择结束时间">
+          </el-date-picker>
+        </el-form-item>
+      </el-form>
+      <div slot="footer" class="dialog-footer">
+        <el-button type="primary" @click="submitForm">确 定</el-button>
+        <el-button @click="cancel">取 消</el-button>
+      </div>
+    </el-dialog>
+  </div>
+</template>
+
+<script>
+import { listWeekjob, getWeekjob, delWeekjob, addWeekjob, updateWeekjob, exportWeekjob } from "@/api/thought/weekjob";
+
+export default {
+  name: "Weekjob",
+  data() {
+    return {
+      // 遮罩层
+      loading: true,
+      // 导出遮罩层
+      exportLoading: false,
+      // 选中数组
+      ids: [],
+      // 非单个禁用
+      single: true,
+      // 非多个禁用
+      multiple: true,
+      // 显示搜索条件
+      showSearch: true,
+      // 总条数
+      total: 0,
+      // 周工作表格数据
+      weekjobList: [],
+      // 弹出层标题
+      title: "",
+      // 是否显示弹出层
+      open: false,
+      // 查询参数
+      queryParams: {
+        pageNum: 1,
+        pageSize: 10,
+        creatTime: null,
+        creatName: null,
+        creatId: null,
+        unitName: null,
+        unitId: null,
+        dutyLeader: null,
+        dutyLeaderId: null,
+        phone: null,
+        militaryOfficer: null,
+        militaryOfficerId: null,
+        politicalOfficer: null,
+        politicalOfficerId: null,
+        jobTitle: null,
+        startTime: null,
+        endTime: null
+      },
+      // 表单参数
+      form: {},
+      // 表单校验
+      rules: {
+      }
+    };
+  },
+  created() {
+    this.getList();
+  },
+  methods: {
+    /** 查询周工作列表 */
+    getList() {
+      this.loading = true;
+      listWeekjob(this.queryParams).then(response => {
+        this.weekjobList = response.rows;
+        this.total = response.total;
+        this.loading = false;
+      });
+    },
+    // 取消按钮
+    cancel() {
+      this.open = false;
+      this.reset();
+    },
+    // 表单重置
+    reset() {
+      this.form = {
+        id: null,
+        creatTime: null,
+        updateTime: null,
+        creatName: null,
+        creatId: null,
+        remark: null,
+        unitName: null,
+        unitId: null,
+        dutyLeader: null,
+        dutyLeaderId: null,
+        phone: null,
+        militaryOfficer: null,
+        militaryOfficerId: null,
+        politicalOfficer: null,
+        politicalOfficerId: null,
+        jobTitle: null,
+        startTime: null,
+        endTime: null
+      };
+      this.resetForm("form");
+    },
+    /** 搜索按钮操作 */
+    handleQuery() {
+      this.queryParams.pageNum = 1;
+      this.getList();
+    },
+    /** 重置按钮操作 */
+    resetQuery() {
+      this.resetForm("queryForm");
+      this.handleQuery();
+    },
+    // 多选框选中数据
+    handleSelectionChange(selection) {
+      this.ids = selection.map(item => item.id)
+      this.single = selection.length!==1
+      this.multiple = !selection.length
+    },
+    /** 新增按钮操作 */
+    handleAdd() {
+      this.reset();
+      this.open = true;
+      this.title = "添加周工作";
+    },
+    /** 修改按钮操作 */
+    handleUpdate(row) {
+      this.reset();
+      const id = row.id || this.ids
+      getWeekjob(id).then(response => {
+        this.form = response.data;
+        this.open = true;
+        this.title = "修改周工作";
+      });
+    },
+    /** 提交按钮 */
+    submitForm() {
+      this.$refs["form"].validate(valid => {
+        if (valid) {
+          if (this.form.id != null) {
+            updateWeekjob(this.form).then(response => {
+              this.$modal.msgSuccess("修改成功");
+              this.open = false;
+              this.getList();
+            });
+          } else {
+            addWeekjob(this.form).then(response => {
+              this.$modal.msgSuccess("新增成功");
+              this.open = false;
+              this.getList();
+            });
+          }
+        }
+      });
+    },
+    /** 删除按钮操作 */
+    handleDelete(row) {
+      const ids = row.id || this.ids;
+      this.$modal.confirm('是否确认删除周工作编号为"' + ids + '"的数据项?').then(function() {
+        return delWeekjob(ids);
+      }).then(() => {
+        this.getList();
+        this.$modal.msgSuccess("删除成功");
+      }).catch(() => {});
+    },
+    /** 导出按钮操作 */
+    handleExport() {
+      const queryParams = this.queryParams;
+      this.$modal.confirm('是否确认导出所有周工作数据项?').then(() => {
+        this.exportLoading = true;
+        return exportWeekjob(queryParams);
+      }).then(response => {
+        this.$download.name(response.msg);
+        this.exportLoading = false;
+      }).catch(() => {});
+    }
+  }
+};
+</script>

+ 448 - 0
src/views/thought/weekjobFu/index.vue

@@ -0,0 +1,448 @@
+<template>
+  <div class="app-container">
+    <el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="68px">
+      <el-form-item label="星期" prop="week">
+        <el-input
+          v-model="queryParams.week"
+          placeholder="请输入星期"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="时间" prop="time">
+        <el-date-picker clearable size="small"
+          v-model="queryParams.time"
+          type="date"
+          value-format="yyyy-MM-dd"
+          placeholder="选择时间">
+        </el-date-picker>
+      </el-form-item>
+      <el-form-item label="时段" prop="dateline">
+        <el-input
+          v-model="queryParams.dateline"
+          placeholder="请输入时段"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="单位" prop="unitId1">
+        <el-input
+          v-model="queryParams.unitId1"
+          placeholder="请输入单位"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="参加人员" prop="peopleIds">
+        <el-input
+          v-model="queryParams.peopleIds"
+          placeholder="请输入参加人员"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="地点" prop="address">
+        <el-input
+          v-model="queryParams.address"
+          placeholder="请输入地点"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="时间段1" prop="startTime">
+        <el-input
+          v-model="queryParams.startTime"
+          placeholder="请输入时间段1"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="时间段2" prop="endTime">
+        <el-input
+          v-model="queryParams.endTime"
+          placeholder="请输入时间段2"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="主表ID" prop="weekjobId">
+        <el-input
+          v-model="queryParams.weekjobId"
+          placeholder="请输入主表ID"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="应到" prop="shouldArrive">
+        <el-input
+          v-model="queryParams.shouldArrive"
+          placeholder="请输入应到"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="实到" prop="realTo">
+        <el-input
+          v-model="queryParams.realTo"
+          placeholder="请输入实到"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="到课率" prop="percentage">
+        <el-input
+          v-model="queryParams.percentage"
+          placeholder="请输入到课率"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="组织人" prop="organizer">
+        <el-input
+          v-model="queryParams.organizer"
+          placeholder="请输入组织人"
+          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="10" class="mb8">
+      <el-col :span="1.5">
+        <el-button
+          type="primary"
+          plain
+          icon="el-icon-plus"
+          size="mini"
+          @click="handleAdd"
+          v-hasPermi="['thought:weekjobFu:add']"
+        >新增</el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button
+          type="success"
+          plain
+          icon="el-icon-edit"
+          size="mini"
+          :disabled="single"
+          @click="handleUpdate"
+          v-hasPermi="['thought:weekjobFu:edit']"
+        >修改</el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button
+          type="danger"
+          plain
+          icon="el-icon-delete"
+          size="mini"
+          :disabled="multiple"
+          @click="handleDelete"
+          v-hasPermi="['thought:weekjobFu:remove']"
+        >删除</el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button
+          type="warning"
+          plain
+          icon="el-icon-download"
+          size="mini"
+          :loading="exportLoading"
+          @click="handleExport"
+          v-hasPermi="['thought:weekjobFu:export']"
+        >导出</el-button>
+      </el-col>
+      <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
+    </el-row>
+
+    <el-table v-loading="loading" :data="weekjobFuList" @selection-change="handleSelectionChange">
+      <el-table-column type="selection" width="55" align="center" />
+      <el-table-column label="组织人" align="center" prop="id" />
+      <el-table-column label="星期" align="center" prop="week" />
+      <el-table-column label="时间" align="center" prop="time" width="180">
+        <template slot-scope="scope">
+          <span>{{ parseTime(scope.row.time, '{y}-{m}-{d}') }}</span>
+        </template>
+      </el-table-column>
+      <el-table-column label="时段" align="center" prop="dateline" />
+      <el-table-column label="内容" align="center" prop="contents" />
+      <el-table-column label="单位" align="center" prop="unitId1" />
+      <el-table-column label="参加人员" align="center" prop="peopleIds" />
+      <el-table-column label="地点" align="center" prop="address" />
+      <el-table-column label="时间段1" align="center" prop="startTime" />
+      <el-table-column label="时间段2" align="center" prop="endTime" />
+      <el-table-column label="主表ID" align="center" prop="weekjobId" />
+      <el-table-column label="应到" align="center" prop="shouldArrive" />
+      <el-table-column label="实到" align="center" prop="realTo" />
+      <el-table-column label="到课率" align="center" prop="percentage" />
+      <el-table-column label="组织人" align="center" prop="organizer" />
+      <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
+        <template slot-scope="scope">
+          <el-button
+            size="mini"
+            type="text"
+            icon="el-icon-edit"
+            @click="handleUpdate(scope.row)"
+            v-hasPermi="['thought:weekjobFu:edit']"
+          >修改</el-button>
+          <el-button
+            size="mini"
+            type="text"
+            icon="el-icon-delete"
+            @click="handleDelete(scope.row)"
+            v-hasPermi="['thought:weekjobFu:remove']"
+          >删除</el-button>
+        </template>
+      </el-table-column>
+    </el-table>
+    
+    <pagination
+      v-show="total>0"
+      :total="total"
+      :page.sync="queryParams.pageNum"
+      :limit.sync="queryParams.pageSize"
+      @pagination="getList"
+    />
+
+    <!-- 添加或修改周工作附对话框 -->
+    <el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
+      <el-form ref="form" :model="form" :rules="rules" label-width="80px">
+        <el-form-item label="星期" prop="week">
+          <el-input v-model="form.week" placeholder="请输入星期" />
+        </el-form-item>
+        <el-form-item label="时间" prop="time">
+          <el-date-picker clearable size="small"
+            v-model="form.time"
+            type="date"
+            value-format="yyyy-MM-dd"
+            placeholder="选择时间">
+          </el-date-picker>
+        </el-form-item>
+        <el-form-item label="时段" prop="dateline">
+          <el-input v-model="form.dateline" placeholder="请输入时段" />
+        </el-form-item>
+        <el-form-item label="内容">
+          <editor v-model="form.contents" :min-height="192"/>
+        </el-form-item>
+        <el-form-item label="单位" prop="unitId1">
+          <el-input v-model="form.unitId1" placeholder="请输入单位" />
+        </el-form-item>
+        <el-form-item label="参加人员" prop="peopleIds">
+          <el-input v-model="form.peopleIds" placeholder="请输入参加人员" />
+        </el-form-item>
+        <el-form-item label="地点" prop="address">
+          <el-input v-model="form.address" placeholder="请输入地点" />
+        </el-form-item>
+        <el-form-item label="时间段1" prop="startTime">
+          <el-input v-model="form.startTime" placeholder="请输入时间段1" />
+        </el-form-item>
+        <el-form-item label="时间段2" prop="endTime">
+          <el-input v-model="form.endTime" placeholder="请输入时间段2" />
+        </el-form-item>
+        <el-form-item label="主表ID" prop="weekjobId">
+          <el-input v-model="form.weekjobId" placeholder="请输入主表ID" />
+        </el-form-item>
+        <el-form-item label="应到" prop="shouldArrive">
+          <el-input v-model="form.shouldArrive" placeholder="请输入应到" />
+        </el-form-item>
+        <el-form-item label="实到" prop="realTo">
+          <el-input v-model="form.realTo" placeholder="请输入实到" />
+        </el-form-item>
+        <el-form-item label="到课率" prop="percentage">
+          <el-input v-model="form.percentage" placeholder="请输入到课率" />
+        </el-form-item>
+        <el-form-item label="组织人" prop="organizer">
+          <el-input v-model="form.organizer" placeholder="请输入组织人" />
+        </el-form-item>
+      </el-form>
+      <div slot="footer" class="dialog-footer">
+        <el-button type="primary" @click="submitForm">确 定</el-button>
+        <el-button @click="cancel">取 消</el-button>
+      </div>
+    </el-dialog>
+  </div>
+</template>
+
+<script>
+import { listWeekjobFu, getWeekjobFu, delWeekjobFu, addWeekjobFu, updateWeekjobFu, exportWeekjobFu } from "@/api/thought/weekjobFu";
+
+export default {
+  name: "WeekjobFu",
+  data() {
+    return {
+      // 遮罩层
+      loading: true,
+      // 导出遮罩层
+      exportLoading: false,
+      // 选中数组
+      ids: [],
+      // 非单个禁用
+      single: true,
+      // 非多个禁用
+      multiple: true,
+      // 显示搜索条件
+      showSearch: true,
+      // 总条数
+      total: 0,
+      // 周工作附表格数据
+      weekjobFuList: [],
+      // 弹出层标题
+      title: "",
+      // 是否显示弹出层
+      open: false,
+      // 查询参数
+      queryParams: {
+        pageNum: 1,
+        pageSize: 10,
+        week: null,
+        time: null,
+        dateline: null,
+        contents: null,
+        unitId1: null,
+        peopleIds: null,
+        address: null,
+        startTime: null,
+        endTime: null,
+        weekjobId: null,
+        shouldArrive: null,
+        realTo: null,
+        percentage: null,
+        organizer: null
+      },
+      // 表单参数
+      form: {},
+      // 表单校验
+      rules: {
+      }
+    };
+  },
+  created() {
+    this.getList();
+  },
+  methods: {
+    /** 查询周工作附列表 */
+    getList() {
+      this.loading = true;
+      listWeekjobFu(this.queryParams).then(response => {
+        this.weekjobFuList = response.rows;
+        this.total = response.total;
+        this.loading = false;
+      });
+    },
+    // 取消按钮
+    cancel() {
+      this.open = false;
+      this.reset();
+    },
+    // 表单重置
+    reset() {
+      this.form = {
+        id: null,
+        week: null,
+        time: null,
+        dateline: null,
+        contents: null,
+        unitId1: null,
+        peopleIds: null,
+        address: null,
+        startTime: null,
+        endTime: null,
+        weekjobId: null,
+        shouldArrive: null,
+        realTo: null,
+        percentage: null,
+        organizer: null
+      };
+      this.resetForm("form");
+    },
+    /** 搜索按钮操作 */
+    handleQuery() {
+      this.queryParams.pageNum = 1;
+      this.getList();
+    },
+    /** 重置按钮操作 */
+    resetQuery() {
+      this.resetForm("queryForm");
+      this.handleQuery();
+    },
+    // 多选框选中数据
+    handleSelectionChange(selection) {
+      this.ids = selection.map(item => item.id)
+      this.single = selection.length!==1
+      this.multiple = !selection.length
+    },
+    /** 新增按钮操作 */
+    handleAdd() {
+      this.reset();
+      this.open = true;
+      this.title = "添加周工作附";
+    },
+    /** 修改按钮操作 */
+    handleUpdate(row) {
+      this.reset();
+      const id = row.id || this.ids
+      getWeekjobFu(id).then(response => {
+        this.form = response.data;
+        this.open = true;
+        this.title = "修改周工作附";
+      });
+    },
+    /** 提交按钮 */
+    submitForm() {
+      this.$refs["form"].validate(valid => {
+        if (valid) {
+          if (this.form.id != null) {
+            updateWeekjobFu(this.form).then(response => {
+              this.$modal.msgSuccess("修改成功");
+              this.open = false;
+              this.getList();
+            });
+          } else {
+            addWeekjobFu(this.form).then(response => {
+              this.$modal.msgSuccess("新增成功");
+              this.open = false;
+              this.getList();
+            });
+          }
+        }
+      });
+    },
+    /** 删除按钮操作 */
+    handleDelete(row) {
+      const ids = row.id || this.ids;
+      this.$modal.confirm('是否确认删除周工作附编号为"' + ids + '"的数据项?').then(function() {
+        return delWeekjobFu(ids);
+      }).then(() => {
+        this.getList();
+        this.$modal.msgSuccess("删除成功");
+      }).catch(() => {});
+    },
+    /** 导出按钮操作 */
+    handleExport() {
+      const queryParams = this.queryParams;
+      this.$modal.confirm('是否确认导出所有周工作附数据项?').then(() => {
+        this.exportLoading = true;
+        return exportWeekjobFu(queryParams);
+      }).then(response => {
+        this.$download.name(response.msg);
+        this.exportLoading = false;
+      }).catch(() => {});
+    }
+  }
+};
+</script>