index.vue 5.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175
  1. <template>
  2. <div class="app-container">
  3. <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
  4. <el-form-item label="OA对应单据信息" prop="oaIdentity">
  5. <el-input
  6. v-model="queryParams.oaIdentity"
  7. placeholder="请输入OA对应单据信息"
  8. clearable
  9. @keyup.enter.native="handleQuery"
  10. />
  11. </el-form-item>
  12. <el-form-item label="来源系统">
  13. <el-select clearable v-model="queryParams.busDomain" size="mini" style="width: 200px"
  14. @keyup.enter.native="handleQuery" clearable>
  15. <el-option v-for="dict in dict.type.oa_busdomian_desc" :key="dict.value" :label="dict.label"
  16. :value="dict.value">
  17. </el-option>
  18. </el-select>
  19. </el-form-item>
  20. <el-form-item>
  21. <el-button icon="el-icon-search" size="mini" type="primary" @click="handleQuery" plain>搜索</el-button>
  22. <el-button icon="el-icon-refresh" size="mini" type="info" @click="resetQuery" plain>重置</el-button>
  23. <el-button icon="el-icon-video-play" size="mini" type="success" @click="getDatas" plain>更新数据</el-button>
  24. </el-form-item>
  25. </el-form>
  26. <el-table v-loading="loading" :data="serviceList">
  27. <el-table-column label="业务域" min-width="120" align="center" prop="busDomain" :formatter="formatterBusDomain"/>
  28. <el-table-column label="业务类型" min-width="120" align="center" prop="monitorType">
  29. <template slot-scope="scope">
  30. <span v-if="scope.row.monitorType == 'flow'">流程</span>
  31. <span v-if="scope.row.monitorType == 'todo'">待办</span>
  32. </template>
  33. </el-table-column>
  34. <el-table-column label="OA单据信息" min-width="80" align="center" prop="oaIdentity"/>
  35. <el-table-column label="业务域单据信息" min-width="120" align="center" prop="docIdentity"
  36. :show-overflow-tooltip="true"/>
  37. <el-table-column label="所属模块" min-width="80" align="center" prop="busModule" :show-overflow-tooltip="true"/>
  38. <el-table-column label="状态释意" min-width="80" align="center" prop="busStatusName"/>
  39. <el-table-column label="问题原因" min-width="150" align="center" prop="errorMsg"/>
  40. <el-table-column label="创建时间" min-width="120" align="center" prop="createTime" :show-overflow-tooltip="true"/>
  41. <el-table-column
  42. fixed="right"
  43. label="操作"
  44. align="center"
  45. width="180"
  46. >
  47. <template slot-scope="scope">
  48. <el-button type="text" size="mini" @click="disposeData(scope.row)">处理</el-button>
  49. </template>
  50. </el-table-column>
  51. </el-table>
  52. <pagination
  53. v-show="total>0"
  54. :total="total"
  55. :page.sync="queryParams.pageNum"
  56. :limit.sync="queryParams.pageSize"
  57. @pagination="getList"
  58. />
  59. </div>
  60. </template>
  61. <script>
  62. import {list, getDatas, detail, disposeData} from "@/api/monitor/system";
  63. export default {
  64. dicts: ['oa_todo_type', 'oa_nc_bill_type', 'oa_flow_status', 'oa_busdomian_desc'],
  65. data() {
  66. return {
  67. //遮罩层
  68. loading: true,
  69. //服务数据表
  70. serviceList: [],
  71. //显示搜索条件
  72. showSearch: true,
  73. //总条数
  74. total: 0,
  75. //查询参数
  76. queryParams: {
  77. pageNum: 1,
  78. pageSize: 10,
  79. busDomain: '',
  80. oaIdentity: ''
  81. }
  82. }
  83. },
  84. mounted() {
  85. this.getList()
  86. },
  87. methods: {
  88. //获取数据列表
  89. getList() {
  90. this.loading = true;
  91. list(this.queryParams).then(res => {
  92. this.serviceList = res.rows;
  93. this.total = res.total;
  94. this.loading = false;
  95. });
  96. },
  97. //刷新数据
  98. getDatas() {
  99. this.loading = true;
  100. getDatas().then(res => {
  101. if (res.code === 200) {
  102. this.loading = false
  103. this.$message.success(res.msg);
  104. this.getList();
  105. } else {
  106. this.$message.error(res.msg)
  107. }
  108. }).then(() => {
  109. this.loading = false
  110. }).catch(err => {
  111. this.loading = false
  112. this.$message.error(err.message)
  113. })
  114. },
  115. //处理数据
  116. disposeData(row) {
  117. this.loading = true;
  118. const data = {'id': row.id};
  119. disposeData(data).then(res => {
  120. if (res.code === 200) {
  121. this.loading = false
  122. this.$message.success(res.msg);
  123. // this.getDatas();
  124. } else {
  125. this.$message.error(res.msg)
  126. }
  127. }).then(() => {
  128. this.loading = false
  129. }).catch(err => {
  130. this.loading = false
  131. this.$message.error(err.message)
  132. })
  133. },
  134. formatterBusDomain(row) {
  135. switch (row.busDomain) {
  136. case 'NC_MOBLIE_APPROVE':
  137. return 'NC-移动审批'
  138. case 'NC_PAY_ORDER':
  139. return 'NC-付款申请单'
  140. case 'BIP_CONTRACT':
  141. return '中台-采购合同'
  142. case 'DRP':
  143. return 'DRP-采购协同子系统'
  144. case 'EHR':
  145. return 'EHR-人力资源管理系统'
  146. case 'OA':
  147. return 'OA-办公管理系统'
  148. }
  149. },
  150. //tab页签点击事件
  151. handleClick(tab, event) {
  152. console.log(tab, event);
  153. },
  154. //查询
  155. handleQuery() {
  156. this.queryParams.pageNum = 1;
  157. this.getList();
  158. },
  159. //重置
  160. resetQuery() {
  161. this.resetForm("queryForm");
  162. this.handleQuery();
  163. }
  164. }
  165. }
  166. </script>
  167. <style>
  168. </style>