Ver código fonte

新增实施查看功能

humingbo 2 anos atrás
pai
commit
8832e0f147
2 arquivos alterados com 202 adições e 30 exclusões
  1. 13 0
      src/api/meeting/enforce.js
  2. 189 30
      src/views/enforceflow/enforceflow.vue

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

@@ -108,6 +108,19 @@ export  function getEnforceFlowsByEnforceId(id){
   })
 }
 
+/**
+ * 根据流程id及其步骤查询详情
+ * @param id
+ * @param step
+ * @returns {*}
+ */
+export function getEnforceFlowsByEnforceIdAndStep(id, step){
+  return request({
+    url:'/enforce/getEnforceFlowsByEnforceIdAndStep?id='+id+"&step="+step,
+    method: 'get'
+  })
+}
+
 
 
 

+ 189 - 30
src/views/enforceflow/enforceflow.vue

@@ -71,7 +71,7 @@
           </el-button>
           <el-button size="mini" v-if="scope.row.status===0" type="danger" @click="deleteEnforce(scope.row)">删除
           </el-button>
-          <el-button size="mini" type="success" @click="openEnforceManageDialog(scope.row)">运维管理</el-button>
+          <el-button size="mini" type="success" @click="openEnforceManageDialog(scope.row)">查看详情</el-button>
           <el-button size="mini" v-if="scope.row.status!==0" type="primary" @click="getEnforceDetail(scope.row)">
             查看实施详情
           </el-button>
@@ -267,38 +267,144 @@
       </el-table>
     </el-dialog>
 
-    <el-dialog title="运维管理" :visible.sync="enforceManageVisble"  @click="enforceManageDialog">
-      <el-tabs type="card" >
-        <el-tab-pane label="运维提醒设置">
-          <el-table :data="enforceRemindData" stripe  style="width: 100%" >
-            <el-table-column prop="date" label="提醒信息" width="180"></el-table-column>
-            <el-table-column prop="name" label="有限期限" width="180"></el-table-column>
-            <el-table-column prop="op" label="操作">
-
-            </el-table-column>
-          </el-table>
-        </el-tab-pane>
-        <el-tab-pane label="运维记录">
-          <el-table :data="enforceRemindData" stripe  style="width: 100%">
-            <el-table-column prop="date" label="运维类型" width="180"></el-table-column>
-            <el-table-column prop="name" label="运维内容" width="180"></el-table-column>
-            <el-table-column prop="address" label="运维时间"></el-table-column>
-            <el-table-column prop="address" label="运维人员"></el-table-column>
-            <el-table-column prop="op" label="操作"></el-table-column>
-          </el-table>
-        </el-tab-pane>
-
-      </el-tabs>
+    <el-dialog :title="enforceFlowTitle" :visible.sync="enforceManageVisble" width="99%" fullscreen center :close-on-click-modal="false"  @click="enforceManageDialog">
+      <el-steps :active="maxStep" finish-status="success">
+        <el-step @click.native="on_click(1)" title="项目启动会" :class="stepClass" />
+        <el-step @click.native="on_click(2)" title="发货" />
+        <el-step @click.native="on_click(3)" title="物流签收" />
+        <el-step @click.native="on_click(4)" title="进入现场" />
+        <el-step @click.native="on_click(5)" title="设备安装" />
+        <el-step @click.native="on_click(6)" title="系统调试" />
+        <el-step @click.native="on_click(7)" title="操作培训" />
+        <el-step @click.native="on_click(8)" title="现场值守" />
+        <el-step @click.native="on_click(9)" title="离场" />
+        <el-step @click.native="on_click(10)" title="实施复盘" />
+        <el-step @click.native="on_click(11)" title="文件归档" />
+        <el-step @click.native="on_click(12)" title="运维维护" />
+      </el-steps>
 
+      <div>
+        <div v-if="active!==12" style="margin-top: 5px">
+          <el-form label-width="120px" :model="enforceForm" size="mini">
+            <el-descriptions title="" :column="2" border size="mini">
+              <el-descriptions-item>
+                <template slot="label">
+                  项目名称
+                </template>
+                {{ enforceFlow.name }}
+              </el-descriptions-item>
+              <el-descriptions-item>
+                <template slot="label">
+                  项目总负责人
+                </template>
+                {{ enforceFlow.enforcer }}
+              </el-descriptions-item>
+              <el-descriptions-item>
+                <template slot="label">
+                  实施医院
+                </template>
+                {{ enforceFlow.hname }}
+              </el-descriptions-item>
+              <el-descriptions-item>
+                <template slot="label">
+                  实施系统
+                </template>
+                {{ enforceFlow.hsytem }}
+              </el-descriptions-item>
+              <el-descriptions-item>
+                <template slot="label">
+                  实施时间
+                </template>
+                {{ enforceFlow.beginTime }}至 {{ enforceFlow.endTime }}
+              </el-descriptions-item>
+              <el-descriptions-item>
+                <template slot="label">
+                  实施状态
+                </template>
+                <span style="color: darkred" v-if="enforceFlow.status===0">待开始</span>
+                <span style="color: green" v-else-if="enforceFlow.status===1">进行中</span>
+                <span style="color: darkblue" v-else="enforceFlow.status===2">已结束</span>
+              </el-descriptions-item>
+              <el-descriptions-item :span="2">
+                <template slot="label">
+                  实施内容
+                </template>
+                {{ enforceFlow.content }}
+              </el-descriptions-item>
+              <el-descriptions-item :span="2">
+                <template slot="label">
+                  当前负责人
+                </template>
+                <el-input size="small" v-model="enforceForm.director" :disabled="true" @keyup.enter.native="openUsers()">
+                  <el-button @click="openUsers" icon="el-icon-search" slot="append"></el-button>
+                </el-input>
+              </el-descriptions-item>
+              <el-descriptions-item :span="2">
+                <template slot="label">
+                  备注说明
+                </template>
+                <el-input size="small" v-model="enforceForm.remark" type="textarea" :rows="4"></el-input>
+              </el-descriptions-item>
+              <el-descriptions-item :span="2">
+                <template slot="label">
+                  文件列表
+                </template>
+                <el-upload
+                  ref="upload"
+                  :action="fileAction"
+                  :on-remove="handleRemove"
+                  :on-success="handleSuccess"
+                  :on-error="handleError"
+                  name="file">
+                  <el-button slot="trigger" size="mini" type="primary">选取文件</el-button>
+                </el-upload>
+              </el-descriptions-item>
+              <el-descriptions-item :span="2">
+                <template slot="label">
+                  其他说明
+                </template>
+                <div id="editorElem" style="text-align:left" >
+                </div>
+              </el-descriptions-item>
+            </el-descriptions>
+          </el-form>
+          <div slot="footer"style="margin-top: 25px;text-align: right;margin-right: 85px">
+            <el-button size="medium" @click="enforceManageDialog">取消</el-button>
+            <el-button size="medium" type="primary" class="title" @click="submitEnforceForm('editForm')">确定处理</el-button>
+          </div>
+        </div>
+        <div v-else style="margin-top:5px ">
+          <el-tabs type="card" >
+            <el-tab-pane label="运维提醒设置">
+              <el-table :data="enforceRemindData" stripe  style="width: 100%" >
+                <el-table-column prop="date" label="提醒信息" width="180"></el-table-column>
+                <el-table-column prop="name" label="有限期限" width="180"></el-table-column>
+                <el-table-column prop="op" label="操作">
+                </el-table-column>
+              </el-table>
+            </el-tab-pane>
+            <el-tab-pane label="运维记录">
+              <el-table :data="enforceRemindData" stripe  style="width: 100%">
+                <el-table-column prop="date" label="运维类型" width="180"></el-table-column>
+                <el-table-column prop="name" label="运维内容" width="180"></el-table-column>
+                <el-table-column prop="address" label="运维时间"></el-table-column>
+                <el-table-column prop="address" label="运维人员"></el-table-column>
+                <el-table-column prop="op" label="操作"></el-table-column>
+              </el-table>
+            </el-tab-pane>
 
+          </el-tabs>
+        </div>
 
+      </div>
 
     </el-dialog>
   </div>
 </template>
 
 <script>
-
+import E from 'wangeditor';
+let editor;
 import Pagination from '@/components/Page/Pagination'
 import {
   getEnforcesByPage,
@@ -307,7 +413,7 @@ import {
   addEnforce,
   deleteEnforce,
   startEnforceFlow,
-  getEnforceFlowsByEnforceId
+  getEnforceFlowsByEnforceId, getEnforceFlowsByEnforceIdAndStep
 } from '@/api/meeting/enforce'
 import {getDeptUserTree} from '@/api/system/user'
 
@@ -323,6 +429,7 @@ export default {
         size: 10,
         total: 0
       },
+      stepClass:'stepClass',
       formInline: {
         current: 1,
         size: 10,
@@ -352,26 +459,33 @@ export default {
         director: null,
         directorId: null,
         remark: null,
+        content:null
       },
       enforceFlow: {
         name: '',
         enforcer: '',
         time: null,
         hno: null,
+        hname:'',
         hsytem: null,
-        content: ''
+        content: '',
+        beginTime:null,
+        endTime:null
       },
+      enforceFlowId:null,
+      enforceFlowTitle:null,
       fileList: [],
       userList: [],
       userForm: {
         show: false
       },
       enforceFLows: [],
-      maxStep: 0,
+      maxStep: 1,
       enforceTableData: [],
       users1Visble: false,
       users1Flag: '',
       enforceManageVisble: false,
+      active: 1,
       enforceRemindData:[{
         date: '2016-05-02',
         name: '王小虎',
@@ -484,7 +598,6 @@ export default {
       this.editFormVisible = true
     },
     startEnforceFlow(row) {
-
       this.editEnforceFormVisible = true
       this.enforceFlow.name = row.name
       this.enforceFlow.enforcer = row.enforcer
@@ -492,7 +605,6 @@ export default {
       this.enforceFlow.content = row.content
       this.enforceFlow.hno = row.hname
       this.enforceFlow.hsytem = row.hsytem
-
       this.enforceForm.enforceId = row.id
 
     },
@@ -585,9 +697,50 @@ export default {
     },
     openEnforceManageDialog(row){
       this.enforceManageVisble=true
-    }
+      this.enforceFlowId=row.id
+      this.enforceFlowTitle=row.name+"实施流程明细"
+      this.on_click(1)
+    },
+    createwangeditor(){
+      editor = new E('#editorElem');
+      editor.config.height = 300
+      editor.create()
+      editor.txt.html(this.enforceForm.content)
+      editor.config.onchange = (html) => {
+        this.enforceForm.content=editor.txt.html()
+      };
+    },
+    on_click(e){
+      if(e !== "" || e != null){
+        if(e!==12){
+          let id = this.enforceFlowId
+          getEnforceFlowsByEnforceIdAndStep(id,e).then(res=>{
+            console.log(JSON.stringify(res))
+            let data=res.data;
+            this.enforceFlow=data.enforceFlow
+            this.maxStep=data.maxStep
+            let dtos=data.dtos
+            if(dtos.length>0){
+              this.enforceForm=dtos[0]
+            }
+            this.$nextTick(()=>{
+              if (editor==null){
+                this.createwangeditor()
+              }else {
+                editor.destroy();//这里做了一次判断,判断编辑器是否被创建,如果创建了就先销毁。
+                this.createwangeditor()
+              }
+            });
+            this.active = e
+          })
+        }else{
+          this.active = e
+        }
 
+      }
+    }
   }
+
 }
 </script>
 
@@ -595,4 +748,10 @@ export default {
 .el-form-item--mini.el-form-item, .el-form-item--small.el-form-item {
   margin-bottom: 10px;
 }
+
+.stepClass{
+    height: 36px !important;
+    width: 36px !important;
+
+}
 </style>