|
|
@@ -1,494 +1,128 @@
|
|
|
<template>
|
|
|
<div class="app-container">
|
|
|
- <el-row :gutter="10">
|
|
|
- <el-col :span="6">
|
|
|
- <el-card class="card">
|
|
|
- <div style="color: white;">
|
|
|
- <h2>我的待办事项:{{ todoNum }}</h2>
|
|
|
+ <div class="head-tips">
|
|
|
+ <el-card class="card">
|
|
|
+ <div class="card-text" @click="">
|
|
|
+ <div class="card-left"><i class="el-icon-s-order"></i></div>
|
|
|
+ <div class="card-right">
|
|
|
+ <div class="card-text-title">待进行会议</div>
|
|
|
+ <div class="card-text-val">3</div>
|
|
|
</div>
|
|
|
- </el-card>
|
|
|
- </el-col>
|
|
|
- <el-col :span="6">
|
|
|
- <el-card class="card" style="background-color: indianred">
|
|
|
- <div style="color: white">
|
|
|
- <h2>我的项目</h2>
|
|
|
+ </div>
|
|
|
+ </el-card>
|
|
|
+ <el-card class="card">
|
|
|
+ <div class="card-text" @click="">
|
|
|
+ <div class="card-left"><i class="el-icon-s-order"></i></div>
|
|
|
+ <div class="card-right">
|
|
|
+ <div class="card-text-title">待确认会议</div>
|
|
|
+ <div class="card-text-val">3</div>
|
|
|
</div>
|
|
|
- </el-card>
|
|
|
- </el-col>
|
|
|
- <el-col :span="6">
|
|
|
- <el-card class="card" style="background-color:steelblue">
|
|
|
- <div style="color: white;">
|
|
|
- <h2>出勤状态:上班</h2>
|
|
|
+ </div>
|
|
|
+ </el-card>
|
|
|
+ <el-card class="card">
|
|
|
+ <div class="card-text" @click="newTaskOpen=!newTaskOpen">
|
|
|
+ <div class="card-left"><i class="el-icon-s-order"></i></div>
|
|
|
+ <div class="card-right">
|
|
|
+ <div class="card-text-title">新任务</div>
|
|
|
+ <div class="card-text-val">{{ newTaskNum }}</div>
|
|
|
</div>
|
|
|
- </el-card>
|
|
|
- </el-col>
|
|
|
- <el-col :span="6">
|
|
|
- <el-card class="card" style="background-color:goldenrod">
|
|
|
- <div style="color: white;">
|
|
|
- <h2>其他事项</h2>
|
|
|
+ </div>
|
|
|
+ </el-card>
|
|
|
+ <el-card class="card" v-hasPermi="['task:task:audit']">
|
|
|
+ <div class="card-text" @click="">
|
|
|
+ <div class="card-left"><i class="el-icon-s-order"></i></div>
|
|
|
+ <div class="card-right">
|
|
|
+ <div class="card-text-title">待审核任务</div>
|
|
|
+ <div class="card-text-val">{{ auditTaskNum }}</div>
|
|
|
</div>
|
|
|
- </el-card>
|
|
|
- </el-col>
|
|
|
- </el-row>
|
|
|
-
|
|
|
- <el-row :gutter="20" style="margin-top: 50px">
|
|
|
- <el-col :span="24">
|
|
|
- <h3>我的待办列表</h3>
|
|
|
- <el-table
|
|
|
- :data="tableData"
|
|
|
- style="width: 100%" border stripe size="small">
|
|
|
- <el-table-column label="实施待办">
|
|
|
- <el-table-column type="index" label="序号" width="50" align="center">
|
|
|
- </el-table-column>
|
|
|
- <el-table-column
|
|
|
- prop="name"
|
|
|
- label="任务名称" align="center"
|
|
|
- width="180">
|
|
|
- </el-table-column>
|
|
|
- <el-table-column
|
|
|
- prop="hname"
|
|
|
- label="实施医院" align="center"
|
|
|
- width="180">
|
|
|
- </el-table-column>
|
|
|
- <el-table-column
|
|
|
- prop="hsytem"
|
|
|
- label="实施系统" align="center"
|
|
|
- width="160">
|
|
|
- </el-table-column>
|
|
|
- <el-table-column
|
|
|
- prop="content"
|
|
|
- label="实施内容" align="center"
|
|
|
- min-width="250">
|
|
|
- </el-table-column>
|
|
|
- <el-table-column
|
|
|
- prop="taskName"
|
|
|
- label="当前处理步骤" align="center"
|
|
|
- width="150">
|
|
|
- </el-table-column>
|
|
|
- <el-table-column
|
|
|
- prop="flowType"
|
|
|
- label="流程类型" align="center"
|
|
|
- width="100">
|
|
|
- </el-table-column>
|
|
|
- <el-table-column align="center"
|
|
|
- prop="createTime"
|
|
|
- label="创建时间" width="140">
|
|
|
- <template scope="scope">
|
|
|
- <span>{{parseTime(scope.row.createTime)}}</span>
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- <el-table-column prop="op" width="180" label="操作" align="center">
|
|
|
- <template scope="scope">
|
|
|
- <el-button size="mini" type="success" @click="searchWorkFlow(scope.row)">查阅流程</el-button>
|
|
|
- <el-button size="mini" type="primary" @click="auditFlow(scope.row)">明细</el-button>
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- </el-table-column>
|
|
|
- </el-table>
|
|
|
-
|
|
|
- <br/>
|
|
|
- <el-table
|
|
|
- :data="todoMeetings"
|
|
|
- border
|
|
|
- stripe
|
|
|
- size="mini"
|
|
|
- style="width: 100%">
|
|
|
- <el-table-column label="待办会议">
|
|
|
- <el-table-column type="index" label="序号" width="50" align="center">
|
|
|
- </el-table-column>
|
|
|
- <el-table-column label="会议主题" prop="meetingName" align="center">
|
|
|
- </el-table-column>
|
|
|
- <el-table-column label="会议类型" prop="meetingType" width="100" align="center">
|
|
|
- <template scope="scope">
|
|
|
- <!--会议类型(1-周例会,2-项目会议,3-实施会议,4-其他会议)-->
|
|
|
- <div v-if="scope.row.meetingType===1">周例会</div>
|
|
|
- <div v-else-if="scope.row.meetingType===2">项目会议</div>
|
|
|
- <div v-else-if="scope.row.meetingType===3">实施会议</div>
|
|
|
- <div v-else>其他会议</div>
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- <el-table-column label="会议地点" prop="meetingPlace" width="120" align="center">
|
|
|
- </el-table-column>
|
|
|
- <el-table-column prop="status" label="会议状态" width="100" align="center">
|
|
|
- <template scope="scope">
|
|
|
- <!--会议状态,0待开始,1进行中,2已结束-->
|
|
|
- <div v-if="scope.row.status===0" style="color: green">待开始</div>
|
|
|
- <div v-else-if="scope.row.status===1" style="color: #3A71A8">进行中</div>
|
|
|
- <div v-else>已结束</div>
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- <el-table-column prop="name" label="会议时间" width="255" align="center">
|
|
|
- <template scope="scope">
|
|
|
- <div>{{ scope.row.beginTime + '至' + scope.row.endTime }}</div>
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- <el-table-column prop="innerAttendees" label="参会人员" :show-overflow-tooltip="true" align="center">
|
|
|
- <template scope="scope">
|
|
|
- <span>{{ scope.row.outAttendees }}</span>
|
|
|
- <span v-if="scope.row.outAttendees!=''">、</span>
|
|
|
- <span v-for="(item,index) in JSON.parse(scope.row.innerAttendees) ">
|
|
|
- <template v-if="index > 0">,</template>
|
|
|
- <span>{{ item.name }}</span>
|
|
|
- </span>
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- <el-table-column prop="createTime" label="创建时间" width="130" align="center">
|
|
|
- <template slot-scope="scope">
|
|
|
- <span>{{ parseTime(scope.row.createTime) }}</span>
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- <el-table-column label="操作" width="110" align="center">
|
|
|
- <template slot-scope="scope">
|
|
|
- <el-button v-if="scope.row.status===2" type="primary" size="mini" @click="confirmMeeting(scope.row)">
|
|
|
- 结果确认
|
|
|
- </el-button>
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- </el-table-column>
|
|
|
-
|
|
|
- </el-table>
|
|
|
-
|
|
|
- </el-col>
|
|
|
- </el-row>
|
|
|
-
|
|
|
- <el-dialog :visible.sync="workFlowVisble" width="75%" style="height: 500px" title="实施流程明细" :close-on-click-modal="false">
|
|
|
- <el-steps :active="activeFlow" finish-status="success" align-center>
|
|
|
- <el-step title="开始"> </el-step>
|
|
|
- <el-step title="项目启动会"/>
|
|
|
- <el-step title="发货"/>
|
|
|
- <el-step title="物流签收"/>
|
|
|
- <el-step title="进入现场"/>
|
|
|
- <el-step title="设备安装"/>
|
|
|
- <el-step title="系统调试"/>
|
|
|
- <el-step title="操作培训"/>
|
|
|
- <el-step title="现场值守"/>
|
|
|
- <el-step title="离场"/>
|
|
|
- <el-step title="实施复盘"/>
|
|
|
- <el-step title="文件归档"/>
|
|
|
- <el-step title="运维维护"/>
|
|
|
- <el-step title="结束"/>
|
|
|
- </el-steps>
|
|
|
- </el-dialog>
|
|
|
-
|
|
|
- <!--处理实施工作任务--->
|
|
|
- <el-dialog title="审批处理" :visible.sync="editEnforceFormVisible" width="65%" :close-on-click-modal="false">
|
|
|
- <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.hno }}
|
|
|
- </el-descriptions-item>
|
|
|
- <el-descriptions-item>
|
|
|
- <template slot="label">
|
|
|
- 实施系统
|
|
|
- </template>
|
|
|
- {{ enforceFlow.hsytem }}
|
|
|
- </el-descriptions-item>
|
|
|
- <el-descriptions-item>
|
|
|
- <template slot="label">
|
|
|
- 实施时间
|
|
|
- </template>
|
|
|
- {{ enforceFlow.time }}
|
|
|
- </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.flowType }}
|
|
|
- </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" class="dialog-footer">
|
|
|
- <el-button size="mini" @click="closeEnforceDialog">取消</el-button>
|
|
|
- <el-button size="mini" type="primary" class="title" @click="submitEnforceForm('editForm')">确定处理</el-button>
|
|
|
- </div>
|
|
|
- </el-dialog>
|
|
|
-
|
|
|
-
|
|
|
- <el-dialog title="选择人员" :visible.sync="usersVisble" width="30%" @click="closeUserDialog"
|
|
|
- :close-on-click-modal="false">
|
|
|
- <el-tree
|
|
|
- ref="dept"
|
|
|
- :data="userList"
|
|
|
- node-key="id"
|
|
|
- :props="{label:'name'}" default-expand-all="true">
|
|
|
- </el-tree>
|
|
|
- <div slot="footer" class="dialog-footer">
|
|
|
- <el-button size="small" @click="closeUserDialog">取消</el-button>
|
|
|
- <el-button size="small" type="primary" class="title" @click="submitUserForm('editForm')">确定</el-button>
|
|
|
- </div>
|
|
|
+ </div>
|
|
|
+ </el-card>
|
|
|
+ <el-card class="card">
|
|
|
+ <div class="card-text" @click="">
|
|
|
+ <div class="card-left"><i class="el-icon-s-order"></i></div>
|
|
|
+ <div class="card-right">
|
|
|
+ <div class="card-text-title">实施待办</div>
|
|
|
+ <div class="card-text-val">3</div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </el-card>
|
|
|
+
|
|
|
+ <el-card class="card">
|
|
|
+ <div class="card-text" @click="">
|
|
|
+ <div class="card-left"><i class="el-icon-s-order"></i></div>
|
|
|
+ <div class="card-right">
|
|
|
+ <div class="card-text-title">运维提醒</div>
|
|
|
+ <div class="card-text-val">3</div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </el-card>
|
|
|
+ </div>
|
|
|
+
|
|
|
+ <el-dialog title="新任务" :visible.sync="newTaskOpen" append-to-body :close-on-click-modal="false">
|
|
|
+ <el-table :data="newTasks" size="mini">
|
|
|
+ <el-table-column label="任务名称" prop="taskName" min-width="150" :show-overflow-tooltip="true"/>
|
|
|
+ <el-table-column label="执行(负责)人" prop="executorName"/>
|
|
|
+ <el-table-column label="任务起止时间" width="170">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <span>{{ scope.row.beginDate + ' 至 ' + scope.row.endDate }}</span>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ </el-table>
|
|
|
</el-dialog>
|
|
|
|
|
|
- <meeting-detail :detail-form="meetingForm" @getTodoMeetingList="getTodoMeetingList"></meeting-detail>
|
|
|
+ <!-- <meeting-detail :detail-form="meetingForm" @getTodoMeetingList="getTodoMeetingList"></meeting-detail>-->
|
|
|
</div>
|
|
|
</template>
|
|
|
|
|
|
<script>
|
|
|
-import E from 'wangeditor';
|
|
|
-let editor;
|
|
|
+
|
|
|
import {mapGetters} from 'vuex'
|
|
|
import Pagination from '@/components/Page/Pagination'
|
|
|
-import {completeTask, getPersonalTaskList} from '@/api/meeting/enforce'
|
|
|
-import {confirmMeetings, getTodoMeetings} from '@/api/meeting/meeting'
|
|
|
-import {getDeptUserTree} from '@/api/system/user'
|
|
|
-import {deleteFile, uploadFileUrl} from '@/api/file/file'
|
|
|
-import MeetingDetail from "@/views/meeting/components/meetingDetail";
|
|
|
+import {toDoTaskList} from "@/api/task/task";
|
|
|
+// import {completeTask, getPersonalTaskList} from '@/api/meeting/enforce'
|
|
|
+// import {confirmMeetings, getTodoMeetings} from '@/api/meeting/meeting'
|
|
|
|
|
|
export default {
|
|
|
name: 'Dashboard',
|
|
|
- components: {
|
|
|
- MeetingDetail,
|
|
|
- Pagination
|
|
|
- },
|
|
|
+ components: {},
|
|
|
computed: {
|
|
|
...mapGetters([
|
|
|
'name'
|
|
|
]),
|
|
|
- todoNum() {
|
|
|
- return this.tableData.length + this.todoMeetings.length
|
|
|
+ newTaskNum() {
|
|
|
+ return this.newTasks.length
|
|
|
+ },
|
|
|
+ auditTaskNum() {
|
|
|
+ return this.auditTasks.length
|
|
|
}
|
|
|
},
|
|
|
data() {
|
|
|
return {
|
|
|
- usersVisble: false,
|
|
|
- userList: [],
|
|
|
- pageparm: {
|
|
|
- current: 1,
|
|
|
- size: 10,
|
|
|
- total: 0
|
|
|
- },
|
|
|
- tableData: [],
|
|
|
- todoMeetings: [],
|
|
|
- meetingForm: {},
|
|
|
- auditWin: false,
|
|
|
- formData: {},
|
|
|
- workFlowVisble: false,
|
|
|
- activeFlow: 0,
|
|
|
- editEnforceFormVisible: false,
|
|
|
- enforceForm: {
|
|
|
- id: null,
|
|
|
- enforceId: null,
|
|
|
- director: null,
|
|
|
- directorId: null,
|
|
|
- remark: null,
|
|
|
- taskId: null,
|
|
|
- currentStep: null,
|
|
|
- filess: [],
|
|
|
- content:null
|
|
|
- },
|
|
|
- enforceFlow: {
|
|
|
- name: '',
|
|
|
- enforcer: '',
|
|
|
- time: null,
|
|
|
- hno: null,
|
|
|
- hsytem: null,
|
|
|
- content: '',
|
|
|
- status: 0,
|
|
|
- flowType: null
|
|
|
- },
|
|
|
- fileAction: '',
|
|
|
- editorContent:null
|
|
|
+ newTasks: [],
|
|
|
+ auditTasks: [],
|
|
|
+ newTaskOpen: false,
|
|
|
+ auditTaskOpen: false,
|
|
|
+
|
|
|
}
|
|
|
},
|
|
|
mounted() {
|
|
|
- this.getTaskList();
|
|
|
- this.getTodoMeetingList();
|
|
|
- this.getDeptUserTrees();
|
|
|
- this.fileAction = uploadFileUrl()
|
|
|
-
|
|
|
+ this.getTodoTask();
|
|
|
},
|
|
|
methods: {
|
|
|
- createwangeditor(){
|
|
|
- editor = new E('#editorElem');
|
|
|
- editor.config.height = 300
|
|
|
- editor.create()
|
|
|
- editor.config.onchange = (html) => {
|
|
|
- this.enforceForm.content=editor.txt.html()
|
|
|
- };
|
|
|
- },
|
|
|
- getDeptUserTrees() {
|
|
|
- getDeptUserTree('').then(res => {
|
|
|
- this.userList = res.data
|
|
|
- });
|
|
|
- },
|
|
|
- // 分页插件事件
|
|
|
- callFather(parm) {
|
|
|
- this.formInline.current = parm.current
|
|
|
- this.formInline.size = parm.size
|
|
|
-
|
|
|
- },
|
|
|
- getTaskList() {
|
|
|
- getPersonalTaskList().then(res => {
|
|
|
- this.tableData = res.data
|
|
|
+ getTodoTask() {
|
|
|
+ toDoTaskList().then(res => {
|
|
|
+ this.newTasks = res.data.newTasks
|
|
|
+ this.auditTasks = res.data.auditTasks
|
|
|
})
|
|
|
+
|
|
|
},
|
|
|
+
|
|
|
getTodoMeetingList() {
|
|
|
getTodoMeetings().then(res => {
|
|
|
this.todoMeetings = res.data
|
|
|
})
|
|
|
},
|
|
|
- searchWorkFlow(row) {
|
|
|
- this.workFlowVisble = true
|
|
|
- this.activeFlow = row.step
|
|
|
- },
|
|
|
- closeEnforceDialog() {
|
|
|
- this.editEnforceFormVisible = false
|
|
|
- },
|
|
|
- auditFlow(row) {
|
|
|
- this.enforceFlow.name = row.name
|
|
|
- this.enforceFlow.enforcer = row.enforcer
|
|
|
- this.enforceFlow.hno = row.hname
|
|
|
- this.enforceFlow.hsytem = row.hsytem
|
|
|
- this.enforceFlow.content = row.content
|
|
|
- this.enforceFlow.time = row.beginTime + "至" + row.endTime
|
|
|
- this.enforceFlow.status = row.status
|
|
|
- this.enforceFlow.flowType = row.taskName
|
|
|
- this.enforceForm.taskId = row.taskId
|
|
|
- this.enforceForm.currentStep = row.step
|
|
|
- this.enforceForm.enforceId = row.id
|
|
|
- //
|
|
|
- this.editEnforceFormVisible = true
|
|
|
- this.$nextTick(()=>{
|
|
|
- if (editor==null){
|
|
|
- this.createwangeditor()
|
|
|
- }else {
|
|
|
- editor.destroy();//这里做了一次判断,判断编辑器是否被创建,如果创建了就先销毁。
|
|
|
- this.createwangeditor()
|
|
|
- }
|
|
|
- });
|
|
|
|
|
|
- },
|
|
|
- openUsers() {
|
|
|
- this.usersVisble = true
|
|
|
- },
|
|
|
- submitUserForm() {
|
|
|
- //获取选中的节点
|
|
|
- let node = this.$refs.dept.getCurrentNode();
|
|
|
- if (node === undefined || node === null) {
|
|
|
- this.$message({
|
|
|
- message: '请选择数据!',
|
|
|
- type: 'warning'
|
|
|
- });
|
|
|
- return;
|
|
|
- }
|
|
|
- if (node.type !== 'u') {
|
|
|
- this.$message({
|
|
|
- message: '请选择人员!',
|
|
|
- type: 'warning'
|
|
|
- });
|
|
|
- return;
|
|
|
- }
|
|
|
- this.enforceForm.director = node.name
|
|
|
- this.enforceForm.directorId = node.id
|
|
|
- this.closeUserDialog();
|
|
|
- },
|
|
|
- closeUserDialog() {
|
|
|
- this.usersVisble = false
|
|
|
- },
|
|
|
- handleRemove(file, fileList) {
|
|
|
- let url = file.response.data.url;
|
|
|
- deleteFile(url).then(res => {
|
|
|
- this.$message({
|
|
|
- message: '操作成功!',
|
|
|
- type: 'success'
|
|
|
- });
|
|
|
- });
|
|
|
- this.enforceForm.filess.splice(url);
|
|
|
- },
|
|
|
- handleSuccess(response, file, fileList) {
|
|
|
- let fileUrl = response.data.url
|
|
|
- this.enforceForm.filess.push(fileUrl)
|
|
|
- },
|
|
|
- handleError() {
|
|
|
- this.$message({
|
|
|
- message: '上传失败,请稍候再试!',
|
|
|
- type: 'warning'
|
|
|
- });
|
|
|
- },
|
|
|
- submitEnforceForm() {
|
|
|
- let data = this.enforceForm;
|
|
|
- if (data.director === '' || data.remark === null || data.remark === '') {
|
|
|
- this.$message({
|
|
|
- message: '请将表单信息填写完整!',
|
|
|
- type: 'warning'
|
|
|
- });
|
|
|
- return
|
|
|
- }
|
|
|
-
|
|
|
- completeTask(data).then(res => {
|
|
|
- this.$message({
|
|
|
- message: '操作成功!',
|
|
|
- type: 'success'
|
|
|
- });
|
|
|
- this.closeEnforceDialog();
|
|
|
- this.getTaskList();
|
|
|
- });
|
|
|
-
|
|
|
- },
|
|
|
confirmMeeting(row) {
|
|
|
if (row.meetingType === 1) {
|
|
|
let params = {
|
|
|
@@ -501,9 +135,6 @@ export default {
|
|
|
this.meetingForm = row
|
|
|
|
|
|
},
|
|
|
- test(){
|
|
|
- alert(1)
|
|
|
- }
|
|
|
}
|
|
|
}
|
|
|
</script>
|
|
|
@@ -520,13 +151,44 @@ export default {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+.head-tips {
|
|
|
+ display: flex;
|
|
|
+ flex-wrap: wrap;
|
|
|
+}
|
|
|
+
|
|
|
.card {
|
|
|
- width: 300px;
|
|
|
- height: 150px;
|
|
|
- background-color: #1ab394;
|
|
|
+ width: 200px;
|
|
|
+ height: 100px;
|
|
|
+ //background-color: #3F71A4;
|
|
|
+ margin: 10px;
|
|
|
display: flex;
|
|
|
- justify-content: center;
|
|
|
- align-items: center;
|
|
|
+
|
|
|
+ .card-text {
|
|
|
+ display: flex;
|
|
|
+ justify-content: space-between;
|
|
|
+ align-items: center;
|
|
|
+
|
|
|
+ .card-left {
|
|
|
+ font-size: 60px;
|
|
|
+ text-align: left;
|
|
|
+ color: #f7b51c;
|
|
|
+ }
|
|
|
+
|
|
|
+ .card-right {
|
|
|
+ margin-left: 20px;
|
|
|
+ text-align: center;
|
|
|
+ }
|
|
|
+
|
|
|
+ .card-text-title {
|
|
|
+ font-size: 13px;
|
|
|
+ margin-bottom: 10px;
|
|
|
+ }
|
|
|
+
|
|
|
+ .card-text-val {
|
|
|
+ font-size: 28px;
|
|
|
+ color: #9da0a3;
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
.el-form-item--mini.el-form-item, .el-form-item--small.el-form-item {
|