Browse Source

排班加app

zhaomin 3 years ago
parent
commit
668d583f0a
23 changed files with 464 additions and 291 deletions
  1. 8 8
      CallCenterWeb.UI/RMYY/src/views/scheduleManagement/classManagement/components/addoredit.vue
  2. 9 7
      CallCenterWeb.UI/RMYY/src/views/scheduleManagement/scheduleInfo/components/addAutoGroupClass.vue
  3. 2 2
      CallCenterWeb.UI/RMYY/src/views/scheduleManagement/scheduleInfo/components/addGroupClass.vue
  4. 3 0
      CallCenterWeb.UI/RMYYAPP/App.vue
  5. 5 2
      CallCenterWeb.UI/RMYYAPP/components/city-select/city-select.vue
  6. 39 16
      CallCenterWeb.UI/RMYYAPP/components/wangxiaohua-steps/index.vue
  7. 6 3
      CallCenterWeb.UI/RMYYAPP/manifest.json
  8. 4 2
      CallCenterWeb.UI/RMYYAPP/pages.json
  9. 38 13
      CallCenterWeb.UI/RMYYAPP/pages/adressBook/adressBook.vue
  10. 8 5
      CallCenterWeb.UI/RMYYAPP/pages/components/orderSelect/orderSelect.vue
  11. 36 12
      CallCenterWeb.UI/RMYYAPP/pages/components/upload/upload.vue
  12. 2 1
      CallCenterWeb.UI/RMYYAPP/pages/login/login.vue
  13. 3 3
      CallCenterWeb.UI/RMYYAPP/pages/myTask/myTask.vue
  14. 7 0
      CallCenterWeb.UI/RMYYAPP/pages/myTask/orderList/orderList.vue
  15. 64 38
      CallCenterWeb.UI/RMYYAPP/pages/myTask/repairList/addRepair/addRepair.vue
  16. 1 1
      CallCenterWeb.UI/RMYYAPP/pages/myTask/repairList/addRepair/pageData.js
  17. 8 6
      CallCenterWeb.UI/RMYYAPP/pages/myTask/repairList/repairDetail/tranferDetail/tranferDetail.vue
  18. 9 2
      CallCenterWeb.UI/RMYYAPP/pages/myTask/repairList/repairList.vue
  19. 2 2
      CallCenterWeb.UI/RMYYAPP/pages/myTask/workOrderDetail/button/button.vue
  20. 181 137
      CallCenterWeb.UI/RMYYAPP/pages/myTask/workOrderDetail/workOrderDetail.vue
  21. 27 29
      CallCenterWeb.UI/RMYYAPP/pages/setting/personDetail/personDetail.vue
  22. 1 1
      CallCenterWeb.UI/RMYYAPP/pages/setting/setting.vue
  23. 1 1
      CallCenterWeb.UI/RMYYAPP/uni_modules/uni-popup/components/uni-popup-dialog/uni-popup-dialog.vue

+ 8 - 8
CallCenterWeb.UI/RMYY/src/views/scheduleManagement/classManagement/components/addoredit.vue

@@ -4,9 +4,9 @@
4 4
       <el-form-item label="班别名称" prop="name">
5 5
         <el-input v-model="ruleForm.name" placeholder="请输入班别名称" />
6 6
       </el-form-item>
7
-      <el-form-item label="班别代码" prop="code">
7
+      <!-- <el-form-item label="班别代码" prop="code">
8 8
         <el-input v-model="ruleForm.code" placeholder="请输入班别代码" />
9
-      </el-form-item>
9
+      </el-form-item> -->
10 10
       <el-form-item label="上班时间" prop="workStartTime">
11 11
         <el-time-picker v-model="ruleForm.workStartTime" value-format="HH:mm:ss" placeholder="选择时间"/>
12 12
       </el-form-item>
@@ -43,12 +43,12 @@ export default {
43 43
         name: '',
44 44
         workStartTime: '',
45 45
         workOverTime: '',
46
-        remark: '',
47
-        code: ''
46
+        remark: ''
47
+        // code: ''
48 48
       },
49 49
       rules: {
50 50
         name: { required: true, message: '请输入班别名称', trigger: 'change' },
51
-        code: { required: true, message: '请输入班别代码', trigger: 'change' },
51
+        // code: { required: true, message: '请输入班别代码', trigger: 'change' },
52 52
         workStartTime: { required: true, message: '请选择上班时间', trigger: 'change' },
53 53
         workOverTime: { required: true, message: '请选择下班时间', trigger: 'change' }
54 54
       },
@@ -69,8 +69,8 @@ export default {
69 69
               intime: this.ruleForm.workStartTime, // 第几页
70 70
               outtime: this.ruleForm.workOverTime, // 每页几条信息
71 71
               name: this.ruleForm.name,
72
-              remark: this.ruleForm.remark,
73
-              code: this.ruleForm.code
72
+              remark: this.ruleForm.remark
73
+              // code: this.ruleForm.code
74 74
             }
75 75
             if (this.rowid > 0) {
76 76
               params.id = this.rowid
@@ -99,7 +99,7 @@ export default {
99 99
           this.ruleForm.workOverTime = response.data.F_OutTime
100 100
           this.ruleForm.name = response.data.F_Name
101 101
           this.ruleForm.remark = response.data.F_Remark
102
-          this.ruleForm.code = response.data.F_Code
102
+          // this.ruleForm.code = response.data.F_Code
103 103
         }
104 104
       })
105 105
     }

+ 9 - 7
CallCenterWeb.UI/RMYY/src/views/scheduleManagement/scheduleInfo/components/addAutoGroupClass.vue

@@ -2,22 +2,24 @@
2 2
   <div v-loading="loading">
3 3
     <el-form ref="ruleForm" :model="ruleForm" :rules="rules" label-width="100px">
4 4
       <el-form-item label="时间范围" prop="workTime">
5
-        <el-time-picker
5
+        <el-date-picker
6 6
           v-model="ruleForm.workTime"
7
-          is-range
8
-          value-format="HH:mm:ss"
7
+          class="date_picker"
8
+          type="daterange"
9 9
           range-separator="至"
10 10
           start-placeholder="开始时间"
11 11
           end-placeholder="结束时间"
12
-          placeholder="选择时间范围"/>
13
-      </el-form-item>
12
+          value-format="yyyy-MM-dd">
13
+          align="left"
14
+          unlink-panels />
15
+      </el-date-picker></el-form-item>
14 16
       <el-form-item label="班别" prop="classInf">
15 17
         <el-select v-model="ruleForm.classInf" placeholder="请选择">
16 18
           <el-option
17 19
             v-for="item in classList"
18
-            :key="item.F_Code"
20
+            :key="item.F_Id"
19 21
             :label="item.F_Name"
20
-            :value="item.F_Code"/>
22
+            :value="item.F_Id"/>
21 23
         </el-select>
22 24
       </el-form-item>
23 25
       <el-row>

+ 2 - 2
CallCenterWeb.UI/RMYY/src/views/scheduleManagement/scheduleInfo/components/addGroupClass.vue

@@ -14,9 +14,9 @@
14 14
         <el-select v-model="ruleForm.classInf" placeholder="请选择">
15 15
           <el-option
16 16
             v-for="item in classList"
17
-            :key="item.F_Code"
17
+            :key="item.F_Id"
18 18
             :label="item.F_Name +' [ ' + item.F_InTime + ' - ' + item.F_OutTime + ' ]'"
19
-            :value="item.F_Code"/>
19
+            :value="item.F_Id"/>
20 20
         </el-select>
21 21
       </el-form-item>
22 22
       <el-form-item>

+ 3 - 0
CallCenterWeb.UI/RMYYAPP/App.vue

@@ -18,4 +18,7 @@
18 18
   page{
19 19
     background: #f0eff4;
20 20
   }
21
+ /* uni-page-head .uni-page-head__title{
22
+	  font-size: 28rpx !important;
23
+  } */
21 24
 </style>

+ 5 - 2
CallCenterWeb.UI/RMYYAPP/components/city-select/city-select.vue

@@ -3,7 +3,7 @@
3 3
 	<view class="city-select">
4 4
 		<scroll-view :scroll-top="scrollTop" scroll-y="true" class="city-select-main" id="city-select-main" :scroll-into-view="toView">
5 5
 			<!-- 预留搜索-->
6
-			<view class="city-serach" v-if="isSearch"><input @input="keyInput" :placeholder="placeholder" class="city-serach-input" /></view>
6
+			<!-- <view class="city-serach" v-if="isSearch"><input @input="keyInput" :placeholder="placeholder" class="city-serach-input" /></view> -->
7 7
 			<!-- 当前定位城市 -->
8 8
 			<view class="hot-title" v-if="activeCity && !serachCity">当前定位城市</view>
9 9
 			<view class="hot-city" v-if="activeCity && !serachCity">
@@ -50,6 +50,10 @@ export default {
50 50
 			type: String,
51 51
 			default: '请输入名字'
52 52
 		},
53
+		serachCity: {
54
+			type: String,
55
+			default: ''
56
+		},
53 57
 		//传入要排序的名称
54 58
 		formatName: {
55 59
 			type: String,
@@ -83,7 +87,6 @@ export default {
83 87
 			cityindexs: [], // 城市索引
84 88
 			activeCityIndex: '', // 当前所在的城市索引
85 89
 			handleCity: [], // 处理后的城市数据
86
-			serachCity: '', // 搜索的城市
87 90
 			cityData: []
88 91
 		};
89 92
 	},

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

@@ -1,7 +1,7 @@
1 1
 <template>
2 2
 	<view class="box">
3 3
 		<!-- 步骤条 -->
4
-		<view class="set-1">
4
+		<view class="set-1"  v-show=" showState == 'wxjl' ">
5 5
 			<view class="set-2" :key="index" v-for="(item,index) in options">
6 6
 				<text class="set2-test">{{item.F_ProcessingTime}}</text>
7 7
 				<view class="set-view">
@@ -11,14 +11,10 @@
11 11
 						<text class="setCon">{{ $mHelper.findParents(departList,item.F_MaintenanceDept) }}</text>
12 12
 					</view>
13 13
 					<view class="setTable">
14
-						<text class="setTitle">处理人:</text>
14
+						<text class="setTitle">处理人:</text>
15 15
 						<text class="setCon">{{ $mHelper.findUserName(userCodeList,item.F_Maintenancer)}}</text>
16 16
 					</view>
17 17
 					<view class="setTable">
18
-						<text class="setTitle">维修时间:</text>
19
-						<text class="setCon">{{ item.F_ProcessingTime }}</text>
20
-					</view>
21
-					<view class="setTable">
22 18
 						<text class="setTitle">处理结果:</text>
23 19
 						<text class="setCon">{{item.F_Result}}</text>
24 20
 					</view>
@@ -32,6 +28,25 @@
32 28
 				
33 29
 			</view>
34 30
 		</view>
31
+		<view class="set-1"  v-show=" showState == 'gdlc' ">
32
+			<view class="set-2 gdlc" :key="index" v-for="(item,index) in options">
33
+				<text class="set2-test">{{item.F_OperationTime}}</text>
34
+				<view class="set-view">
35
+					<!-- <view class="setTitle" style="font-size: 15px !important;margin-bottom: 10px;">工单内容</view> -->
36
+					<view class="setTable">
37
+						<text class="setTitle">操作人员:</text>
38
+						<text class="setCon">{{ item.username }}</text>
39
+					</view>
40
+					<view class="setTable">
41
+						<text class="setTitle">内&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;容:</text>
42
+						<text class="setCon">{{ item.F_LogContent}}</text>
43
+					</view>
44
+				</view>
45
+			</view>
46
+			<view class="set-2">
47
+				
48
+			</view>
49
+		</view>
35 50
 	</view>
36 51
 </template>
37 52
 
@@ -40,6 +55,7 @@
40 55
 	export default {
41 56
 		data() {
42 57
 			return {
58
+				showState: '',
43 59
 				departList: [],
44 60
 				userCodeList: [],
45 61
 				imageStyles: {
@@ -53,9 +69,11 @@
53 69
 		},
54 70
 		props:{
55 71
 			options: Array, //数据
72
+			steteName:String
56 73
 		},
57 74
 		watch:{
58 75
 			"options": function() {
76
+				this.showState = this.steteName
59 77
 				pageData.getDet((res, data) => {
60 78
 					this.departList = data
61 79
 				})
@@ -97,24 +115,25 @@
97 115
 	}
98 116
 	.set-1 {
99 117
 		margin: 30upx;
118
+		padding-left: 34upx;
100 119
 	}
101 120
 
102 121
 	.set-2 {
103 122
 		height:auto;
104 123
 		border-radius: 10upx;
105
-		width: 600upx;
124
+		width: 580upx;
106 125
 		margin-left: 90upx;
107 126
 		margin-top: 60upx;
108 127
 		position: relative;
109 128
 		.set-view{
110
-			width: 100%;
129
+			width: 101%;
111 130
 			height: auto;
112 131
 			background-color: #ffffff;
113
-			box-shadow: 0px 4px 16px 0px rgba(69, 91, 99, 0.08);
132
+			box-shadow: 0px 4px 16px 0px rgba(69, 91, 99, 0.13);
114 133
 			border-radius: 12rpx;
115 134
 			margin-top: 24rpx;
116 135
 			margin-left: -10px;
117
-			padding: 5px 0px 5px 12px;
136
+			padding: 5px 2px 5px 10px;
118 137
 			.setTitle{
119 138
 				font-weight: 700;
120 139
 				font-style: normal;
@@ -124,6 +143,7 @@
124 143
 			.setCon{
125 144
 				color: #525252;
126 145
 				font-size: 13px;
146
+				 word-break: break-all;
127 147
 			}
128 148
 			.setTable{
129 149
 				margin-bottom: 10px;
@@ -138,19 +158,19 @@
138 158
 		border-style: dotted;
139 159
 		border-left: 1px ;/* 横线颜色 */
140 160
 		border-color: #78849e;
141
-		left: -80upx;/* 定位 距离*/
161
+		left: -70upx;/* 定位 距离*/
142 162
 		height: 90%;/* 高度 */
143 163
 		position: absolute;/* 定位 */
144 164
 	}
145 165
 
146 166
 	.set-2::before {
147 167
 		content: "";/* 必须存在如果没有图标就留空 */
148
-		background: url(../../static/rate6_1.png) no-repeat;
149
-		background-size: 66rpx 66rpx;
150
-		width: 66rpx;
151
-		height: 66rpx;
168
+		background: url(../../static/htz-rate/point.png) no-repeat;
169
+		background-size: 100% 100%;
170
+		width: 40rpx;
171
+		height: 40rpx;
152 172
 		position: absolute;/* 定位 */
153
-		left: -108upx;/* 移动到左边 */
173
+		left: -86upx;/* 移动到左边 */
154 174
 		font-weight: bold;/* 图标样式在复制的图标文件中复制相对应的图标样式必须存在 */
155 175
 		font-family: "iconfont" !important;/* 图标样式在复制的图标文件中复制相对应的图标样式必须存在 */
156 176
 		font-size: 54upx;/* 图标大小 */
@@ -158,6 +178,9 @@
158 178
 		-webkit-font-smoothing: antialiased;/* 图标样式在复制的图标文件中复制相对应的图标样式必须存在 */
159 179
 		-moz-osx-font-smoothing: grayscale;/* 图标样式在复制的图标文件中复制相对应的图标样式必须存在 */
160 180
 	}
181
+	.gdlc::after {
182
+		top: 30%;
183
+	}
161 184
 
162 185
 
163 186
 

+ 6 - 3
CallCenterWeb.UI/RMYYAPP/manifest.json

@@ -18,9 +18,9 @@
18 18
         },
19 19
         /* 模块配置 */
20 20
         "modules" : {
21
-            "Push" : {},
22 21
             "LivePusher" : {},
23
-            "VideoPlayer" : {}
22
+            "VideoPlayer" : {},
23
+            "Messaging" : {}
24 24
         },
25 25
         /* 应用发布信息 */
26 26
         "distribute" : {
@@ -42,10 +42,13 @@
42 42
                     "<uses-permission android:name=\"android.permission.MOUNT_UNMOUNT_FILESYSTEMS\"/>",
43 43
                     "<uses-permission android:name=\"android.permission.READ_LOGS\"/>",
44 44
                     "<uses-permission android:name=\"android.permission.READ_PHONE_STATE\"/>",
45
+                    "<uses-permission android:name=\"android.permission.READ_SMS\"/>",
45 46
                     "<uses-permission android:name=\"android.permission.RECORD_AUDIO\"/>",
47
+                    "<uses-permission android:name=\"android.permission.SEND_SMS\"/>",
46 48
                     "<uses-permission android:name=\"android.permission.VIBRATE\"/>",
47 49
                     "<uses-permission android:name=\"android.permission.WAKE_LOCK\"/>",
48
-                    "<uses-permission android:name=\"android.permission.WRITE_SETTINGS\"/>"
50
+                    "<uses-permission android:name=\"android.permission.WRITE_SETTINGS\"/>",
51
+                    "<uses-permission android:name=\"android.permission.WRITE_SMS\"/>"
49 52
                 ]
50 53
             },
51 54
             /* ios打包配置 */

+ 4 - 2
CallCenterWeb.UI/RMYYAPP/pages.json

@@ -3,7 +3,9 @@
3 3
 		{
4 4
 			"path": "pages/myTask/myTask",
5 5
 			"style": {
6
-				"navigationBarTitleText": "我的任务"
6
+				"app-plus": {
7
+				  "titleNView": false //禁用原生导航栏  
8
+				} 
7 9
 			}
8 10
 		},
9 11
 		{
@@ -123,7 +125,7 @@
123 125
 		"navigationBarTextStyle": "white",
124 126
 		"navigationBarTitleText": "全局",
125 127
 		"navigationBarBackgroundColor": "#007aff",
126
-		"backgroundColor": "#007aff"
128
+		"backgroundColor": "#007aff"  
127 129
 	},
128 130
 	"tabBar": {
129 131
 		"color": "#7e837d",

+ 38 - 13
CallCenterWeb.UI/RMYYAPP/pages/adressBook/adressBook.vue

@@ -1,14 +1,15 @@
1 1
 <template>
2 2
 	<view class="container">
3
-		
4
-		<uni-data-picker placeholder="请选择"
5
-		:localdata="dataTree" 
6
-		v-model="classes"
7
-		@change="onchange">
8
-		</uni-data-picker>
9
-		
3
+		<view v-if="isSearch" style="background-color: #fff;">
4
+			<uni-search-bar :focus="true" v-model="serachCity" placeholder="请输入姓名">
5
+			</uni-search-bar>
6
+			<uni-data-picker placeholder="请选择部门" ref="onpicker" :localdata="dataTree" v-model="deptId" @nodeclick="deptNodeclick" @popupclosed="deptclosed" style="width: 96%;margin: 0 auto;height: 50px;">
7
+			</uni-data-picker>
8
+			
9
+		</view>	
10 10
 		<city-select 
11 11
 		@cityClick="cityClick" 
12
+		:serachCity = "serachCity"
12 13
 		:formatName="formatName"
13 14
 		:obtainCitys="obtainCitys" 
14 15
 		:isSearch="true" 
@@ -21,15 +22,18 @@
21 22
 <script>
22 23
 	import {filterTreeDatas,filterTreatData} from '@/utils/dataTreating.js'
23 24
 	import citySelect from '@/components/city-select/city-select.vue'
25
+	import pageData from "@/pages/myTask/repairList/addRepair/pageData.js"
24 26
 	export default {
25 27
 		components: {
26 28
 			citySelect
27 29
 		},
28 30
 		data() {
29 31
 			return {
30
-				classes: '1-0',
32
+				serachCity: '',
33
+				isSearch: 'true',
31 34
 				dataTree: [],
32 35
 				deptId:'',
36
+				depart: '',
33 37
 				formatName:'',
34 38
 				//显示的城市数据
35 39
 				obtainCitys: []
@@ -37,15 +41,28 @@
37 41
 		},
38 42
 		onLoad() {
39 43
 			this.getDet()
44
+			pageData.getDet((res) => {
45
+				this.dataTree = res
46
+			})
47
+			
40 48
 			this.getAdressBook(this.deptId)
41 49
 		},
50
+		watch: {
51
+			deptId:function() {
52
+				if(this.deptId == '') {
53
+					this.getAdressBook(this.deptId)
54
+				}
55
+			}
56
+		},
42 57
 		methods: {
43
-			onchange(e) {
44
-				if (e.detail.value && e.detail.value.length) {
45
-					this.deptId = e.detail.value[e.detail.value.length-1].value.split('_')[1]
46
-				}else{
47
-					this.deptId =''
58
+			deptNodeclick(e) {
59
+				if(e) {
60
+					this.depart = e.value
48 61
 				}
62
+			},
63
+			deptclosed() {
64
+				console.log(this.$refs.onpicker.clear())
65
+				this.deptId = this.depart
49 66
 				this.getAdressBook(this.deptId)
50 67
 			},
51 68
 			cityClick(item) {
@@ -92,4 +109,12 @@
92 109
 	.uniPicker{
93 110
 		background-color: #fff;
94 111
 	}
112
+	/deep/ .input-value-border[data-v-3ed22fe0]{
113
+		border: none !important;
114
+		background-color: rgb(248, 248, 248);
115
+	}
116
+	/deep/ .placeholder[data-v-3ed22fe0]{
117
+		line-height: 42px !important;
118
+		height: 42px !important;
119
+	}
95 120
 </style>

+ 8 - 5
CallCenterWeb.UI/RMYYAPP/pages/components/orderSelect/orderSelect.vue

@@ -1,5 +1,5 @@
1 1
 <template>
2
-	<uni-data-picker class="uni_item" placeholder="请选择工单类别" :localdata="dataOrderType" v-model="WorkOrderCategory" @change="onchangeOrderType">
2
+	<uni-data-picker class="uni_item" placeholder="请选择工单类别" :localdata="dataOrderType" v-model="WorkOrderCategory"  @nodeclick="nodeclick" @popupclosed="popupclosed">
3 3
 	</uni-data-picker>
4 4
 </template>
5 5
 
@@ -8,6 +8,7 @@
8 8
 	export default {
9 9
 		data() {
10 10
 			return {
11
+				order: '',
11 12
 				WorkOrderCategory: '',
12 13
 				dataOrderType: []
13 14
 			}
@@ -49,11 +50,13 @@
49 50
 					}
50 51
 				}
51 52
 			},
52
-			onchangeOrderType(data){
53
-				console.log(data)
54
-				const val = data.detail.value[data.detail.value.length - 1].value
55
-				this.$emit('post-select-data',val)
53
+			nodeclick(data) {
54
+				this.order = data.value
56 55
 			},
56
+			popupclosed() {
57
+				this.WorkOrderCategory = this.order
58
+				this.$emit('post-select-data',this.order)
59
+			}
57 60
 		}
58 61
 	}
59 62
 </script>

+ 36 - 12
CallCenterWeb.UI/RMYYAPP/pages/components/upload/upload.vue

@@ -5,6 +5,7 @@
5 5
 </template>
6 6
 
7 7
 <script>
8
+	import indexConfig from '@/config/index.config';
8 9
 	export default {
9 10
 		data() {
10 11
 			return {
@@ -22,6 +23,7 @@
22 23
 		},
23 24
 		watch: {
24 25
 			'imgUrlList': function(){
26
+				console.log(this.imgUrlList)
25 27
 				this.imgUrlList.forEach((v,n) => {
26 28
 					this.imgIdList.push(v.id)
27 29
 					this.filePathsList.push({
@@ -47,23 +49,45 @@
47 49
 				this.filePathsList.push({
48 50
 					url: tempFilePaths
49 51
 				})
50
-				this.$http.upload("/WorkOrder/UploadFile",{
52
+				uni.uploadFile({
53
+					header: {
54
+						Authorization: uni.getStorageSync('Admin-Token')
55
+					},
56
+					url: indexConfig.baseUrl + "/FaultRepair/UploadFile",
51 57
 					filePath: tempFilePaths,
52 58
 					name: 'file',
53
-					formData: {
54
-						token: uni.getStorageSync("token")
55
-					},
56
-				}).then((res)=>{
57
-					if(res.message.toLowerCase()==="成功"){
59
+					success: (res) => {
60
+						console.log(11)
58 61
 						uni.hideLoading()
59
-						console.log(this.imgUrlList)
60
-						
61
-						this.imgIdList.push(res.data[0].F_FileId)
62
+						const data = JSON.parse(res.data)
63
+						this.imgIdList.push(data.data[0].F_FileId)
62 64
 						this.getImgData(this.imgIdList)
65
+					},
66
+					fail:(erro) => {
67
+						
63 68
 					}
64
-				}).catch((e) => {
65
-			      console.log(e);
66
-			  })
69
+				})
70
+				// console.log(uni.getStorageInfoSync('Admin-Token'))
71
+				// this.$http.upload("FaultRepair/UploadFile",{
72
+				// 	filePath: tempFilePaths,
73
+				// 	name: 'file',
74
+				// 	header: {
75
+				// 		Authorization: localStorage.getItem('Admin-Token')
76
+				// 	}
77
+				// 	// formData: {
78
+				// 	// 	token: localStorage.getItem('Admin-Token')
79
+				// 	// },
80
+				// }).then((res)=>{
81
+				// 	if(res.message.toLowerCase()==="成功"){
82
+				// 		uni.hideLoading()
83
+				// 		console.log(this.imgUrlList)
84
+						
85
+				// 		this.imgIdList.push(res.data[0].F_FileId)
86
+				// 		this.getImgData(this.imgIdList)
87
+				// 	}
88
+				// }).catch((e) => {
89
+			 //      console.log(e);
90
+			 //  })
67 91
 			},
68 92
 			getImgData(data){
69 93
 				this.$emit('post-string-data',data)

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

@@ -66,10 +66,11 @@
66 66
 				}
67 67
 				this.$mStore.dispatch("Login", params).then((e)=>{
68 68
 					this.isRotate = false
69
-					console.log(e)
70 69
 					this.$mStore.dispatch("GetInfo").then((e)=>{
71 70
 						uni.setStorageSync('roleCode', e.data.Role.F_RoleCode)
72 71
 						uni.setStorageSync('userName', e.data.User.F_UserName)
72
+						uni.setStorageSync('deptName', e.data.Dept.F_DeptId)
73
+						console.log(uni.getStorageSync("deptName"))
73 74
 						const code = uni.getStorageSync("roleCode");
74 75
 						if(code == 'GLY' || code == 'WXY' || code == 'BXY' || code == 'DDZX') {
75 76
 							uni.switchTab({

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

@@ -10,9 +10,9 @@
10 10
 		</view>
11 11
 
12 12
 		<view class="orderManage">
13
-			<view class="orderTit">
14
-				<!-- <image src="/static/orderManage.png"></image> -->
15
-				<text>工单模块</text>
13
+			<view class="orderTit" style="padding-left: 15px;color: rgb(126, 131, 125);">
14
+				<text style="width: 4px;background-color: rgb(26, 188, 156);height: 20px;margin-top: 10px;margin-right: 5px;"></text>
15
+				<text style="font-size: 14px;">工单模块</text>
16 16
 			</view>
17 17
 
18 18
 			<view class="orderCon">

+ 7 - 0
CallCenterWeb.UI/RMYYAPP/pages/myTask/orderList/orderList.vue

@@ -224,6 +224,13 @@
224 224
 				background-color: #ffffff;
225 225
 				margin-bottom: 10px;
226 226
 				padding-bottom: 10px;
227
+				
228
+				.textLeft{
229
+					width: 50%;
230
+					white-space: nowrap;
231
+					overflow: hidden;
232
+					text-overflow: ellipsis;
233
+				}
227 234
 			}
228 235
 		}
229 236
 	}

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

@@ -12,7 +12,7 @@
12 12
 					<uni-easyinput type="textarea" v-model="valiFormData.Content" placeholder="请输入报修内容" />
13 13
 				</uni-forms-item>
14 14
 				<uni-forms-item label="报修科室" required name="ApplicationDept">
15
-					<uni-data-picker placeholder="请选择报修科室" :localdata="deptDataTree" v-model="valiFormData.ApplicationDept" @change="onchangeDept">
15
+					<uni-data-picker placeholder="请选择报修科室" :localdata="deptDataTree" v-model="valiFormData.ApplicationDept" @nodeclick="deptNodeclick" @popupclosed="deptclosed">
16 16
 					</uni-data-picker>
17 17
 				</uni-forms-item>
18 18
 				<uni-forms-item label="报修人" required name="Applicant">
@@ -32,16 +32,18 @@
32 32
 						<upload @post-string-data="getImgData" :imgUrlList="imgUrlList"></upload>
33 33
 					</view>
34 34
 				</uni-forms-item>
35
-				<uni-forms-item label="下步流程"  name="IsEnd">
36
-					<uni-data-checkbox v-model="valiFormData.IsEnd" :localdata="stepData"></uni-data-checkbox>
37
-				</uni-forms-item>
38
-				<uni-forms-item label="指派部门"  name="MaintenanceDept" v-show="valiFormData.IsEnd === 0">
39
-					<uni-data-picker placeholder="请选择指派科室" :localdata="assignedDepartData" v-model="valiFormData.MaintenanceDept" @change="onchangeMaintenanceDept">
40
-					</uni-data-picker>
41
-				</uni-forms-item>
42
-				<uni-forms-item label="指派人"  name="Maintenancer" v-show="valiFormData.IsEnd === 0">
43
-					<uni-data-select v-model="valiFormData.Maintenancer" :localdata="MaintenancerData" @change="changeMaintenancer" />
44
-				</uni-forms-item>
35
+				<div v-show="isShowIsEnd">
36
+					<uni-forms-item label="下步流程"  name="IsEnd">
37
+						<uni-data-checkbox v-model="valiFormData.IsEnd" :localdata="stepData"></uni-data-checkbox>
38
+					</uni-forms-item>
39
+					<uni-forms-item label="指派部门"  name="MaintenanceDept" v-show="valiFormData.IsEnd === 0" >
40
+						<uni-data-picker placeholder="请选择指派科室" :localdata="assignedDepartData" :readonly="readonly" v-model="valiFormData.MaintenanceDept" @nodeclick="maintenanceNodeclick" @popupclosed="maintenanceclosed">
41
+						</uni-data-picker>
42
+					</uni-forms-item>
43
+					<uni-forms-item label="指派人"  name="Maintenancer" v-show="valiFormData.IsEnd === 0">
44
+						<uni-data-select v-model="valiFormData.Maintenancer" :localdata="MaintenancerData" @change="changeMaintenancer" />
45
+					</uni-forms-item>
46
+				</div>
45 47
 			</uni-forms>
46 48
 			<view class="btnClass">
47 49
 				<button type="primary" @click="submit('valiForm')">提交工单</button>
@@ -65,6 +67,8 @@
65 67
 		},
66 68
 		data() {
67 69
 			return {
70
+				isShowIsEnd: false,
71
+				readonly: false,
68 72
 				// 校验表单数据
69 73
 				valiFormData: {
70 74
 					WorkOrderCategory: '', //工单类别
@@ -74,12 +78,14 @@
74 78
 					Applicantsphone: '', //申请电话
75 79
 					Phone: '', //联系电话
76 80
 					PlaceOfRepair: '', // 报修地点
77
-					IsEnd: 1,
81
+					IsEnd: 0,
78 82
 					File: '', //	文件
79 83
 					MaintenanceDept: '', //	维修部门
80 84
 					Maintenancer: '' //	维修人
81 85
 				},
82 86
 				workorderid: '', // 编辑的工单id
87
+				departRepair: '',
88
+				departMain: '',
83 89
 				stepData: pageData.stepData, // 下部流程数据
84 90
 				imgUrlList: [], // 附件数据
85 91
 				imgIdList: [], //上传附件id
@@ -90,6 +96,7 @@
90 96
 				ApplicantData: [], // 获取人员数据
91 97
 				assignedDepartData: [], //指派部门数据
92 98
 				MaintenancerData: [], //指派人数据
99
+				orderApplicantData: [],
93 100
 				// 校验规则
94 101
 				rules: {
95 102
 					WorkOrderCategory: {
@@ -132,6 +139,17 @@
132 139
 			}
133 140
 		},
134 141
 		onLoad(option) {
142
+			// 维修员下步流程指派的时候只能指派给自己部门
143
+			if(uni.getStorageSync("roleCode") == 'GLY' || uni.getStorageSync("roleCode") == 'WXY') {
144
+				this.isShowIsEnd = true
145
+				if(uni.getStorageSync("roleCode") == 'WXY') {
146
+					this.readonly = true
147
+					this.valiFormData.MaintenanceDept = String(uni.getStorageSync("deptName"))
148
+					pageData.getApplicant(uni.getStorageSync("deptName"), (res) => {
149
+						this.MaintenancerData = res
150
+					})
151
+				}
152
+			}
135 153
 			this.workorderid = option.wid
136 154
 			// 部门数据
137 155
 			pageData.getDet((res,data) => {
@@ -142,42 +160,50 @@
142 160
 			pageData.getDet((res) => {
143 161
 				this.assignedDepartData = res
144 162
 			})
145
-			this.getDetail()
163
+			if(this.workorderid) {
164
+				this.getDetail()
165
+			}
146 166
 		},
147 167
 		methods: {
148 168
 			// 工单类别
149 169
 			postSelectData(e) {
150
-				console.log(e)
151
-				this.valiFormData.WorkOrderCategory = e.split('_')[1]
170
+				this.valiFormData.WorkOrderCategory = e
152 171
 			},
153
-			// 报修科室
154
-			onchangeDept(e) {
155
-				if (e.detail.value && e.detail.value.length) {
156
-					this.valiFormData.ApplicationDept = e.detail.value[e.detail.value.length - 1].value
157
-				} else {
158
-					this.valiFormData.ApplicationDept = ''
172
+			// 申请部门
173
+			deptNodeclick(e) {
174
+				if(e) {
175
+					this.departRepair = e.value
159 176
 				}
160
-				
161
-				pageData.getApplicant(this.valiFormData.ApplicationDept, (res) => {
177
+				pageData.getApplicant(e.value, (res,data) => {
162 178
 					this.ApplicantData = res
179
+					this.orderApplicantData = data
163 180
 				})
164 181
 			},
182
+			deptclosed() {
183
+				this.valiFormData.ApplicationDept = this.departRepair
184
+			},
165 185
 			//指派部门
166
-			onchangeMaintenanceDept(e) {
167
-				
168
-				if (e.detail.value && e.detail.value.length) {
169
-					this.valiFormData.MaintenanceDept = e.detail.value[e.detail.value.length - 1].value.split('_')[1]
170
-				} else {
171
-					this.valiFormData.MaintenanceDept = ''
186
+			maintenanceNodeclick(e) {
187
+				if(e) {
188
+					this.departMain = e.value
189
+					pageData.getApplicant(e.value, (res) => {
190
+						this.MaintenancerData = res
191
+					})
172 192
 				}
173
-				pageData.getApplicant(this.valiFormData.MaintenanceDept, (res) => {
174
-					this.MaintenancerData = res
175
-				})
193
+			},
194
+			maintenanceclosed() {
195
+				this.valiFormData.MaintenanceDept = this.departMain
176 196
 			},
177 197
 			//报修人
178 198
 			changeApplicant(e) {
179
-				console.log(e)
180 199
 				this.valiFormData.Applicant = e
200
+				const user = this.orderApplicantData.find((o) => {
201
+					return o.usercode === e.toString()
202
+				})
203
+				if(user) {
204
+					this.valiFormData.Applicantsphone = user.usertelphone
205
+					this.valiFormData.Phone = user.usertelphone
206
+				}
181 207
 			},
182 208
 			//指派人
183 209
 			changeMaintenancer(e) {
@@ -227,8 +253,8 @@
227 253
 					if (response.state.toLowerCase() === "success") {
228 254
 						this.valiFormData.WorkOrderCategory =  response.data[0].F_WorkOrderCategory // 工单类别
229 255
 						this.valiFormData.Content =  response.data[0].F_Content // 工单内容
230
-						this.valiFormData.ApplicationDept =  response.data[0].F_ApplicationDept.trim() // 申请部门
231
-						if(this.valiFormData.ApplicationDept) {
256
+						if(response.data[0].F_ApplicationDept) {
257
+							this.valiFormData.ApplicationDept =  response.data[0].F_ApplicationDept.trim() // 申请部门
232 258
 							pageData.getApplicant(this.valiFormData.ApplicationDept, (res) => {
233 259
 								this.ApplicantData = res
234 260
 							})
@@ -239,10 +265,10 @@
239 265
 						this.valiFormData.PlaceOfRepair =  response.data[0].F_PlaceOfRepair // 报修地点
240 266
 						this.valiFormData.IsEnd =  0 // 是否完结
241 267
 						this.valiFormData.File =  response.data[0].F_File // 文件
242
-						this.valiFormData.MaintenanceDept =  response.data[0].F_MaintenanceDept.trim() //	维修部门
243
-						if(this.valiFormData.MaintenanceDept) {
268
+						if(response.data[0].F_MaintenanceDept) {
269
+							this.valiFormData.MaintenanceDept =  response.data[0].F_MaintenanceDept//	维修部门
244 270
 							pageData.getApplicant(this.valiFormData.MaintenanceDept, (res) => {
245
-								this.ApplicantData = res
271
+								this.MaintenancerData = res
246 272
 							})
247 273
 							this.valiFormData.Maintenancer =  response.data[0].F_Maintenancer //指派人
248 274
 						}

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

@@ -55,7 +55,7 @@ export default {
55 55
 		http.get("WorkOrderBase/GetPerson",params).then((res)=>{
56 56
 			if(res.state.toLowerCase() ==="success"){
57 57
 				ApplicantData = filterSelectData(res.rows,'username','usercode')
58
-				fn(ApplicantData)
58
+				fn(ApplicantData,res.rows)
59 59
 			}
60 60
 		})
61 61
 	},

+ 8 - 6
CallCenterWeb.UI/RMYYAPP/pages/myTask/repairList/repairDetail/tranferDetail/tranferDetail.vue

@@ -4,7 +4,7 @@
4 4
 			<!-- 基础表单校验 -->
5 5
 			<uni-forms ref="valiForm" :rules="rules" >
6 6
 				<uni-forms-item label="指派部门" required name="tranformDepart">
7
-					<uni-data-picker placeholder="请选择指派科室" :localdata="tranformDepartList" v-model="tranformDepart" @change="tranformDepartChange"></uni-data-picker>
7
+					<uni-data-picker placeholder="请选择指派科室" :localdata="tranformDepartList" v-model="tranformDepart" @nodeclick="tranformDepartChange" @popupclosed="deptclosed"></uni-data-picker>
8 8
 				</uni-forms-item>
9 9
 				<uni-forms-item label="指派人"  name="tranforPeopleList">
10 10
 					<uni-data-select v-model="tranforPeople" :localdata="tranforPeopleList" @change="tranforPeopleChange"/>
@@ -24,6 +24,7 @@
24 24
 		data() {
25 25
 			return {
26 26
 				workorderid: '',
27
+				departRepair: '',
27 28
 				tranformDepartList: [], // 指派部门
28 29
 				tranformDepart: '', // 指派部门
29 30
 				tranforPeopleList: [], // 指派人
@@ -47,15 +48,16 @@
47 48
 		},
48 49
 		methods: {
49 50
 			tranformDepartChange(e) {
50
-				if (e.detail.value && e.detail.value.length) {
51
-					this.tranformDepart = e.detail.value[e.detail.value.length - 1].value.split('_')[1]
52
-				} else {
53
-					this.tranformDepart = ''
51
+				if(e) {
52
+					this.departRepair = e.value
54 53
 				}
55
-				pageData.getApplicant(this.tranformDepart, (res) => {
54
+				pageData.getApplicant(e.value, (res) => {
56 55
 					this.tranforPeopleList = res
57 56
 				})
58 57
 			},
58
+			deptclosed() {
59
+				this.tranformDepart = this.departRepair
60
+			},
59 61
 			tranforPeopleChange(e) {
60 62
 				this.tranforPeople = e
61 63
 			},

+ 9 - 2
CallCenterWeb.UI/RMYYAPP/pages/myTask/repairList/repairList.vue

@@ -40,7 +40,7 @@
40 40
 			<uni-load-more :status="loadMoreState"></uni-load-more>
41 41
 		</view>
42 42
 
43
-		<uni-fab ref="fab" @trigger="trigger" @fabClick="fabClick" />
43
+		<uni-fab ref="fab"  @fabClick="fabClick" />
44 44
 	</view>
45 45
 </template>
46 46
 
@@ -228,11 +228,18 @@
228 228
 
229 229
 		.tableWrapper {
230 230
 			margin: 0px 0 0 0;
231
-
231
+			
232 232
 			.tableList {
233 233
 				background-color: #ffffff;
234 234
 				margin-bottom: 10px;
235 235
 				padding-bottom: 10px;
236
+				
237
+				.textLeft{
238
+					width: 50%;
239
+					white-space: nowrap;
240
+					overflow: hidden;
241
+					text-overflow: ellipsis;
242
+				}
236 243
 			}
237 244
 		}
238 245
 	}

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

@@ -146,12 +146,11 @@
146 146
 					title: '加载中'
147 147
 				})
148 148
 				// 关闭窗口后,恢复默认内容
149
-				this.$refs.inputDialog.close()
150 149
 				if (!this.cbreason) {
151 150
 					this.$mHelper.toast(this.auditPlaceholder)
152 151
 					return
153 152
 				}
154
-				 if (this.auditPlaceholder === '请输入退回原因') {
153
+				if (this.auditPlaceholder === '请输入退回原因') {
155 154
 					const addParams = {BackReason: this.cbreason,WorkOrderCode: this.wid}
156 155
 					this.workOrderContent("FaultRepair/BackWorkOrder",addParams)
157 156
 				}else if(this.auditPlaceholder === 'show') {
@@ -168,6 +167,7 @@
168 167
 					const addParams = {ReturnReason: this.cbreason,WorkOrderCode: this.wid}
169 168
 					this.workOrderContent("FaultRepair/ReturnWorkOrder ",addParams)
170 169
 				}
170
+				this.$refs.inputDialog.close()
171 171
 			},
172 172
 			// 确认框方法,带输入框
173 173
 			workOrderContent(url,addParams) {

+ 181 - 137
CallCenterWeb.UI/RMYYAPP/pages/myTask/workOrderDetail/workOrderDetail.vue

@@ -21,20 +21,12 @@
21 21
 				<text class="contentText">{{ detailContentData.F_PlaceOfRepair }}</text>
22 22
 			</view>
23 23
 			<view class="contentTable">
24
-				<text class="contentTitle">报修人:</text>
24
+				<text class="contentTitle">报修人:</text>
25 25
 				<text class="contentText">{{ detailContentData.applicantname }}</text>
26 26
 			</view>
27 27
 			<view class="contentTable">
28
-				<text class="contentTitle">报修内容:</text>
29
-				<text class="contentText">{{ detailContentData.F_Content }}</text>
30
-			</view>
31
-			<view class="contentTable">
32
-				<text class="contentTitle">图片:</text>
33
-
34
-				<view class="contentText">
35
-					<uni-file-picker readonly :value="getFileData(detailContentData.FileUrl)" :imageStyles="imageStyles"
36
-						file-mediatype="image" />
37
-				</view>
28
+				<view class="contentTitle" style="float: left;width: 70px;">报修内容:</view>
29
+				<view class="contentText" style="margin-left: 70px;">{{ detailContentData.F_Content }}</view>
38 30
 			</view>
39 31
 			<view class="contentTable">
40 32
 				<text class="contentTitle">维修科室:</text>
@@ -42,7 +34,7 @@
42 34
 					class="contentText">{{ $mHelper.findParents(departList,detailContentData.F_MaintenanceDept) }}</text>
43 35
 			</view>
44 36
 			<view class="contentTable">
45
-				<text class="contentTitle">维修员:</text>
37
+				<text class="contentTitle">维修员:</text>
46 38
 				<text
47 39
 					class="contentText">{{ $mHelper.findUserName(userCodeList,detailContentData.F_Maintenancer) }}</text>
48 40
 			</view>
@@ -54,13 +46,21 @@
54 46
 				<text class="contentTitle">返修内容:</text>
55 47
 				<text class="contentText">{{ backCon }}</text>
56 48
 			</view>
49
+			<view class="contentTable">
50
+				<text class="contentTitle">图&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;片:</text>
51
+			
52
+				<view class="contentText" style="margin-top: 10px;">
53
+					<uni-file-picker readonly :value="getFileData(detailContentData.FileUrl)" :imageStyles="imageStyles"
54
+						file-mediatype="image" />
55
+				</view>
56
+			</view>
57 57
 		</view>
58 58
 		<yiLine>
59 59
 			<view></view>
60 60
 		</yiLine>
61 61
 
62 62
 
63
-		<view class="operationButton">
63
+		<view class="operationButton" v-show="orderButtonData.length != 0">
64 64
 			<view>
65 65
 				<text class="operationButtonTitle">操作</text>
66 66
 				<buttonsComponents class="buttons" :order-button-data="orderButtonData" :wid="workorderid"
@@ -72,118 +72,113 @@
72 72
 		<yiLine>
73 73
 			<view></view>
74 74
 		</yiLine>
75
-		<view class="segmentedControlWrapper">
76
-			<uni-segmented-control :current="segmenter.current" :values="segmenter.items"
77
-				@clickItem="onClickSegmentedControl" styleType="text" activeColor="#007aff" />
78
-		</view>
79
-		<view class="handleProcess">
80
-			<view v-show="current == 0">
81
-				<view class="detailContent" v-for="item in handleProcessListData" :key=item.F_Id>
82
-					<view class="contentTable">
83
-						<text class="contentTitle">处理部门:</text>
84
-						<text class="contentText">{{ $mHelper.findParents(departList,item.F_MaintenanceDept) }}</text>
85
-					</view>
86
-					<view class="contentTable">
87
-						<text class="contentTitle">处理人:</text>
88
-						<text
89
-							class="contentText">{{ $mHelper.findUserName(userCodeList,detailContentData.F_Maintenancer) }}</text>
90
-					</view>
91
-					<view class="contentTable">
92
-						<text class="contentTitle">维修时间:</text>
93
-						<text class="contentText">{{ item.F_ProcessingTime }}</text>
94
-					</view>
95
-					<view class="contentTable">
96
-						<text class="contentTitle">处理结果:</text>
97
-						<text class="contentText">{{ item.F_Result }}</text>
98
-					</view>
99
-					<view class="contentTable">
100
-						<text class="contentTitle">附件:</text>
101
-						<uni-file-picker readonly :value="getFileData(item.FileUrl)" :imageStyles="imageStyles"
102
-							file-mediatype="image" />
103
-					</view>
104
-				</view>
105
-				<view class="contentTable" v-show="handleProcessListData.length == 0">
106
-					暂无记录
107
-				</view>
75
+		<view style="background-color: #fff;padding: 17px;">
76
+			<view class="segmentedControlWrapper">
77
+				<uni-segmented-control :current="segmenter.current" :values="segmenter.items"
78
+					@clickItem="onClickSegmentedControl" styleType="text" activeColor="#007aff" />
108 79
 			</view>
109
-			<view v-show="current == 1">
110
-				<view class="detailContent" v-for="item in cooperationDate" :key=item.F_Id>
111
-					<view class="contentTable">
112
-						<text class="contentTitle">工单号:</text>
113
-						<text class="contentText">{{ item.F_WorkOrderCode }}</text>
114
-					</view>
115
-					<view class="contentTable">
116
-						<text class="contentTitle">内容:</text>
117
-						<text class="contentText">{{ item.F_Content }}</text>
118
-					</view>
119
-					<view class="contentTable">
120
-						<text class="contentTitle">协作方式:</text>
121
-						<text class="contentText">{{ item.Mode }}</text>
80
+			<view class="handleProcess">
81
+				<view v-show="current == 0">
82
+					<view class="detailContent showType" v-for="item in handleProcessListData" :key=item.F_Id>
83
+						<view class="contentTable">
84
+							<text class="contentTitle">处理部门:</text>
85
+							<text class="contentText">{{ $mHelper.findParents(departList,item.F_MaintenanceDept) }}</text>
86
+						</view>
87
+						<view class="contentTable">
88
+							<text class="contentTitle">处理人员:</text>
89
+							<text
90
+								class="contentText">{{ $mHelper.findUserName(userCodeList,detailContentData.F_Maintenancer) }}</text>
91
+						</view>
92
+						<view class="contentTable">
93
+							<text class="contentTitle">维修时间:</text>
94
+							<text class="contentText">{{ item.F_ProcessingTime }}</text>
95
+						</view>
96
+						<view class="contentTable">
97
+							<text class="contentTitle">处理结果:</text>
98
+							<text class="contentText">{{ item.F_Result }}</text>
99
+						</view>
100
+						<view class="contentTable">
101
+							<text class="contentTitle">完成状态:</text>
102
+							<text class="contentText">{{ item.dealtype }}</text>
103
+						</view>
104
+						<view class="contentTable">
105
+							<text class="contentTitle">附&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;件:</text>
106
+							<uni-file-picker readonly :value="getFileData(item.FileUrl)" :imageStyles="imageStyles"
107
+								file-mediatype="image" />
108
+						</view>
122 109
 					</view>
123
-					<view class="contentTable">
124
-						<text class="contentTitle">状态:</text>
125
-						<text class="contentText">{{ item.StateName }}</text>
110
+					
111
+					<view class="contentTable noCon" v-show="handleProcessListData.length == 0">
112
+						暂时无相关记录
126 113
 					</view>
127
-					<view class="contentTable">
128
-						<text class="contentTitle">接单部门:</text>
129
-						<text class="contentText">{{ $mHelper.findParents(departList,item.F_MaintenanceDept)}}</text>
130
-					</view>
131
-					<view class="contentTable">
132
-						<text class="contentTitle">时间:</text>
133
-						<text class="contentText">{{ item.F_CreateTime }}</text>
134
-					</view>
135
-				</view>
136
-				<view class="contentTable" v-show="cooperationDate.length == 0">
137
-					暂无记录
138 114
 				</view>
139
-			</view>
140
-			<view v-show="current == 2">
141
-				<view class="detailContent" v-for="item in orderProcessDate" :key=item.F_Id>
142
-					<view class="contentTable">
143
-						<text class="contentTitle">操作人:</text>
144
-						<text class="contentText">{{ item.username }}</text>
145
-					</view>
146
-					<view class="contentTable">
147
-						<text class="contentTitle">内容:</text>
148
-						<text class="contentText">{{ item.F_LogContent }}</text>
115
+				<view v-show="current == 1">
116
+					<view class="detailContent showType" v-for="item in cooperationDate" :key=item.F_Id >
117
+						<view class="contentTable">
118
+							<text class="contentTitle">工单编号:</text>
119
+							<text class="contentText">{{ item.F_WorkOrderCode }}</text>
120
+						</view>
121
+						<view class="contentTable">
122
+							<text class="contentTitle">协作方式:</text>
123
+							<text class="contentText">{{ item.Mode }}</text>
124
+						</view>
125
+						<view class="contentTable">
126
+							<text class="contentTitle">接单部门:</text>
127
+							<text class="contentText">{{ $mHelper.findParents(departList,item.F_MaintenanceDept)}}</text>
128
+						</view>
129
+						<view class="contentTable">
130
+							<text class="contentTitle">状&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;态:</text>
131
+							<text class="contentText">{{ item.StateName }}</text>
132
+						</view>
133
+						<view class="contentTable">
134
+							<text class="contentTitle">内&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;容:</text>
135
+							<text class="contentText">{{ item.F_Content }}</text>
136
+						</view>
137
+						<view class="contentTable">
138
+							<text class="contentTitle">创建时间:</text>
139
+							<text class="contentText">{{ item.F_CreateTime }}</text>
140
+						</view>
149 141
 					</view>
150
-					<view class="contentTable">
151
-						<text class="contentTitle">时间:</text>
152
-						<text class="contentText">{{ item.F_OperationTime }}</text>
142
+					<view class="contentTable noCon" v-show="cooperationDate.length == 0">
143
+						暂时无相关记录
153 144
 					</view>
154 145
 				</view>
155
-				<view class="contentTable" v-show="orderProcessDate.length == 0">
156
-					暂无记录
157
-				</view>
158
-			</view>
159
-			<view v-show="current == 3">
160
-				<uni-steps :options="maintenanceRecords" v-show="maintenanceRecords.length > 0" />
161
-				<view class="contentTable" v-show="maintenanceRecords.length == 0">
162
-					暂无记录
146
+				<view v-show="current == 2">
147
+					<uni-steps :options="orderProcessDate" :steteName='"gdlc"' v-show="orderProcessDate.length > 0" />
148
+					<view class="contentTable noCon" v-show="orderProcessDate.length == 0">
149
+						暂时无相关记录
150
+					</view>
163 151
 				</view>
164
-			</view>
165
-			<view v-show="current == 4">
166
-				<view class="detailContent" v-for="item in evaluateDate" :key=item.F_Id>
167
-					<view class="contentTable">
168
-						<text class="contentTitle">服务态度:</text>
169
-						<htz-rate v-model="item.F_Attitude" :readonly='true' :size="30"></htz-rate>
170
-						<text class="contentTitle">{{ item.F_Attitude | getEvaluateFilters }}</text>
152
+				<view v-show="current == 3">
153
+					<uni-steps :options="maintenanceRecords" :steteName='"wxjl"' v-show="maintenanceRecords.length > 0" />
154
+					<view class="contentTable noCon" v-show="maintenanceRecords.length == 0">
155
+						暂时无相关记录
171 156
 					</view>
172
-					<view class="contentTable">
173
-						<text class="contentTitle">维修质量:</text>
174
-						<htz-rate v-model="item.F_Quality" :size="30"></htz-rate>
175
-						<text class="contentTitle">{{ item.F_Quality | getEvaluateFilters }}</text>
157
+				</view>
158
+				<view v-show="current == 4">
159
+					<view class="detailContent showType" v-for="item in evaluateDate" :key=item.F_Id>
160
+						<view class="contentTable">
161
+							<text class="contentTitle">服务态度:</text>
162
+							<htz-rate v-model="item.F_Attitude" :readonly='true' :size="30"></htz-rate>
163
+							<text class="contentTitle">{{ item.F_Attitude | getEvaluateFilters }}</text>
164
+						</view>
165
+						<view class="contentTable">
166
+							<text class="contentTitle">维修质量:</text>
167
+							<htz-rate v-model="item.F_Quality" :size="30"></htz-rate>
168
+							<text class="contentTitle">{{ item.F_Quality | getEvaluateFilters }}</text>
169
+						</view>
170
+						<view class="contentTable">
171
+							<text class="contentTitle">文字评价:</text>
172
+							<text class="contentText">{{ item.F_EvaluateContent }}</text>
173
+						</view>
176 174
 					</view>
177
-					<view class="contentTable">
178
-						<text class="contentTitle">文字评价:</text>
179
-						<text class="contentText">{{ item.F_EvaluateContent }}</text>
175
+					<view class="contentTable noCon" v-show="evaluateDate.length == 0">
176
+						暂时无相关记录
180 177
 					</view>
181 178
 				</view>
182
-				<view class="contentTable" v-show="evaluateDate.length == 0">
183
-					暂无记录
184
-				</view>
185 179
 			</view>
186 180
 		</view>
181
+		
187 182
 	</view>
188 183
 </template>
189 184
 
@@ -194,7 +189,8 @@
194 189
 	import uniSteps from "@/components/wangxiaohua-steps/index.vue"
195 190
 	import htzRate from '@/components/htz-rate/htz-rate.vue'
196 191
 	const segmenterData = {
197
-		0: ["处理结果", "协作工单", "工单流程", "维修记录", "评价"] // 已办待回访
192
+		0: ["处理结果", "协作工单","工单流程",  "维修记录", "评价"],
193
+		1: ["处理结果", "工单流程",  "维修记录", "评价"]
198 194
 	}
199 195
 	export default {
200 196
 		components: {
@@ -255,8 +251,8 @@
255 251
 		onLoad(optioin) {
256 252
 			this.workorderid = optioin.wid
257 253
 			this.getDetail(0)
254
+			this.getDetail(3)
258 255
 			this.getDetail(1)
259
-			this.getDetail(6)
260 256
 			JSON.parse(optioin.buttons).forEach(v => {
261 257
 				let btn = this.$mButtonConfig[v.key];
262 258
 				if (btn != undefined) {
@@ -275,6 +271,7 @@
275 271
 				this.isDisplay.displaySegmentedControl = true
276 272
 				this.segmenter.type = optioin.segmenter
277 273
 				this.segmenter.items = segmenterData[optioin.segmenter]
274
+				this.getDetail(2)
278 275
 			}
279 276
 			this.roleCode = uni.getStorageSync("roleCode")
280 277
 		},
@@ -306,6 +303,10 @@
306 303
 						} else if (type == 1) {
307 304
 							this.handleProcessListData = response.data
308 305
 						} else if (type == 2) {
306
+							if(response.data.data.length == 0) {
307
+								this.segmenter.items = segmenterData[1]
308
+								this.segmenter.type = '1'
309
+							}
309 310
 							this.cooperationDate = response.data.data
310 311
 						} else if (type == 3) {
311 312
 							this.orderProcessDate = response.data
@@ -329,24 +330,45 @@
329 330
 			},
330 331
 			onClickSegmentedControl(e) {
331 332
 				this.current = e.currentIndex
332
-				console.log(this.current)
333
-				switch (String(e.currentIndex)) {
334
-					case "0":
335
-						this.tap = 1
336
-						break
337
-					case "1":
338
-						this.tap = 2
339
-						break
340
-					case "2":
341
-						this.tap = 3
342
-						break
343
-					case "3":
344
-						this.tap = 4
345
-						break
346
-					case "4":
347
-						this.tap = 5
348
-						break
333
+				if(this.segmenter.type == '0') {
334
+					switch (String(e.currentIndex)) {
335
+						case "0":
336
+							this.tap = 1
337
+							break
338
+						case "1":
339
+							this.tap = 2
340
+							break
341
+						case "2":
342
+							this.tap = 3
343
+							break
344
+						case "3":
345
+							this.tap = 4
346
+							break
347
+						case "4":
348
+							this.tap = 5
349
+							break
350
+					}
351
+				}else{
352
+					switch (String(e.currentIndex)) {
353
+						case "0":
354
+							this.tap = 1
355
+							this.current = e.currentIndex
356
+							break
357
+						case "1":
358
+							this.tap = 3
359
+							this.current = e.currentIndex + 1
360
+							break
361
+						case "2":
362
+							this.tap = 4
363
+							this.current = e.currentIndex + 1
364
+							break
365
+						case "3":
366
+							this.tap = 5
367
+							this.current = e.currentIndex + 1
368
+							break
369
+					}
349 370
 				}
371
+				
350 372
 				this.getDetail(this.tap)
351 373
 			},
352 374
 
@@ -355,12 +377,28 @@
355 377
 </script>
356 378
 
357 379
 <style lang="scss">
380
+	.noCon{
381
+		height: 200px;
382
+		text-align: center;
383
+		font-size: 14px;
384
+		color: #525252;
385
+	}
358 386
 	.wrapper {
359
-		padding: 10px 20px 0 20px;
360
-
387
+		// background-color: #fff; 
388
+		// height: 100vh;
389
+		// padding: 10px 20px 0 20px;
390
+		.showType{
391
+			background-color: #fff; 
392
+			padding: 10px 13px;
393
+			border-radius: 10px;
394
+			box-shadow: 0px 4px 16px 0px rgba(69, 91, 99, 0.13);
395
+			margin-bottom: 25px;
396
+		}
361 397
 		.detailContent {
362
-			margin: 0 0 15px 0;
363
-
398
+			// margin: 0 0 15px 0;
399
+			padding: 17px;
400
+			background-color: #fff;
401
+			
364 402
 			.contentTable {
365 403
 				margin: 0 0 10px 0;
366 404
 
@@ -370,11 +408,15 @@
370 408
 					font-style: normal;
371 409
 					font-size: 14px;
372 410
 					color: #555555;
411
+					width: 70px;
412
+					display: inline-block;
413
+					text-align: right;
373 414
 				}
374 415
 
375 416
 				.contentText {
376 417
 					color: #525252;
377 418
 					font-size: 14px;
419
+					margin-left: 10px;
378 420
 				}
379 421
 
380 422
 				.textState {
@@ -398,14 +440,16 @@
398 440
 		}
399 441
 
400 442
 		.operationButton {
401
-			margin: 15px 0;
402
-
443
+			margin: 5px 0;
444
+			padding: 17px;
445
+			background-color: #fff;
446
+			
403 447
 			.operationButtonTitle {
404 448
 				font-weight: 700;
405 449
 			}
406 450
 
407 451
 			.buttons {
408
-				margin: 10px 0 0 0;
452
+				margin: 15px 0 0 0;
409 453
 
410 454
 			}
411 455
 		}

+ 27 - 29
CallCenterWeb.UI/RMYYAPP/pages/setting/personDetail/personDetail.vue

@@ -9,18 +9,16 @@
9 9
 						<uni-easyinput v-model="formData.Username" placeholder="请输入姓名" />
10 10
 					</uni-forms-item>
11 11
 					<uni-forms-item label="工号" name="Usercode">
12
-						<uni-easyinput v-model="formData.Usercode" placeholder="请输入姓名" />
12
+						<uni-easyinput v-model="formData.Usercode" placeholder="请输入姓名" disabled/>
13 13
 					</uni-forms-item>
14 14
 					
15
-					<uni-forms-item label="部门" name="DeptName">
16
-						<uni-data-picker placeholder="请选择部门"
17
-						:localdata="dataTree" 
18
-						v-model="F_DeptName"
19
-						@change="onchange">
15
+					<uni-forms-item label="部门" name="DeptId">
16
+						<uni-data-picker placeholder="请选择科室" :localdata="deptDataTree" v-model="formData.DeptId" readonly>
20 17
 						</uni-data-picker>
21 18
 					</uni-forms-item>
22
-					<uni-forms-item label="角色" name="RoleId">
23
-						<uni-data-select v-model="formData.RoleId" :localdata="roleOptions" @change="changeRoleId" />
19
+					<uni-forms-item label="角色" name="RoleName">
20
+						<uni-easyinput v-model="formData.RoleName" placeholder="请输入角色" disabled/>
21
+						<!-- <uni-data-select v-model="formData.RoleId" :localdata="roleOptions" @change="changeRoleId" disabled/> -->
24 22
 					</uni-forms-item>
25 23
 					<uni-forms-item label="手机号" name="Phon">
26 24
 						<uni-easyinput v-model="formData.Phon" placeholder="请输入手机号" />
@@ -41,6 +39,7 @@
41 39
 
42 40
 <script>
43 41
 	import {filterTreeDatas,filterSelectData} from '@/utils/dataTreating.js'
42
+	import pageData from "@/pages/myTask/repairList/addRepair/pageData.js"
44 43
 	export default {
45 44
 		data() {
46 45
 			return {
@@ -50,6 +49,7 @@
50 49
 					DeptId:'',	//部门id
51 50
 					DeptName:'',
52 51
 					RoleId:'',	//角色id
52
+					RoleName: '',
53 53
 					RoleCode:'',
54 54
 					Phon:'',	//手机号
55 55
 					gender:'',	//性别
@@ -59,7 +59,7 @@
59 59
 				F_DeptName: '1_1',
60 60
 				detailUserData:{},
61 61
 				roleOptions:[],
62
-				dataTree:[], 
62
+				deptDataTree:[], 
63 63
 				avater: '/static/person.png',
64 64
 				gender: [{
65 65
 					text: '男',
@@ -71,19 +71,18 @@
71 71
 			}
72 72
 		},
73 73
 		onLoad(option){
74
-			this.getUserAccount(option.userCode)
75
-			this.getDet()
74
+			// 部门数据
75
+			pageData.getDet((res,data) => {
76
+				this.deptDataTree = res
77
+			})
76 78
 			this.getRoleList()
79
+			this.getUserAccount(option.userCode)
80
+			// this.getDet()
81
+			
82
+			
77 83
 		},
78 84
 		methods: {
79 85
 			changeRoleId() {},
80
-			onchange(e) {
81
-				if (e.detail.value && e.detail.value.length) {
82
-					this.deptId = e.detail.value[e.detail.value.length-1].value.split('_')[1]
83
-				}else{
84
-					this.deptId =''
85
-				}
86
-			},
87 86
 			getUserAccount(usercode){
88 87
 				const params = {
89 88
 					usercode
@@ -95,17 +94,24 @@
95 94
 							this.formData.userid = res.data.F_UserId
96 95
 							this.formData.Username = res.data.F_UserName	//姓名
97 96
 							this.formData.Usercode = res.data.F_UserCode	//工号
98
-							this.formData.DeptId = res.data.F_DeptId	//部门id
97
+							this.formData.DeptId = String(res.data.F_DeptId)	//部门id
99 98
 							this.formData.DeptName = res.data.F_DeptName	//部门
100 99
 							this.formData.RoleId = res.data.F_RoleId	//角色id
101 100
 							this.formData.RoleCode = res.data.F_RoleCode	//角色
102 101
 							this.formData.Phon = res.data.F_Telephone	//电话
103 102
 							this.formData.IsSeat = res.data.F_SeatFlag
104 103
 							if (res.data.F_Sex.toString ==="男") {
105
-								this.formData.gender = '1'
106
-							} else{
107 104
 								this.formData.gender = '0'
105
+							} else{
106
+								this.formData.gender = '1'
108 107
 							}
108
+							console.log(this.roleOptions)
109
+							this.roleOptions.forEach(v =>{
110
+								console.log(v)
111
+								if(v.value == res.data.F_RoleId) {
112
+									this.formData.RoleName = v.text
113
+								}
114
+							})
109 115
 							this.formData.Remark = res.data.F_Remark	//备注
110 116
 							
111 117
 						}
@@ -126,14 +132,6 @@
126 132
 				}
127 133
 				this.$mHelper.httpPost("UserAccount/EditUsers",params,1)
128 134
 			},
129
-			// 获取部门下拉数据  getTreeList
130
-			getDet(){
131
-				this.$http.get("Department/GetTreeList").then((res)=>{
132
-					if(res.state.toLowerCase() ==="success"){
133
-						this.dataTree = filterTreeDatas(res.data)
134
-					}
135
-				})
136
-			},
137 135
 			//	角色下拉	Role/GetList
138 136
 			getRoleList(){
139 137
 				const params = {

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

@@ -51,7 +51,7 @@
51 51
 			// 页面
52 52
 			this.updateList()
53 53
 			// #ifdef APP-PLUS
54
-			this.version = plus.runtime.version
54
+			this.version = 'v' + plus.runtime.version
55 55
 			// #endif
56 56
 		},
57 57
 		methods: {

+ 1 - 1
CallCenterWeb.UI/RMYYAPP/uni_modules/uni-popup/components/uni-popup-dialog/uni-popup-dialog.vue

@@ -153,7 +153,7 @@
153 153
 					this.$emit('confirm')
154 154
 				}
155 155
 				if(this.beforeClose) return
156
-				this.popup.close()
156
+				// this.popup.close()
157 157
 			},
158 158
 			/**
159 159
 			 * 点击取消按钮