Forráskód Böngészése

增加实施管理基础性代码

humingbo 2 éve
szülő
commit
dcb05f061b
2 módosított fájl, 233 hozzáadás és 86 törlés
  1. 75 0
      src/api/meeting/enforce.js
  2. 158 86
      src/views/enforceflow/enforceflow.vue

+ 75 - 0
src/api/meeting/enforce.js

@@ -0,0 +1,75 @@
+import request from '@/utils/request'
+
+/**
+ * 分页查询实施列表数据
+ * @param data
+ * @returns {*}
+ */
+export function getEnforcesByPage(data){
+  return request({
+    url: '/enforce/getEnforcesByPage',
+    method: 'post',
+    data: data
+  })
+}
+
+/**
+ * 添加实施项目
+ * @param data
+ * @returns {*}
+ */
+export function addEnforce(data) {
+    return request({
+      url: '/enforce/addEnForce',
+      method: 'post',
+      data : data
+    })
+}
+
+/**
+ * 删除实施项目
+ * @param id
+ * @returns {*}
+ */
+export function deleteEnforce(id) {
+    return request({
+      url: '/enforce/delete?id='+id,
+      method: 'get'
+    })
+}
+
+/**
+ * 获取医院信息列表
+ */
+export function getHosInfos(){
+    return request({
+      url: '/enforce/getHosInfos',
+      method : 'get'
+    })
+}
+
+/**
+ * 获取所属系统列表
+ * @returns {*}
+ */
+export function getHsystems(){
+  return request({
+    url: '/enforce/getHsystems',
+    method : 'get'
+  })
+}
+
+/**
+ * 启动实施流程
+ * @param data
+ * @returns {*}
+ */
+export  function startEnforceFlow(data){
+  return request({
+    url: '/enforce/startEnforceFlow',
+    method : 'post',
+    data: data
+  })
+}
+
+

+ 158 - 86
src/views/enforceflow/enforceflow.vue

@@ -1,34 +1,31 @@
 <template>
   <div class="app-container">
 
-    <el-form :model="queryParams" ref="queryForm" size="mini" :inline="true">
-      <el-form-item label="项目名称:">
-        <el-input v-model="formInline.user" placeholder="项目名称"></el-input>
+    <el-form :model="formInline" ref="formInline" size="mini" :inline="true">
+      <el-form-item label="实施项目名称:">
+        <el-input v-model="formInline.name" placeholder="项目名称"></el-input>
       </el-form-item>
       <el-form-item label="所属医院:">
-        <el-select v-model="formInline.region" placeholder="所属医院">
-          <el-option label="区域一" value="shanghai"></el-option>
-          <el-option label="区域二" value="beijing"></el-option>
-          <el-option label="区域二" value="beijing"></el-option>
+        <el-select size="small"  clearable filterable v-model="formInline.hname" placeholder="请选择医院" >
+          <el-option  v-for="(item,index) in hnos" :label="item.dictLabel" :value="item.dictValue"></el-option>
         </el-select>
       </el-form-item>
       <el-form-item label="所属系统:">
-        <el-select v-model="formInline.region" placeholder="所属系统">
-          <el-option label="区域一" value="shanghai"></el-option>
-          <el-option label="区域二" value="beijing"></el-option>
+        <el-select size="small"  clearable filterable v-model="formInline.hsytem" placeholder="请选择医院" >
+          <el-option  v-for="(item,index) in hsytem" :label="item.dictLabel" :value="item.dictValue"></el-option>
         </el-select>
       </el-form-item>
       <el-form-item label="状态:">
-        <el-select v-model="formInline.region" placeholder="状态">
-          <el-option label="待开始" value="shanghai"></el-option>
-          <el-option label="进行中" value="beijing"></el-option>
-          <el-option label="已结束" value="beijing"></el-option>
+        <el-select v-model="formInline.status" placeholder="状态" clearable>
+          <el-option label="待开始" value="0"></el-option>
+          <el-option label="进行中" value="1"></el-option>
+          <el-option label="已结束" value="2"></el-option>
         </el-select>
       </el-form-item>
       <el-form-item>
-        <el-button type="primary" icon="el-icon-search" @click="onSubmit">查询</el-button>
-        <el-button icon="el-icon-refresh"  @click="onSubmit">重置</el-button>
-        <el-button type="success" icon="el-icon-plus" @click="createMeeting">创建实施</el-button>
+        <el-button type="primary" icon="el-icon-search" @click="searchData()">查询</el-button>
+        <el-button icon="el-icon-refresh"  @click="resetSearch()">重置</el-button>
+        <el-button type="success" icon="el-icon-plus" @click="createEnforceFlow()">创建实施</el-button>
       </el-form-item>
     </el-form>
     <el-table
@@ -39,67 +36,75 @@
       style="width: 100%">
       <el-table-column  type="index" label="序号" width="60">
       </el-table-column>
-      <el-table-column label="项目名称">
+      <el-table-column label="实施项目名称" prop="name" width="150">
       </el-table-column>
-      <el-table-column label="实施人员">
+      <el-table-column label="实施内容" prop="content"></el-table-column>
+      <el-table-column label="实施人员" prop="enforcer" width="80">
       </el-table-column>
-      <el-table-column label="实施时间">
+      <el-table-column label="实施医院" prop="hname" width="150">
       </el-table-column>
-      <el-table-column
-        prop="date"
-        label="所属系统"
-        width="180">
+      <el-table-column label="实施日期" prop="time" width="300">
+        <template scope="scope">
+          <div>{{scope.row.beginTime}}——{{scope.row.endTime}}</div>
+        </template>
       </el-table-column>
-      <el-table-column
-        prop="name"
-        label="状态
-        width="180">
+      <el-table-column prop="hsytem" label="所属系统" width="180">
       </el-table-column>
       <el-table-column
-        prop="address"
-        label="创建时间">
+        prop="createTime"
+        label="创建时间" width="140">
       </el-table-column>
-      <el-table-column label="操作" prop="op" width="150">
+      <el-table-column prop="status" label="状态" width="80">
+        <template scope="scope">
+          <div v-if="scope.row.status===0" style="color: green">待开始</div>
+          <div v-else-if="scope.row.status===1" style="color: red">进行中</div>
+          <div v-else>已结束</div>
+        </template>
+      </el-table-column>
+      <el-table-column label="操作" prop="op" width="250">
         <template slot-scope="scope">
-          <el-button size="mini" type="primary" @click="handleEdit(scope.$index, scope.row)">编辑</el-button>
-          <el-button size="mini" type="danger" @click="deleteAlarmContactById(scope.$index, scope.row)">删除</el-button>
+          <el-button size="mini" v-if="scope.row.status===0" type="primary" @click="startEnforceFlow(scope.row)">启动实施</el-button>
+          <el-button size="mini" v-if="scope.row.status===0" type="success" @click="handleEdit(scope.row)">编辑</el-button>
+          <el-button size="mini" v-if="scope.row.status===0" type="danger" @click="deleteEnforce(scope.row)">删除</el-button>
+          <el-button size="mini" v-if="scope.row.status!==0" type="primary" @click="handleEdit(scope.$index, scope.row)">查看实施详情</el-button>
         </template>
       </el-table-column>
     </el-table>
     <Pagination v-bind:child-msg="pageparm" @callFather="callFather"></Pagination>
 
-    <!--编辑会议窗体-->
+
     <!-- 编辑界面 -->
-    <el-dialog :title="title" :visible.sync="editFormVisible" width="55%" @click="closeDialog">
-      <el-form label-width="120px" >
-        <el-form-item label="会议主题:">
-          <el-input size="small"></el-input>
+    <el-dialog :title="title" :visible.sync="editFormVisible" width="40%" @click="closeDialog">
+      <el-form label-width="120px" :model="editForm" >
+        <el-form-item label="实施项目名称:" >
+          <el-input size="small" v-model="editForm.name"></el-input>
         </el-form-item>
-        <el-form-item label="会议类别:">
-          <el-radio  label="1">备选项</el-radio>
-          <el-radio  label="2">备选项</el-radio>
+        <el-form-item label="实施人员:">
+          <el-input size="small" v-model="editForm.enforcer"></el-input>
         </el-form-item>
-        <el-form-item label="会议类型:">
-          <el-select v-model="formInline.region" placeholder="会议类型">
-            <el-option label="区域一" value="shanghai"></el-option>
-            <el-option label="区域二" value="beijing"></el-option>
-            <el-option label="区域二" value="beijing"></el-option>
+        <el-form-item label="实施医院:">
+          <el-select size="small"  clearable filterable v-model="editForm.hname" placeholder="请选择医院" >
+              <el-option  v-for="(item,index) in hnos" :label="item.dictLabel" :value="item.dictValue"></el-option>
           </el-select>
         </el-form-item>
-        <el-form-item label="会议地点:">
-          <el-input size="small"></el-input>
-        </el-form-item>
-        <el-form-item label="会议时间:">
-
-        </el-form-item>
-        <el-form-item label="外部参会人员:">
-          <el-input size="small"></el-input>
+        <el-form-item label="实施系统:">
+          <el-select size="small"  clearable filterable v-model="editForm.hsytem" placeholder="请选择医院" >
+            <el-option  v-for="(item,index) in hsytem" :label="item.dictLabel" :value="item.dictValue"></el-option>
+          </el-select>
         </el-form-item>
-        <el-form-item label="内部参会人员:">
-          <el-input size="small"></el-input>
+        <el-form-item label="实施日期:">
+          <el-date-picker
+            v-model="editForm.times"
+            type="daterange"
+            value-format="yyyy-MM-dd"
+            format="yyyy-MM-dd"
+            range-separator="至"
+            start-placeholder="开始日期"
+            end-placeholder="结束日期">
+          </el-date-picker>
         </el-form-item>
-        <el-form-item label="会议内容:">
-          <el-input size="small"></el-input>
+        <el-form-item label="实施内容:">
+          <el-input size="small" type="textarea" :rows="4" v-model="editForm.content"></el-input>
         </el-form-item>
       </el-form>
       <div slot="footer" class="dialog-footer">
@@ -113,39 +118,40 @@
 
 <script>
 import Pagination from '@/components/Page/Pagination'
+import {getEnforcesByPage,getHosInfos,getHsystems,addEnforce,deleteEnforce,startEnforceFlow} from '@/api/meeting/enforce'
 
 export default {
   name: 'enforceflow',
   data() {
     return {
-      tableData: [{
-        date: '2016-05-02',
-        name: '王小虎',
-        address: '上海市普陀区金沙江路 1518 弄'
-      }, {
-        date: '2016-05-04',
-        name: '王小虎',
-        address: '上海市普陀区金沙江路 1517 弄'
-      }, {
-        date: '2016-05-01',
-        name: '王小虎',
-        address: '上海市普陀区金沙江路 1519 弄'
-      }, {
-        date: '2016-05-03',
-        name: '王小虎',
-        address: '上海市普陀区金沙江路 1516 弄'
-      }],
+      tableData: [],
       pageparm: {
-        page: 1,
-        pageSize: 10,
+        current: 1,
+        size: 10,
         total: 0
       },
       formInline: {
-        page: 1,
-        pageSize: 10
+        current: 1,
+        size: 10,
+        name:null,
+        hname:null,
+        hsytem:null,
+        status:null
+
+      },
+      editForm:{
+        id:null,
+        name: '',
+        hname:null,
+        hsytem:null,
+        enforcer:null,
+        content:null,
+        times:null
       },
       editFormVisible: false,
-      title : '创建会议'
+      title : '创建实施项目',
+      hnos:[],
+      hsytem: []
 
     }
   },
@@ -153,19 +159,85 @@ export default {
   components: {
     Pagination
   },
+  mounted() {
+    this.getHosInfos()
+    this.getHsystems()
+    this.getData(this.formInline)
+  },
   methods: {
     // 分页插件事件
     callFather(parm) {
-      this.formInline.page = parm.page
-      this.formInline.pageSize = parm.pageSize
-      //this.getdata(this.formInline)
+      this.formInline.current = parm.current
+      this.formInline.size = parm.size
+      this.getData(this.formInline)
     },
-    createMeeting() {
-      this.title = '创建会议'
-      this.editFormVisible = true
+    getData(data){
+      let searchParams=data;
+      getEnforcesByPage(searchParams).then(response=>{
+        this.tableData = response.data.records;
+        this.pageparm.total = response.data.total;
+      });
+    },
+    getHosInfos(){
+      getHosInfos().then(res=>{
+        this.hnos=res.data
+      })
+    },
+    getHsystems(){
+      getHsystems().then(res=>{
+        this.hsytem=res.data
+      })
     },
     closeDialog() {
       this.editFormVisible = false
+    },
+    resetSearch() {
+      this.formInline = {
+        current: 1,
+        size: 10,
+        name: null,
+        hname: null,
+        hsytem: null,
+        status: null
+      }
+      this.getData(this.formInline);
+    },
+    searchData(){
+      this.getData(this.formInline);
+    },
+    createEnforceFlow(){
+      this.title = '创建实施项目'
+      this.editFormVisible = true
+      this.editForm.id=null
+    },
+    submitForm() {
+      let data = this.editForm;
+      addEnforce(data).then(response => {
+        this.$message({
+          message: '操作成功!',
+          type: 'success'
+        });
+        this.closeDialog();
+        this.getData(this.formInline);
+      });
+    },
+    deleteEnforce(row){
+      let id=row.id;
+      deleteEnforce(id).then(response => {
+        this.$message({
+          message: '操作成功!',
+          type: 'success'
+        });
+        this.getData(this.formInline);
+      })
+    },
+    handleEdit(row){
+      this.editForm=row
+      this.editForm.times=[row.beginTime,row.endTime]
+      this.editFormVisible=true
+    },
+    startEnforceFlow(row){
+      alert('开启实时流程')
     }
   }
 }