| | |
| | | <template> |
| | | <div class="main"> |
| | | <!-- 工单基本信息 --> |
| | | <!-- 工单基本信息详情页面 --> |
| | | <el-row type="flex" class="row-bg" justify="space-between"> |
| | | <el-col :span="6"><div class="grid-content bg-purple">工单编号:WS-211008-00001</div></el-col> |
| | | <el-col :span="8"><div class="grid-content">工单生成时间:2021-10-08 15:02:00</div></el-col> |
| | | <el-col :span="6"><div class="grid-content bg-purple">当前状态:<span class="color_red">TI待处理</span></div></el-col> |
| | | <el-col :span="6"><div class="grid-content bg-purple">工单编号:{{ workInfo.orderId }}</div></el-col> |
| | | <el-col :span="8"><div class="grid-content">工单生成时间:{{ workInfo.createTime }}</div></el-col> |
| | | <el-col :span="6"><div class="grid-content bg-purple">当前状态:<span class="color_red">{{ workInfo.statusName }}</span></div></el-col> |
| | | </el-row> |
| | | <div class="list_box"> |
| | | <el-tabs type="border-card"> |
| | |
| | | <div class="info_box"> |
| | | <p> |
| | | <el-row type="flex" class="row-bg" justify="space-between"> |
| | | <el-col :span="8"><div class="grid-content bg-purple"><span class="label_box">工单标题:</span>GB-U800设备发生告警,请及时处理</div></el-col> |
| | | <el-col :span="8"><div class="grid-content">剩余时间:22小时56分</div></el-col> |
| | | <el-col :span="8"><div class="grid-content bg-purple"><span class="label_box">工单标题:</span>{{ workInfo.title }}</div></el-col> |
| | | <el-col :span="8"><div class="grid-content">剩余时间:{{ workInfo.countdown }}</div></el-col> |
| | | <el-col :span="6"><div class="grid-content bg-purple">工单完成限时:24小时</div></el-col> |
| | | </el-row> |
| | | </p> |
| | | <p><span class="label_box">告警描述:</span></p> |
| | | <p>RBS常见故障处理掉站或小区不可用类告警:IMA Group Insufficient Links(at Far End)NbapDedicated_RncRbsControlLinkDown:这是一个NbapD信令承载的告警,RNC对RBS</p> |
| | | <p><span class="label_box">告警发生时间:</span>2021-09-07 17:09:35</p> |
| | | <p><span class="label_box">告警结束时间:</span></p> |
| | | <p><span class="label_box">告警级别:</span><span class="color_red">严重告警</span></p> |
| | | <p><span class="label_box">告警附件: </span><a href="#" download>某某文件.txt</a></p> |
| | | <p>{{ workInfo.taskDesc }}</p> |
| | | <p><span class="label_box">告警发生时间:</span>{{ workInfo.alarmTime }}</p> |
| | | <!-- <p><span class="label_box">告警结束时间:{{ workInfo.planEndTime }}</span></p> --> |
| | | <p><span class="label_box">告警级别:</span><span class="color_red">{{ numList[workInfo.alarmLevel-1] }}级告警</span></p> |
| | | <!-- <p><span class="label_box">告警附件:</span><a href="#" download>某某文件.txt</a></p> --> |
| | | <!-- 处理分派回复 --> |
| | | <div class="change_box" v-if="tableData.length>0"> |
| | | <el-table ref="teble" :data="tableData" stripe style="width: 100%" @select="tebleselect"> |
| | | <el-table-column type="selection" width="55"></el-table-column> |
| | | <el-table-column prop="dealUserId" label="分派处理人"></el-table-column> |
| | | <el-table-column prop="dealReason" label="处理回复内容" ></el-table-column> |
| | | <!-- <el-table-column prop="fj" label="附件"></el-table-column> --> |
| | | <el-table-column prop="createTime" label="日期"></el-table-column> |
| | | <el-table-column prop="option" label="操作"> |
| | | <template slot-scope="scope"> |
| | | <el-button size="mini" type="success" @click="listBtn(5,scope.row)">通过</el-button> |
| | | <el-button size="mini" type="info" @click="listBtn(4,scope.row)">驳回</el-button> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | </div> |
| | | </div> |
| | | |
| | | <div class="select_box"> |
| | | |
| | | <div class="select_box" v-if="thisObj"> |
| | | <p> |
| | | <span class="label_box">处理动作:</span> |
| | | <el-select v-model="value" placeholder="请选择" @change="getSelectVal"> |
| | |
| | | </p> |
| | | </div> |
| | | <div class="event_box"> |
| | | <!-- 处理分派回复 --> |
| | | <!-- 转派 --> |
| | | <div class="change_box" v-if="value==1"> |
| | | <el-button size="mini" type="success">通过</el-button> |
| | | <el-button size="mini" type="info">驳回</el-button> |
| | | <el-table :data="tableData" stripe style="width: 100%"> |
| | | <el-table-column type="selection" width="55"></el-table-column> |
| | | <el-table-column prop="name" label="分派处理人"></el-table-column> |
| | | <el-table-column prop="data" label="处理回复内容" ></el-table-column> |
| | | <el-table-column prop="fj" label="附件"></el-table-column> |
| | | <el-table-column prop="date" label="日期"></el-table-column> |
| | | </el-table> |
| | | </div> |
| | | <!-- 转派T2处理 --> |
| | | <div class="change_box" v-if="value==2"> |
| | | <el-form ref="form2" :model="form2" label-width="120px"> |
| | | <el-form-item label="要求完成时间:"> |
| | | <el-col :span="4"> |
| | | <el-date-picker type="date" placeholder="选择日期" v-model="form2.date1" style="width: 100%;"></el-date-picker> |
| | | </el-col> |
| | | <el-col class="line" :span="1" style="text-align: center;">-</el-col> |
| | | <el-col :span="2"> |
| | | <el-time-picker placeholder="选择时间" v-model="form2.date2" style="width: 100%;"></el-time-picker> |
| | | </el-col> |
| | | <!-- <el-date-time-picker placeholder="选择时间" v-model="form.date2" style="width: 100%;"></el-date-time-picker> --> |
| | | <!-- <el-form-item label="要求完成时间:"> |
| | | <el-date-picker v-model="form2.date2" type="datetime" placeholder="选择日期时间" > </el-date-picker> |
| | | </el-form-item> --> |
| | | <el-form-item label="转派处理人:"> |
| | | <el-input v-model="form2.user" placeholder="请选择" readonly="" @click.native="getUserList()" style="width: 20%;"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="转派意见:"> |
| | | <el-input type="textarea" v-model="form2.desc" style="width: 40%;"></el-input> |
| | | </el-form-item> |
| | | <el-form-item > |
| | | <el-button size="mini" type="primary">提交</el-button> |
| | | <el-button size="mini" type="primary" @click="submit">提交</el-button> |
| | | </el-form-item> |
| | | </el-form> |
| | | |
| | | </div> |
| | | <!-- 分派 --> |
| | | <div class="change_box" v-if="value==3"> |
| | | <el-form ref="form3" :model="form3" label-width="120px"> |
| | | <el-form-item label="要求完成时间:"> |
| | | <el-col :span="4"> |
| | | <el-date-picker type="date" placeholder="选择日期" v-model="form3.date1" style="width: 100%;"></el-date-picker> |
| | | </el-col> |
| | | <el-col class="line" :span="1" style="text-align: center;">-</el-col> |
| | | <el-col :span="2"> |
| | | <el-time-picker placeholder="选择时间" v-model="form3.date2" style="width: 100%;"></el-time-picker> |
| | | </el-col> |
| | | <!-- <el-date-time-picker placeholder="选择时间" v-model="form.date2" style="width: 100%;"></el-date-time-picker> --> |
| | | </el-form-item> |
| | | <el-form-item label="分派处理人:"> |
| | | <el-input v-model="form3.user" placeholder="请输入" style="width: 40%;"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="转派意见:"> |
| | | <el-input type="textarea" v-model="form3.desc" style="width: 40%;"></el-input> |
| | | </el-form-item> |
| | | <el-form-item > |
| | | <el-button size="mini" type="primary">提交</el-button> |
| | | </el-form-item> |
| | | </el-form> |
| | | </div> |
| | | <!-- 移交 --> |
| | | <div class="change_box" v-if="value==4"> |
| | | <div class="change_box" v-if="value==2"> |
| | | <el-form ref="form4" :model="form4" label-width="120px"> |
| | | <el-form-item label="要求完成时间:"> |
| | | <el-col :span="4"> |
| | | <el-date-picker type="date" placeholder="选择日期" v-model="form4.date1" style="width: 100%;"></el-date-picker> |
| | | </el-col> |
| | | <el-col class="line" :span="1" style="text-align: center;">-</el-col> |
| | | <el-col :span="2"> |
| | | <el-time-picker placeholder="选择时间" v-model="form4.date2" style="width: 100%;"></el-time-picker> |
| | | </el-col> |
| | | <!-- <el-date-time-picker placeholder="选择时间" v-model="form.date2" style="width: 100%;"></el-date-time-picker> --> |
| | | </el-form-item> |
| | | <!-- <el-form-item label="要求完成时间:"> |
| | | <el-date-picker v-model="form4.date2" type="datetime" placeholder="选择日期时间" > </el-date-picker> |
| | | </el-form-item> --> |
| | | <el-form-item label="移交处理组:"> |
| | | <el-input v-model="form4.user" placeholder="请选择" style="width: 40%;"></el-input> |
| | | <el-input v-model="form4.user" placeholder="请选择" readonly="" @click.native="getUserList()" style="width: 40%;"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="移交意见:"> |
| | | <el-input type="textarea" v-model="form4.desc" style="width: 40%;"></el-input> |
| | | </el-form-item> |
| | | <el-form-item > |
| | | <el-button size="mini" type="primary">提交</el-button> |
| | | <el-button size="mini" type="primary" @click="submit">提交</el-button> |
| | | </el-form-item> |
| | | </el-form> |
| | | </div> |
| | | <!-- 分派 --> |
| | | <div class="change_box" v-if="value==3"> |
| | | <el-form ref="form3" :model="form3" label-width="120px"> |
| | | <el-form-item label="要求完成时间:"> |
| | | <el-date-picker v-model="form3.date2" value-format="yyyy-MM-dd HH:mm:ss" type="datetime" placeholder="选择日期时间" > </el-date-picker> |
| | | </el-form-item> |
| | | <el-form-item label="分派处理人:"> |
| | | <el-input v-model="form3.user" placeholder="请输入" readonly="" @click.native="getUserList()" style="width: 40%;"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="分派意见:"> |
| | | <el-input type="textarea" v-model="form3.desc" style="width: 40%;"></el-input> |
| | | </el-form-item> |
| | | <el-form-item > |
| | | <el-button size="mini" type="primary" @click="submit">提交</el-button> |
| | | </el-form-item> |
| | | </el-form> |
| | | </div> |
| | | <!-- 回复 --> |
| | | <div class="change_box" v-if="value==5"> |
| | | <div class="change_box" v-if="value==6"> |
| | | <el-form ref="form5" :model="form5" label-width="120px"> |
| | | <el-form-item label="处理意见:"> |
| | | <el-form-item label="回复意见:"> |
| | | <el-input type="textarea" v-model="form5.desc" style="width: 40%;"></el-input> |
| | | </el-form-item> |
| | | <el-form-item > |
| | | <el-button size="mini" type="primary">提交</el-button> |
| | | <el-button size="mini" type="primary" @click="submit">提交</el-button> |
| | | </el-form-item> |
| | | </el-form> |
| | | </div> |
| | | <!-- 处理并归档 --> |
| | | <div class="change_box" v-if="value==6"> |
| | | <div class="change_box" v-if="value==7"> |
| | | <el-form ref="form6" :model="form6" label-width="120px"> |
| | | <el-form-item label="归档意见:"> |
| | | <el-input type="textarea" v-model="form6.desc" style="width: 40%;"></el-input> |
| | |
| | | </div> |
| | | </div> |
| | | </el-tab-pane> |
| | | <el-tab-pane label="流程信息">流程信息</el-tab-pane> |
| | | <el-tab-pane label="流程信息"> |
| | | <p class="title_p">流程信息</p> |
| | | <el-row :gutter="20"> |
| | | <el-col :span="6"> |
| | | <p>工单派发</p> |
| | | </el-col> |
| | | <el-col :span="10"> |
| | | <p>处理人:系统自动派</p> |
| | | </el-col> |
| | | <el-col :span="8"> |
| | | <p>处理时间:2021/9/7 12:35:11</p> |
| | | </el-col> |
| | | </el-row> |
| | | <div class="details_box"> |
| | | <el-row :gutter="20"> |
| | | <el-col :span="6"> |
| | | <p>T1处理 处理人:李某某</p> |
| | | </el-col> |
| | | <el-col :span="6"> |
| | | <p>处理角色:区域一管理员</p> |
| | | </el-col> |
| | | <el-col :span="4"> |
| | | <p>处理动作:移交</p> |
| | | </el-col> |
| | | <el-col :span="8"> |
| | | <p>处理时间:2021/9/7 14:41:59</p> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row :gutter="20"> |
| | | <el-col :span="16"> |
| | | <p>移交处理角色:区域二管理员 </p> |
| | | </el-col> |
| | | <el-col :span="8"> |
| | | <p>要求完成时间:2021/9/8 14:41:59</p> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row :gutter="20"> |
| | | <el-col :span="20"> |
| | | <p>移交意见:此告警不属于本区域,请区域二处理。 </p> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row :gutter="20"> |
| | | <el-col :span="16"> |
| | | <p>分派处理人:张某某、程某某 </p> |
| | | </el-col> |
| | | <el-col :span="8"> |
| | | <p>要求完成时间:2021/9/8 14:41:59</p> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row :gutter="20"> |
| | | <el-col :span="20"> |
| | | <p>分派意见:请配合处理。 </p> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row :gutter="20"> |
| | | <el-col :span="16"> |
| | | <p>回复移交:无法处理,请移交到T2处理</p> |
| | | </el-col> |
| | | <el-col :span="8"> |
| | | <p>要求完成时间:2021/9/8 14:41:59</p> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row :gutter="20"> |
| | | <el-col :span="20"> |
| | | <p>附件:test.txt </p> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row :gutter="20"> |
| | | <el-col :span="20"> |
| | | <p>处理结果:处理意见通过。 </p> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row :gutter="20"> |
| | | <el-col :span="16"> |
| | | <p>移交处理角色:蓄电池维护班组2</p> |
| | | </el-col> |
| | | <el-col :span="8"> |
| | | <p>要求完成时间:2021/9/8 14:41:59</p> |
| | | </el-col> |
| | | </el-row> |
| | | </div> |
| | | <div class="details_box"> |
| | | <el-row :gutter="20"> |
| | | <el-col :span="6"> |
| | | <p>T1处理 处理人:李某某</p> |
| | | </el-col> |
| | | <el-col :span="6"> |
| | | <p>处理角色:区域一管理员</p> |
| | | </el-col> |
| | | <el-col :span="4"> |
| | | <p>处理动作:移交</p> |
| | | </el-col> |
| | | <el-col :span="8"> |
| | | <p>处理时间:2021/9/7 14:41:59</p> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row :gutter="20"> |
| | | <el-col :span="16"> |
| | | <p>移交处理角色:区域二管理员 </p> |
| | | </el-col> |
| | | <el-col :span="8"> |
| | | <p>要求完成时间:2021/9/8 14:41:59</p> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row :gutter="20"> |
| | | <el-col :span="20"> |
| | | <p>移交意见:此告警不属于本区域,请区域二处理。 </p> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row :gutter="20"> |
| | | <el-col :span="16"> |
| | | <p>分派处理人:张某某、程某某 </p> |
| | | </el-col> |
| | | <el-col :span="8"> |
| | | <p>要求完成时间:2021/9/8 14:41:59</p> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row :gutter="20"> |
| | | <el-col :span="20"> |
| | | <p>分派意见:请配合处理。 </p> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row :gutter="20"> |
| | | <el-col :span="16"> |
| | | <p>回复移交:无法处理,请移交到T2处理</p> |
| | | </el-col> |
| | | <el-col :span="8"> |
| | | <p>要求完成时间:2021/9/8 14:41:59</p> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row :gutter="20"> |
| | | <el-col :span="20"> |
| | | <p>附件:test.txt </p> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row :gutter="20"> |
| | | <el-col :span="20"> |
| | | <p>处理结果:处理意见通过。 </p> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row :gutter="20"> |
| | | <el-col :span="16"> |
| | | <p>移交处理角色:蓄电池维护班组2</p> |
| | | </el-col> |
| | | <el-col :span="8"> |
| | | <p>要求完成时间:2021/9/8 14:41:59</p> |
| | | </el-col> |
| | | </el-row> |
| | | </div> |
| | | |
| | | </el-tab-pane> |
| | | <el-tab-pane label="流程图">流程图</el-tab-pane> |
| | | </el-tabs> |
| | | |
| | | |
| | | <el-button size="mini" type="primary" @click="cc">查询</el-button> |
| | | </div> |
| | | <!-- 用户列表 --> |
| | | <el-dialog |
| | | title="提示" |
| | | :visible.sync="dialog" |
| | | width="30%" |
| | | center> |
| | | <div> |
| | | <el-tree |
| | | :data="userList" |
| | | show-checkbox |
| | | @check="check" |
| | | node-key="id" |
| | | ref="tree" |
| | | :default-expanded-keys="expandedList" |
| | | :props="defaultProps"> |
| | | </el-tree> |
| | | </div> |
| | | <span slot="footer" class="dialog-footer"> |
| | | <el-button type="primary" @click="ok()">确 定</el-button> |
| | | <el-button @click="getCurrentNode()">取 消</el-button> |
| | | </span> |
| | | </el-dialog> |
| | | <!-- 通过、驳回意见框 --> |
| | | <el-dialog |
| | | :title="listBtnStatus==4?'驳回意见':'通过意见'" |
| | | :visible.sync="dialog2" |
| | | width="30%" |
| | | center> |
| | | <div> |
| | | <el-input type="textarea" v-model="txtData" style="width: 100%;"></el-input> |
| | | </div> |
| | | <span slot="footer" class="dialog-footer"> |
| | | <el-button type="primary" @click="clearBtn(1)">确 定</el-button> |
| | | <el-button @click="clearBtn(2)">取 消</el-button> |
| | | </span> |
| | | </el-dialog> |
| | | </div> |
| | | </template> |
| | | <script> |
| | | import { actionTypeList4Role,basicInfo , groupAndUserListOfCurrentUser,groupAndUser,updateLink} from './js/workInfo/workInfo' |
| | | import {STATUS} from './js/const' |
| | | export default { |
| | | data(){ |
| | | return { |
| | | listBtnStatus:"", |
| | | txtData:"", |
| | | thisObj:null, |
| | | listObj:null, |
| | | dialog:false, |
| | | dialog2:false, |
| | | expandedList:[], |
| | | userCheckId:"", |
| | | userCheckName:"", |
| | | userList:[], |
| | | defaultProps: { |
| | | children: 'children', |
| | | label: 'label' |
| | | }, |
| | | value:"", |
| | | workInfo:{ |
| | | status:0, |
| | | statusName:"", |
| | | title:"", |
| | | orderId:"", |
| | | createTime:"", |
| | | alarmTime:"", |
| | | taskDesc:"", |
| | | alarmLevel:"", |
| | | countdown:"", |
| | | stationId:"", |
| | | id:"", |
| | | type:"", |
| | | }, |
| | | numList:["一","二","三","四","五","六","七","八","九","十"], |
| | | selectList:[ |
| | | {value:1,label:"处理分派回复"}, |
| | | {value:2,label:"转派T2处理"}, |
| | | {value:1,label:"转派"}, |
| | | {value:2,label:"移交"}, |
| | | {value:3,label:"分派"}, |
| | | {value:4,label:"移交"}, |
| | | {value:5,label:"回复"}, |
| | | {value:6,label:"处理并归档"}, |
| | | {value:6,label:"回复"}, |
| | | {value:7,label:"处理并归档"}, |
| | | ], |
| | | tableData:[ |
| | | {name:"张三",data:"已处理,故障已恢复",fj:"xxx.txt",date:"2021-10-08 15:51:43"}, |
| | | {name:"李四",data:"已处理,故障已恢复",fj:"xxx.txt",date:"2021-10-08 15:51:43"}, |
| | | {name:"王五",data:"已处理,故障已恢复",fj:"xxx.txt",date:"2021-10-08 15:51:43"} |
| | | ], |
| | | tableData:[], |
| | | form2:{ |
| | | date1:"", |
| | | date2:"", |
| | | desc:"" |
| | | // date2:"", |
| | | desc:"", |
| | | user:"", |
| | | userId:"", |
| | | }, |
| | | form3:{ |
| | | date1:"", |
| | | date2:"", |
| | | desc:"", |
| | | user:"" |
| | | user:"", |
| | | userId:"", |
| | | }, |
| | | form4:{ |
| | | date1:"", |
| | | date2:"", |
| | | // date2:"", |
| | | desc:"", |
| | | user:"" |
| | | user:"", |
| | | userId:"", |
| | | }, |
| | | form5:{ |
| | | desc:"", |
| | |
| | | form6:{ |
| | | desc:"", |
| | | }, |
| | | detailsData:[], |
| | | time: null, |
| | | |
| | | } |
| | | }, |
| | | mounted(){ |
| | | |
| | | // this.time = setInterval(this.showTime(),1000); |
| | | this.basicInfo(); |
| | | }, |
| | | methods: { |
| | | // 通过、驳回按钮 |
| | | listBtn:function(val,row){ |
| | | console.log(row) |
| | | let self = this; |
| | | self.dialog2 = true; |
| | | self.listBtnStatus = val; |
| | | self.listObj = row; |
| | | }, |
| | | // 通过驳填写意见弹窗操作 |
| | | clearBtn:function(value){ |
| | | let self = this; |
| | | if(value == 1){//确认 |
| | | if(self.txtData == ""){ |
| | | let txt = self.listBtnStatus == 4?"驳回意见!":"通过意见!"; |
| | | self.$message({ |
| | | type: 'error', |
| | | message:'请填写' + txt |
| | | }); |
| | | return false; |
| | | } |
| | | let params = {}; |
| | | if(self.listBtnStatus == 5){//通过 |
| | | params={ |
| | | dealType:5, |
| | | id:self.workInfo.id, |
| | | replyContent:self.txtData |
| | | } |
| | | }else{//驳回4 |
| | | params={ |
| | | dealType:4, |
| | | id:self.workInfo.id, |
| | | replyContent:self.txtData, |
| | | parentId:self.listObj.parentId, |
| | | dealUserId:self.listObj.dealUserId, |
| | | dealTaskReplyNum:self.listObj.dealTaskReplyNum, |
| | | mainId:self.listObj.mainId, |
| | | replyContent:self.txtData |
| | | } |
| | | } |
| | | self.updateLink(params); |
| | | console.log(params) |
| | | } |
| | | self.txtData = ""; |
| | | self.dialog2 = false; |
| | | }, |
| | | cc:function(){ |
| | | console.log(this.form3) |
| | | }, |
| | | // 选中列表时 |
| | | tebleselect:function(selection, row){ |
| | | console.log(selection, row) |
| | | let self = this; |
| | | if(selection.length>0){ |
| | | selection.forEach(item => { |
| | | if(item.id != row.id){ |
| | | self.$refs.teble.toggleRowSelection(item,false) |
| | | } |
| | | }); |
| | | self.thisObj = row; |
| | | }else{ |
| | | self.thisObj = null; |
| | | } |
| | | }, |
| | | // 获取处理动作选择 |
| | | getSelectVal:function(val){ |
| | | console.log(val) |
| | | console.log("val:" + this.value) |
| | | } |
| | | }, |
| | | // 获取选中的列表 |
| | | getCurrentNode:function(){ |
| | | let self = this; |
| | | let data = self.$refs.tree.getCheckedNodes(); |
| | | console.log(data) |
| | | }, |
| | | // 获取用户列表 |
| | | getUserList:function(){ |
| | | let self = this; |
| | | if(self.value == 3){//分派时查询当前组成员 |
| | | groupAndUserListOfCurrentUser().then((res)=>{ |
| | | let resdata = res.data; |
| | | console.log(resdata) |
| | | if(resdata.code == 1){ |
| | | let rs = resdata.data[0]; |
| | | let dataList = [ |
| | | { |
| | | id:rs.baoJiGroupId, |
| | | label:rs.baoJiGroupName, |
| | | children:[] |
| | | } |
| | | ]; |
| | | rs.userList.forEach(item => { |
| | | let obj = { |
| | | id:item.uid, |
| | | label:item.uname |
| | | } |
| | | dataList[0].children.push(obj); |
| | | }); |
| | | self.userList = dataList; |
| | | self.dialog = true; |
| | | } |
| | | console.log(resData) |
| | | }).catch((err)=>{ |
| | | |
| | | }) |
| | | }else{//非分派时查询所有组成员 |
| | | groupAndUser().then((res)=>{ |
| | | let resdata = res.data; |
| | | if(resdata.code ==1){ |
| | | let rs = resdata.data; |
| | | let userArr = []; |
| | | rs.forEach(item => { |
| | | let dataList = { |
| | | id:item.baoJiGroupId, |
| | | label:item.baoJiGroupName, |
| | | // children:[] |
| | | }; |
| | | // item.userList.forEach(list => { |
| | | // let obj = { |
| | | // id:list.uid, |
| | | // label:list.uname |
| | | // } |
| | | // dataList.children.push(obj); |
| | | // }); |
| | | userArr.push(dataList); |
| | | }); |
| | | self.userList = userArr; |
| | | self.dialog = true; |
| | | console.log(self.userList); |
| | | } |
| | | }) |
| | | } |
| | | |
| | | |
| | | }, |
| | | // 树已选数据 |
| | | check:function(obj,data){ |
| | | /* |
| | | *obj=当前选中的数据 |
| | | *data{ |
| | | * checkedKeys:已选数据的ID |
| | | * checkedNodes:已选数据详细信息 |
| | | * halfCheckedKeys:已选数据所属的组 |
| | | * halfCheckedNodes:已选数据所属组的详细信息 |
| | | *} |
| | | */ |
| | | console.log(obj,data) |
| | | let self = this; |
| | | if(self.value == 3){ |
| | | |
| | | if(obj.id!=self.workInfo.stationId && data.checkedKeys.length<self.userList[0].length){ |
| | | self.userCheckId = data.checkedKeys; |
| | | }else{ |
| | | self.userCheckId = data.checkedKeys.slice(1, data.checkedKeys.length); |
| | | } |
| | | console.log(data.checkedKeys,self.userList) |
| | | let nameArr = []; |
| | | data.checkedNodes.forEach((item,i) => { |
| | | if(obj.id!=self.workInfo.stationId && data.checkedKeys.length<self.userList[0].children.length){ |
| | | nameArr.push(item.label); |
| | | }else{ |
| | | if(i>0){ |
| | | nameArr.push(item.label); |
| | | } |
| | | } |
| | | |
| | | }); |
| | | self.userCheckName = nameArr.join(","); |
| | | // console.log(obj,data) |
| | | // console.log(self.userCheckId,self.userCheckName) |
| | | }else{ |
| | | self.userList.forEach(item => { |
| | | if(item.id != obj.id){ |
| | | self.$refs.tree.setChecked(item.id,false); |
| | | } |
| | | }); |
| | | } |
| | | }, |
| | | // 确定 |
| | | ok:function(){ |
| | | let self = this; |
| | | let data = self.$refs.tree.getCheckedNodes(); |
| | | console.log(data) |
| | | if(data.length >0){ |
| | | switch (self.value) { |
| | | case 1://转派 |
| | | self.form2.userId = self.$refs.tree.getCheckedNodes()[0].id; |
| | | self.form2.user = self.$refs.tree.getCheckedNodes()[0].label; |
| | | break; |
| | | case 3://分派 |
| | | |
| | | self.form3.user = self.userCheckName; |
| | | self.form3.userId = self.userCheckId; |
| | | console.log(self.form3.userId) |
| | | break; |
| | | case 2://移交 |
| | | self.form4.userId = self.$refs.tree.getCheckedNodes()[0].id; |
| | | self.form4.user = self.$refs.tree.getCheckedNodes()[0].label; |
| | | break; |
| | | |
| | | default: |
| | | break; |
| | | } |
| | | } |
| | | self.dialog = false; |
| | | }, |
| | | // 取消 |
| | | cancel:function(){ |
| | | let self = this; |
| | | // self.userCheckName = ""; |
| | | // self.form2.user = ""; |
| | | self.dialog = false; |
| | | }, |
| | | // 提交 |
| | | submit:function(){ |
| | | let self = this; |
| | | let params = {}; |
| | | switch (self.value) { |
| | | case 1://转派 |
| | | let status = true; |
| | | for (const key in self.form2) { |
| | | if (self.form2[key] == "") { |
| | | status = false; |
| | | } |
| | | } |
| | | if(!status){ |
| | | self.$message({ |
| | | type: 'error', |
| | | message:'请填写完整的表单!' |
| | | }); |
| | | }else{ |
| | | params = { |
| | | dealReason:self.form2.desc, |
| | | dealType:1, |
| | | dealUserId:self.form2.userId, |
| | | id:self.workInfo.id, |
| | | mainId:self.thisObj.mainId, |
| | | // requiredFinishTime:self.form2.date2 |
| | | } |
| | | self.updateLink(params); |
| | | } |
| | | break; |
| | | case 3://分派 |
| | | let k = true; |
| | | for (const key in self.form3) { |
| | | if (self.form3[key] == "") { |
| | | k = false; |
| | | } |
| | | } |
| | | if(!k){ |
| | | self.$message({ |
| | | type: 'error', |
| | | message:'请填写完整的表单!' |
| | | }); |
| | | }else{ |
| | | params = { |
| | | dealReason:self.form3.desc, |
| | | dealType:3, |
| | | dealUserIdList:self.form3.userId, |
| | | id:self.workInfo.id, |
| | | mainId:self.thisObj.mainId, |
| | | requiredFinishTime:self.form3.date2 |
| | | } |
| | | self.updateLink(params); |
| | | } |
| | | break; |
| | | case 2://移交 |
| | | let y = true; |
| | | for (const key in self.form4) { |
| | | if (self.form4[key] == "") { |
| | | y = false; |
| | | } |
| | | } |
| | | if(!y){ |
| | | self.$message({ |
| | | type: 'error', |
| | | message:'请填写完整的表单!' |
| | | }); |
| | | }else{ |
| | | params = { |
| | | dealReason:self.form4.desc, |
| | | dealType:2, |
| | | dealUserId:self.form4.userId, |
| | | id:self.workInfo.id, |
| | | mainId:self.thisObj.mainId, |
| | | parentId:self.thisObj.parentId||0 |
| | | } |
| | | self.updateLink(params); |
| | | } |
| | | break; |
| | | case 6://回复 |
| | | if(self.form5.desc == ""){ |
| | | self.$message({ |
| | | type: 'error', |
| | | message:'请填写回复意见!' |
| | | }); |
| | | }else{ |
| | | params = { |
| | | dealReason:self.form5.desc, |
| | | dealType:6, |
| | | dealTaskReplyNum:self.thisObj.dealTaskReplyNum || 0, |
| | | parentId:self.thisObj.parentId, |
| | | id:self.workInfo.id, |
| | | } |
| | | self.updateLink(params); |
| | | } |
| | | break; |
| | | case 7://归档 |
| | | |
| | | break; |
| | | |
| | | default: |
| | | break; |
| | | } |
| | | |
| | | }, |
| | | // 提交 |
| | | updateLink:function(data){ |
| | | let self = this; |
| | | updateLink(data).then(res=>{ |
| | | if(res.data.code == 1){ |
| | | self.$message({ |
| | | type: 'success', |
| | | message:res.data.msg |
| | | }); |
| | | self.intData(); |
| | | } |
| | | }) |
| | | }, |
| | | // 初始化 |
| | | intData:function(){ |
| | | let self = this; |
| | | Object.assign(self.$data, self.$options.data()) |
| | | self.basicInfo(); |
| | | }, |
| | | // 查询工单基本信息 |
| | | basicInfo:function(){ |
| | | let self = this; |
| | | |
| | | // login(); |
| | | basicInfo({mainId:31}).then((res)=>{ |
| | | if(res.data.code == 1){ |
| | | let resdata = res.data.data; |
| | | self.workInfo.status = resdata.status; |
| | | self.workInfo.statusName = STATUS[resdata.status]; |
| | | self.workInfo.title = resdata.title;//标题 |
| | | self.workInfo.orderId = resdata.orderId;//工单编号 |
| | | self.workInfo.createTime = resdata.createTime;//工单生成时间 |
| | | self.workInfo.alarmTime = resdata.workflowAlarm.alarmTime;//告警开始时间 |
| | | self.workInfo.alarmLevel = resdata.workflowAlarm.alarmLevel;//告警等级 |
| | | self.workInfo.taskDesc = resdata.taskDesc;//告警描述type |
| | | self.workInfo.type = resdata.type;//告警描述 |
| | | console.log(resdata) |
| | | // 倒计时 |
| | | self.time = setInterval(function(){self.showTime()},1000); |
| | | // 分派人回复列表 |
| | | self.tableData = resdata.linkList; |
| | | // 当前包机组ID、名称 |
| | | self.workInfo.stationId = resdata.workflowAlarm.stationId; |
| | | self.workInfo.stationName = resdata.workflowAlarm.stationName; |
| | | // id |
| | | self.workInfo.id = resdata.id; |
| | | let listArr = []; |
| | | if(resdata.linkList.length>0){ |
| | | resdata.linkList.forEach(item => { |
| | | if(item.status == 0 || item.status == 3 || item.status == 4 ){ |
| | | listArr.push(item); |
| | | } |
| | | }); |
| | | } |
| | | self.tableData = listArr; |
| | | // 查询处理动作 |
| | | self.actionTypeList4Role(resdata.status,resdata.type); |
| | | } |
| | | }).catch((err)=>{ |
| | | |
| | | }) |
| | | }, |
| | | // 查询处理动作 |
| | | actionTypeList4Role:function(status,type){ |
| | | let self = this; |
| | | let arr = [1,2,3,6,7]; |
| | | let arrName = ['转派','移交','分派','回复','处理并归档'] |
| | | let data = { |
| | | status:status, |
| | | type:type |
| | | } |
| | | actionTypeList4Role(data).then((res)=>{ |
| | | if(res.data.code == 1){ |
| | | let resdata = res.data.data; |
| | | if(resdata.length>0){ |
| | | resdata.forEach(item => { |
| | | arr.forEach(element => { |
| | | if(item.actionType == element){ |
| | | |
| | | } |
| | | }); |
| | | }); |
| | | } |
| | | console.log(res) |
| | | } |
| | | |
| | | }) |
| | | }, |
| | | // 倒计时 |
| | | checkTime:function (i){ |
| | | if(i<10) |
| | | { |
| | | i="0"+i; |
| | | } |
| | | return i; |
| | | }, |
| | | showTime:function(){ |
| | | let self = this; |
| | | let timedate= new Date("2021/11/8,16:03:55"); //自定义结束时间 |
| | | let now = new Date(); //获取当前时间 |
| | | let date = parseInt(timedate.getTime() - now.getTime())/1000; //得出的为秒数; |
| | | // let day = parseInt(date/60/60/24); |
| | | let hour = parseInt(date/60/60%24); |
| | | let minute = parseInt(date/60%60); |
| | | let second = parseInt(date%60); |
| | | hour = self.checkTime(hour); |
| | | minute = self.checkTime(minute); |
| | | second = self.checkTime(second); |
| | | let leftTime = hour+"时"+minute+"分"+second+"秒"; |
| | | if(date <= 0){ |
| | | hour = hour.split("-")[1]||0; |
| | | minute = minute.split("-")[1]||0; |
| | | second = second.split("-")[1]||0; |
| | | leftTime ="-" + hour+"小时"+minute+"分"+second+"秒"; |
| | | } |
| | | self.workInfo.countdown = leftTime; |
| | | }, |
| | | |
| | | }, |
| | | |
| | | } |
| | | </script> |
| | | <style scoped> |
| | | /* element */ |
| | | /deep/.has-gutter /deep/.el-checkbox{ |
| | | display:none !important |
| | | } |
| | | /* */ |
| | | .main{ |
| | | height: 100%; |
| | | padding: 10px 15px; |
| | |
| | | border-top: 2px #ccc solid; |
| | | border-bottom: 2px #ccc solid; |
| | | } |
| | | .details_box{ |
| | | border-bottom: 2px #ccc solid; |
| | | border-top: 2px #ccc solid; |
| | | padding: 5px; |
| | | margin-bottom: 20px; |
| | | } |
| | | </style> |