Просмотр исходного кода

科室报工报表点击跳转工单列表

miaofuhao лет назад: 2
Родитель
Сommit
5471eb3755

+ 17 - 0
CallCenterWeb.UI/RMYY/src/api/leadConcern/leadConcern.js

@@ -100,3 +100,20 @@ export function workMaintenanceCarReportExpt(params) {
100 100
     params
101 101
   });
102 102
 }
103
+// 获取报表工单列表数据
104
+export function ReportGetComList(params) {
105
+  return request({
106
+    url: "WorkCommon/ReportGetComList",
107
+    method: "get",
108
+    params
109
+  });
110
+}
111
+// 导出报表工单列表数据
112
+export function ReportGetComListExpt(params) {
113
+  return request({
114
+    url: "WorkCommon/ReportGetComList",
115
+    method: "get",
116
+    responseType: "blob",
117
+    params
118
+  });
119
+}

+ 2 - 2
CallCenterWeb.UI/RMYY/src/views/layout/components/Navbar/Teloperation copy.vue

@@ -327,7 +327,7 @@ export default {
327 327
         Type: "Login",
328 328
         AgentID: this.usercode,
329 329
         AgentExten: this.extension,
330
-        AgentGroup: "364", // 坐席组id window.localStorage.getItem('groupCode')
330
+        AgentGroup: "1", // 坐席组id window.localStorage.getItem('groupCode')
331 331
         AgentType: "0",
332 332
         DisposeTime: "0", // 话后处理时长设置,0代表一致话后处理,除非发送置闲 (按照历史习惯,字符串形式)
333 333
       };
@@ -425,7 +425,7 @@ export default {
425 425
         Type: "MeetingTakeBack",
426 426
         AgentID: this.usercode,
427 427
         AgentExten: this.extension,
428
-        AgentGroup: "364", // 坐席组id window.localStorage.getItem('groupCode')
428
+        AgentGroup: "1", // 坐席组id window.localStorage.getItem('groupCode')
429 429
         AgentType: "0",
430 430
         DisposeTime: "0", // 话后处理时长设置,0代表一致话后处理,除非发送置闲 (按照历史习惯,字符串形式)
431 431
       };

+ 242 - 0
CallCenterWeb.UI/RMYY/src/views/leadConcern/cpns/reportComList.vue

@@ -0,0 +1,242 @@
1
+<template>
2
+  <div>
3
+    <div class="filter-container">
4
+      <el-button
5
+        type="primary"
6
+        class="filter-item"
7
+        icon="el-icon-plus"
8
+        @click="btn_export"
9
+        >导出</el-button
10
+      >
11
+    </div>
12
+    <el-table v-loading="loading" :data="dataLists" border stripe>
13
+      <el-table-column prop="F_OrderNo" label="编号" align="center" />
14
+      <el-table-column prop="F_OrderSource" label="来源" align="center" />
15
+      <el-table-column
16
+        prop="F_WoCode"
17
+        label="工单编号"
18
+        align="center"
19
+        min-width="110"
20
+      >
21
+        <!-- <template slot-scope="scope">
22
+          <span
23
+            style="color: #409eff; cursor: pointer"
24
+            @click="hadndleOrderCode(scope.row)"
25
+            >{{ scope.row.F_WoCode }}</span
26
+          >
27
+          <el-tag v-if="scope.row.F_UrgeCount > 0" type="success"
28
+            >催{{ scope.row.F_UrgeCount }}</el-tag
29
+          >
30
+        </template> -->
31
+      </el-table-column>
32
+      <el-table-column
33
+        prop="F_ProposerDept"
34
+        :formatter="formtDept"
35
+        label="申请科室"
36
+        align="center"
37
+        min-width
38
+      />
39
+      <el-table-column
40
+        prop="F_ProposerName"
41
+        label="申请人"
42
+        align="center"
43
+        min-width
44
+      />
45
+      <el-table-column
46
+        prop="F_ProposerDept"
47
+        :formatter="formtLocation"
48
+        label="科室位置"
49
+        align="center"
50
+        min-width
51
+      />
52
+      <el-table-column prop="F_Type" label="业务类别" align="center" min-width>
53
+        <template slot-scope="scope">
54
+          <span v-if="scope.row.F_Type == 1000">业务咨询</span>
55
+          <span v-if="scope.row.F_Type == 2000">综合调度</span>
56
+          <span v-if="scope.row.F_Type == 3000">故障保修</span>
57
+          <span v-if="scope.row.F_Type == 4000">车辆调度</span>
58
+        </template>
59
+      </el-table-column>
60
+      <el-table-column
61
+        :formatter="formtOrder"
62
+        prop="F_SonType"
63
+        label="工单类别"
64
+        align="center"
65
+      />
66
+      <!-- <el-table-column v-if="fieldListFlag.F_SonType2" :formatter="formtSonOrder" prop="F_SonType" label="工单子类别" align="center" min-width /> -->
67
+      <el-table-column prop="F_Content" label="工单内容" align="center" />
68
+      <el-table-column prop="StateName" label="工单状态" align="center">
69
+        <template slot-scope="scope">
70
+          <span v-if="scope.row.StateName == '已完成'" style="color: #669900">{{
71
+            scope.row.StateName
72
+          }}</span>
73
+          <span v-if="scope.row.StateName == '已接单'" style="color: #aa5500">{{
74
+            scope.row.StateName
75
+          }}</span>
76
+          <span v-if="scope.row.StateName == '已处理'" style="color: #55aaff">{{
77
+            scope.row.StateName
78
+          }}</span>
79
+          <span v-if="scope.row.StateName == '已完结'" style="color: #00aa7f">{{
80
+            scope.row.StateName
81
+          }}</span>
82
+          <span v-if="scope.row.StateName == '已退回'" style="color: #0055ff">{{
83
+            scope.row.StateName
84
+          }}</span>
85
+          <span v-if="scope.row.StateName == '办理中'" style="color: #005500">{{
86
+            scope.row.StateName
87
+          }}</span>
88
+          <span
89
+            v-if="scope.row.StateName == '异常完结'"
90
+            style="color: #5555ff"
91
+            >{{ scope.row.StateName }}</span
92
+          >
93
+          <span v-if="scope.row.StateName == '待评价'" style="color: #ffaa7f">{{
94
+            scope.row.StateName
95
+          }}</span>
96
+          <span v-if="scope.row.StateName == '待回访'" style="color: #ffaa00">{{
97
+            scope.row.StateName
98
+          }}</span>
99
+          <span v-if="scope.row.StateName == '待接单'" style="color: #ff0000">{{
100
+            scope.row.StateName
101
+          }}</span>
102
+          <span v-if="scope.row.StateName == '待完成'" style="color: #ff5507">{{
103
+            scope.row.StateName
104
+          }}</span>
105
+          <span v-if="scope.row.StateName == '待派单'" style="color: #ff55ff">{{
106
+            scope.row.StateName
107
+          }}</span>
108
+          <span v-if="scope.row.StateName == '待提交'" style="color: #ff007f">{{
109
+            scope.row.StateName
110
+          }}</span>
111
+          <span v-if="scope.row.StateName == '待分配'" style="color: #aa0000">{{
112
+            scope.row.StateName
113
+          }}</span>
114
+          <span
115
+            v-if="scope.row.StateName == '确认耗材中'"
116
+            style="color: #55007f"
117
+            >{{ scope.row.StateName }}</span
118
+          >
119
+          <span v-if="scope.row.StateName == '已撤销'" style="color: #aa007f">{{
120
+            scope.row.StateName
121
+          }}</span>
122
+        </template>
123
+      </el-table-column>
124
+      <el-table-column prop="MYD1" label="满意度" align="center">
125
+        <template slot-scope="scope">
126
+          <span v-if="scope.row.MYD1">{{ scope.row.MYD1 }}</span>
127
+          <span v-else> - </span>
128
+        </template>
129
+      </el-table-column>
130
+      <el-table-column prop="F_CreateTime" label="创建时间" align="center" />
131
+    </el-table>
132
+    <pagination
133
+      v-show="pageParams.total > 0"
134
+      :total="pageParams.total"
135
+      :pageindex.sync="pageParams.pageindex"
136
+      :pagesize.sync="pageParams.pagesize"
137
+      class="pagination"
138
+      @pagination="getList"
139
+    />
140
+  </div>
141
+</template>
142
+<script>
143
+import {
144
+  ReportGetComList,
145
+  ReportGetComListExpt,
146
+} from "@/api/leadConcern/leadConcern";
147
+import Pagination from "@/components/context/Pagination";
148
+import { exportExcel } from "@/utils";
149
+
150
+export default {
151
+  name: "vehicleManagement",
152
+  components: {
153
+    Pagination,
154
+  },
155
+  props: {
156
+    dataParams: {
157
+      type: Object,
158
+      default() {
159
+        return {};
160
+      },
161
+    },
162
+  },
163
+  data() {
164
+    return {
165
+      loading: false,
166
+      keyword: "",
167
+      pageParams: {
168
+        pageindex: 1, //Number(this.$store.getters.serverConfig.PAGESIZE)
169
+        pagesize: Number(this.$store.getters.serverConfig.PAGESIZE),
170
+        total: 0,
171
+      },
172
+      getParams: {},
173
+      dataLists: [],
174
+    };
175
+  },
176
+  created() {
177
+    this.getList();
178
+    document.onkeyup = (e) => {
179
+      if (e.keyCode === 13) {
180
+        this.getList();
181
+      }
182
+    };
183
+  },
184
+  methods: {
185
+    getList() {
186
+      this.loading = true;
187
+      return new Promise((resolve) => {
188
+        this.dataParams.pageindex = this.pageParams.pageindex; // 第几页
189
+        this.dataParams.pagesize = this.pageParams.pagesize; // 第几页
190
+        console.log(this.dataParams);
191
+        ReportGetComList(this.dataParams).then((response) => {
192
+          this.loading = false;
193
+          if (response.rows.length >= 0) {
194
+            this.pageParams.total = response.total;
195
+            this.dataLists = response.rows;
196
+          }
197
+        });
198
+        // resolve()
199
+      });
200
+    },
201
+    btn_search() {
202
+      this.pageParams.pageindex = 1;
203
+      this.getList();
204
+    },
205
+    formtDept(row, column) {
206
+      if (
207
+        row.F_ProposerDept &&
208
+        row.F_ApplicationDept != "0" &&
209
+        this.$store.getters.deptmap[parseInt(row.F_ProposerDept)]
210
+      ) {
211
+        return this.$store.getters.deptmap[parseInt(row.F_ProposerDept)].text;
212
+      }
213
+    },
214
+    formtLocation(row, column) {
215
+      if (
216
+        row.F_ProposerDept &&
217
+        this.$store.getters.deptmap[parseInt(row.F_ProposerDept)]
218
+      ) {
219
+        return this.$store.getters.deptmap[parseInt(row.F_ProposerDept)]
220
+          .location;
221
+      }
222
+    },
223
+    formtOrder(row, column) {
224
+      if (
225
+        row.F_SonType &&
226
+        this.$store.getters.workTypeMap[parseInt(row.F_SonType)]
227
+      ) {
228
+        const typeText =
229
+          this.$store.getters.workTypeMap[parseInt(row.F_SonType)].text;
230
+        return typeText.split("/").slice(1).join("/");
231
+      }
232
+    },
233
+    btn_export() {
234
+      console.log(this.ruleForm);
235
+      this.dataParams.isdc = 1;
236
+      exportExcel(this.dataParams, ReportGetComListExpt);
237
+    },
238
+  },
239
+};
240
+</script>
241
+<style rel="stylesheet/scss" lang="scss" scoped>
242
+</style>

+ 0 - 1
CallCenterWeb.UI/RMYY/src/views/leadConcern/officeRepairReport/index.vue

@@ -146,7 +146,6 @@ export default {
146 146
       this.$refs.reportList1.getList(this.ruleForm);
147 147
       this.$refs.reportList2.getList(this.ruleForm);
148 148
     },
149
-    btn_export() {},
150 149
     getTreeList() {
151 150
       return new Promise((resolve) => {
152 151
         getOrderTypeDrop(this.pid).then((response) => {

+ 31 - 18
CallCenterWeb.UI/RMYY/src/views/leadConcern/officeWorkReport/cpns/reportList.vue

@@ -20,7 +20,7 @@
20 20
             <template slot-scope="scope">
21 21
               <el-button
22 22
                 type="text"
23
-                @click="btnClickEvents('gzall', scope.row)"
23
+                @click="btnClickEvents(2, 3000, scope.row)"
24 24
               >
25 25
                 {{ scope.row.gzall }}
26 26
               </el-button>
@@ -30,7 +30,7 @@
30 30
             <template slot-scope="scope">
31 31
               <el-button
32 32
                 type="text"
33
-                @click="btnClickEvents('gzfinish', scope.row)"
33
+                @click="btnClickEvents(1, 3000, scope.row)"
34 34
               >
35 35
                 {{ scope.row.gzfinish }}
36 36
               </el-button>
@@ -40,7 +40,7 @@
40 40
             <template slot-scope="scope">
41 41
               <el-button
42 42
                 type="text"
43
-                @click="btnClickEvents('gzunfinish', scope.row)"
43
+                @click="btnClickEvents(0, 3000, scope.row)"
44 44
               >
45 45
                 {{ scope.row.gzunfinish }}
46 46
               </el-button>
@@ -52,7 +52,7 @@
52 52
             <template slot-scope="scope">
53 53
               <el-button
54 54
                 type="text"
55
-                @click="btnClickEvents('clall', scope.row)"
55
+                @click="btnClickEvents(2, 4000, scope.row)"
56 56
               >
57 57
                 {{ scope.row.clall }}
58 58
               </el-button>
@@ -62,7 +62,7 @@
62 62
             <template slot-scope="scope">
63 63
               <el-button
64 64
                 type="text"
65
-                @click="btnClickEvents('clfinish', scope.row)"
65
+                @click="btnClickEvents(1, 4000, scope.row)"
66 66
               >
67 67
                 {{ scope.row.clfinish }}
68 68
               </el-button>
@@ -72,7 +72,7 @@
72 72
             <template slot-scope="scope">
73 73
               <el-button
74 74
                 type="text"
75
-                @click="btnClickEvents('clunfinish', scope.row)"
75
+                @click="btnClickEvents(0, 4000, scope.row)"
76 76
               >
77 77
                 {{ scope.row.clunfinish }}
78 78
               </el-button>
@@ -84,7 +84,7 @@
84 84
             <template slot-scope="scope">
85 85
               <el-button
86 86
                 type="text"
87
-                @click="btnClickEvents('zhall', scope.row)"
87
+                @click="btnClickEvents(2, 2000, scope.row)"
88 88
               >
89 89
                 {{ scope.row.zhall }}
90 90
               </el-button>
@@ -94,7 +94,7 @@
94 94
             <template slot-scope="scope">
95 95
               <el-button
96 96
                 type="text"
97
-                @click="btnClickEvents('zhfinish', scope.row)"
97
+                @click="btnClickEvents(1, 2000, scope.row)"
98 98
               >
99 99
                 {{ scope.row.zhfinish }}
100 100
               </el-button>
@@ -104,7 +104,7 @@
104 104
             <template slot-scope="scope">
105 105
               <el-button
106 106
                 type="text"
107
-                @click="btnClickEvents('zhunfinish', scope.row)"
107
+                @click="btnClickEvents(0, 2000, scope.row)"
108 108
               >
109 109
                 {{ scope.row.zhunfinish }}
110 110
               </el-button>
@@ -119,6 +119,7 @@
119 119
 
120 120
 <script>
121 121
 import Pagination from "@/components/context/Pagination"; // 对el-pagination 二次封装
122
+import reportComList from "../../cpns/reportComList";
122 123
 import { deptRepairReport } from "@/api/leadConcern/leadConcern";
123 124
 
124 125
 import { getNowDate, getPreDate, exportExcel, tableSpanArr } from "@/utils";
@@ -133,23 +134,35 @@ export default {
133 134
       LoadingFlag: false,
134 135
       dataLists: [],
135 136
       spanArr: [],
136
-      ruleForm: {
137
-        startTime: [
138
-          getPreDate(3600 * 1000 * 24) + " 19:00:00",
139
-          getNowDate() + " 19:00:00",
140
-        ],
141
-        way: "",
142
-      },
137
+      ruleFormReport: {},
143 138
     };
144 139
   },
145 140
   computed: {},
146 141
   mounted() {},
147 142
   methods: {
148
-    btnClickEvents(key, data) {
149
-      console.log(key, data);
143
+    btnClickEvents(value, type, data) {
144
+      console.log(value, data, this.ruleFormReport);
145
+      this.ruleFormReport.proposerDept = data.F_ProposerDept;
146
+      this.ruleFormReport.type = type;
147
+      this.ruleFormReport.isdone = value;
148
+      if (value === 2) {
149
+        delete this.ruleFormReport.isdone;
150
+      }
151
+      this.$layer.iframe({
152
+        content: {
153
+          content: reportComList, // 传递的组件对象
154
+          parent: this, // 当前的vue对象
155
+          data: { dataParams: this.ruleFormReport },
156
+        },
157
+        area: ["80%", "80%"],
158
+        title: "工单列表",
159
+      });
160
+      this.ruleFormReport = {};
150 161
     },
151 162
     getList(getParams) {
152 163
       this.LoadingFlag = true;
164
+      this.ruleFormReport.starttime = getParams.starttime;
165
+      this.ruleFormReport.endtime = getParams.endtime;
153 166
       return new Promise((resolve) => {
154 167
         deptRepairReport(getParams).then((response) => {
155 168
           if (response.state.toLowerCase() === "success") {