liuzhihui %!s(int64=3) %!d(string=před) roky
rodič
revize
a3cdc97e27

+ 1 - 0
CallCenterWeb.UI/RMYY/package.json

@@ -33,6 +33,7 @@
33 33
     "nprogress": "0.2.0",
34 34
     "qs": "^6.6.0",
35 35
     "signalr": "^2.4.0",
36
+    "sortablejs": "^1.15.0",
36 37
     "vue": "2.5.17",
37 38
     "vue-aplayer": "^1.6.1",
38 39
     "vue-clipboard2": "^0.3.1",

+ 20 - 0
CallCenterWeb.UI/RMYY/src/utils/global.js

@@ -45,5 +45,25 @@ export const workOrderState = {
45 45
   {
46 46
     label: '已完成',
47 47
     value: '10'
48
+  }],
49
+  stateOptions_4000: [{
50
+    label: '待分配',
51
+    value: '0'
52
+  },
53
+  {
54
+    label: '已分配',
55
+    value: '1'
56
+  },
57
+  {
58
+    label: '已接单',
59
+    value: '2'
60
+  },
61
+  {
62
+    label: '处理中',
63
+    value: '4'
64
+  },
65
+  {
66
+    label: '已完成',
67
+    value: '10'
48 68
   }]
49 69
 }

+ 16 - 4
CallCenterWeb.UI/RMYY/src/views/layout/components/Navbar/index.vue

@@ -44,11 +44,22 @@
44 44
         <el-tab-pane label="未读" name="0">
45 45
           <el-button type="text" @click="sendMsg()">发送消息</el-button>
46 46
           <p style="font-size: 14px;">您当前有未读消息<span style="color: #CC0000;">{{noread}}</span>条</p>
47
+          <div v-for="(item,index) in noreadlist" :key="index" style="position: relative;margin-bottom: 15px;">
48
+            <div style="width: 80px;text-align: center;">
49
+              <img class="pimg" :src="$store.getters.serverConfig.BASE_API+item.F_See" />
50
+              <p class="puser">{{item.F_UserName}}</p>
51
+            </div>
52
+            <div class="pcon">{{item.Content}}</div>
53
+            <div class="pdate">
54
+              {{item.CreateDate}}
55
+              <span class="phf" @click="tosend(item.F_RoleId,item.FromUserId)">回复</span>
56
+            </div>
57
+          </div>
47 58
         </el-tab-pane>
48 59
         <el-tab-pane label="已读" name="1">
49 60
           <p style="font-size: 14px;">注:显示最近50条已读</p>
50 61
           <div v-for="(item,index) in readlist" :key="index" style="position: relative;margin-bottom: 15px;">
51
-            <div>
62
+            <div style="width: 80px;text-align: center;">
52 63
               <img class="pimg" :src="$store.getters.serverConfig.BASE_API+item.F_See" />
53 64
               <p class="puser">{{item.F_UserName}}</p>
54 65
             </div>
@@ -269,9 +280,10 @@
269 280
       font-size: 10px;
270 281
       line-height: 20px;
271 282
       margin-top: -20px;
272
-      width: 50px;
283
+      width: 80px;
273 284
       text-align: center;
274 285
       overflow: hidden;
286
+      color: #333;
275 287
     }
276 288
 
277 289
     .pcon {
@@ -279,7 +291,7 @@
279 291
       line-height: 20px;
280 292
       position: absolute;
281 293
       top: 0;
282
-      left: 70px;
294
+      left: 100px;
283 295
     }
284 296
 
285 297
     .pdate {
@@ -287,7 +299,7 @@
287 299
       line-height: 20px;
288 300
       position: absolute;
289 301
       bottom: 0;
290
-      left: 70px;
302
+      left: 100px;
291 303
       color: #888;
292 304
     }
293 305
 

+ 11 - 3
CallCenterWeb.UI/RMYY/src/views/vehicleDispatch/driverOrder/index.vue

@@ -16,12 +16,20 @@
16 16
       <el-table-column :show-overflow-tooltip="true" prop="F_Destination" label="目的地" align="center" />
17 17
       <el-table-column :show-overflow-tooltip="true" prop="F_CreateTime" label="创建时间" align="center" />
18 18
       <el-table-column :show-overflow-tooltip="true" prop="F_CloseTime" label="完工时间" align="center" />
19
-      <el-table-column :show-overflow-tooltip="true" prop="F_State" label="状态" align="center" />
20
-      <el-table-column label="操作" width="160" align="center" class-name="oparate_btn" fixed="right">
19
+      <el-table-column label="状态" align="center">
21 20
         <template slot-scope="scope">
22
-          <el-button size="mini" type="text" @click="btn_withdraw(scope.row.F_ID)">撤回</el-button>
21
+         <div v-if="scope.row.F_State==0">待接单</div>
22
+         <div v-if="scope.row.F_State==2">已接单</div>
23
+         <div v-if="scope.row.F_State==3">已退回</div>
24
+         <div v-if="scope.row.F_State==4">处理中</div>
25
+         <div v-if="scope.row.F_State==10">已完成</div>
23 26
         </template>
24 27
       </el-table-column>
28
+      <!-- <el-table-column label="操作" width="160" align="center" class-name="oparate_btn" fixed="right">
29
+        <template slot-scope="scope">
30
+          <el-button size="mini" type="text" @click="btn_withdraw(scope.row.F_ID)">撤回</el-button>
31
+        </template>
32
+      </el-table-column> -->
25 33
     </el-table>
26 34
     <pagination v-show="pageParams.total > 0" :total="pageParams.total" :pageindex.sync="pageParams.pageindex"
27 35
       :pagesize.sync="pageParams.pagesize" class="pagination" @pagination="getList" />

+ 4 - 4
CallCenterWeb.UI/RMYY/src/views/vehicleDispatch/vehicleScheduling/vehicleSchedulingList/components/detail.vue

@@ -58,7 +58,7 @@
58 58
       <el-col :md="24" class="order_detail_body">
59 59
         <el-card shadow="hover">
60 60
           <el-tabs v-model="activeName" ref="tabs">
61
-            <el-tab-pane label="处理结果" name="1">
61
+            <!-- <el-tab-pane label="处理结果" name="1">
62 62
               <el-col :md="24" class="order_detail_content">
63 63
                 <table class="tabdept" cellspacing="0" cellpadding="0">
64 64
                   <tr>
@@ -71,8 +71,8 @@
71 71
                   </tr>
72 72
                 </table>
73 73
               </el-col>
74
-            </el-tab-pane>
75
-            <el-tab-pane label="工单流程" name="2">
74
+            </el-tab-pane> -->
75
+            <el-tab-pane label="工单流程" name="1">
76 76
               <el-table :data="workOrderCirculationList" border style="width: 100%">
77 77
                 <el-table-column prop="F_CreateUser" label="操作人" align="center">
78 78
                 </el-table-column>
@@ -119,7 +119,7 @@
119 119
     },
120 120
     data() {
121 121
       return {
122
-        activeName: 'first',
122
+        activeName: '1',
123 123
         imgUrl: this.$store.getters.serverConfig.BASE_API,
124 124
         orderDetailData: {
125 125
           F_ID: '',

+ 88 - 2
CallCenterWeb.UI/RMYY/src/views/vehicleDispatch/vehicleScheduling/vehicleSchedulingList/components/distribution.vue

@@ -1,6 +1,6 @@
1 1
 <template>
2 2
   <div v-loading="loading">
3
-    <el-table :data="selectarr" border stripe>
3
+    <!-- <el-table :data="selectarr" border stripe>
4 4
       <el-table-column type="index" width="100" label="序号" align="center">
5 5
       </el-table-column>
6 6
       <el-table-column prop="F_WorkOrderCode" label="工单号" align="center" />
@@ -8,6 +8,13 @@
8 8
       <el-table-column prop="F_DepartPlace" label="出发地" align="center" />
9 9
       <el-table-column prop="F_Destination" label="目的地" align="center" />
10 10
       <el-table-column prop="F_UseTime" label="用车时间" align="center" />
11
+    </el-table> -->
12
+    <el-table :data="selectarr" class="airlineDeviceTable" border row-key="F_ID">
13
+      <el-table-column type="index" width="100" label="序号" align="center">
14
+      </el-table-column>
15
+      <el-table-column align="center" v-for="(item, index) in col" :key="`col_${index}`" :prop="dropCol[index].prop"
16
+        :label="item.label">
17
+      </el-table-column>
11 18
     </el-table>
12 19
     <el-form ref="ruleForm" :model="ruleForm" :rules="rules" label-width="100px">
13 20
       <el-col :span="24">
@@ -53,6 +60,7 @@
53 60
   import {
54 61
     GetPerson
55 62
   } from '@/api/commonAPI'
63
+  import Sortable from 'sortablejs'
56 64
   export default {
57 65
     name: "Distribution",
58 66
     props: {
@@ -71,6 +79,48 @@
71 79
     },
72 80
     data() {
73 81
       return {
82
+        col: [{
83
+            label: '工单号',
84
+            prop: 'F_WorkOrderCode'
85
+          },
86
+          {
87
+            label: '工单内容',
88
+            prop: 'F_Content'
89
+          },
90
+          {
91
+            label: '出发地',
92
+            prop: 'F_DepartPlace'
93
+          },
94
+          {
95
+            label: '目的地',
96
+            prop: 'F_Destination'
97
+          },
98
+          {
99
+            label: '用车时间',
100
+            prop: 'F_UseTime'
101
+          }
102
+        ],
103
+        dropCol: [{
104
+            label: '工单号',
105
+            prop: 'F_WorkOrderCode'
106
+          },
107
+          {
108
+            label: '工单内容',
109
+            prop: 'F_Content'
110
+          },
111
+          {
112
+            label: '出发地',
113
+            prop: 'F_DepartPlace'
114
+          },
115
+          {
116
+            label: '目的地',
117
+            prop: 'F_Destination'
118
+          },
119
+          {
120
+            label: '用车时间',
121
+            prop: 'F_UseTime'
122
+          }
123
+        ],
74 124
         typeList: [],
75 125
         carArr: [],
76 126
         repairman: [], // 申请人数据
@@ -99,7 +149,42 @@
99 149
       this.getVehicleLists() //车辆arr
100 150
       this.getVehicleUserLists() //司机arr
101 151
     },
152
+    mounted() {
153
+      this.$nextTick(() => {
154
+        this.rowDrop()
155
+        // this.columnDrop()
156
+      })
157
+    },
102 158
     methods: {
159
+      //行拖拽
160
+      rowDrop() {
161
+        const tbody = document.querySelector('.airlineDeviceTable .el-table__body-wrapper tbody');
162
+        const that = this;
163
+        Sortable.create(tbody, {
164
+          draggable: ".el-table__row",
165
+          // 结束拖拽后的回调函数
166
+          onEnd({
167
+            newIndex,
168
+            oldIndex
169
+          }) {
170
+            const currentRow = that.selectarr.splice(oldIndex, 1)[0];
171
+            that.selectarr.splice(newIndex, 0, currentRow);
172
+          },
173
+        })
174
+      },
175
+      //列拖拽
176
+      columnDrop() {
177
+        const wrapperTr = document.querySelector('.airlineDeviceTable .el-table__header-wrapper tr')
178
+        this.sortable = Sortable.create(wrapperTr, {
179
+          animation: 180,
180
+          delay: 0,
181
+          onEnd: evt => {
182
+            const oldItem = this.dropCol[evt.oldIndex]
183
+            this.dropCol.splice(evt.oldIndex, 1)
184
+            this.dropCol.splice(evt.newIndex, 0, oldItem)
185
+          }
186
+        })
187
+      },
103 188
       getVehicleLists() {
104 189
         const params = {
105 190
           state: 0
@@ -117,8 +202,9 @@
117 202
         })
118 203
       },
119 204
       onsub() {
205
+        const arr= this.selectarr.map(item => item.F_WorkOrderCode)
120 206
         const params = {
121
-          orderid: this.selectids.toString(),
207
+          orderid: arr.toString(),
122 208
           driver: this.ruleForm.driver,
123 209
           carid: this.ruleForm.carid
124 210
         }

+ 8 - 12
CallCenterWeb.UI/RMYY/src/views/vehicleDispatch/vehicleScheduling/vehicleSchedulingList/index.vue

@@ -41,26 +41,22 @@
41 41
       <el-table-column :show-overflow-tooltip="true" prop="F_CreateTime" label="申请时间" align="center" />
42 42
       <el-table-column :show-overflow-tooltip="true" prop="F_UseTime" label="用车时间" align="center" />
43 43
       <el-table-column :show-overflow-tooltip="true" prop="F_CarTypeName" label="车辆类型" align="center" />
44
-      <el-table-column label="工单状态" align="center">
44
+      <el-table-column :show-overflow-tooltip="true" prop="StateName" label="工单状态" align="center" />
45
+      <!-- <el-table-column label="工单状态" align="center">
45 46
         <template slot-scope="scope">
46 47
           <div v-if="scope.row.F_State==0">待分配</div>
47 48
           <div v-if="scope.row.F_State==1">已分配</div>
48 49
           <div v-if="scope.row.F_State==2">已接单</div>
49 50
           <div v-if="scope.row.F_State==4">处理中</div>
50 51
           <div v-if="scope.row.F_State==10">已完成</div>
51
-        </template>
52
+        </template> -->
52 53
       </el-table-column>
53 54
       <el-table-column label="操作" width="160" align="center" class-name="oparate_btn" fixed="right">
54 55
         <template slot-scope="scope">
55
-          <el-button size="mini" type="text" @click="btn_edit(scope.row.F_ID,scope.row.F_WorkOrderCode)">编辑</el-button>
56
-          <el-button size="mini" type="text" @click="btn_delete(scope.row.F_WorkOrderCode)">删除
57
-          </el-button>
58
-          <el-button size="mini" type="text" @click="btn_fenpei(scope.row.F_WorkOrderCode,scope.row)">分配</el-button>
59
-          <el-button size="mini" type="text">撤回</el-button>
60
-          <!-- <el-button v-permission="'btnAssign'" v-if="scope.row.F_State==0" size="mini" type="text"
61
-            @click="btn_assign(scope.row.F_ID)">派车
56
+          <el-button v-if="scope.row.F_State==0" size="mini" type="text" @click="btn_edit(scope.row.F_ID,scope.row.F_WorkOrderCode)">编辑</el-button>
57
+          <el-button v-if="scope.row.F_State==0" size="mini" type="text" @click="btn_delete(scope.row.F_WorkOrderCode)">删除
62 58
           </el-button>
63
-          <el-button v-permission="'btnSure'" size="mini" type="text" @click="btn_sure(scope.row.F_ID)">确定工单</el-button> -->
59
+          <el-button v-if="scope.row.F_State==0" size="mini" type="text" @click="btn_fenpei(scope.row.F_WorkOrderCode,scope.row)">分配</el-button>
64 60
         </template>
65 61
       </el-table-column>
66 62
     </el-table>
@@ -138,7 +134,7 @@
138 134
               selectarr:this.multipleSelection
139 135
             } // props
140 136
           },
141
-          area: ['60%', '60%'],
137
+          area: ['70%', '70%'],
142 138
           title: '分配'
143 139
         })
144 140
       },
@@ -156,7 +152,7 @@
156 152
               selectarr:this.multipleSelection
157 153
             } // props
158 154
           },
159
-          area: ['60%', '60%'],
155
+          area: ['70%', '70%'],
160 156
           title: '分配'
161 157
         })
162 158
       },