Browse Source

待办提醒

jz.kai 4 years ago
parent
commit
b826c7ff1d

+ 5 - 1
src/api/base/incident.js

@@ -49,6 +49,10 @@ function nextStep(formModel){
   });
 }
 
+function pageListPending(formData){
+  return request.post(constant.serverUrl + "/base/incident/pageListPending", formData);
+}
+
 export default {
-  pageList,create,edit,add,update,remove,batchRemove,nextStep
+  pageList,create,edit,add,update,remove,batchRemove,nextStep,pageListPending
 }

+ 9 - 0
src/routers/modules/base.js

@@ -26,6 +26,15 @@ var routers = [
                 title: '人员管理'
         }
     },
+    {
+        path: '/base/incident/pageListPending',
+        name: 'BaseIncidentPageListPending',
+        component: () => import('@/views/base/incident-panding.vue'),
+        meta: {
+                roles: ["admin"],
+                title: '待办提醒'
+        }
+    },
 ]
 
 export default routers;

+ 2 - 2
src/views/Home.vue

@@ -7,7 +7,7 @@
       </el-breadcrumb-item>
     </el-breadcrumb>
     <el-divider></el-divider>
-    <!-- <el-card class="diagram_jkgs" style="padding-left:-10px">
+    <el-card class="diagram_jkgs" style="padding-left:-10px">
       <el-button style="font-size:24px" type="primary" @click="openView">
         健康
         <br />公示
@@ -72,7 +72,7 @@
     </el-card>
     <el-card class="diagram">
       <div id="everyDayMeasuringDiv" style="width:100%;height: 280px;"></div>
-    </el-card> -->
+    </el-card>
   </div>
 </template>
 <script>

+ 1 - 1
src/views/base/incident-doc.vue

@@ -163,7 +163,7 @@ a:active {
               <td class="td-left-column1">{{ list.createTime }}</td>
               <td class="td-right-column1">{{ list.orgName }}</td>
               <td class="td-left-column1">{{ list.updateTime }}</td>
-              <td class="td-right-column1">{{ list.content }}</td>
+              <td class="td-right-column1" style="text-align: left">{{ list.content }}</td>
             </tr>
           </table>
         </el-row>

+ 4 - 2
src/views/base/incident-info.vue

@@ -155,15 +155,17 @@ a:active {
           <table border="0" cellspacing="0" cellpadding="0" align="center">
             <tr>
               <td class="td-left-column1"><b>交办时间</b></td>
-              <td class="td-left-column1"><b>处置单位</b></td>
+              <td class="td-left-column1"><b>责任单位</b></td>
+              <!-- <td class="td-left-column1"><b>责任人</b></td> -->
               <td class="td-left-column1"><b>处置时间</b></td>
               <td class="td-right-column1"><b>处置记录</b></td>
             </tr>
             <tr v-for="list in formModel.incidentStepList" :key="list.id">
               <td class="td-left-column1">{{ list.createTime }}</td>
               <td class="td-right-column1">{{ list.orgName }}</td>
+              <!-- <td class="td-right-column1">{{ list.personName }}</td> -->
               <td class="td-left-column1">{{ list.updateTime }}</td>
-              <td class="td-right-column1">{{ list.content }}</td>
+              <td class="td-right-column1" style="text-align: left">{{ list.content }}</td>
             </tr>
           </table>
         </el-row>

+ 262 - 0
src/views/base/incident-panding.vue

@@ -0,0 +1,262 @@
+<template>
+  <div>
+    <el-breadcrumb separator=">">
+      <el-breadcrumb-item :to="{ path: '/' }">首页</el-breadcrumb-item>
+      <el-breadcrumb-item>
+        <a href="#">系统管理</a>
+      </el-breadcrumb-item>
+      <el-breadcrumb-item>
+        <a href="/base/incident">待办提醒</a>
+      </el-breadcrumb-item>
+    </el-breadcrumb>
+    <el-divider></el-divider>
+    <!--
+      要resetFields起作用,必须配置:model和prop
+    -->
+    <el-form
+      ref="queryForm"
+      :model="queryModel"
+      inline
+      class="demo-form-inline"
+    >
+      <el-form-item label="督办类型" prop="caseType">
+        <el-select
+          v-model="queryModel.caseType"
+          filterable
+          placeholder="请选择"
+          size="mini"
+        >
+          <el-option
+            v-for="caseType in caseTypeResult"
+            :key="caseType.value"
+            :label="caseType.name"
+            :value="caseType.value"
+          ></el-option>
+        </el-select>
+      </el-form-item>
+      <el-form-item label="标题" prop="title">
+        <el-input type="text" size="mini" v-model="queryModel.title"></el-input>
+      </el-form-item>
+      <el-form-item>
+        <el-button
+          type="primary"
+          size="mini"
+          icon="ios-search"
+          @click="changePage(1)"
+          :loading="loading"
+          >查询</el-button
+        >&nbsp;
+        <el-button
+          type="info"
+          size="mini"
+          style="margin-left: 8px"
+          @click="handleReset('queryForm')"
+          >重置</el-button
+        >&nbsp;
+      </el-form-item>
+    </el-form>
+    <el-divider></el-divider>
+    <el-table
+      :data="tableData"
+      style="min-height: 400px"
+      v-loading="loading"
+      stripe
+      @sort-change="sortChange"
+      @selection-change="handleSelectionChange"
+    >
+      <el-table-column
+        prop="warningLight"
+        width="30"
+      ></el-table-column>
+      <el-table-column
+        prop="caseTypeName"
+        label="督办类型"
+        width="180"
+      ></el-table-column>
+      <el-table-column prop="title" label="标题" width="180"></el-table-column>
+      <el-table-column prop="isFinishedName" label="当前进度" width="180"></el-table-column>
+      <el-table-column
+        prop="createTime"
+        label="登记时间"
+        width="180"
+      ></el-table-column>
+      <el-table-column
+        prop="stepWarnTime"
+        label="提醒时间"
+        width="180"
+      ></el-table-column>
+      <el-table-column label="操作" width="100" fixed="right">
+        <template slot-scope="{ row }">
+          <el-button size="mini" type="success" @click="handleDetail(row)">督办处置</el-button>
+        </template>
+      </el-table-column>
+    </el-table>
+    <el-pagination
+      :current-page.sync="pageIndex"
+      :total="totalElements"
+      :page-sizes="pageSizeList"
+      @current-change="changePage"
+      @size-change="pageSizeChange"
+      layout="total, sizes, prev, pager, next, jumper"
+    ></el-pagination>
+    <incident-doc
+      v-if="showModalDoc"
+      :businessKey="businessKey"
+      :title="modalTitle"
+      @close="onDetailModalClose"
+    ></incident-doc>
+  </div>
+</template>
+<script>
+import Constant from "@/constant";
+import IncidentDoc from "./incident-doc";
+import incidentApi from "@/api/base/incident";
+import dataDictionaryApi from "@/api/sys/dataDictionary";
+import NProgress from "nprogress"; // progress bar
+import "nprogress/nprogress.css"; // progress bar style
+
+export default {
+  data() {
+    var self = this;
+
+    return {
+      queryModel: {
+        id: "",
+        title: "",
+        content: "",
+        attachmentUrl: "",
+        imageUrl: "",
+        caseType: "",
+        isFinished: "",
+        instructions: "",
+        instructionsTime: "",
+      },
+      loading: false,
+      tableData: [],
+      pageIndex: 1,
+      pageSize: 10,
+      totalPages: 0,
+      totalElements: 0,
+      field: "",
+      direction: "",
+      pageSizeList: [10, 20, 30],
+      multipleSelection: [],
+      showModalDoc: false,
+      modalTitle: "",
+      businessKey: "",
+      caseTypeResult: [],
+      showBtn1: false,
+      showBtn2: true,
+    };
+  },
+  created() {
+    var self = this;
+
+    dataDictionaryApi.findByCatalogName({
+      catalogName: "督办类型",
+    })
+    .then((response) => {
+      var jsonData = response.data;
+      this.caseTypeResult = jsonData.data;
+    });
+  },
+  methods: {
+    changePage(pageIndex) {
+      var self = this;
+
+      self.loading = true;
+
+      self.pageIndex = pageIndex;
+      var formData = new FormData();
+
+      formData.append("pageIndex", self.pageIndex);
+      formData.append("pageSize", self.pageSize);
+
+      formData.append("title", self.queryModel.title);
+      formData.append("caseType", self.queryModel.caseType);
+
+      if (this.field != null) {
+        formData.append("field", this.field);
+      }
+
+      if (this.direction != null) {
+        formData.append("direction", this.direction);
+      }
+
+      incidentApi
+        .pageListPending(formData)
+        .then(function (response) {
+          self.loading = false;
+
+          var jsonData = response.data.data;
+
+          self.tableData = jsonData.data;
+          self.totalPages = jsonData.totalPages;
+          self.totalElements = jsonData.recordsTotal;
+        })
+        .catch((error) => {
+          self.loading = false;
+          // self.$message.error(error + "");
+        });
+    },
+    pageSizeChange(pageSize) {
+      this.pageSize = pageSize;
+
+      this.$nextTick(() => {
+        this.changePage(this.pageIndex);
+      });
+    },
+    sortChange(data) {
+      this.field = data.column.field;
+      this.direction = data.order;
+
+      this.changePage(this.pageIndex);
+    },
+    handleSelectionChange(val) {
+      this.multipleSelection = val;
+    },
+    handleReset(name) {
+      this.$refs[name].resetFields();
+    },
+    handleDetail(record) {
+      this.modalTitle = "督办处置";
+      this.businessKey = record.id;
+      this.showModalDoc = true;
+    },
+    onDetailModalClose(refreshed) {
+      //保存成功后回调
+      this.showModalDoc = false;
+
+      if (refreshed) {
+        this.changePage(this.pageIndex);
+      }
+    },
+  },
+  mounted: function () {
+    this.changePage(1);
+  },
+  components: {
+    "incident-doc": IncidentDoc,
+  },
+};
+</script>
+<style lang="scss" scoped>
+.el-breadcrumb {
+  margin: 10px;
+  line-height: 20px;
+}
+
+.el-divider {
+  margin: 5px 0;
+}
+
+.demo-form-inline {
+  margin-left: 10px;
+  text-align: left;
+}
+
+.button-group {
+  margin-left: 10px;
+  text-align: left;
+}
+</style>