|
@@ -47,7 +47,7 @@
|
|
|
style="width: 100%">
|
|
|
<el-table-column type="index" label="序号" width="60" align="center">
|
|
|
</el-table-column>
|
|
|
- <el-table-column label="实施项目名称" prop="name" width="150" align="center">
|
|
|
+ <el-table-column label="实施项目名称" prop="name" width="180" align="center" :show-overflow-tooltip="true">
|
|
|
</el-table-column>
|
|
|
<el-table-column label="实施内容" prop="content" align="center" :show-overflow-tooltip="true"></el-table-column>
|
|
|
<el-table-column label="实施负责人" prop="enforcer" width="90" align="center">
|
|
@@ -56,16 +56,22 @@
|
|
|
</el-table-column>
|
|
|
<el-table-column label="实施日期" prop="time" width="180" align="center">
|
|
|
<template slot-scope="scope">
|
|
|
- <div>{{ scope.row.beginTime }}——{{ scope.row.endTime }}</div>
|
|
|
+ <div>{{ scope.row.beginTime }}至{{ scope.row.endTime }}</div>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
- <el-table-column prop="hsytem" label="所属系统" align="center">
|
|
|
+ <el-table-column prop="hsytem" label="所属系统" align="center" width="210">
|
|
|
</el-table-column>
|
|
|
<el-table-column prop="createTime" label="创建时间" width="130" align="center" v-if="false">
|
|
|
<template slot-scope="scope">
|
|
|
<span>{{ parseTime(scope.row.createTime) }}</span>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
+ <el-table-column prop="handlerName" label="当前处理人" align="center" width="180" v-if="false">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <div v-if=" scope.row.act.id!==undefined">{{scope.row.act.assignee}}</div>
|
|
|
+ <div v-else>{{scope.row.enforcer}}</div>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
<el-table-column prop="status1" label="当前实施状态" width="120" align="center">
|
|
|
<template slot-scope="scope">
|
|
|
<span style="color: green" v-if="scope.row.status===2">运行维护</span>
|
|
@@ -92,7 +98,8 @@
|
|
|
<el-button size="mini" v-if="scope.row.status!==0 && scope.row.act.id!==undefined" type="primary"
|
|
|
@click="enforceFlowDealWin(scope.row)">流程处理
|
|
|
</el-button>
|
|
|
- <el-button size="mini" type="success" v-hasPermi="['s:s:query']" v-if="scope.row.status!==0" @click="openEnforceManageDialog(scope.row)">
|
|
|
+ <!--v-hasPermi="['s:s:query']"-->
|
|
|
+ <el-button size="mini" type="success" v-if="scope.row.status!==0" @click="openEnforceManageDialog(scope.row)">
|
|
|
查看详情
|
|
|
</el-button>
|
|
|
<el-button size="mini" v-show="false" v-if="scope.row.status!==0" type="primary"
|
|
@@ -247,6 +254,17 @@
|
|
|
</div>
|
|
|
</el-dialog>
|
|
|
|
|
|
+ <el-dialog title="选择人员" :visible.sync="usersTaskVisble" width="30%" @click="closeTaskUserDialog" :close-on-click-modal="false">
|
|
|
+ <el-input placeholder="输入关键字进行过滤" v-model="filterText2">
|
|
|
+ </el-input>
|
|
|
+ <el-tree ref="dept2" :data="userList" node-key="id" :props="{label:'name'}" :default-expand-all="false" :filter-node-method="filterNode2">
|
|
|
+ </el-tree>
|
|
|
+ <div slot="footer" class="dialog-footer">
|
|
|
+ <el-button size="mini" @click="closeTaskUserDialog">取消</el-button>
|
|
|
+ <el-button size="mini" type="primary" class="title" @click="submitTaskUserForm('editForm')">确定</el-button>
|
|
|
+ </div>
|
|
|
+ </el-dialog>
|
|
|
+
|
|
|
<el-dialog title="实施详情" :visible.sync="enforceFlowVisble" width="85%" @click="enforceFlowDialog"
|
|
|
:close-on-click-modal="false">
|
|
|
<el-table
|
|
@@ -435,7 +453,28 @@
|
|
|
<el-input size="mini" v-model="scope.row.msg"></el-input>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
- <el-table-column prop="term" label="有限期限" width="180">
|
|
|
+ <el-table-column prop="startTime" label="开始时间" width="250">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <el-date-picker
|
|
|
+ v-model="scope.row.startTime"
|
|
|
+ type="date"
|
|
|
+ format="yyyy-MM-dd"
|
|
|
+ placeholder="请选择开始时间">
|
|
|
+ </el-date-picker>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column prop="termTime" label="可配置灵活时间" width="250">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <el-date-picker
|
|
|
+ v-model="scope.row.termTime"
|
|
|
+ type="date"
|
|
|
+ format="yyyy-MM-dd"
|
|
|
+ placeholder="请选择可配置灵活时间">
|
|
|
+ </el-date-picker>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+
|
|
|
+ <el-table-column prop="term" label="有限期限" width="180" v-if="false">
|
|
|
<template slot-scope="scope">
|
|
|
<el-select v-model="scope.row.term" placeholder="请选择提醒时间">
|
|
|
<el-option label="3个月" :value="90" key="90">3个月</el-option>
|
|
@@ -529,9 +568,9 @@
|
|
|
</el-dialog>
|
|
|
|
|
|
<!--处理实施工作任务--->
|
|
|
- <el-dialog title="审批处理" :visible.sync="editEnforceFormVisible1" width="75%" :close-on-click-modal="false">
|
|
|
+ <el-dialog title="审批处理" :visible.sync="editEnforceFormVisible1" width="70%" :close-on-click-modal="false">
|
|
|
<el-form label-width="120px" :model="enforceForm" size="mini">
|
|
|
- <el-descriptions title="" :column="2" border size="mini">
|
|
|
+ <el-descriptions title="" :column="3" border size="mini">
|
|
|
<el-descriptions-item>
|
|
|
<template slot="label">
|
|
|
项目名称
|
|
@@ -574,15 +613,22 @@
|
|
|
<template slot="label">
|
|
|
当前任务
|
|
|
</template>
|
|
|
- {{ enforceFlow.flowType }}
|
|
|
+ <el-tag> {{ enforceFlow.flowType }}</el-tag>
|
|
|
</el-descriptions-item>
|
|
|
- <el-descriptions-item :span="2">
|
|
|
+ <el-descriptions-item >
|
|
|
<template slot="label">
|
|
|
- 实施内容
|
|
|
+ 当前任务执行人
|
|
|
</template>
|
|
|
- {{ enforceFlow.content }}
|
|
|
+ {{ enforceFlow.assignee }}
|
|
|
</el-descriptions-item>
|
|
|
+
|
|
|
<el-descriptions-item :span="2">
|
|
|
+ <template slot="label">
|
|
|
+ 下个步骤
|
|
|
+ </template>
|
|
|
+ <el-tag type="info"> {{ enforceForm.nextStepName }}</el-tag>
|
|
|
+ </el-descriptions-item>
|
|
|
+ <el-descriptions-item>
|
|
|
<template slot="label">
|
|
|
下个步骤负责人
|
|
|
</template>
|
|
@@ -590,14 +636,32 @@
|
|
|
<el-button @click="openUsers" icon="el-icon-search" slot="append"></el-button>
|
|
|
</el-input>
|
|
|
</el-descriptions-item>
|
|
|
- <el-descriptions-item :span="2">
|
|
|
+
|
|
|
+ <el-descriptions-item :span="3">
|
|
|
+ <template slot="label">
|
|
|
+ 任务系统处理人
|
|
|
+ </template>
|
|
|
+ <el-input size="small" style="width: 350px" v-model="enforceForm.taskDealName" :disabled="true" @keyup.enter.native="openTaskUsers()">
|
|
|
+ <el-button @click="openTaskUsers" icon="el-icon-search" slot="append"></el-button>
|
|
|
+ <el-button @click="resetTaskUsers" icon="el-icon-refresh" slot="append" ></el-button>
|
|
|
+ </el-input>
|
|
|
+
|
|
|
+ <span style="color: red;margin-left: 25px">选择此项会将下一个节点任务推送给任务系统,对应人员进行工作工时反馈。</span>
|
|
|
+ </el-descriptions-item>
|
|
|
+ <el-descriptions-item :span="3">
|
|
|
+ <template slot="label">
|
|
|
+ 实施内容
|
|
|
+ </template>
|
|
|
+ {{ enforceFlow.content }}
|
|
|
+ </el-descriptions-item>
|
|
|
+ <el-descriptions-item :span="3">
|
|
|
<template slot="label">
|
|
|
备注说明
|
|
|
</template>
|
|
|
- <el-input size="small" v-model="enforceForm.remark" type="textarea" :rows="4"></el-input>
|
|
|
+ <el-input size="small" v-model="enforceForm.remark" type="textarea" :rows="3"></el-input>
|
|
|
</el-descriptions-item>
|
|
|
|
|
|
- <el-descriptions-item :span="2">
|
|
|
+ <el-descriptions-item :span="3">
|
|
|
<template slot="label">
|
|
|
文件列表
|
|
|
</template>
|
|
@@ -613,7 +677,7 @@
|
|
|
<el-button slot="trigger" size="mini" type="primary">选取文件</el-button>
|
|
|
</el-upload>
|
|
|
</el-descriptions-item>
|
|
|
- <el-descriptions-item :span="2">
|
|
|
+ <el-descriptions-item :span="3">
|
|
|
<template slot="label">
|
|
|
其他说明
|
|
|
</template>
|
|
@@ -690,6 +754,9 @@ export default {
|
|
|
filterText1(val) {
|
|
|
this.$refs.dept.filter(val);
|
|
|
},
|
|
|
+ filterText2(val) {
|
|
|
+ this.$refs.dept2.filter(val);
|
|
|
+ },
|
|
|
},
|
|
|
data() {
|
|
|
return {
|
|
@@ -701,6 +768,7 @@ export default {
|
|
|
},
|
|
|
filterText: '',
|
|
|
filterText1:null,
|
|
|
+ filterText2:null,
|
|
|
editEnforceRecord: {
|
|
|
id: null,
|
|
|
enforceType: '',
|
|
@@ -708,6 +776,7 @@ export default {
|
|
|
enforceId: null,
|
|
|
remark: '',
|
|
|
},
|
|
|
+ usersTaskVisble:false,
|
|
|
enforceFileData: [],
|
|
|
addEnforceRecordWin: false,
|
|
|
enforceFlowVisble: false,
|
|
@@ -734,8 +803,10 @@ export default {
|
|
|
hname: null,
|
|
|
hsytem: null,
|
|
|
enforcer: null,
|
|
|
+ enforcerId:null,
|
|
|
content: null,
|
|
|
- times: null
|
|
|
+ times: null,
|
|
|
+ directorId:null,
|
|
|
},
|
|
|
rules: {
|
|
|
name: [
|
|
@@ -771,7 +842,10 @@ export default {
|
|
|
taskId: null,
|
|
|
currentStep: null,
|
|
|
filess: [],
|
|
|
- content: null
|
|
|
+ content: null,
|
|
|
+ nextStepName:null,
|
|
|
+ taskDealName:null,
|
|
|
+ taskDealId:null
|
|
|
},
|
|
|
enforceFlow: {
|
|
|
name: '',
|
|
@@ -783,6 +857,7 @@ export default {
|
|
|
content: '',
|
|
|
beginTime: null,
|
|
|
endTime: null,
|
|
|
+ assignee:null,
|
|
|
fileDatas: []
|
|
|
},
|
|
|
enforceFlowId: null,
|
|
@@ -837,6 +912,7 @@ export default {
|
|
|
this.getData(this.formInline)
|
|
|
this.getDeptUserTrees()
|
|
|
this.fileAction = uploadFileUrl()
|
|
|
+ this.formInline.status = this.$route.query.status;
|
|
|
},
|
|
|
methods: {
|
|
|
// 分页插件事件
|
|
@@ -863,7 +939,7 @@ export default {
|
|
|
})
|
|
|
},
|
|
|
closeDialog() {
|
|
|
- this.editForm={
|
|
|
+ /* this.editForm={
|
|
|
id: null,
|
|
|
name: '',
|
|
|
hname: null,
|
|
@@ -872,7 +948,7 @@ export default {
|
|
|
content: null,
|
|
|
times: null
|
|
|
}
|
|
|
- this.resetForm('editForm')
|
|
|
+ this.resetForm('editForm') */
|
|
|
this.editFormVisible = false
|
|
|
},
|
|
|
resetSearch() {
|
|
@@ -904,6 +980,7 @@ export default {
|
|
|
type: 'success'
|
|
|
});
|
|
|
this.closeDialog();
|
|
|
+ this.formInline.status=null;
|
|
|
this.getData(this.formInline);
|
|
|
});
|
|
|
}
|
|
@@ -1072,6 +1149,8 @@ export default {
|
|
|
}
|
|
|
this.editForm.enforcer = node.name
|
|
|
// this.enforceForm.directorId = node.id
|
|
|
+ this.editForm.directorId=node.id
|
|
|
+ this.editForm.enforcerId=node.id
|
|
|
this.closeUser1Dialog();
|
|
|
},
|
|
|
enforceManageDialog() {
|
|
@@ -1116,7 +1195,7 @@ export default {
|
|
|
},
|
|
|
createeditorElem1Editor() {
|
|
|
editorElem1 = new E('#editorElem1');
|
|
|
- editorElem1.config.height = 300
|
|
|
+ editorElem1.config.height = 200
|
|
|
editorElem1.create()
|
|
|
editorElem1.txt.html(this.enforceForm.content)
|
|
|
editorElem1.config.onchange = (html) => {
|
|
@@ -1294,16 +1373,34 @@ export default {
|
|
|
this.$message.warning("请输入提醒信息!")
|
|
|
return
|
|
|
}
|
|
|
- if (data.term === null) {
|
|
|
- this.$message.warning("请选择提醒时间!")
|
|
|
+ if(data.startTime===undefined || data.startTime===null){
|
|
|
+ this.$message.warning("请选择开始时间!")
|
|
|
+ return
|
|
|
+ }
|
|
|
+ if(data.termTime===undefined || data.termTime===null){
|
|
|
+ this.$message.warning("请选择可配置灵活时间!")
|
|
|
+ return
|
|
|
+ }
|
|
|
+ if(new Date(data.termTime).getTime()<new Date(data.startTime).getTime()){
|
|
|
+ this.$message.warning("可配置灵活时间应大于开始时间!")
|
|
|
return
|
|
|
}
|
|
|
data.enforceId = this.enforceDetail.id
|
|
|
+ //计算日期相差多少天
|
|
|
+ let days= this.daysDifference(data.startTime,data.termTime);
|
|
|
+ data.term=days
|
|
|
+ data.startTime=new Date(data.startTime).getTime()
|
|
|
+ data.termTime=new Date(data.termTime).getTime()
|
|
|
+
|
|
|
editEnforceRemind(data).then(res => {
|
|
|
this.$message.success("操作成功!")
|
|
|
this.getEnforceRemindList()
|
|
|
});
|
|
|
},
|
|
|
+ daysDifference(startTime, endTime) {
|
|
|
+ let diff = Math.abs(new Date(endTime) - new Date(startTime));
|
|
|
+ return diff / (1000 * 60 * 60 * 24);
|
|
|
+ },
|
|
|
getEnforceRemindList() {
|
|
|
let id = this.enforceDetail.id
|
|
|
getEnforceRemindList(id).then(res => {
|
|
@@ -1313,7 +1410,7 @@ export default {
|
|
|
deleteEnforceRemind(index, row) {
|
|
|
let id = row.id
|
|
|
if (id === null) {
|
|
|
- this.workPlanDatas.splice(index, 1)
|
|
|
+ this.enforceRemindData.splice(index, 1)
|
|
|
} else {
|
|
|
deleteEnforceRemindById(id).then(res => {
|
|
|
this.$message.success("操作成功!");
|
|
@@ -1420,6 +1517,7 @@ export default {
|
|
|
this.enforceFlow.hno = row.hname
|
|
|
this.enforceFlow.hsytem = row.hsytem
|
|
|
this.enforceFlow.content = row.content
|
|
|
+ this.enforceFlow.assignee=row.act.assignee
|
|
|
this.enforceFlow.time = row.beginTime + "至" + row.endTime
|
|
|
this.enforceFlow.status = row.status
|
|
|
this.enforceFlow.flowType = row.act.taskName
|
|
@@ -1433,6 +1531,7 @@ export default {
|
|
|
this.enforceForm.remark = ''
|
|
|
this.enforceForm.filess = []
|
|
|
this.enforceForm.content = ''
|
|
|
+ this.enforceForm.nextStepName=row.nextStepName
|
|
|
this.uploadFileList = []
|
|
|
|
|
|
this.$nextTick(() => {
|
|
@@ -1451,6 +1550,12 @@ export default {
|
|
|
}
|
|
|
return data.name.indexOf(value) !== -1;
|
|
|
},
|
|
|
+ filterNode2(value, data) {
|
|
|
+ if (!value) {
|
|
|
+ return true
|
|
|
+ }
|
|
|
+ return data.name.indexOf(value) !== -1;
|
|
|
+ },
|
|
|
addHospitals(){
|
|
|
this.addHospitalsVisible=true
|
|
|
},
|
|
@@ -1484,6 +1589,37 @@ export default {
|
|
|
addSysVisible(){
|
|
|
this.addSystemVisible=true
|
|
|
},
|
|
|
+ openTaskUsers(){
|
|
|
+ this.usersTaskVisble=true
|
|
|
+ },
|
|
|
+ closeTaskUserDialog(){
|
|
|
+ this.usersTaskVisble=false
|
|
|
+ },
|
|
|
+ submitTaskUserForm(){
|
|
|
+ //获取选中的节点
|
|
|
+ let node = this.$refs.dept2.getCurrentNode();
|
|
|
+ if (node == undefined || node == null) {
|
|
|
+ this.$message({
|
|
|
+ message: '请选择数据!',
|
|
|
+ type: 'warning'
|
|
|
+ });
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ if (node.type !== 'u') {
|
|
|
+ this.$message({
|
|
|
+ message: '请选择人员!',
|
|
|
+ type: 'warning'
|
|
|
+ });
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ this.enforceForm.taskDealName = node.name
|
|
|
+ this.enforceForm.taskDealId = node.id
|
|
|
+ this.closeTaskUserDialog();
|
|
|
+ },
|
|
|
+ resetTaskUsers(){
|
|
|
+ this.enforceForm.taskDealName =null
|
|
|
+ this.enforceForm.taskDealId = null
|
|
|
+ },
|
|
|
saveSysInfo(){
|
|
|
let sysName=this.sys.name;
|
|
|
if(sysName===''){
|