zhaomin лет назад: 3
Родитель
Сommit
3fba620c6c
29 измененных файлов с 1470 добавлено и 744 удалено
  1. 2 1
      CallCenterWeb.UI/RMYYAPP/App.vue
  2. 0 143
      CallCenterWeb.UI/RMYYAPP/components/htz-rate/htz-rate.vue
  3. 24 0
      CallCenterWeb.UI/RMYYAPP/config/buttons.config.js
  4. 34 9
      CallCenterWeb.UI/RMYYAPP/config/constData.config.js
  5. 109 58
      CallCenterWeb.UI/RMYYAPP/pages.json
  6. 1 0
      CallCenterWeb.UI/RMYYAPP/pages/components/htz-rate/htz-rate.vue
  7. 4 3
      CallCenterWeb.UI/RMYYAPP/pages/components/orderSelect/orderSelect.vue
  8. 1 1
      CallCenterWeb.UI/RMYYAPP/components/wangxiaohua-steps/index.vue
  9. 1 1
      CallCenterWeb.UI/RMYYAPP/pages/login/login.vue
  10. 0 402
      CallCenterWeb.UI/RMYYAPP/pages/myTask/ceshi.js
  11. 97 0
      CallCenterWeb.UI/RMYYAPP/pages/myTask/consultList/consultDetail/appointmentDeal/appointmentDeal.vue
  12. 372 0
      CallCenterWeb.UI/RMYYAPP/pages/myTask/consultList/consultDetail/consultDetail.vue
  13. 351 0
      CallCenterWeb.UI/RMYYAPP/pages/myTask/consultList/consultDetail/editDetail/editDetail.vue
  14. 299 0
      CallCenterWeb.UI/RMYYAPP/pages/myTask/consultList/consultList.vue
  15. 2 3
      CallCenterWeb.UI/RMYYAPP/pages/myTask/myTask.vue
  16. 12 12
      CallCenterWeb.UI/RMYYAPP/pages/myTask/repairList/addRepair/addRepair.vue
  17. 2 3
      CallCenterWeb.UI/RMYYAPP/pages/myTask/repairList/addRepair/pageData.js
  18. 2 11
      CallCenterWeb.UI/RMYYAPP/pages/myTask/orderList/orderList.vue
  19. 8 4
      CallCenterWeb.UI/RMYYAPP/pages/myTask/repairList/repairDetail/cooperationDetail/cooperationDetail.vue
  20. 11 12
      CallCenterWeb.UI/RMYYAPP/pages/myTask/repairList/repairDetail/evaluateDetail/evaluateDetail.vue
  21. 59 39
      CallCenterWeb.UI/RMYYAPP/pages/myTask/repairList/repairDetail/finishDetail/finishDetail.vue
  22. 5 3
      CallCenterWeb.UI/RMYYAPP/pages/myTask/orderList/orderDetail/returnEditDetail/returnEditDetail.vue
  23. 5 2
      CallCenterWeb.UI/RMYYAPP/pages/myTask/repairList/repairDetail/tranferDetail/tranferDetail.vue
  24. 1 8
      CallCenterWeb.UI/RMYYAPP/pages/myTask/repairList/repairList.vue
  25. 46 11
      CallCenterWeb.UI/RMYYAPP/pages/myTask/workOrderDetail/button/button.vue
  26. 12 6
      CallCenterWeb.UI/RMYYAPP/pages/myTask/workOrderDetail/workOrderDetail.vue
  27. 7 11
      CallCenterWeb.UI/RMYYAPP/pages/setting/personDetail/personDetail.vue
  28. BIN
      CallCenterWeb.UI/RMYYAPP/static/consult.png
  29. 3 1
      CallCenterWeb.UI/RMYYAPP/utils/helper.js

+ 2 - 1
CallCenterWeb.UI/RMYYAPP/App.vue

@@ -9,7 +9,8 @@
9 9
 		},
10 10
 		onHide: function() {
11 11
 			console.log('App Hide')
12
-		}
12
+		},
13
+		
13 14
 	}
14 15
 </script>
15 16
 

+ 0 - 143
CallCenterWeb.UI/RMYYAPP/components/htz-rate/htz-rate.vue

@@ -1,143 +0,0 @@
1
-<template>
2
-	<view class="htz-rate-main">
3
-		<template v-for="(item,index) in count">
4
-			<image @click="checkItem((index+1))" class="htz-rate-image" :key="index" :style="{'width':size+'rpx','height':size+'rpx','padding-right':gutter+'rpx'}"
5
-			 :src="checkedVal<(index+1)?defImgSrc:selImgSrc"></image>
6
-		</template>
7
-
8
-	</view>
9
-</template>
10
-
11
-<script>
12
-	export default {
13
-		name: 'htz-rate',
14
-		props: {
15
-			value: { //受控分值
16
-				type: Number,
17
-				default: 0,
18
-			},
19
-			count: { //数量
20
-				type: Number,
21
-				default: 5,
22
-			},
23
-			size: { //图标大小
24
-				type: Number,
25
-				default: 50,
26
-			},
27
-			gutter: { //图标间距
28
-				type: Number,
29
-				default: 15,
30
-			},
31
-			type: { //内置类型
32
-				type: Number,
33
-				default: 0,
34
-			},
35
-			disHref: { //自定义默认图片
36
-				type: String,
37
-				default: '',
38
-			},
39
-			checkedHref: { //自定义选中图片
40
-				type: String,
41
-				default: '',
42
-			},
43
-			readonly: { //是否只读
44
-				type: Boolean,
45
-				default: false,
46
-			},
47
-		},
48
-		data() {
49
-			return {
50
-				ImgData: ['/static/htz-rate/rate1_0.png', '/static/htz-rate/rate2_0.png',
51
-					'/static/htz-rate/rate3_0.png', '/static/htz-rate/rate4_0.png', '/static/htz-rate/rate5_0.png',
52
-					'/static/htz-rate/rate6_0.png'
53
-				],
54
-				defImgSrc: '',
55
-				selImgSrc: '',
56
-				checkedVal: 0,
57
-			}
58
-		},
59
-		mounted: function() {
60
-			this.$nextTick(function() {
61
-				this.checkedVal = this.value;
62
-				if (this.disHref != '') {
63
-					this.defImgSrc = this.disHref;
64
-					this.selImgSrc = this.checkedHref;
65
-				} else {
66
-					//if (this.type != undefined) {
67
-					this.defImgSrc = this.ImgData[this.type];
68
-					this.selImgSrc = this.ImgData[this.type].replace('_0', '_1');
69
-					//}
70
-				}
71
-
72
-			});
73
-		},
74
-		watch: {
75
-			value(val, oldVal) {
76
-				this.checkedVal = this.value;
77
-			},
78
-		},
79
-		methods: {
80
-			checkItem(index) {
81
-				if (!this.readonly) {
82
-					this.checkedVal = index;
83
-					this.$emit("input", index);
84
-					this.$emit("change", index);
85
-				}
86
-			},
87
-
88
-		}
89
-	}
90
-</script>
91
-
92
-<style>
93
-	.htz-rate-main {
94
-		display: inline-flex;
95
-		margin-top: 7px;
96
-	}
97
-	
98
-	.htz-rate-image{
99
-		vertical-align: middle;
100
-	}
101
-
102
-
103
-	.htz-image-upload-list {
104
-		display: flex;
105
-		flex-wrap: wrap;
106
-	}
107
-
108
-	.htz-image-upload-Item {
109
-		width: 160rpx;
110
-		height: 160rpx;
111
-		margin: 13rpx;
112
-		border-radius: 10rpx;
113
-		position: relative;
114
-	}
115
-
116
-	.htz-image-upload-Item image {
117
-		width: 100%;
118
-		height: 100%;
119
-		border-radius: 10rpx;
120
-	}
121
-
122
-	.htz-image-upload-Item-add {
123
-		font-size: 105rpx;
124
-		/* line-height: 160rpx; */
125
-		text-align: center;
126
-		border: 1px dashed #d9d9d9;
127
-		color: #d9d9d9;
128
-	}
129
-
130
-	.htz-image-upload-Item-del {
131
-		background-color: #f5222d;
132
-		font-size: 24rpx;
133
-		position: absolute;
134
-		width: 35rpx;
135
-		height: 35rpx;
136
-		line-height: 35rpx;
137
-		text-align: center;
138
-		top: 0;
139
-		right: 0;
140
-		z-index: 100;
141
-		color: #fff;
142
-	}
143
-</style>

+ 24 - 0
CallCenterWeb.UI/RMYYAPP/config/buttons.config.js

@@ -106,5 +106,29 @@ export default {
106 106
 		text: "撤回",
107 107
 		annotation:	"撤回",
108 108
 		eventName: "orderReuturnBtn"
109
+	},
110
+	'ywzx_jiedan': {
111
+		id: 19,
112
+		text: "接单",
113
+		annotation:	"接单",
114
+		eventName: "receivingBtn"
115
+	},
116
+	'ywzx_tuihui': {
117
+		id: 20,
118
+		text: "退回",
119
+		annotation:	"退回",
120
+		eventName: "zxBackBtn"
121
+	},
122
+	'ywzx_chuli': {
123
+		id: 21,
124
+		text: "预约处理",
125
+		annotation:	"预约处理",
126
+		eventName: "zxDealBtn"
127
+	},
128
+	'ywzx_bianji': {
129
+		id: 22,
130
+		text: "编辑",
131
+		annotation:	"编辑",
132
+		eventName: "zxEditBtn"
109 133
 	}
110 134
 }

+ 34 - 9
CallCenterWeb.UI/RMYYAPP/config/constData.config.js

@@ -19,7 +19,7 @@ export default {
19 19
 				imagePath: "../../static/reppair.png",
20 20
 				imageBg: "#1ccd8d",
21 21
 				text: "故障报修", //WorkOrder/GetLDDealList
22
-				navigateToUrl: "/pages/myTask/orderList/orderList?segmenter=0&urlIndex=0",
22
+				navigateToUrl: "/pages/myTask/repairList/myRepairOrderList/myRepairOrderList?segmenter=0&urlIndex=0",
23 23
 			},
24 24
 			{
25 25
 				id: "1",
@@ -29,6 +29,13 @@ export default {
29 29
 				navigateToUrl: "/pages/myTask/repairList/repairList?segmenter=0&urlIndex=0",
30 30
 			},
31 31
 			{
32
+				id: "13",
33
+				imagePath: "../../static/consult.png",
34
+				imageBg: "#1ccd8d",
35
+				text: "咨询工单", //WorkOrder/GetLDDealList
36
+				navigateToUrl: "/pages/myTask/consultList/consultList?segmenter=0&urlIndex=0",
37
+			},
38
+			{
32 39
 				id: "2",
33 40
 				imagePath: "../../static/icon_leasing.png",
34 41
 				imageBg: "#ff7451",
@@ -92,7 +99,7 @@ export default {
92 99
 				navigateToUrl: "/pages/workOrderList/workOrderList?workOrderListType=1&tab=5&state=&stingText=已办结",
93 100
 			},
94 101
 			{
95
-				id: "11",
102
+				id: "12",
96 103
 				imagePath: "../../static/icon_vehicleScheduling.png",
97 104
 				imageBg: "#1ccd8d",
98 105
 				text: "车辆调度", //WorkOrder/GetLDDealList
@@ -107,24 +114,42 @@ export default {
107 114
 				text: "维修工单", //WorkOrder/GetLDDealList
108 115
 				navigateToUrl: "/pages/myTask/repairList/repairList?segmenter=0&urlIndex=0",
109 116
 			},
110
-
117
+			{
118
+					id: "13",
119
+					imagePath: "../../static/consult.png",
120
+					imageBg: "#1ccd8d",
121
+					text: "咨询工单", //WorkOrder/GetLDDealList
122
+					navigateToUrl: "/pages/myTask/consultList/consultList?segmenter=0&urlIndex=0",
123
+				}
111 124
 		],
112 125
 		// 报修员
113 126
 		applyRepairList: [{
114
-			id: "11",
127
+			id: "1",
115 128
 			imagePath: "../../static/reppair.png",
116 129
 			imageBg: "#1ccd8d",
117 130
 			text: "故障报修", //WorkOrder/GetLDDealList
118
-			navigateToUrl: "/pages/myTask/orderList/orderList?segmenter=0&urlIndex=0",
119
-		}, ],
131
+			navigateToUrl: "/pages/myTask/repairList/myRepairOrderList/myRepairOrderList?segmenter=0&urlIndex=0",
132
+		},  {
133
+				id: "13",
134
+				imagePath: "../../static/consult.png",
135
+				imageBg: "#1ccd8d",
136
+				text: "咨询工单", //WorkOrder/GetLDDealList
137
+				navigateToUrl: "/pages/myTask/consultList/consultList?segmenter=0&urlIndex=0",
138
+			}],
120 139
 		// 调度员
121 140
 		dispatchList: [{
122
-			id: "11",
141
+			id: "2",
123 142
 			imagePath: "../../static/reppair.png",
124 143
 			imageBg: "#1ccd8d",
125 144
 			text: "故障报修", //WorkOrder/GetLDDealList
126
-			navigateToUrl: "/pages/myTask/orderList/orderList?segmenter=0&urlIndex=1",
127
-		}, ],
145
+			navigateToUrl: "/pages/myTask/repairList/myRepairOrderList/myRepairOrderList?segmenter=0&urlIndex=1",
146
+		}, {
147
+				id: "13",
148
+				imagePath: "../../static/consult.png",
149
+				imageBg: "#1ccd8d",
150
+				text: "咨询工单", //WorkOrder/GetLDDealList
151
+				navigateToUrl: "/pages/myTask/consultList/consultList?segmenter=0&urlIndex=0",
152
+			},],
128 153
 	},
129 154
 	//公告管理数据
130 155
 	noticListData: [{

+ 109 - 58
CallCenterWeb.UI/RMYYAPP/pages.json

@@ -1,6 +1,5 @@
1 1
 {
2 2
 	"pages": [ //pages数组中第一项表示应用启动页,参考:https://uniapp.dcloud.io/collocation/pages
3
-
4 3
 		{
5 4
 			"path": "pages/myTask/myTask",
6 5
 			"style": {
@@ -72,68 +71,120 @@
72 71
 				"enablePullDownRefresh": false
73 72
 			}
74 73
 
75
-		}, {
76
-			"path": "pages/myTask/workOrderDetail/workOrderDetail",
77
-			"style": {
78
-				"navigationBarTitleText": "详情",
79
-				"enablePullDownRefresh": false
80
-			}
81
-
82
-		}, {
83
-			"path": "pages/myTask/workOrderDetail/button/button",
84
-			"style": {
85
-				"navigationBarTitleText": "按钮",
86
-				"enablePullDownRefresh": false
87
-			}
88
-
89
-		}, {
90
-			"path": "pages/myTask/repairList/repairDetail/cooperationDetail/cooperationDetail",
91
-			"style": {
92
-				"navigationBarTitleText": "工单协作"
93
-			}
94
-
95
-		}, {
96
-			"path": "pages/myTask/repairList/repairDetail/finishDetail/finishDetail",
97
-			"style": {
98
-				"navigationBarTitleText": "工单完工",
99
-				"enablePullDownRefresh": false
100
-			}
101
-
102
-		}, {
103
-			"path": "pages/myTask/repairList/repairDetail/evaluateDetail/evaluateDetail",
104
-			"style": {
105
-				"navigationBarTitleText": "工单评价",
106
-				"enablePullDownRefresh": false
107
-			}
108
-
109
-		}, {
110
-			"path": "pages/myTask/repairList/repairDetail/tranferDetail/tranferDetail",
111
-			"style": {
112
-				"navigationBarTitleText": "工单指派",
113
-				"enablePullDownRefresh": false
114
-			}
115
-
116
-		}, {
117
-			"path": "pages/myTask/orderList/orderList",
118
-			"style": {
119
-				"navigationBarTitleText": "工单管理列表",
120
-				"enablePullDownRefresh": false
121
-			}
122
-
123
-		}, {
124
-			"path": "pages/myTask/orderList/orderDetail/returnEditDetail/returnEditDetail",
125
-			"style": {
126
-				"navigationBarTitleText": "",
127
-				"enablePullDownRefresh": false
128
-			}
129
-
130 74
 		}
131
-	],
75
+	    ,{
76
+            "path" : "pages/myTask/workOrderDetail/workOrderDetail",
77
+            "style" :                                                                                    
78
+            {
79
+                "navigationBarTitleText": "详情",
80
+                "enablePullDownRefresh": false
81
+            }
82
+            
83
+        }
84
+        ,{
85
+            "path" : "pages/myTask/workOrderDetail/button/button",
86
+            "style" :                                                                                    
87
+            {
88
+                "navigationBarTitleText": "按钮",
89
+                "enablePullDownRefresh": false
90
+            }
91
+            
92
+        }
93
+        ,{
94
+            "path" : "pages/myTask/repairList/repairDetail/cooperationDetail/cooperationDetail",
95
+            "style" :                                                                                    
96
+            {
97
+                "navigationBarTitleText": "工单协作"
98
+            }
99
+            
100
+        }
101
+        ,{
102
+            "path" : "pages/myTask/repairList/repairDetail/finishDetail/finishDetail",
103
+            "style" :                                                                                    
104
+            {
105
+                "navigationBarTitleText": "工单完工",
106
+                "enablePullDownRefresh": false
107
+            }
108
+            
109
+        }
110
+        ,{
111
+            "path" : "pages/myTask/repairList/repairDetail/evaluateDetail/evaluateDetail",
112
+            "style" :                                                                                    
113
+            {
114
+                "navigationBarTitleText": "工单评价",
115
+                "enablePullDownRefresh": false
116
+            }
117
+            
118
+        }
119
+        ,{
120
+            "path" : "pages/myTask/repairList/repairDetail/tranferDetail/tranferDetail",
121
+            "style" :                                                                                    
122
+            {
123
+                "navigationBarTitleText": "工单指派",
124
+                "enablePullDownRefresh": false
125
+            }
126
+            
127
+        }
128
+        ,{
129
+            "path" : "pages/myTask/repairList/myRepairOrderList/myRepairOrderList",
130
+            "style" :                                                                                    
131
+            {
132
+                "navigationBarTitleText": "我的工单",
133
+                "enablePullDownRefresh": false
134
+            }
135
+            
136
+        }
137
+        ,{
138
+            "path" : "pages/myTask/repairList/repairDetail/returnEditDetail/returnEditDetail",
139
+            "style" :                                                                                    
140
+            {
141
+                "navigationBarTitleText": "编辑",
142
+                "enablePullDownRefresh": false
143
+            }
144
+            
145
+        }
146
+        ,{
147
+            "path" : "pages/myTask/consultList/consultList",
148
+            "style" :                                                                                    
149
+            {
150
+                "navigationBarTitleText": "咨询列表",
151
+                "enablePullDownRefresh": false
152
+            }
153
+            
154
+        }
155
+        ,{
156
+            "path" : "pages/myTask/consultList/consultDetail/consultDetail",
157
+            "style" :                                                                                    
158
+            {
159
+                "navigationBarTitleText": "咨询详情",
160
+                "enablePullDownRefresh": false
161
+            }
162
+            
163
+        }
164
+        ,{
165
+            "path" : "pages/myTask/consultList/consultDetail/appointmentDeal/appointmentDeal",
166
+            "style" :                                                                                    
167
+            {
168
+                "navigationBarTitleText": "预约处理",
169
+                "enablePullDownRefresh": false
170
+            }
171
+            
172
+        }
173
+        ,{
174
+            "path" : "pages/myTask/consultList/consultDetail/editDetail/editDetail",
175
+            "style" :                                                                                    
176
+            {
177
+                "navigationBarTitleText": "编辑",
178
+                "enablePullDownRefresh": false
179
+            }
180
+            
181
+        }
182
+    ],
132 183
 	"globalStyle": {
133 184
 		"navigationBarTextStyle": "white",
134 185
 		"navigationBarTitleText": "全局",
135 186
 		"navigationBarBackgroundColor": "#007aff",
136
-		"backgroundColor": "#007aff"
187
+		"backgroundColor": "#007aff"  
137 188
 	},
138 189
 	"tabBar": {
139 190
 		"color": "#7e837d",

+ 1 - 0
CallCenterWeb.UI/RMYYAPP/pages/components/htz-rate/htz-rate.vue

@@ -92,6 +92,7 @@
92 92
 <style>
93 93
 	.htz-rate-main {
94 94
 		display: inline-flex;
95
+		margin-top: 7px;
95 96
 	}
96 97
 	
97 98
 	.htz-rate-image{

+ 4 - 3
CallCenterWeb.UI/RMYYAPP/pages/components/orderSelect/orderSelect.vue

@@ -15,16 +15,17 @@
15 15
 		},
16 16
 		props: {
17 17
 			orderType: {},
18
+			typeid: {}
18 19
 		},
19 20
 		created() {
20
-			console.log(typeof(this.orderType))
21 21
 			this.getDpartment()
22 22
 		},
23 23
 		methods: {
24 24
 			getDpartment() {
25
-				pageData.getGongDanType((res, data) => {
25
+				pageData.getGongDanType(this.typeid,(res, data) => {
26 26
 					this.dataOrderType = res
27 27
 					if(this.orderType) {
28
+						console.log(this.orderType)
28 29
 						this.getOrder(res, data, this.orderType)
29 30
 					}
30 31
 				})
@@ -52,10 +53,10 @@
52 53
 			},
53 54
 			nodeclick(data) {
54 55
 				this.order = data.value
56
+				this.$emit('post-select-data',data.value)
55 57
 			},
56 58
 			popupclosed() {
57 59
 				this.WorkOrderCategory = this.order
58
-				this.$emit('post-select-data',this.order)
59 60
 			}
60 61
 		}
61 62
 	}

+ 1 - 1
CallCenterWeb.UI/RMYYAPP/components/wangxiaohua-steps/index.vue

@@ -165,7 +165,7 @@
165 165
 
166 166
 	.set-2::before {
167 167
 		content: "";/* 必须存在如果没有图标就留空 */
168
-		background: url(../../static/htz-rate/point.png) no-repeat;
168
+		background: url(../../../static/htz-rate/point.png) no-repeat;
169 169
 		background-size: 100% 100%;
170 170
 		width: 40rpx;
171 171
 		height: 40rpx;

+ 1 - 1
CallCenterWeb.UI/RMYYAPP/pages/login/login.vue

@@ -72,7 +72,7 @@
72 72
 						uni.setStorageSync('deptName', e.data.Dept.F_DeptId)
73 73
 						console.log(uni.getStorageSync("deptName"))
74 74
 						const code = uni.getStorageSync("roleCode");
75
-						if(code == 'GLY' || code == 'WXY' || code == 'BXY' || code == 'DDZX') {
75
+						if(code == 'GLY' || code == 'WXY' || code == 'BXY' || code == 'DDZX' || code == 'CK_GLY') {
76 76
 							uni.switchTab({
77 77
 								url: '/pages/myTask/myTask'
78 78
 							});

+ 0 - 402
CallCenterWeb.UI/RMYYAPP/pages/myTask/ceshi.js

@@ -1,402 +0,0 @@
1
-export default[
2
-        {
3
-            "F_WorkOrderId":"DH9941060022071500008",
4
-            "F_ComTitle":"7.15APP测试四",
5
-            "F_WorkState":8,
6
-            "F_MainDeptId":150,
7
-            "F_OtherDeptIds":"",
8
-            "F_DealTime":null,
9
-            "F_LeaveRecordId":null,
10
-            "F_CallRecordId":null,
11
-            "F_IsResult":0,
12
-            "F_IsProtect":0,
13
-            "F_IsReturn":null,
14
-            "F_CreateTime":"2022-07-15 16:12:23",
15
-            "UserName":"坐席测试",
16
-            "TypeName":"咨询",
17
-            "SourceName":"来电",
18
-            "F_CloseTime":null,
19
-            "F_LimitTime":"2022-07-12 23:59:59",
20
-            "F_IsRelease":null,
21
-            "F_Identification":0,
22
-            "DeptName":"二级测试单位",
23
-            "OtherDeptName":null,
24
-            "AssignTime":"2022/7/15 16:54:05",
25
-            "OverState":"3",
26
-            "LimitTime":"2022/7/12 23:59:59",
27
-            "GapTime":"超时35天11小时37分",
28
-            "FilePath":null,
29
-            "PDState":"2",
30
-            "Buttons":[
31
-                {
32
-                    "key":1,
33
-                    "value":"查询"
34
-                },
35
-                {
36
-                    "key":13,
37
-                    "value":"办理"
38
-                }
39
-            ],
40
-            "IsYS":"0"
41
-        },
42
-        {
43
-            "F_WorkOrderId":"WZ9941060022070100024",
44
-            "F_ComTitle":"333",
45
-            "F_WorkState":4,
46
-            "F_MainDeptId":150,
47
-            "F_OtherDeptIds":"",
48
-            "F_DealTime":null,
49
-            "F_LeaveRecordId":null,
50
-            "F_CallRecordId":null,
51
-            "F_IsResult":0,
52
-            "F_IsProtect":0,
53
-            "F_IsReturn":null,
54
-            "F_CreateTime":"2022-07-01 16:09:57",
55
-            "UserName":null,
56
-            "TypeName":"咨询",
57
-            "SourceName":"网站",
58
-            "F_CloseTime":null,
59
-            "F_LimitTime":"2022-07-12 23:59:59",
60
-            "F_IsRelease":null,
61
-            "F_Identification":0,
62
-            "DeptName":"二级测试单位",
63
-            "OtherDeptName":null,
64
-            "AssignTime":"2022/7/5 15:48:21",
65
-            "OverState":"3",
66
-            "LimitTime":"2022/7/12 23:59:59",
67
-            "GapTime":"超时35天11小时37分",
68
-            "FilePath":null,
69
-            "PDState":"1",
70
-            "Buttons":[
71
-                {
72
-                    "key":1,
73
-                    "value":"查询"
74
-                },
75
-                {
76
-                    "key":25,
77
-                    "value":"签收"
78
-                }
79
-            ],
80
-            "IsYS":"0"
81
-        },
82
-        {
83
-            "F_WorkOrderId":"WZ9941060022070100017",
84
-            "F_ComTitle":"内容主题3",
85
-            "F_WorkState":4,
86
-            "F_MainDeptId":150,
87
-            "F_OtherDeptIds":"",
88
-            "F_DealTime":null,
89
-            "F_LeaveRecordId":null,
90
-            "F_CallRecordId":null,
91
-            "F_IsResult":0,
92
-            "F_IsProtect":0,
93
-            "F_IsReturn":null,
94
-            "F_CreateTime":"2022-07-01 15:08:27",
95
-            "UserName":null,
96
-            "TypeName":"投诉",
97
-            "SourceName":"网站",
98
-            "F_CloseTime":null,
99
-            "F_LimitTime":"2022-07-12 23:59:59",
100
-            "F_IsRelease":null,
101
-            "F_Identification":0,
102
-            "DeptName":"二级测试单位",
103
-            "OtherDeptName":null,
104
-            "AssignTime":"2022/7/5 15:48:32",
105
-            "OverState":"3",
106
-            "LimitTime":"2022/7/12 23:59:59",
107
-            "GapTime":"超时35天11小时37分",
108
-            "FilePath":null,
109
-            "PDState":"1",
110
-            "Buttons":[
111
-                {
112
-                    "key":1,
113
-                    "value":"查询"
114
-                },
115
-                {
116
-                    "key":25,
117
-                    "value":"签收"
118
-                }
119
-            ],
120
-            "IsYS":"0"
121
-        },
122
-        {
123
-            "F_WorkOrderId":"DH9941060022062400009",
124
-            "F_ComTitle":"测试06231040",
125
-            "F_WorkState":8,
126
-            "F_MainDeptId":150,
127
-            "F_OtherDeptIds":"",
128
-            "F_DealTime":null,
129
-            "F_LeaveRecordId":null,
130
-            "F_CallRecordId":null,
131
-            "F_IsResult":0,
132
-            "F_IsProtect":0,
133
-            "F_IsReturn":null,
134
-            "F_CreateTime":"2022-06-24 10:41:25",
135
-            "UserName":"管理员测试",
136
-            "TypeName":"咨询",
137
-            "SourceName":"来电",
138
-            "F_CloseTime":null,
139
-            "F_LimitTime":"2022-07-13 23:59:59",
140
-            "F_IsRelease":null,
141
-            "F_Identification":0,
142
-            "DeptName":"二级测试单位",
143
-            "OtherDeptName":null,
144
-            "AssignTime":"2022/7/6 11:28:53",
145
-            "OverState":"3",
146
-            "LimitTime":"2022/7/13 23:59:59",
147
-            "GapTime":"超时34天11小时37分",
148
-            "FilePath":null,
149
-            "PDState":"1",
150
-            "Buttons":[
151
-                {
152
-                    "key":1,
153
-                    "value":"查询"
154
-                },
155
-                {
156
-                    "key":25,
157
-                    "value":"签收"
158
-                }
159
-            ],
160
-            "IsYS":"0"
161
-        },
162
-        {
163
-            "F_WorkOrderId":"DH9941060022062300003",
164
-            "F_ComTitle":"测试来电内容三",
165
-            "F_WorkState":4,
166
-            "F_MainDeptId":150,
167
-            "F_OtherDeptIds":"",
168
-            "F_DealTime":null,
169
-            "F_LeaveRecordId":null,
170
-            "F_CallRecordId":null,
171
-            "F_IsResult":0,
172
-            "F_IsProtect":0,
173
-            "F_IsReturn":null,
174
-            "F_CreateTime":"2022-06-23 16:56:19",
175
-            "UserName":"坐席测试",
176
-            "TypeName":"咨询",
177
-            "SourceName":"来电",
178
-            "F_CloseTime":null,
179
-            "F_LimitTime":"2022-07-05 23:59:59",
180
-            "F_IsRelease":null,
181
-            "F_Identification":0,
182
-            "DeptName":"二级测试单位",
183
-            "OtherDeptName":null,
184
-            "AssignTime":"2022/6/28 11:04:48",
185
-            "OverState":"3",
186
-            "LimitTime":"2022/7/5 23:59:59",
187
-            "GapTime":"超时42天11小时37分",
188
-            "FilePath":null,
189
-            "PDState":"1",
190
-            "Buttons":[
191
-                {
192
-                    "key":1,
193
-                    "value":"查询"
194
-                },
195
-                {
196
-                    "key":25,
197
-                    "value":"签收"
198
-                }
199
-            ],
200
-            "IsYS":"0"
201
-        },
202
-        {
203
-            "F_WorkOrderId":"DH9941060022062100142",
204
-            "F_ComTitle":"【灾后重建】万古村房子问题",
205
-            "F_WorkState":8,
206
-            "F_MainDeptId":150,
207
-            "F_OtherDeptIds":"",
208
-            "F_DealTime":null,
209
-            "F_LeaveRecordId":null,
210
-            "F_CallRecordId":27869,
211
-            "F_IsResult":0,
212
-            "F_IsProtect":0,
213
-            "F_IsReturn":null,
214
-            "F_CreateTime":"2022-06-21 10:16:26",
215
-            "UserName":"张淑芳",
216
-            "TypeName":"投诉",
217
-            "SourceName":"来电",
218
-            "F_CloseTime":null,
219
-            "F_LimitTime":"2022-07-06 23:59:59",
220
-            "F_IsRelease":null,
221
-            "F_Identification":1,
222
-            "DeptName":"二级测试单位",
223
-            "OtherDeptName":null,
224
-            "AssignTime":"2022/6/29 16:14:19",
225
-            "OverState":"3",
226
-            "LimitTime":"2022/7/6 23:59:59",
227
-            "GapTime":"超时41天11小时37分",
228
-            "FilePath":"http://222.143.144.10:12000/Midware/luyin/20220621/1007/2091537_1007_100440.mp3",
229
-            "PDState":"1",
230
-            "Buttons":[
231
-                {
232
-                    "key":1,
233
-                    "value":"查询"
234
-                },
235
-                {
236
-                    "key":25,
237
-                    "value":"签收"
238
-                }
239
-            ],
240
-            "IsYS":"0"
241
-        },
242
-        {
243
-            "F_WorkOrderId":"DH9941060022062100127",
244
-            "F_ComTitle":"测试",
245
-            "F_WorkState":4,
246
-            "F_MainDeptId":150,
247
-            "F_OtherDeptIds":"",
248
-            "F_DealTime":null,
249
-            "F_LeaveRecordId":null,
250
-            "F_CallRecordId":27847,
251
-            "F_IsResult":0,
252
-            "F_IsProtect":0,
253
-            "F_IsReturn":null,
254
-            "F_CreateTime":"2022-06-21 10:00:45",
255
-            "UserName":"郑佳璐",
256
-            "TypeName":"咨询",
257
-            "SourceName":"来电",
258
-            "F_CloseTime":null,
259
-            "F_LimitTime":"2022-07-22 23:59:59",
260
-            "F_IsRelease":null,
261
-            "F_Identification":0,
262
-            "DeptName":"二级测试单位",
263
-            "OtherDeptName":null,
264
-            "AssignTime":"2022/7/15 16:24:03",
265
-            "OverState":"3",
266
-            "LimitTime":"2022/7/22 23:59:59",
267
-            "GapTime":"超时25天11小时37分",
268
-            "FilePath":"http://222.143.144.10:12000/Midware/luyin/20220621/1015/2091515_1015_094819.mp3",
269
-            "PDState":"1",
270
-            "Buttons":[
271
-                {
272
-                    "key":1,
273
-                    "value":"查询"
274
-                },
275
-                {
276
-                    "key":25,
277
-                    "value":"签收"
278
-                }
279
-            ],
280
-            "IsYS":"0"
281
-        },
282
-        {
283
-            "F_WorkOrderId":"DH9941060022062100125",
284
-            "F_ComTitle":"浚县土地面积差异事宜",
285
-            "F_WorkState":4,
286
-            "F_MainDeptId":150,
287
-            "F_OtherDeptIds":"",
288
-            "F_DealTime":null,
289
-            "F_LeaveRecordId":null,
290
-            "F_CallRecordId":27849,
291
-            "F_IsResult":0,
292
-            "F_IsProtect":0,
293
-            "F_IsReturn":null,
294
-            "F_CreateTime":"2022-06-21 09:59:35",
295
-            "UserName":"王佳欣",
296
-            "TypeName":"咨询",
297
-            "SourceName":"来电",
298
-            "F_CloseTime":null,
299
-            "F_LimitTime":"2022-07-26 23:59:59",
300
-            "F_IsRelease":null,
301
-            "F_Identification":0,
302
-            "DeptName":"二级测试单位",
303
-            "OtherDeptName":null,
304
-            "AssignTime":"2022/7/19 14:45:34",
305
-            "OverState":"3",
306
-            "LimitTime":"2022/7/26 23:59:59",
307
-            "GapTime":"超时21天11小时37分",
308
-            "FilePath":"http://222.143.144.10:12000/Midware/luyin/20220621/1008/2091517_1008_094939.mp3",
309
-            "PDState":"1",
310
-            "Buttons":[
311
-                {
312
-                    "key":1,
313
-                    "value":"查询"
314
-                },
315
-                {
316
-                    "key":25,
317
-                    "value":"签收"
318
-                }
319
-            ],
320
-            "IsYS":"0"
321
-        },
322
-        {
323
-            "F_WorkOrderId":"DH9941060022062100084",
324
-            "F_ComTitle":"建业桂园小区居民反映小区电梯控制系统",
325
-            "F_WorkState":4,
326
-            "F_MainDeptId":150,
327
-            "F_OtherDeptIds":"",
328
-            "F_DealTime":null,
329
-            "F_LeaveRecordId":null,
330
-            "F_CallRecordId":27707,
331
-            "F_IsResult":0,
332
-            "F_IsProtect":1,
333
-            "F_IsReturn":null,
334
-            "F_CreateTime":"2022-06-21 09:16:24",
335
-            "UserName":"郑佳璐",
336
-            "TypeName":"投诉",
337
-            "SourceName":"来电",
338
-            "F_CloseTime":null,
339
-            "F_LimitTime":"2022-07-28 23:59:59",
340
-            "F_IsRelease":null,
341
-            "F_Identification":0,
342
-            "DeptName":"二级测试单位",
343
-            "OtherDeptName":null,
344
-            "AssignTime":"2022/7/21 16:47:02",
345
-            "OverState":"3",
346
-            "LimitTime":"2022/7/28 23:59:59",
347
-            "GapTime":"超时19天11小时37分",
348
-            "FilePath":"http://222.143.144.10:12000/Midware/luyin/20220621/1015/2091375_1015_085738.mp3",
349
-            "PDState":"1",
350
-            "Buttons":[
351
-                {
352
-                    "key":1,
353
-                    "value":"查询"
354
-                },
355
-                {
356
-                    "key":25,
357
-                    "value":"签收"
358
-                }
359
-            ],
360
-            "IsYS":"0"
361
-        },
362
-        {
363
-            "F_WorkOrderId":"DH9941060022053000002",
364
-            "F_ComTitle":"操作演示专属工单【2】",
365
-            "F_WorkState":4,
366
-            "F_MainDeptId":150,
367
-            "F_OtherDeptIds":"",
368
-            "F_DealTime":null,
369
-            "F_LeaveRecordId":null,
370
-            "F_CallRecordId":null,
371
-            "F_IsResult":0,
372
-            "F_IsProtect":1,
373
-            "F_IsReturn":null,
374
-            "F_CreateTime":"2022-05-30 14:03:08",
375
-            "UserName":"1001",
376
-            "TypeName":"咨询",
377
-            "SourceName":"来电",
378
-            "F_CloseTime":null,
379
-            "F_LimitTime":"2022-06-16 23:59:59",
380
-            "F_IsRelease":null,
381
-            "F_Identification":0,
382
-            "DeptName":"二级测试单位",
383
-            "OtherDeptName":null,
384
-            "AssignTime":"2022/5/30 14:03:25",
385
-            "OverState":"3",
386
-            "LimitTime":"2022/6/16 23:59:59",
387
-            "GapTime":"超时61天11小时37分",
388
-            "FilePath":null,
389
-            "PDState":"1",
390
-            "Buttons":[
391
-                {
392
-                    "key":1,
393
-                    "value":"查询"
394
-                },
395
-                {
396
-                    "key":25,
397
-                    "value":"签收"
398
-                }
399
-            ],
400
-            "IsYS":"0"
401
-        }
402
-    ]

+ 97 - 0
CallCenterWeb.UI/RMYYAPP/pages/myTask/consultList/consultDetail/appointmentDeal/appointmentDeal.vue

@@ -0,0 +1,97 @@
1
+<template>
2
+	<view class="wrapper">
3
+		<view class="form">
4
+			<!-- 基础表单校验 -->
5
+			<uni-forms ref="valiForm" :rules="rules" >
6
+				<uni-forms-item label="是否回访" required name="isReturnVisit">
7
+					<uni-data-checkbox v-model="isReturnVisit" :localdata="returnVisit" />
8
+				</uni-forms-item>
9
+				<uni-forms-item label="沟通情况" required name="communicate">
10
+					<uni-data-checkbox v-model="communicate" :localdata="communicateList" />
11
+				</uni-forms-item>
12
+				<uni-forms-item label="处理结果"  name="dealCon">
13
+					<uni-easyinput type="textarea" v-model="dealCon" placeholder="请输入处理结果" />
14
+				</uni-forms-item>
15
+			</uni-forms>
16
+			<view class="btnClass">
17
+				<button type="primary" :disabled="disabledButton" @click="submit('valiForm')">提交</button>
18
+			</view>
19
+			
20
+		</view>
21
+	</view>
22
+</template>
23
+
24
+<script>
25
+	import pageData from "@/pages/myTask/repairList/addRepair/pageData.js"
26
+	export default {
27
+		data() {
28
+			return {
29
+				workorderid: '',
30
+				isReturnVisit: '',
31
+				communicate: '',
32
+				dealCon: '',
33
+				returnVisit: [{
34
+					value:0,
35
+					text:'否'
36
+				},{
37
+					value:1,
38
+					text:'是'
39
+				}],
40
+				communicateList:[{
41
+					value:0,
42
+					text:'未沟通'
43
+				},{
44
+					value:1,
45
+					text:'已沟通未预约'
46
+				},{
47
+					value:2,
48
+					text:'已沟通已预约'
49
+				}]
50
+			}
51
+		},
52
+		onLoad(option) {
53
+			this.workorderid = option.wid
54
+		},
55
+		methods: {
56
+			submit(ref,state) {
57
+				this.disabledButton = true
58
+				this.$refs[ref].validate().then(res => {
59
+					const params = {
60
+					  WorkOrderCode: this.workorderid,
61
+					  cont: this.dealCon,
62
+					  isvisit: this.isReturnVisit,
63
+					  isover: 1,
64
+					  communicate: this.communicate
65
+					}
66
+					this.$mHelper.httpPost("Con_WorkOrder/DealWorkOrder",params,2,res=>this.disabledButton=res)
67
+					
68
+				}).catch(err => {
69
+					this.disabledButton = false
70
+					console.log('err', err);
71
+				})
72
+			},
73
+
74
+		}
75
+	}
76
+</script>
77
+
78
+<style lang="scss">
79
+	/deep/ .uni-data-checklist[data-v-84d5d996]{
80
+		margin-top: 7px !important;
81
+	}
82
+.wrapper {
83
+  padding: 10px 15px;
84
+  background-color: #fff;
85
+  .form {
86
+		.uni-stat__select{
87
+		    display: block;
88
+		    align-items: center;
89
+		    padding: 0px;
90
+		    cursor: pointer;
91
+			width: 80%;
92
+		}
93
+		
94
+  }
95
+
96
+}
97
+</style>

+ 372 - 0
CallCenterWeb.UI/RMYYAPP/pages/myTask/consultList/consultDetail/consultDetail.vue

@@ -0,0 +1,372 @@
1
+<template>
2
+	<view class="wrapper">
3
+		<view class="detailContent">
4
+			<view class="contentTable">
5
+				<text class="contentTitle">工单编号:</text>
6
+				<text class="contentText">{{ detailContentData.F_WorkOrderCode }}</text>
7
+				<text class="textState" v-show="detailContentData.StateName">{{ detailContentData.StateName }}</text>
8
+			</view>
9
+			<view class="contentTable">
10
+				<text class="contentTitle">业务类别:</text>
11
+				<text class="contentText">{{ detailContentData.TypeName}}</text>
12
+			</view>
13
+			<view class="contentTable">
14
+				<text class="contentTitle">工单类别:</text>
15
+				<text class="contentText">{{ $mHelper.findParents(orderTypeList,detailContentData.F_type2) }}</text>
16
+			</view>
17
+			<view class="contentTable">
18
+				<text class="contentTitle">创建时间:</text>
19
+				<text class="contentText">{{ detailContentData.F_CreateTime }}</text>
20
+			</view>
21
+			<view class="contentTable">
22
+				<text class="contentTitle">姓&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;名:</text>
23
+				<text class="contentText">{{ detailContentData.F_Customer }}</text>
24
+			</view>
25
+			<view class="contentTable">
26
+				<text class="contentTitle">性&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;别:</text>
27
+				<text
28
+					class="contentText">{{ detailContentData.F_Sex | sexFilters }}</text>
29
+			</view>
30
+			<view class="contentTable">
31
+				<text class="contentTitle">来&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;源:</text>
32
+				<text
33
+					class="contentText">{{ detailContentData.F_Source }}</text>
34
+			</view>
35
+			<view class="contentTable">
36
+				<text class="contentTitle">联系电话:</text>
37
+				<text class="contentText">{{ detailContentData.F_Phon }}</text>
38
+			</view>
39
+			<view class="contentTable">
40
+				<text class="contentTitle">身份证号:</text>
41
+				<text
42
+					class="contentText">{{ detailContentData.F_IdCard }}</text>
43
+			</view>
44
+			<view class="contentTable">
45
+				<text class="contentTitle">家庭住址:</text>
46
+				<text class="contentText">{{ detailContentData.F_CusAddress }}</text>
47
+			</view>
48
+			<view class="contentTable">
49
+				<view class="contentTitle" style="float: left;width: 70px;">工单内容:</view>
50
+				<view class="contentText" style="margin-left: 70px;">{{ detailContentData.F_WorkOrderContents }}</view>
51
+			</view>
52
+			<view class="contentTable">
53
+				<text class="contentTitle">图&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;片:</text>
54
+			
55
+				<view class="contentText" style="margin-top: 10px;">
56
+					<uni-file-picker readonly :value="getFileData(detailContentData.FileUrl)" :imageStyles="imageStyles"
57
+						file-mediatype="image" />
58
+				</view>
59
+			</view>
60
+		</view>
61
+		<yiLine>
62
+			<view></view>
63
+		</yiLine>
64
+
65
+
66
+		<view class="operationButton" v-show="orderButtonData.length != 0">
67
+			<view>
68
+				<text class="operationButtonTitle">操作</text>
69
+				<buttonsComponents class="buttons" :order-button-data="orderButtonData" :wid="workorderid"
70
+					:orderType="detailContentData.F_WorkOrderCategory" :departid="departid"
71
+					:maintenancer="$mHelper.findUserName(userCodeList,detailContentData.F_Maintenancer) " />
72
+			</view>
73
+		</view>
74
+
75
+		<yiLine>
76
+			<view></view>
77
+		</yiLine>
78
+		<view style="background-color: #fff;padding: 17px;">
79
+			<view class="segmentedControlWrapper">
80
+				<uni-segmented-control :current="segmenter.current" :values="segmenter.items"
81
+					@clickItem="onClickSegmentedControl" styleType="text" activeColor="#007aff" />
82
+			</view>
83
+			<view class="handleProcess">
84
+				<view v-show="current == 0">
85
+					<view class="detailContent showType" v-for="item in handleProcessListData" :key=item.F_Id>
86
+						<view class="contentTable">
87
+							<text class="contentTitle">处理意见:</text>
88
+							<text class="contentText">{{ item.F_DealOpinions }}</text>
89
+						</view>
90
+						<view class="contentTable">
91
+							<text class="contentTitle">方式:</text>
92
+							<text class="contentText">{{ item.dealtype }}</text>
93
+						</view>
94
+					</view>
95
+					
96
+					<view class="contentTable noCon" v-show="handleProcessListData.length == 0">
97
+						暂时无相关记录
98
+					</view>
99
+				</view>
100
+				<view v-show="current == 1">
101
+					<uni-steps :options="orderProcessDate" :steteName='"gdlc"' v-show="orderProcessDate.length > 0" />
102
+					<view class="contentTable noCon" v-show="orderProcessDate.length == 0">
103
+						暂时无相关记录
104
+					</view>
105
+				</view>
106
+			</view>
107
+		</view>
108
+		
109
+	</view>
110
+</template>
111
+
112
+<script>
113
+	import yiLine from "@/components/yi-line/yi-line.vue"
114
+	import buttonsComponents from "pages/myTask/workOrderDetail/button/button"
115
+	import pageData from "@/pages/myTask/repairList/addRepair/pageData.js"
116
+	import uniSteps from "@/pages/components/steps/index.vue"
117
+	const segmenterData = {
118
+		0: ["处理结果", "工单流程"]
119
+	}
120
+	export default {
121
+		components: {
122
+			yiLine,
123
+			buttonsComponents,
124
+			uniSteps
125
+		},
126
+		filters: {
127
+			sexFilters(value){
128
+				let str;
129
+				switch (String(value)) {
130
+					case "0":
131
+						str = "男";
132
+						break;
133
+					case "1":
134
+						str = "女";
135
+						break;
136
+				}
137
+				return str;
138
+			}
139
+		},
140
+		data() {
141
+			return {
142
+				active: 1,
143
+				current: 0,
144
+				workorderid: "", // 工单id
145
+				tap: '', //工单切换
146
+				roleCode: "", //角色
147
+				departList: [], //部门数据
148
+				orderTypeList: [], // 工单状态
149
+				userCodeList: [], //用户信息
150
+				detailContentData: {}, // 详情内容
151
+				orderButtonData: [],
152
+				departid: '',
153
+				handleProcessListData: [], // 办理过程
154
+				orderProcessDate: [], // 工单流程
155
+				workOrderButton: [], // 工单按钮权限
156
+				segmenter: {
157
+					current: 0,
158
+					items: ["0", "1"],
159
+					type: "",
160
+				},
161
+				imageStyles: {
162
+					width: 64,
163
+					height: 64,
164
+					border: {
165
+						radius: '20%'
166
+					}
167
+				},
168
+				isDisplay: {
169
+					displaySegmentedControl: false, // 分段器
170
+				},
171
+			}
172
+		},
173
+		onLoad(optioin) {
174
+			this.workorderid = optioin.wid
175
+			this.getGongDanType()
176
+			this.getDetail(0)
177
+			JSON.parse(optioin.buttons).forEach(v => {
178
+				let btn = this.$mButtonConfig[v.key];
179
+				if (btn != undefined) {
180
+					this.orderButtonData.push(btn);
181
+				}
182
+			})
183
+			pageData.getDet((res, data) => {
184
+				console.log(data)
185
+				this.departList = data
186
+			})
187
+			pageData.getApplicant('', (res) => {
188
+				this.userCodeList = res
189
+			})
190
+			this.isDisplay.displaySegmentedControl = true
191
+			this.segmenter.type = 0
192
+			this.segmenter.items = segmenterData[0]
193
+			this.roleCode = uni.getStorageSync("roleCode")
194
+		},
195
+		methods: {
196
+			getGongDanType(){
197
+				let dataOrderType = []
198
+				const params = {
199
+					pid:0,
200
+					flag:1
201
+				}
202
+				this.$http.get("GongDanType/GetList",params).then((res)=>{
203
+					if(res.state.toLowerCase() ==="success"){
204
+						this.orderTypeList = res.data
205
+					}
206
+				})
207
+			},
208
+			getFileData(fileData) {
209
+				let newFile = []
210
+				if (fileData && fileData.length > 0) {
211
+					fileData.forEach((element, index) => {
212
+						const obj = {}
213
+						obj.url = element.F_FileUrl
214
+						obj.extname = element.F_FileType.split('.')[1]
215
+						obj.name = element.F_FileName
216
+						newFile.push(obj);
217
+					});
218
+
219
+				}
220
+				return newFile
221
+			},
222
+			getDetail(type) {
223
+				this.handleProcessListData = []
224
+				this.orderProcessDate = []
225
+				const params = {
226
+					WorkOrderCode: this.workorderid,
227
+					type: type
228
+				}
229
+				this.$http.get("Con_WorkOrder/GetWorkOrder", params).then((response) => {
230
+					if (response.state.toLowerCase() === "success") {
231
+						if (type == 0) {
232
+							this.detailContentData = response.data[0]
233
+							response.data.forEach(v => {
234
+								this.handleProcessListData.push({
235
+									dealtype: v.F_DealType,
236
+									F_DealOpinions: v.F_DealOpinions
237
+								})
238
+							})
239
+						} else if (type == 1) {
240
+							response.data.forEach(v => {
241
+								this.orderProcessDate.push({
242
+									F_OperationTime: v.F_CreateTime,
243
+									username: v.F_CreateUser,
244
+									F_LogContent: v.F_OptContent
245
+								})
246
+							})
247
+						} 
248
+
249
+					}
250
+				}).catch((e) => {
251
+					console.log(e);
252
+				})
253
+			},
254
+			onClickSegmentedControl(e) {
255
+				this.current = e.currentIndex
256
+				switch (String(e.currentIndex)) {
257
+					case "0":
258
+						this.tap = 0
259
+						break
260
+					case "1":
261
+						this.tap = 1
262
+						break
263
+					case "2":
264
+				}
265
+				this.getDetail(this.tap)
266
+			},
267
+
268
+		},
269
+	}
270
+</script>
271
+
272
+<style lang="scss">
273
+	.noCon{
274
+		height: 200px;
275
+		text-align: center;
276
+		font-size: 14px;
277
+		color: #525252;
278
+	}
279
+	.wrapper {
280
+		// background-color: #fff; 
281
+		// height: 100vh;
282
+		// padding: 10px 20px 0 20px;
283
+		.showType{
284
+			background-color: #fff; 
285
+			padding: 10px 13px;
286
+			border-radius: 10px;
287
+			box-shadow: 0px 4px 16px 0px rgba(69, 91, 99, 0.13);
288
+			margin-bottom: 25px;
289
+		}
290
+		.detailContent {
291
+			// margin: 0 0 15px 0;
292
+			padding: 17px;
293
+			background-color: #fff;
294
+			
295
+			.contentTable {
296
+				margin: 0 0 10px 0;
297
+
298
+				.contentTitle {
299
+					// font-family: '微软雅黑 Bold', '微软雅黑 Regular', '微软雅黑';
300
+					font-weight: 700;
301
+					font-style: normal;
302
+					font-size: 14px;
303
+					color: #555555;
304
+					width: 70px;
305
+					display: inline-block;
306
+					text-align: right;
307
+				}
308
+
309
+				.contentText {
310
+					color: #525252;
311
+					font-size: 14px;
312
+					margin-left: 10px;
313
+				}
314
+
315
+				.textState {
316
+					position: absolute;
317
+					right: 15px;
318
+					font-size: 12px;
319
+					border: 1px solid #52C41A;
320
+					padding: 2px 5px;
321
+					color: #52C41A;
322
+					background-color: rgba(195, 239, 161, 0.2);
323
+					border-radius: 5px
324
+				}
325
+
326
+				.fx {
327
+					right: 70px;
328
+					border: 1px solid #ff6e54;
329
+					color: #ff6e54;
330
+					background-color: rgba(255, 110, 84, 0.2);
331
+				}
332
+			}
333
+		}
334
+
335
+		.operationButton {
336
+			margin: 5px 0;
337
+			padding: 17px;
338
+			background-color: #fff;
339
+			
340
+			.operationButtonTitle {
341
+				font-weight: 700;
342
+			}
343
+
344
+			.buttons {
345
+				margin: 15px 0 0 0;
346
+
347
+			}
348
+		}
349
+
350
+		.handleProcess {
351
+			margin: 15px 0;
352
+
353
+			.handleProcessTitle {
354
+				font-weight: 700;
355
+			}
356
+
357
+			.handleProcessContent {
358
+				margin: 8px 0 0 0;
359
+
360
+				.handleProcessContentTime text {
361
+					font-size: 14px;
362
+					color: #73d13d;
363
+				}
364
+
365
+				.handleProcessContentText text {
366
+					font-size: 14px;
367
+					color: #525252;
368
+				}
369
+			}
370
+		}
371
+	}
372
+</style>

+ 351 - 0
CallCenterWeb.UI/RMYYAPP/pages/myTask/consultList/consultDetail/editDetail/editDetail.vue

@@ -0,0 +1,351 @@
1
+<template>
2
+	<view class="wrapper">
3
+		<view class="form">
4
+			<!-- 基础表单校验 -->
5
+			<uni-forms ref="valiForm" :rules="rules" :modelValue="valiFormData">
6
+				<uni-forms-item label="工单类别" required name="WorkOrderCategory">
7
+					<order-select :orderType="valiFormData.WorkOrderCategory" @post-select-data="postSelectData" :typeid="1000"></order-select>
8
+				</uni-forms-item>
9
+				<uni-forms-item label="姓名" required name="name">
10
+					<uni-easyinput v-model="valiFormData.name" placeholder="请输入保修人电话" />
11
+				</uni-forms-item>
12
+				<uni-forms-item label="性别"  name="sex">
13
+					<uni-data-checkbox v-model="valiFormData.sex" :localdata="sexList" />
14
+				</uni-forms-item>
15
+				<uni-forms-item label="电话" required name="Phone">
16
+					<uni-easyinput v-model="valiFormData.Phone" placeholder="请输入电话" />
17
+				</uni-forms-item>
18
+				<uni-forms-item label="身份证号" required name="codeId">
19
+					<uni-easyinput v-model="valiFormData.codeId" placeholder="请输入身份证号" />
20
+				</uni-forms-item>
21
+				<uni-forms-item label="家庭住址"  name="address">
22
+					<uni-easyinput v-model="valiFormData.address" placeholder="请输入地点" />
23
+				</uni-forms-item>
24
+				<uni-forms-item label="与患者关系"  name="patientRelationship">
25
+					<uni-easyinput v-model="valiFormData.patientRelationship" placeholder="请输入与患者关系" />
26
+				</uni-forms-item>
27
+				<uni-forms-item label="患者姓名"  name="patientName">
28
+					<uni-easyinput v-model="valiFormData.patientName" placeholder="请输入患者姓名" />
29
+				</uni-forms-item>
30
+				<uni-forms-item label="患者身份证号"  name="patientCodeId">
31
+					<uni-easyinput v-model="valiFormData.patientCodeId" placeholder="请输入患者身份证号" />
32
+				</uni-forms-item>
33
+				<uni-forms-item label="工单内容" required name="Content">
34
+					<uni-easyinput type="textarea" v-model="valiFormData.Content" placeholder="请输入工单内容" />
35
+				</uni-forms-item>
36
+				<uni-forms-item label="处理意见"  name="dealOptions">
37
+					<uni-easyinput type="textarea" v-model="valiFormData.dealOptions" placeholder="请输入处理意见" />
38
+				</uni-forms-item>
39
+				<!-- 建议 -->
40
+				<view v-show="valiFormData.WorkOrderCategory == 8023">
41
+					<uni-forms-item label="建议部门"  name="adviseDepart" >
42
+						<uni-data-picker placeholder="请选择建议部门" :localdata="adviseDepartData" v-model="valiFormData.adviseDepart" @nodeclick="adviseDepartNodeclick" @popupclosed="adviseDepartclosed">
43
+						</uni-data-picker>
44
+					</uni-forms-item>
45
+					<uni-forms-item label="建议人员"  name="adviser" >
46
+						<uni-data-select v-model="valiFormData.adviser" :localdata="adviserData" @change="changeadviser" />
47
+					</uni-forms-item>
48
+				</view>
49
+				<!-- 投诉 -->
50
+				<view v-show="valiFormData.WorkOrderCategory == 8015">
51
+					<uni-forms-item label="投诉部门"  name="adviseDepart" >
52
+						<uni-data-picker placeholder="请选择投诉部门" :localdata="adviseDepartData" v-model="valiFormData.adviseDepart" @nodeclick="adviseDepartNodeclick" @popupclosed="adviseDepartclosed">
53
+						</uni-data-picker>
54
+					</uni-forms-item>
55
+					<uni-forms-item label="投诉人员"  name="adviser" >
56
+						<uni-data-select v-model="valiFormData.adviser" :localdata="adviserData" @change="changeadviser" />
57
+					</uni-forms-item>
58
+				</view>
59
+				<!-- 表扬 -->
60
+				<view v-show="valiFormData.WorkOrderCategory == 8031">
61
+					<uni-forms-item label="表扬部门"  name="adviseDepart" >
62
+						<uni-data-picker placeholder="请选择表扬部门" :localdata="adviseDepartData" v-model="valiFormData.adviseDepart" @nodeclick="adviseDepartNodeclick" @popupclosed="adviseDepartclosed">
63
+						</uni-data-picker>
64
+					</uni-forms-item>
65
+					<uni-forms-item label="表扬人员"  name="adviser" >
66
+						<uni-data-select v-model="valiFormData.adviser" :localdata="adviserData" @change="changeadviser" />
67
+					</uni-forms-item>
68
+				</view>
69
+				<!-- 健康咨询 -->
70
+				<view v-show="valiFormData.WorkOrderCategory == 8008">
71
+					<uni-forms-item label="地区"  name="area">
72
+						<uni-easyinput v-model="valiFormData.area" placeholder="请输入地区" />
73
+					</uni-forms-item>
74
+					<uni-forms-item label="首次检查医院" required name="hospital">
75
+						<uni-easyinput v-model="valiFormData.hospital" placeholder="请输入医院" />
76
+					</uni-forms-item>
77
+					<uni-forms-item label="肺结核大小" required name="fjhSize">
78
+						<uni-easyinput v-model="valiFormData.fjhSize" placeholder="请输入肺结核大小" />
79
+					</uni-forms-item>
80
+					<uni-forms-item label="首次发现肺结核时间" required name="findTime">
81
+						<uni-datetime-picker type="date" :clear-icon="false" v-model="valiFormData.findTime" />
82
+					</uni-forms-item>
83
+					<uni-forms-item label="紧急程度"  name="Urgency" >
84
+						<uni-data-checkbox v-model="valiFormData.Urgency" :localdata="UrgencyList" />
85
+					</uni-forms-item>
86
+				</view>
87
+				<uni-forms-item label="处理方式"  name="dealType" >
88
+					<uni-data-checkbox v-model="valiFormData.dealType" :localdata="dealTypeList" />
89
+				</uni-forms-item>
90
+				<view v-show="valiFormData.dealType == 3">
91
+					<uni-forms-item label="转派部门"  name="tranDepart" required>
92
+						<uni-data-picker placeholder="请选择转派部门" :localdata="tranDepartData" v-model="valiFormData.tranDepart" @nodeclick="tranDepartNodeclick" @popupclosed="tranDepartclosed">
93
+						</uni-data-picker>
94
+					</uni-forms-item>
95
+					<uni-forms-item label="转派人员"  name="transferee" required>
96
+						<uni-data-select v-model="valiFormData.transferee" :localdata="transfereeData" @change="changetransferee" />
97
+					</uni-forms-item>
98
+				</view>
99
+				</uni-forms>
100
+			<view class="btnClass">
101
+				<button type="primary" :disabled="disabledButton" @click="submit('valiForm')">提交工单</button>
102
+			</view>
103
+		</view>
104
+	</view>
105
+</template>
106
+
107
+<script>
108
+	import orderSelect from "@/pages/components/orderSelect/orderSelect"
109
+	import pageData from "@/pages/myTask/repairList/addRepair/pageData.js"
110
+	export default {
111
+		components: {
112
+			orderSelect
113
+		},
114
+		data() {
115
+			return {
116
+				// 校验表单数据
117
+				valiFormData: {
118
+					WorkOrderCategory: '', //工单类别
119
+					name: '', // 姓名
120
+					sex: '', //性别
121
+					Phone: '', //电话
122
+					codeId: '', //身份证
123
+					address: '', //家庭地址
124
+					patientRelationship: '', // 与患者关系
125
+					patientName: '', // 患者姓名
126
+					patientCodeId: '', // 患者身份证
127
+					Content: '', //	工单内容
128
+					dealOptions: '', //	处理意见
129
+					adviseDepart: '', // 建议或者投诉部门
130
+					adviser: '', // 建议或者投诉人员
131
+					area: '', // 地区
132
+					hospital: '', //	首次检查医院
133
+					fjhSize: '', //	肺结核大小
134
+					findTime: '', // 首次发现肺结核时间
135
+					dealType: '', // 处理方式
136
+					tranDepart: '', // 转派部门
137
+					transferee: '', //	转派人
138
+					Urgency: '',
139
+					F_ID: '',
140
+					F_CallID:'',
141
+					rowid: '',
142
+				},
143
+				
144
+				workorderid: '', // 编辑的工单id
145
+				disabledButton:false,
146
+				// 性别
147
+				sexList: [{
148
+					text: '男',
149
+					value: 0
150
+				},{
151
+					text: '女',
152
+					value: 1
153
+				}],
154
+				// 紧急程度
155
+				UrgencyList: [{
156
+					text: '常规',
157
+					value: 0
158
+				},{
159
+					text: '紧急',
160
+					value: 1
161
+				}],
162
+				// 处理方式
163
+				dealTypeList: [{
164
+					text: '立即办理',
165
+					value: 1
166
+				},{
167
+					text: '提交审核',
168
+					value: 2
169
+				},{
170
+					text: '转派',
171
+					value: 3
172
+				}],
173
+				adviseDepartData: [], // 建议或者投诉数据
174
+				adviseDepartid:'',
175
+				adviserData: [], //建议或者投诉人员数据
176
+				tranDepartData: [], // 指派部门
177
+				transid: '',
178
+				transfereeData: [], // 指派人员
179
+				// 校验规则
180
+				rules: {
181
+					
182
+				},
183
+			}
184
+		},
185
+		onLoad(option) {
186
+			this.workorderid = option.wid
187
+			pageData.getDet((res,data) => {
188
+				this.adviseDepartData = res
189
+				this.tranDepartData = res
190
+			})
191
+			if(this.workorderid) {
192
+				this.getDetail()
193
+			}
194
+		},
195
+		methods: {
196
+			postSelectData(e) {
197
+				this.valiFormData.WorkOrderCategory = e
198
+			},
199
+			// 建议或投诉
200
+			adviseDepartNodeclick(e) {
201
+				if(e) {
202
+					this.adviseDepartid = e.value
203
+					pageData.getApplicant(e.value, (res) => {
204
+						this.adviserData = res
205
+					})
206
+				}
207
+			},
208
+			adviseDepartclosed() {
209
+				this.valiFormData.adviseDepart = this.adviseDepartid
210
+			},
211
+			changeadviser(e) {
212
+				this.valiFormData.adviser = e
213
+			},
214
+			// 转派
215
+			tranDepartNodeclick(e) {
216
+				if(e) {
217
+					this.transid = e.value
218
+					pageData.getApplicant(e.value, (res) => {
219
+						this.transfereeData = res
220
+					})
221
+				}
222
+			},
223
+			tranDepartclosed() {
224
+				this.valiFormData.tranDepart = this.transid
225
+			},
226
+			changetransferee(e) {
227
+				this.valiFormData.transferee = e
228
+			},
229
+			// 工单提交
230
+			submit(ref) {
231
+				this.disabledButton = true
232
+				this.$refs[ref].validate().then(res => {
233
+					const params = {
234
+						F_CallID: this.valiFormData.F_CallID,
235
+						F_ID: this.valiFormData.F_ID,
236
+						F_Source: '电话', // 业务类别
237
+						F_Type1: '1000', // 工单类别
238
+						F_Type2: this.valiFormData.WorkOrderCategory, // 工单子类
239
+						// F_Type3: this.ruleForm.F_Type3, // 工单子类
240
+						F_Customer: this.valiFormData.name, // 姓名
241
+						F_Sex: this.valiFormData.sex, // 性别
242
+						F_Phon: this.valiFormData.Phone, // 电话
243
+						F_CusAddress: this.valiFormData.address, // 家庭住址
244
+						F_IdCard: this.valiFormData.codeId, // 身份证号
245
+						F_FullName: this.valiFormData.patientName, // 患者姓名
246
+						F_Relationship: this.valiFormData.patientRelationship, // 患者关系
247
+						F_IDNumber: this.valiFormData.patientCodeId, // 患者身份证
248
+						F_Address: this.valiFormData.area, // 地区
249
+						F_FirstCheckHospital: this.valiFormData.hospital, // 首次检查医院
250
+						F_NoduleSize: this.valiFormData.fjhSize, // 肺结节大小
251
+						F_FirstFindTime: this.valiFormData.findTime, // 首次发现肺结节时间
252
+						F_Urgency: this.valiFormData.Urgency, // 紧急程度
253
+						F_Cathetertype: '', // 置管类型
254
+						F_Catheterdept: '', // 置管科室
255
+						F_Cathetertime: '', // 置管时间
256
+						F_BedNum: '', // 床号
257
+						F_InpatientNum:'', // 住院号
258
+						opt: Number(this.valiFormData.dealType), // 处理方式
259
+						F_ComplaintDept: this.valiFormData.adviseDepart, // 投诉部门
260
+						F_ComplaintUser: this.valiFormData.adviser, // 投诉人
261
+						clid: this.valiFormData.transferee, // 指派人
262
+						clbm: this.valiFormData.tranDepart, // 指派部门
263
+						F_WorkOrderContents: this.valiFormData.Content, // 工单内容
264
+						F_DealOpinions: this.valiFormData.dealOptions // 处理意见
265
+					}
266
+					if(this.workorderid) {
267
+						params.WorkOrderCode = this.workorderid
268
+						this.$mHelper.httpPost("Con_WorkOrder/UpdateWorkOrder", params, 1,res=>this.disabledButton=res)
269
+					}
270
+				}).catch(err => {
271
+					this.disabledButton = false
272
+					console.log('err', err);
273
+				})
274
+			},
275
+			// 详情回显
276
+			getDetail() {
277
+				const params = {
278
+					WorkOrderCode: this.workorderid
279
+				}
280
+				this.$http.get("Con_WorkOrder/GetWorkOrder", params).then((res) => {
281
+					if (res.state.toLowerCase() === "success") {
282
+						res = res.data[0]
283
+						if(res.F_type3) {
284
+							this.valiFormData.WorkOrderCategory = res.F_type3
285
+						}else if (res.F_type2) {
286
+							this.valiFormData.WorkOrderCategory = res.F_type2
287
+						}
288
+						this.valiFormData.F_CallID = res.F_CallID
289
+						this.valiFormData.F_ID = res.F_ID
290
+						this.valiFormData.name = res.F_Customer // 姓名
291
+						this.valiFormData.sex = res.F_Sex //性别
292
+						this.valiFormData.Phone= res.F_Phon //电话
293
+						this.valiFormData.codeId= res.F_IdCard //身份证
294
+						this.valiFormData.address= res.F_CusAddress //家庭地址
295
+						this.valiFormData.patientRelationship= res.F_Relationship // 与患者关系
296
+						this.valiFormData.patientName= res.F_FullName // 患者姓名
297
+						this.valiFormData.patientCodeId= res.F_IDNumber // 患者身份证
298
+						this.valiFormData.Content= res.F_WorkOrderContents //	工单内容
299
+						this.valiFormData.dealOptions= res.F_DealOpinions //	处理意见
300
+						this.valiFormData.area = res.F_Address // 地区
301
+						this.valiFormData.hospital = res.F_FirstCheckHospital //	首次检查医院
302
+						if(res.F_NoduleSize) {
303
+							this.valiFormData.fjhSize= res.F_NoduleSize //	肺结核大小
304
+						}
305
+						if(res.F_FirstFindTime) {
306
+							this.valiFormData.findTime= res.F_FirstFindTime // 首次发现肺结核时间	
307
+						}
308
+						console.log(res.F_ComplaintDept)
309
+						if(res.F_ComplaintDept) {
310
+							this.valiFormData.adviseDepart= res.F_ComplaintDept // 建议或者投诉部门
311
+							pageData.getApplicant(res.F_ComplaintDept, (res) => {
312
+								this.adviserData = res
313
+							})
314
+							this.valiFormData.adviser= res.F_ComplaintUser // 建议或者投诉人员
315
+						}
316
+						this.valiFormData.tranDepart= res.DealDept// 转派部门
317
+						if(res.DealDept) {
318
+							pageData.getApplicant(res.DealDept, (res) => {
319
+								this.transfereeData = res
320
+							})
321
+							this.valiFormData.transferee= res.DealUser //	转派人
322
+						}
323
+						this.valiFormData.Urgency= res.F_Urgency 
324
+						// 处理方式
325
+						if (res.F_DealType === '立即办理') {
326
+							this.valiFormData.dealType = 1
327
+						} else if (res.F_DealType === '提交审核') {
328
+							this.valiFormData.dealType = 2
329
+						} else if (res.F_DealType === '转派') {
330
+							console.log(2)
331
+							this.valiFormData.dealType = 3
332
+						}
333
+					}
334
+				}).catch((e) => {
335
+					console.log(e);
336
+				})
337
+			},
338
+
339
+		}
340
+	}
341
+</script>
342
+
343
+<style lang="scss" scoped>
344
+	.wrapper {
345
+		padding: 10px 15px;
346
+		background-color: #fff;
347
+
348
+		.form {}
349
+
350
+	}
351
+</style>

+ 299 - 0
CallCenterWeb.UI/RMYYAPP/pages/myTask/consultList/consultList.vue

@@ -0,0 +1,299 @@
1
+<template>
2
+	<view class="wrapper">
3
+
4
+		<uni-search-bar class="uni-search-bar" placeholder="请输入工单编号" bgColor="#fff" @confirm="searchList"
5
+			@cancel="cancelList" />
6
+
7
+		<view class="segmentedControlWrapper">
8
+			<uni-segmented-control :current="segmenter.current" :values="segmenter.items"
9
+				@clickItem="onClickSegmentedControl" styleType="text" activeColor="#007aff" />
10
+		</view>
11
+		<view class="tableWrapper">
12
+			<!-- 基于 uni-list 的页面布局 -->
13
+			<uni-list>
14
+				<!-- to 属性携带参数跳转详情页面-->
15
+				<uni-list-item class="tableList" direction="column" v-for="(item, index) in listData" :key="index"
16
+					:to="'/pages/myTask/consultList/consultDetail/consultDetail?wid='+item.F_WoCode+'&buttons='+ JSON.stringify(item.Buttons)">
17
+					<!-- 通过header插槽定义列表的标题 -->
18
+					<template v-slot:header>
19
+						<view class="uni-title">{{item.F_ComTitle}}</view>
20
+					</template>
21
+					<!-- 通过body插槽定义列表内容显示 -->
22
+					<template v-slot:body>
23
+						<view class="uni-list-box">
24
+							<view class="uni-content">
25
+								<view class="uni-title-sub uni-ellipsis-1">
26
+									<view class="textLeft">
27
+										{{item.F_Content}}
28
+									</view>
29
+								</view>
30
+								<view class="uni-note" v-show="item.F_ProposerDept">工单类别:{{ $mHelper.findParents(orderTypeList,item.F_SonType)}}
31
+								</view>
32
+								<view class="uni-note">上报时间:{{item.F_CreateTime}}</view>
33
+								<!-- <view class="uni-note">上报地点:{{item.F_PlaceOfRepair}}</view> -->
34
+							</view>
35
+							<view class="textState">{{ item.StateName}}</view>
36
+						</view>
37
+					</template>
38
+				</uni-list-item>
39
+			</uni-list>
40
+			<uni-load-more :status="loadMoreState"></uni-load-more>
41
+		</view>
42
+	</view>
43
+</template>
44
+
45
+<script>
46
+	import pageData from "@/pages/myTask/repairList/addRepair/pageData.js"
47
+	const segmenterData = {
48
+		0: ['待处理', '已处理']
49
+	}
50
+	export default {
51
+		data() {
52
+			return {
53
+				that: this,
54
+				urlIndex: 0,
55
+				departList: [],
56
+				listData: [],
57
+				orderTypeList: [],
58
+				paramsData: {},
59
+				loadMoreState: 'more', //more loading  no-more
60
+				segmenter: {
61
+					current: 0,
62
+					items: ["0", "1", "2"],
63
+					type: "",
64
+				},
65
+				isDisplay: {
66
+					displaySegmentedControl: false, // 分段器
67
+				},
68
+			}
69
+		},
70
+		onLoad(optioin) {
71
+			this.urlIndex = optioin.urlIndex
72
+			this.getGongDanType()
73
+			this.init(optioin)
74
+			pageData.getDet((res, data) => {
75
+				this.departList = data
76
+			})
77
+		},
78
+		onUnload() {
79
+			// 移除监听事件
80
+			uni.$off("updateList")
81
+		},
82
+		onPullDownRefresh() {
83
+			this.resetListData()
84
+			this.getList(this.paramsData)
85
+		},
86
+		methods: {
87
+			init(optioin) {
88
+				optioin.page = 1 // 页码
89
+				optioin.pagesize = 10 // 条数
90
+				optioin.state = 0
91
+				this.paramsData = optioin
92
+				this.getList(this.paramsData)
93
+				if (optioin.segmenter == undefined || optioin.segmenter == null || optioin.segmenter == "") {
94
+					this.isDisplay.displaySegmentedControl = false
95
+				} else {
96
+					this.isDisplay.displaySegmentedControl = true
97
+					this.segmenter.type = optioin.segmenter
98
+					this.segmenter.items = segmenterData[optioin.segmenter]
99
+				}
100
+				// 页面
101
+				uni.$on("updateList", (res) => {
102
+					this.listData = []
103
+					this.paramsData.page = 1
104
+					this.paramsData.pagesize = 10
105
+					this.getList(this.paramsData)
106
+				})
107
+			},
108
+			getGongDanType(){
109
+				let dataOrderType = []
110
+				const params = {
111
+					pid:0,
112
+					flag:1
113
+				}
114
+				this.$http.get("GongDanType/GetList",params).then((res)=>{
115
+					if(res.state.toLowerCase() ==="success"){
116
+						this.orderTypeList = res.data
117
+					}
118
+				})
119
+			},
120
+			getList(optioin) {
121
+				const params = {
122
+					page: optioin.page,
123
+					pagesize: optioin.pagesize,
124
+					type:1000,
125
+					state: optioin.state == undefined ? "" : optioin.state,
126
+					workordercode: optioin.workordercode == undefined ? "" : optioin.workordercode
127
+				}
128
+				this.$http.get('WorkCommon/GetSubmitList', params).then((response) => {
129
+					if (response.state.toLowerCase() === "success") {
130
+						this.listData = response.rows
131
+						this.loadMoreState = 'no-more'
132
+					}
133
+				}).catch((e) => {
134
+					console.log(e);
135
+				})
136
+
137
+			},
138
+			searchList(e) {
139
+				this.resetListData()
140
+				this.paramsData.workordercode = e.value
141
+				this.getList(this.paramsData)
142
+			},
143
+			cancelList(e) {
144
+				this.resetListData()
145
+				this.paramsData.workordercode = ''
146
+				this.getList(this.paramsData)
147
+			},
148
+
149
+			onClickSegmentedControl(e) {
150
+				this.resetListData()
151
+				switch (String(e.currentIndex)) {
152
+					case "0":
153
+						this.paramsData.state = 0
154
+						break
155
+					case "1":
156
+						this.paramsData.state = 1
157
+						break
158
+				}
159
+				this.getList(this.paramsData)
160
+			},
161
+			resetListData() {
162
+				this.listData = []
163
+				this.paramsData.page = 1
164
+				this.paramsData.pagesize = 10
165
+			}
166
+		},
167
+		/**
168
+		 * 上拉加载回调函数
169
+		 */
170
+		onReachBottom() {
171
+			if (this.listData.length >= 10) {
172
+				this.loadMoreState = 'loading'
173
+				this.paramsData.page = this.paramsData.page + 1
174
+				this.getList(this.paramsData)
175
+			} else {
176
+				this.loadMoreState = 'no-more'
177
+			}
178
+
179
+		}
180
+	}
181
+</script>
182
+
183
+<style lang="scss" scoped>
184
+	@import '@/common/uni-ui.scss';
185
+
186
+	.uni-list {
187
+		background-color: #efeff4 !important;
188
+	}
189
+
190
+	.wrapper {
191
+		padding: 5px 0 0 0;
192
+
193
+		.uni-search-bar {
194
+			padding: 8px 0px;
195
+		}
196
+
197
+		.segmentedControlWrapper {
198
+			background-color: #ffffff;
199
+		}
200
+
201
+		.tableWrapper {
202
+			margin: 0px 0 0 0;
203
+
204
+			.tableList {
205
+				background-color: #ffffff;
206
+				margin-bottom: 10px;
207
+				padding-bottom: 10px;
208
+				
209
+				.textLeft{
210
+					width: 300px;
211
+					white-space: nowrap;
212
+					overflow: hidden;
213
+					text-overflow: ellipsis;
214
+				}
215
+			}
216
+		}
217
+	}
218
+
219
+	page {
220
+		display: flex;
221
+		flex-direction: column;
222
+		box-sizing: border-box;
223
+		background-color: #efeff4;
224
+		min-height: 100%;
225
+		height: auto;
226
+	}
227
+
228
+	.uni-list-box {
229
+		position: relative;
230
+
231
+		.textState {
232
+			position: absolute;
233
+			right: 15px;
234
+			bottom: 0px;
235
+			font-size: 12px;
236
+			border: 1px solid #52C41A;
237
+			padding: 2px 5px;
238
+			color: #52C41A;
239
+			background-color: rgba(195, 239, 161, 0.2);
240
+			border-radius: 5px
241
+		}
242
+	}
243
+
244
+	.tips {
245
+		color: #67c23a;
246
+		font-size: 14px;
247
+		line-height: 40px;
248
+		text-align: center;
249
+		background-color: #f0f9eb;
250
+		height: 0;
251
+		opacity: 0;
252
+		transform: translateY(-100%);
253
+		transition: all 0.3s;
254
+	}
255
+
256
+	.tips-ani {
257
+		transform: translateY(0);
258
+		height: 40px;
259
+		opacity: 1;
260
+	}
261
+
262
+	.content {
263
+		width: 100%;
264
+		display: flex;
265
+	}
266
+
267
+	.list-picture {
268
+		width: 100%;
269
+		height: 145px;
270
+	}
271
+
272
+	.thumb-image {
273
+		width: 100%;
274
+		height: 100%;
275
+	}
276
+
277
+	.ellipsis {
278
+		display: flex;
279
+		overflow: hidden;
280
+	}
281
+
282
+	.uni-ellipsis-1 {
283
+		overflow: hidden;
284
+		white-space: nowrap;
285
+		text-overflow: ellipsis;
286
+	}
287
+
288
+	.uni-ellipsis-2 {
289
+		overflow: hidden;
290
+		text-overflow: ellipsis;
291
+		display: -webkit-box;
292
+		-webkit-line-clamp: 2;
293
+		-webkit-box-orient: vertical;
294
+	}
295
+
296
+	.uni-content {
297
+		display: flex;
298
+	}
299
+</style>

+ 2 - 3
CallCenterWeb.UI/RMYYAPP/pages/myTask/myTask.vue

@@ -92,7 +92,6 @@
92 92
 				this.$mStore.dispatch("STATE", 3)
93 93
 			},
94 94
 			workOrderListClick(item) {
95
-				console.log(item)
96 95
 				uni.navigateTo({
97 96
 					url: item.navigateToUrl,
98 97
 				})
@@ -106,9 +105,9 @@
106 105
 					this.orderListData = this.$mConstDataConfig.roleListData.UnitList 
107 106
 				}else if(code === "GLY") {
108 107
 					this.orderListData = this.$mConstDataConfig.roleListData.administratorList 
109
-				}else if(code === "BXY" ) {
108
+				}else if(code === "BXY" || code === 'CK_GLY') {
110 109
 					this.orderListData = this.$mConstDataConfig.roleListData.applyRepairList 
111
-				}else if(code === "DDZX") {
110
+				}else if(code === "DDZX" ) {
112 111
 					this.orderListData = this.$mConstDataConfig.roleListData.dispatchList 
113 112
 				}
114 113
 			},

+ 12 - 12
CallCenterWeb.UI/RMYYAPP/pages/myTask/repairList/addRepair/addRepair.vue

@@ -4,9 +4,7 @@
4 4
 			<!-- 基础表单校验 -->
5 5
 			<uni-forms ref="valiForm" :rules="rules" :modelValue="valiFormData">
6 6
 				<uni-forms-item label="工单类别" required name="WorkOrderCategory">
7
-					<order-select :orderType="valiFormData.WorkOrderCategory" @post-select-data="postSelectData"></order-select>
8
-					<!-- <uni-data-picker class="uni_item" placeholder="请选择工单类别" :localdata="dataOrderType" v-model="valiFormData.WorkOrderCategory" @change="onchangeOrderType">
9
-					</uni-data-picker> -->
7
+					<order-select :orderType="valiFormData.WorkOrderCategory" @post-select-data="postSelectData" :typeid="3000"></order-select>
10 8
 				</uni-forms-item>
11 9
 				<uni-forms-item label="报修内容" required name="Content">
12 10
 					<uni-easyinput type="textarea" v-model="valiFormData.Content" placeholder="请输入报修内容" />
@@ -46,7 +44,7 @@
46 44
 				</div>
47 45
 			</uni-forms>
48 46
 			<view class="btnClass">
49
-				<button type="primary" @click="submit('valiForm')">提交工单</button>
47
+				<button type="primary" :disabled="disabledButton" @click="submit('valiForm')">提交工单</button>
50 48
 			</view>
51 49
 		</view>
52 50
 	</view>
@@ -69,6 +67,7 @@
69 67
 			return {
70 68
 				isShowIsEnd: false,
71 69
 				readonly: false,
70
+				disabledButton:false,
72 71
 				// 校验表单数据
73 72
 				valiFormData: {
74 73
 					WorkOrderCategory: '', //工单类别
@@ -90,7 +89,6 @@
90 89
 				imgUrlList: [], // 附件数据
91 90
 				imgIdList: [], //上传附件id
92 91
 				clickImgState: 0, // 图片回显的状态
93
-				departList: [], // 部门原始数据
94 92
 				deptDataTree: [], // 科室-部门数据
95 93
 				textList: [],
96 94
 				ApplicantData: [], // 获取人员数据
@@ -154,10 +152,6 @@
154 152
 			// 部门数据
155 153
 			pageData.getDet((res,data) => {
156 154
 				this.deptDataTree = res
157
-				this.departList = data
158
-			})
159
-			// 指派部门数据
160
-			pageData.getDet((res) => {
161 155
 				this.assignedDepartData = res
162 156
 			})
163 157
 			if(this.workorderid) {
@@ -167,6 +161,7 @@
167 161
 		methods: {
168 162
 			// 工单类别
169 163
 			postSelectData(e) {
164
+				console.log(e)
170 165
 				this.valiFormData.WorkOrderCategory = e
171 166
 			},
172 167
 			// 申请部门
@@ -178,6 +173,8 @@
178 173
 					this.ApplicantData = res
179 174
 					this.orderApplicantData = data
180 175
 				})
176
+				this.valiFormData.Applicantsphone = ''
177
+				this.valiFormData.Phone = ''
181 178
 			},
182 179
 			deptclosed() {
183 180
 				this.valiFormData.ApplicationDept = this.departRepair
@@ -211,14 +208,16 @@
211 208
 			},
212 209
 			// 工单提交
213 210
 			submit(ref) {
211
+				this.disabledButton = true
214 212
 				if(this.clickImgState == 1) {
215 213
 					this.valiFormData.File = this.$mHelper.getImgString(this.imgIdList)
216 214
 				}
215
+				console.log(this.valiFormData.ApplicationDept.length)
217 216
 				this.$refs[ref].validate().then(res => {
218 217
 					const params = {
219 218
 						WorkOrderCategory: this.valiFormData.WorkOrderCategory, // 工单类别
220 219
 						Content: this.valiFormData.Content, // 工单内容
221
-						ApplicationDept: this.valiFormData.ApplicationDept, // 申请部门
220
+						ApplicationDept: this.valiFormData.ApplicationDept.trim(), // 申请部门
222 221
 						Applicant: this.valiFormData.Applicant, //申请人
223 222
 						Applicantsphone: this.valiFormData.Applicantsphone, // 申请电话
224 223
 						Phone: this.valiFormData.Phone, // 联系电话
@@ -230,11 +229,12 @@
230 229
 					}
231 230
 					if(this.workorderid) {
232 231
 						params.WorkOrderCode = this.workorderid
233
-						this.$mHelper.httpPost("FaultRepair/UpdateFaultRepairWorkOrder ", params, 1)
232
+						this.$mHelper.httpPost("FaultRepair/UpdateFaultRepairWorkOrder ", params, 1,res=>this.disabledButton=res)
234 233
 					}else{
235
-						this.$mHelper.httpPost("FaultRepair/AddFaultRepairWorkOrder", params, 1)
234
+						this.$mHelper.httpPost("FaultRepair/AddFaultRepairWorkOrder", params, 1,res=>this.disabledButton=res)
236 235
 					}
237 236
 				}).catch(err => {
237
+					this.disabledButton = false
238 238
 					console.log('err', err);
239 239
 				})
240 240
 			},

+ 2 - 3
CallCenterWeb.UI/RMYYAPP/pages/myTask/repairList/addRepair/pageData.js

@@ -23,15 +23,14 @@ export default {
23 23
 		text:'是'
24 24
 	}],
25 25
 	// 工单类别
26
-	getGongDanType(fn){
26
+	getGongDanType(id,fn){
27 27
 		let dataOrderType = []
28 28
 		const params = {
29
-			pid:3000,
29
+			pid:id,
30 30
 			flag:1
31 31
 		}
32 32
 		http.get("GongDanType/GetList",params).then((res)=>{
33 33
 			if(res.state.toLowerCase() ==="success"){
34
-				
35 34
 				dataOrderType = filterTreeDatas(res.data)
36 35
 				fn(dataOrderType,res.data)
37 36
 			}

+ 2 - 11
CallCenterWeb.UI/RMYYAPP/pages/myTask/orderList/orderList.vue

@@ -45,7 +45,6 @@
45 45
 </template>
46 46
 
47 47
 <script>
48
-	import ceshiData from "../ceshi.js"
49 48
 	import pageData from "@/pages/myTask/repairList/addRepair/pageData.js"
50 49
 	const segmenterData = {
51 50
 		0: ['待处理', '已处理'],
@@ -123,7 +122,6 @@
123 122
 				})
124 123
 			},
125 124
 			fabClick() {
126
-				console.log(1)
127 125
 				uni.navigateTo({
128 126
 					url: "/pages/myTask/repairList/addRepair/addRepair",
129 127
 				})
@@ -132,10 +130,10 @@
132 130
 				const params = {
133 131
 					page: optioin.page,
134 132
 					pagesize: optioin.pagesize,
133
+					type: 3000,
135 134
 					state: optioin.state == undefined ? "" : optioin.state,
136 135
 					workordercode: optioin.workordercode == undefined ? "" : optioin.workordercode
137 136
 				}
138
-				console.log(this.urlIndex)
139 137
 				let url = urlData[this.urlIndex]
140 138
 				this.$http.get(url, params).then((response) => {
141 139
 					if (response.state.toLowerCase() === "success") {
@@ -147,12 +145,6 @@
147 145
 				})
148 146
 
149 147
 			},
150
-			workOrderIdClick(value) {
151
-				console.log(this.paramsData.tab)
152
-				uni.navigateTo({
153
-					url: "/pages/workOrderDetail/workOrderDetail?wid=" + value + '&tap=' + this.paramsData.tab,
154
-				})
155
-			},
156 148
 			searchList(e) {
157 149
 				this.resetListData()
158 150
 				this.paramsData.workordercode = e.value
@@ -166,7 +158,6 @@
166 158
 
167 159
 			onClickSegmentedControl(e) {
168 160
 				this.resetListData()
169
-				console.log(e.currentIndex)
170 161
 				switch (String(e.currentIndex)) {
171 162
 					case "0":
172 163
 						this.paramsData.state = 0
@@ -226,7 +217,7 @@
226 217
 				padding-bottom: 10px;
227 218
 				
228 219
 				.textLeft{
229
-					width: 50%;
220
+					width: 300px;
230 221
 					white-space: nowrap;
231 222
 					overflow: hidden;
232 223
 					text-overflow: ellipsis;

+ 8 - 4
CallCenterWeb.UI/RMYYAPP/pages/myTask/repairList/repairDetail/cooperationDetail/cooperationDetail.vue

@@ -7,7 +7,7 @@
7 7
 					<uni-data-checkbox v-model="valiFormData.cooperationType" :localdata="coopTypeList" />
8 8
 				</uni-forms-item>
9 9
 				<uni-forms-item label="工单类别" required name="WorkOrderCategory">
10
-					<order-select :orderType="valiFormData.WorkOrderCategory" @post-select-data="postSelectData"></order-select>
10
+					<order-select :orderType="valiFormData.WorkOrderCategory" :typeid='3000' @post-select-data="postSelectData"></order-select>
11 11
 				</uni-forms-item>
12 12
 				<uni-forms-item label="信息说明"  name="content">
13 13
 					<uni-easyinput type="textarea" v-model="valiFormData.content" placeholder="请输入信息说明" />
@@ -17,7 +17,7 @@
17 17
 				</uni-forms-item>
18 18
 			</uni-forms>
19 19
 			<view class="btnClass">
20
-				<button type="primary" @click="submit('valiForm')">提交</button>
20
+				<button type="primary" :disabled="disabledButton" @click="submit('valiForm')">提交</button>
21 21
 			</view>
22 22
 			
23 23
 		</view>
@@ -41,6 +41,7 @@
41 41
 					WorkOrderCategory: '', // 工单类别
42 42
 					collaborator: '' // 协作人
43 43
 				},
44
+				disabledButton:false,
44 45
 				orderType: '',
45 46
 				dataOrderType: [], // 工单类型数据
46 47
 				collaboratorDate: [], // 协作人
@@ -72,7 +73,7 @@
72 73
 			}
73 74
 		},
74 75
 		onLoad(option) {
75
-			pageData.getGongDanType((res,data) => {
76
+			pageData.getGongDanType(3000,(res,data) => {
76 77
 				this.dataOrderType = res
77 78
 			})
78 79
 			pageData.getApplicant(option.departid, (res) => {
@@ -83,6 +84,7 @@
83 84
 				}) 
84 85
 				this.collaboratorDate = res
85 86
 			})
87
+			console.log(option.orderType)
86 88
 			this.valiFormData.WorkOrderCategory = option.orderType // 传的是id
87 89
 			this.valiFormData.workorderid = option.wid
88 90
 		},
@@ -94,6 +96,7 @@
94 96
 				this.valiFormData.collaborator = e
95 97
 			},
96 98
 			submit(ref,state) {
99
+				this.disabledButton = true
97 100
 				this.$refs[ref].validate().then(res => {
98 101
 					const params = {
99 102
 					  WorkOrderCode: this.valiFormData.workorderid,
@@ -102,9 +105,10 @@
102 105
 					  Content: this.valiFormData.content, // 协作人
103 106
 					  Type: this.valiFormData.cooperationType // 协作方式
104 107
 					}
105
-					this.$mHelper.httpPost("FaultRepair/AssistWorkOrder",params,2)
108
+					this.$mHelper.httpPost("FaultRepair/AssistWorkOrder",params,2,res=>this.disabledButton=res)
106 109
 					
107 110
 				}).catch(err => {
111
+					this.disabledButton = false
108 112
 					console.log('err', err);
109 113
 				})
110 114
 			},

+ 11 - 12
CallCenterWeb.UI/RMYYAPP/pages/myTask/repairList/repairDetail/evaluateDetail/evaluateDetail.vue

@@ -17,7 +17,7 @@
17 17
 				</uni-forms-item>
18 18
 			</uni-forms>
19 19
 			<view class="btnClass">
20
-				<button type="primary" @click="submit('valiForm')">提交</button>
20
+				<button type="primary" :disabled="disabledButton" @click="submit('valiForm')">提交</button>
21 21
 			</view>
22 22
 			
23 23
 		</view>
@@ -25,13 +25,14 @@
25 25
 </template>
26 26
 
27 27
 <script>
28
-	import htzRate from '@/components/htz-rate/htz-rate.vue'
28
+	import htzRate from '@/pages/components/htz-rate/htz-rate.vue'
29 29
 	export default {
30 30
 		components: {
31 31
 			htzRate,
32 32
 		},
33 33
 		data() {
34 34
 			return {
35
+				disabledButton:false,
35 36
 				// 校验表单数据
36 37
 				valiFormData: {
37 38
 					workorderid: '',
@@ -42,12 +43,6 @@
42 43
 				},
43 44
 				// 校验规则
44 45
 				rules: {
45
-					// content:{
46
-					// 	rules:[{
47
-					// 		required:true,
48
-					// 		errorMessage:'请输入评价内容'
49
-					// 	}]
50
-					// }
51 46
 				},
52 47
 			}
53 48
 		},
@@ -56,9 +51,12 @@
56 51
 		},
57 52
 		methods: {
58 53
 			submit(ref,state) {
59
-				if(this.valiFormData.attitude > 3 || this.valiFormData.quality > 3 || this.valiFormData.finishTime > 3) {
60
-					this.$mHelper.toast('请输入评价内容')
61
-					return
54
+				this.disabledButton = true
55
+				if(this.valiFormData.attitude >= 3 || this.valiFormData.quality >= 3 || this.valiFormData.finishTime >= 3) {
56
+					if(!this.valiFormData.content) {
57
+						this.$mHelper.toast('请输入评价内容')
58
+						return
59
+					}
62 60
 				}
63 61
 				this.$refs[ref].validate().then(res => {
64 62
 					const params = {
@@ -68,9 +66,10 @@
68 66
 					  Efficiency: this.valiFormData.finishTime,
69 67
 					  EvaluateContent: this.valiFormData.content
70 68
 					}
71
-					this.$mHelper.httpPost("FaultRepair/EvaluateWorkOrder ",params,2)
69
+					this.$mHelper.httpPost("FaultRepair/EvaluateWorkOrder ",params,2,res=>this.disabledButton=res)
72 70
 					
73 71
 				}).catch(err => {
72
+					this.disabledButton = false
74 73
 					console.log('err', err);
75 74
 				})
76 75
 			},

+ 59 - 39
CallCenterWeb.UI/RMYYAPP/pages/myTask/repairList/repairDetail/finishDetail/finishDetail.vue

@@ -12,17 +12,15 @@
12 12
 				<uni-forms-item label="是否涉及设备" name="isEquipment" v-show="valiFormData.finishType == 0">
13 13
 					<uni-data-checkbox v-model="valiFormData.isEquipment" :localdata="equipments" />
14 14
 				</uni-forms-item>
15
-				<uni-forms-item label="设备信息" name="equipmentid"
16
-					v-show="valiFormData.isEquipment == 1 && valiFormData.finishType == 0">
17
-					<luyj-select-lay :value="valiFormData.equipmentid" name="name" :options="equipmentList" :zindex="1"
18
-						slabel='text' @selectitem="selectitem">
15
+				<uni-forms-item label="设备信息" name="equipmentid" v-show="valiFormData.isEquipment == 1 && valiFormData.finishType == 0">
16
+					<luyj-select-lay :value="valiFormData.equipmentid" name="name" :options="equipmentList" :zindex="1"	slabel='text' @selectitem="selectitem">
19 17
 					</luyj-select-lay>
20 18
 				</uni-forms-item>
21
-				<table style="width: 100%;margin-top: 15px;"
22
-					v-show="equipmentCon.length>0 && valiFormData.finishType == 0">
19
+				<table class="equipmentInfo" v-show="equipmentCon.length>0 && valiFormData.finishType == 0">
23 20
 					<thead style="background-color: #fafafa;">
24 21
 						<tr class="trCon">
25 22
 							<td class="tdCon">设备</td>
23
+							<td class="tdCon">型号</td>
26 24
 							<td class="tdCon">数量</td>
27 25
 							<td class="tdCon">价格</td>
28 26
 						</tr>
@@ -30,12 +28,11 @@
30 28
 					<tbody>
31 29
 						<tr class="trCon" v-for="item in equipmentCon">
32 30
 							<td class="tdCon">{{item.F_EquipName}}</td>
31
+							<td class="tdCon">{{item.F_Describe}}</td>
33 32
 							<td class="tdCon">
34 33
 								<uni-easyinput v-model="item.F_EquipAmount" placeholder="请输入数量" clear="false" />
35 34
 							</td>
36
-							<td class="tdCon">
37
-								<uni-easyinput v-model="item.F_EquipPrice" placeholder="请输入价位" clear="false" />
38
-							</td>
35
+							<td class="tdCon">{{item.F_EquipPrice}}</td>
39 36
 						</tr>
40 37
 					</tbody>
41 38
 				</table>
@@ -44,7 +41,7 @@
44 41
 				</uni-forms-item>
45 42
 			</uni-forms>
46 43
 			<view class="btnClass">
47
-				<button type="primary" @click="submit('valiForm')">提交</button>
44
+				<button type="primary" :disabled="disabledButton" @click="submit('valiForm')">提交</button>
48 45
 			</view>
49 46
 
50 47
 		</view>
@@ -64,6 +61,7 @@
64 61
 				}],
65 62
 				coast: '',
66 63
 				num: '',
64
+				disabledButton:false,
67 65
 				exceptionTypeList: [],
68 66
 				equipmentList: [], // 设备信息
69 67
 				equipmentCon: [],
@@ -98,13 +96,29 @@
98 96
 		},
99 97
 		onLoad(option) {
100 98
 			this.valiFormData.workorderid = option.wid
101
-			this.getEquipment('SJSB')
102
-			this.getEquipment('YCLX')
99
+			this.getEquipment()
100
+			this.getExceptionType()
103 101
 		},
104 102
 		methods: {
105 103
 			getEquipment(type) {
104
+				this.$http.get("Equipment/GetAllList", {}).then((res) => {
105
+					let resultData = res.data
106
+					resultData.forEach((element, index) => {
107
+						const obj = {}
108
+						obj.value = element.F_EquipID
109
+						obj.text = element.F_EquipName + '( ' + element.F_EquipNumber + ' )'
110
+						obj.number = element.F_EquipNumber
111
+						obj.price = element.F_EquipPrice
112
+						obj.name = element.F_EquipName
113
+						this.equipmentList.push(obj);
114
+					});
115
+				}).catch(err => {
116
+					console.log('err', err);
117
+				})
118
+			},
119
+			getExceptionType() {
106 120
 				const params = {
107
-					Flag: type,
121
+					Flag: 'YCLX',
108 122
 					Name: ''
109 123
 				}
110 124
 				this.$http.get("Dictionary/GetDicValueList", params).then((res) => {
@@ -113,12 +127,7 @@
113 127
 						const obj = {}
114 128
 						obj.value = element.n_id
115 129
 						obj.text = element.F_Name
116
-						if (type == 'SJSB') {
117
-							this.equipmentList.push(obj);
118
-						} else if (type == 'YCLX') {
119
-							this.exceptionTypeList.push(obj);
120
-						}
121
-
130
+						this.exceptionTypeList.push(obj);
122 131
 					});
123 132
 				}).catch(err => {
124 133
 					console.log('err', err);
@@ -129,10 +138,11 @@
129 138
 				if (val) {
130 139
 					val.forEach(v => {
131 140
 						this.equipmentCon.push({
132
-							F_EquipName: v.text,
141
+							F_EquipName: v.name,
142
+							F_Describe: v.number,
133 143
 							F_DicId: v.value,
134 144
 							F_EquipAmount: 1,
135
-							F_EquipPrice: 1
145
+							F_EquipPrice: v.price
136 146
 						})
137 147
 					})
138 148
 				} else {
@@ -140,6 +150,7 @@
140 150
 				}
141 151
 			},
142 152
 			submit(ref, state) {
153
+				this.disabledButton = true
143 154
 				if (this.valiFormData.finishType == 1) {
144 155
 					this.equipmentCon = []
145 156
 					this.valiFormData.isEquipment = ''
@@ -155,9 +166,10 @@
155 166
 						equipmodellist: JSON.parse(JSON.stringify(this.equipmentCon)),
156 167
 						type: this.valiFormData.finishType
157 168
 					}
158
-					this.$mHelper.httpPost("FaultRepair/DealWorkOrder ", this.serialize(params), 2)
169
+					this.$mHelper.httpPost("FaultRepair/DealWorkOrder ", this.serialize(params), 2,res=>this.disabledButton=res)
159 170
 
160 171
 				}).catch(err => {
172
+					this.disabledButton = false
161 173
 					console.log('err', err);
162 174
 				})
163 175
 			},
@@ -201,26 +213,34 @@
201 213
 				cursor: pointer;
202 214
 				width: 80%;
203 215
 			}
204
-
205
-			.trCon {
216
+			.equipmentInfo{
206 217
 				width: 100%;
207
-				font-size: 14px;
208
-
209
-				.tdCon {
210
-					display: inline-block;
211
-					padding: 10px 0px;
212
-					color: rgb(102, 102, 102);
213
-					width: 34%;
214
-					padding-right: 5px;
215
-					text-align: center;
216
-				}
217
-
218
-				.tdCon:nth-child(1) {
219
-					width: 27%;
220
-
218
+				margin-top: 15px;
219
+				border: 1px solid rgb(229, 229, 229);
220
+				box-shadow: 0px 4px 16px 0px rgba(69, 91, 99, 0.05);
221
+				margin-bottom: 20px;
222
+				border-radius: 5px;
223
+				
224
+				.trCon {
225
+					width: 100%;
226
+					font-size: 14px;
227
+				
228
+					.tdCon {
229
+						display: inline-block;
230
+						padding: 10px 0px;
231
+						color: rgb(102, 102, 102);
232
+						width: 24%;
233
+						padding-right: 5px;
234
+						text-align: center;
235
+					}
236
+				
237
+					.tdCon:nth-child(1) {
238
+						width: 20%;
239
+				
240
+					}
221 241
 				}
242
+				
222 243
 			}
223
-
224 244
 		}
225 245
 
226 246
 	}

+ 5 - 3
CallCenterWeb.UI/RMYYAPP/pages/myTask/orderList/orderDetail/returnEditDetail/returnEditDetail.vue

@@ -2,7 +2,7 @@
2 2
 	<view class="wrapper">
3 3
 		<view class="form">
4 4
 			<!-- 基础表单校验 -->
5
-			<uni-forms ref="valiForm" :rules="rules" :modelValue="valiFormData">
5
+			<uni-forms ref="valiForm" :modelValue="valiFormData">
6 6
 				<uni-forms-item label="工单类别"  name="WorkOrderCategory">
7 7
 					<order-select :orderType="valiFormData.WorkOrderCategory" @post-select-data="postSelectData"></order-select>
8 8
 				</uni-forms-item>
@@ -19,7 +19,7 @@
19 19
 				</uni-forms-item>
20 20
 			</uni-forms>
21 21
 			<view class="btnClass">
22
-				<button type="primary" @click="submit('valiForm')">提交工单</button>
22
+				<button type="primary" :disabled="disabledButton" @click="submit('valiForm')">提交工单</button>
23 23
 			</view>
24 24
 		</view>
25 25
 	</view>
@@ -34,6 +34,7 @@
34 34
 		},
35 35
 		data() {
36 36
 			return {
37
+				disabledButton:false,
37 38
 				workorderid: '',
38 39
 				// 校验表单数据
39 40
 				valiFormData: {
@@ -63,6 +64,7 @@
63 64
 			},
64 65
 			// 工单提交
65 66
 			submit(ref) {
67
+				this.disabledButton = true
66 68
 				if(this.clickImgState == 1) {
67 69
 					this.valiFormData.File = this.$mHelper.getImgString(this.imgIdList)
68 70
 				}
@@ -74,7 +76,7 @@
74 76
 						PlaceOfRepair: this.valiFormData.PlaceOfRepair, // 报修地点
75 77
 						File: this.valiFormData.File, // 文件
76 78
 					}
77
-					this.$mHelper.httpPost("FaultRepair/MyUpdateFaultRepairWorkOrder ", params, 2)
79
+					this.$mHelper.httpPost("FaultRepair/MyUpdateFaultRepairWorkOrder ", params, 2,res=>this.disabledButton=res)
78 80
 				}).catch(err => {
79 81
 					console.log('err', err);
80 82
 				})

+ 5 - 2
CallCenterWeb.UI/RMYYAPP/pages/myTask/repairList/repairDetail/tranferDetail/tranferDetail.vue

@@ -11,7 +11,7 @@
11 11
 				</uni-forms-item>
12 12
 			</uni-forms>
13 13
 			<view class="btnClass">
14
-				<button type="primary" @click="submit('valiForm')">提交</button>
14
+				<button type="primary" :disabled="disabledButton" @click="submit('valiForm')">提交</button>
15 15
 			</view>
16 16
 			
17 17
 		</view>
@@ -23,6 +23,7 @@
23 23
 	export default {
24 24
 		data() {
25 25
 			return {
26
+				disabledButton:false,
26 27
 				workorderid: '',
27 28
 				departRepair: '',
28 29
 				tranformDepartList: [], // 指派部门
@@ -62,15 +63,17 @@
62 63
 				this.tranforPeople = e
63 64
 			},
64 65
 			submit(ref,state) {
66
+				this.disabledButton = true
65 67
 				this.$refs[ref].validate().then(res => {
66 68
 					const params = {
67 69
 					  WorkOrderCode: this.workorderid,
68 70
 					  ToDept: this.tranformDepart,
69 71
 					  ToUserCode: this.tranforPeople
70 72
 					}
71
-					this.$mHelper.httpPost("FaultRepair/DDZXTransfer ",params,2)
73
+					this.$mHelper.httpPost("FaultRepair/DDZXTransfer ",params,2,res=>this.disabledButton=res)
72 74
 					
73 75
 				}).catch(err => {
76
+					this.disabledButton = false
74 77
 					console.log('err', err);
75 78
 				})
76 79
 			},

+ 1 - 8
CallCenterWeb.UI/RMYYAPP/pages/myTask/repairList/repairList.vue

@@ -45,7 +45,6 @@
45 45
 </template>
46 46
 
47 47
 <script>
48
-	import ceshiData from "../ceshi.js"
49 48
 	import pageData from "@/pages/myTask/repairList/addRepair/pageData.js"
50 49
 	const segmenterData = {
51 50
 		0: ["待接单", "待完成", "已完成"], // 已办待回访
@@ -145,12 +144,6 @@
145 144
 				})
146 145
 
147 146
 			},
148
-			workOrderIdClick(value) {
149
-				console.log(this.paramsData.tab)
150
-				uni.navigateTo({
151
-					url: "/pages/workOrderDetail/workOrderDetail?wid=" + value + '&tap=' + this.paramsData.tab,
152
-				})
153
-			},
154 147
 			searchList(e) {
155 148
 				this.resetListData()
156 149
 				this.paramsData.workordercode = e.value
@@ -235,7 +228,7 @@
235 228
 				padding-bottom: 10px;
236 229
 				
237 230
 				.textLeft{
238
-					width: 50%;
231
+					width: 300px;
239 232
 					white-space: nowrap;
240 233
 					overflow: hidden;
241 234
 					text-overflow: ellipsis;

+ 46 - 11
CallCenterWeb.UI/RMYYAPP/pages/myTask/workOrderDetail/button/button.vue

@@ -1,16 +1,18 @@
1 1
 <template>
2 2
 
3 3
 	<view>
4
-		<button class="mini-btn" type="default" size="mini" v-for="item in orderButtonData"
4
+		<button class="mini-btn" type="default" size="mini" v-for="item in orderButtonData" :disabled="disabledButton"
5 5
 			@click="callBtnMethods(item.eventName)" :key="item.id">
6 6
 			{{ item.text }}
7 7
 		</button>
8
+		<!-- <button class="mini-btn" type="default" size="mini"  @click="debtn">删除</button> -->
8 9
 		<!-- 弹框 -->
9 10
 		<view>
10 11
 			<uni-popup ref="inputDialog" type="dialog">
11 12
 				<uni-popup-dialog ref="inputClose" mode="input" :title="title" @confirm="dialogInputConfirm">
12 13
 					<view style="width:100%;">
13
-						<uni-data-select v-model="Maintenancer" :localdata="maintenancerDate" @change="maintenancerChange" v-show="auditPlaceholder === 'show'"/>
14
+						<uni-data-checkbox v-model="assignType" :localdata="assignTypeVisit" style="margin-bottom: 20px;" v-show="auditPlaceholder === 'show'"/>
15
+						<uni-data-select v-model="Maintenancer" :localdata="maintenancerDate" @change="maintenancerChange" v-show="auditPlaceholder === 'show' && assignType === 0"/>
14 16
 						<uni-easyinput type="textarea" autoHeight maxlength="100" v-model="cbreason" :placeholder="auditPlaceholder" v-show="auditPlaceholder !== 'show'"/>
15 17
 					</view>
16 18
 				</uni-popup-dialog>
@@ -48,6 +50,15 @@
48 50
 		},
49 51
 		data() {
50 52
 			return {
53
+				disabledButton:false,
54
+				assignType: 0,
55
+				assignTypeVisit: [{
56
+					text: '转同事',
57
+					value: 0
58
+				},{
59
+					text: '转组长',
60
+					value: 1
61
+				}],
51 62
 				title:'请输入内容',
52 63
 				Maintenancer: '', //维修人
53 64
 				maintenancerDate: [], // 人员信息
@@ -91,9 +102,11 @@
91 102
 			deleteBtn() {
92 103
 				this.confirmationAPI("FaultRepair/DeleteWorkOrder", "删除", "是否要删除", "取消了删除")
93 104
 			},
94
-			
105
+			debtn() {
106
+				this.confirmationAPI("FaultRepair/DeleteWorkOrder", "删除", "是否要删除", "取消了删除")
107
+			},
95 108
 			/**
96
-			* 我的提交(按钮)
109
+			* 我的提交(工单)(按钮)
97 110
 			*/
98 111
 		   
99 112
 			// 自行解决
@@ -123,10 +136,29 @@
123 136
 			// 编辑撤回
124 137
 			returnEditBtn() {
125 138
 				uni.navigateTo({
126
-					url: "/pages/myTask/orderList/orderDetail/returnEditDetail/returnEditDetail?wid=" + this.wid + '&editState='+1
139
+					url: "/pages/myTask/repairList/repairDetail/returnEditDetail/returnEditDetail?wid=" + this.wid + '&editState='+1
140
+				})
141
+			},
142
+			// 咨询工单接单
143
+			receivingBtn() {
144
+				this.confirmationAPI("Con_WorkOrder/SureWorkOrder", "信息", "是否要接单", "取消了接单")
145
+			},
146
+			// 咨询退回
147
+			zxBackBtn() {
148
+				this.confirmationAPI("Con_WorkOrder/BackWorkOrder", "信息", "是否要退回", "取消了退回")
149
+			},
150
+			//咨询处理 
151
+			zxDealBtn() {
152
+				uni.navigateTo({
153
+					url: "/pages/myTask/consultList/consultDetail/appointmentDeal/appointmentDeal?wid=" + this.wid
154
+				})
155
+			},
156
+			//咨询编辑
157
+			zxEditBtn() {
158
+				uni.navigateTo({
159
+					url: "/pages/myTask/consultList/consultDetail/editDetail/editDetail?wid=" + this.wid
127 160
 				})
128 161
 			},
129
-			
130 162
 			/**
131 163
 			* 报修列表(按钮)
132 164
 			*/
@@ -198,7 +230,7 @@
198 230
 						this.$mHelper.toast('请选择指派人');
199 231
 						return
200 232
 					}
201
-					const addParams = {ToUserCode: this.Maintenancer,WorkOrderCode: this.wid}
233
+					const addParams = {ToUserCode: this.Maintenancer,WorkOrderCode: this.wid,type: this.assignType}
202 234
 					this.workOrderContent("FaultRepair/Transfer",addParams)
203 235
 				}else if(this.auditPlaceholder === '请输入异常结束原因') {
204 236
 					const addParams = {result: this.cbreason,WorkOrderCode: this.wid,type:1}
@@ -211,25 +243,28 @@
211 243
 			},
212 244
 			// 确认框方法,带输入框
213 245
 			workOrderContent(url,addParams) {
214
-				this.$mHelper.httpPost(url,addParams,1)
215
-				
246
+				this.disabledButton = true
247
+				this.$mHelper.httpPost(url,addParams,1 ,res=>this.disabledButton=res)
248
+				uni.hideLoading()
216 249
 			},
217 250
 			//确认框方法
218 251
 			confirmationAPI(url, title, content, canceContent) {
252
+				this.disabledButton = true
219 253
 				uni.showModal({
220 254
 					title: title,
221 255
 					content: content,
222 256
 					success: (res) => {
223 257
 						if (res.confirm) {
224 258
 							const params = {}
225
-							if(content == '是否要查收') {
259
+							if(content == '是否要查收' || content == '是否要接单' || content == '是否要退回') {
226 260
 								params.WorkOrderCode = this.wid
227 261
 							}else{
228 262
 								params.workordercode = this.wid
229 263
 							}
230 264
 							
231
-							this.$mHelper.httpPost(url,params,1)
265
+							this.$mHelper.httpPost(url,params,1,res=>this.disabledButton=res)
232 266
 						} else if (res.cancel) {
267
+							this.disabledButton = false
233 268
 							this.$mHelper.toast(canceContent);
234 269
 						}
235 270
 					}

+ 12 - 6
CallCenterWeb.UI/RMYYAPP/pages/myTask/workOrderDetail/workOrderDetail.vue

@@ -4,7 +4,7 @@
4 4
 			<view class="contentTable">
5 5
 				<text class="contentTitle">工单编号:</text>
6 6
 				<text class="contentText">{{ detailContentData.F_WorkOrderCode }}</text>
7
-				<text class="textState">{{ detailContentData.StateName }}</text>
7
+				<text class="textState" v-show="detailContentData.StateName ">{{ detailContentData.StateName }}</text>
8 8
 				<text class="textState fx" v-show="backState == 1">返修</text>
9 9
 			</view>
10 10
 			<view class="contentTable">
@@ -26,7 +26,7 @@
26 26
 			</view>
27 27
 			<view class="contentTable">
28 28
 				<view class="contentTitle" style="float: left;width: 70px;">报修内容:</view>
29
-				<view class="contentText" style="margin-left: 70px;">{{ detailContentData.F_Content }}</view>
29
+				<view class="contentText" style="margin-left: 80px;">{{ detailContentData.F_Content }}</view>
30 30
 			</view>
31 31
 			<view class="contentTable">
32 32
 				<text class="contentTitle">维修科室:</text>
@@ -61,6 +61,7 @@
61 61
 
62 62
 
63 63
 		<view class="operationButton" v-show="orderButtonData.length != 0">
64
+		<!-- <view class="operationButton"> -->
64 65
 			<view>
65 66
 				<text class="operationButtonTitle">操作</text>
66 67
 				<buttonsComponents class="buttons" :order-button-data="orderButtonData" :wid="workorderid"
@@ -159,15 +160,20 @@
159 160
 					<view class="detailContent showType" v-for="item in evaluateDate" :key=item.F_Id>
160 161
 						<view class="contentTable">
161 162
 							<text class="contentTitle">服务态度:</text>
162
-							<htz-rate v-model="item.F_Attitude" :readonly='true' :size="30"></htz-rate>
163
+							<htz-rate v-model="item.F_Attitude" :readonly='true' :size="30" :type="2"></htz-rate>
163 164
 							<text class="contentTitle">{{ item.F_Attitude | getEvaluateFilters }}</text>
164 165
 						</view>
165 166
 						<view class="contentTable">
166 167
 							<text class="contentTitle">维修质量:</text>
167
-							<htz-rate v-model="item.F_Quality" :size="30"></htz-rate>
168
+							<htz-rate v-model="item.F_Quality" :size="30" :type="2"></htz-rate>
168 169
 							<text class="contentTitle">{{ item.F_Quality | getEvaluateFilters }}</text>
169 170
 						</view>
170 171
 						<view class="contentTable">
172
+							<text class="contentTitle">完工时效:</text>
173
+							<htz-rate v-model="item.F_Efficiency" :size="30" :type="2"></htz-rate>
174
+							<text class="contentTitle">{{ item.F_Efficiency | getEvaluateFilters }}</text>
175
+						</view>
176
+						<view class="contentTable">
171 177
 							<text class="contentTitle">文字评价:</text>
172 178
 							<text class="contentText">{{ item.F_EvaluateContent }}</text>
173 179
 						</view>
@@ -186,8 +192,8 @@
186 192
 	import yiLine from "@/components/yi-line/yi-line.vue"
187 193
 	import buttonsComponents from "pages/myTask/workOrderDetail/button/button"
188 194
 	import pageData from "@/pages/myTask/repairList/addRepair/pageData.js"
189
-	import uniSteps from "@/components/wangxiaohua-steps/index.vue"
190
-	import htzRate from '@/components/htz-rate/htz-rate.vue'
195
+	import uniSteps from "@/pages/components/steps/index.vue"
196
+	import htzRate from '@/pages/components/htz-rate/htz-rate.vue'
191 197
 	const segmenterData = {
192 198
 		0: ["处理结果", "协作工单","工单流程",  "维修记录", "评价"],
193 199
 		1: ["处理结果", "工单流程",  "维修记录", "评价"]

+ 7 - 11
CallCenterWeb.UI/RMYYAPP/pages/setting/personDetail/personDetail.vue

@@ -18,7 +18,6 @@
18 18
 					</uni-forms-item>
19 19
 					<uni-forms-item label="角色" name="RoleName">
20 20
 						<uni-easyinput v-model="formData.RoleName" placeholder="请输入角色" disabled/>
21
-						<!-- <uni-data-select v-model="formData.RoleId" :localdata="roleOptions" @change="changeRoleId" disabled/> -->
22 21
 					</uni-forms-item>
23 22
 					<uni-forms-item label="手机号" name="Phon">
24 23
 						<uni-easyinput v-model="formData.Phon" placeholder="请输入手机号" />
@@ -78,8 +77,6 @@
78 77
 			})
79 78
 			this.getRoleList()
80 79
 			this.getUserAccount(option.userCode)
81
-			// this.getDet()
82
-			
83 80
 		},
84 81
 		methods: {
85 82
 			changeRoleId() {},
@@ -111,7 +108,6 @@
111 108
 								}
112 109
 							})
113 110
 							this.formData.Remark = res.data.F_Remark	//备注
114
-							
115 111
 						}
116 112
 					}
117 113
 				})
@@ -121,14 +117,14 @@
121 117
 				this.disabledButton = true
122 118
 				const params = {
123 119
 					IsSeat:this.formData.IsSeat,
124
-				  userid: this.formData.userid,
125
-				  Usercode: this.formData.Usercode, // 单位
126
-				  Username: this.formData.Username, // 办理时限
127
-				  sex: this.formData.gender, // 紧急办理时限
128
-				  DeptId: this.formData.DeptId, // 交办意见
120
+					userid: this.formData.userid,
121
+					Usercode: this.formData.Usercode, // 单位
122
+					Username: this.formData.Username, // 办理时限
123
+					sex: this.formData.gender, // 紧急办理时限
124
+					DeptId: this.formData.DeptId, // 交办意见
129 125
 					RoleId:this.formData.RoleId, // 是否短信提醒
130
-				  Phon: this.formData.Phon, // 0保存,1保存并提交
131
-				  Remark: this.formData.Remark// 工单内容
126
+					Phon: this.formData.Phon, // 0保存,1保存并提交
127
+					Remark: this.formData.Remark// 工单内容
132 128
 				}
133 129
 				this.$mHelper.httpPost("UserAccount/EditUsers",params,1,res=>this.disabledButton=res)
134 130
 			},

BIN
CallCenterWeb.UI/RMYYAPP/static/consult.png


+ 3 - 1
CallCenterWeb.UI/RMYYAPP/utils/helper.js

@@ -27,8 +27,9 @@ export default {
27 27
 		uni.showLoading({title: '加载中'})
28 28
 
29 29
 		http.post(url, params).then((res) => {
30
+			uni.hideLoading()
30 31
 			if (res.state.toLowerCase() === "success") {
31
-				uni.hideLoading()
32
+				
32 33
 				uni.showToast({
33 34
 					title: '操作成功',
34 35
 					duration: 500
@@ -40,6 +41,7 @@ export default {
40 41
 				}, 500)
41 42
 				
42 43
 			}else{
44
+				this.toast(res.message)
43 45
 				fn(false)
44 46
 			}
45 47
 		})