liuzhihui лет назад: 3
Родитель
Сommit
5ae5f736f4
21 измененных файлов с 1682 добавлено и 1212 удалено
  1. 3 3
      CallCenterWeb.UI/RMYY/src/api/vehicleDispatch/vehicleScheduling.js
  2. 49 10
      CallCenterWeb.UI/RMYY/src/components/context/README.md
  3. 3 3
      CallCenterWeb.UI/RMYY/src/components/context/TabOrderState/index.vue
  4. 7 7
      CallCenterWeb.UI/RMYY/src/components/context/commonSelect/selectDepartments.vue
  5. 1 2
      CallCenterWeb.UI/RMYY/src/components/context/commonSelect/selectOrderType.vue
  6. 54 260
      CallCenterWeb.UI/RMYY/src/views/comDispatch/EquipmentLeasing/EquipmentLeasingList/index.vue
  7. 107 0
      CallCenterWeb.UI/RMYY/src/views/comDispatch/EquipmentLeasing/components/assign.vue
  8. 0 29
      CallCenterWeb.UI/RMYY/src/views/comDispatch/EquipmentLeasing/components/equiAddOrEdit.vue
  9. 0 8
      CallCenterWeb.UI/RMYY/src/views/comDispatch/EquipmentLeasing/components/equiDetail.vue
  10. 28 96
      CallCenterWeb.UI/RMYY/src/views/comDispatch/Escortservice/EscortserviceList/index.vue
  11. 1 1
      CallCenterWeb.UI/RMYY/src/views/comDispatch/Escortservice/EscortserviceReport/index.vue
  12. 0 24
      CallCenterWeb.UI/RMYY/src/views/comDispatch/Escortservice/components/escortAddOrEdit.vue
  13. 0 7
      CallCenterWeb.UI/RMYY/src/views/comDispatch/Escortservice/components/escortDetail.vue
  14. 19 19
      CallCenterWeb.UI/RMYY/src/views/comDispatch/Escortservice/components/escortOut.vue
  15. 452 284
      CallCenterWeb.UI/RMYY/src/views/comDispatch/components/addOrEditDistribute.vue
  16. 7 0
      CallCenterWeb.UI/RMYY/src/views/vehicleDispatch/vehicleScheduling/index.vue
  17. 245 97
      CallCenterWeb.UI/RMYY/src/views/vehicleDispatch/vehicleScheduling/vehicleSchedulingList/components/addOrEdit.vue
  18. 148 0
      CallCenterWeb.UI/RMYY/src/views/vehicleDispatch/vehicleScheduling/vehicleSchedulingList/components/assign.vue
  19. 233 178
      CallCenterWeb.UI/RMYY/src/views/vehicleDispatch/vehicleScheduling/vehicleSchedulingList/components/detail.vue
  20. 218 111
      CallCenterWeb.UI/RMYY/src/views/vehicleDispatch/vehicleScheduling/vehicleSchedulingList/index.vue
  21. 107 73
      CallCenterWeb.UI/RMYY/src/views/vehicleDispatch/vehicleScheduling/vehicleSchedulingReport/index.vue

+ 3 - 3
CallCenterWeb.UI/RMYY/src/api/vehicleDispatch/vehicleScheduling.js

@@ -9,7 +9,7 @@ export function getList(params) {
9 9
   })
10 10
 }
11 11
 // 添加
12
-export function getAddWorkOrde(params) {
12
+export function getAddWorkOrder(params) {
13 13
   return request({
14 14
     url: 'T_Car_WorkOrder/AddWorkOrder',
15 15
     method: 'post',
@@ -60,7 +60,7 @@ export function getSureWorkOrder(params) {
60 60
 export function getListExpt(params) {
61 61
   return request({
62 62
     url: 'T_Car_WorkOrder/GetListExpt',
63
-    method: 'get',
63
+    method: 'post',
64 64
     params
65 65
   })
66 66
 }
@@ -68,7 +68,7 @@ export function getListExpt(params) {
68 68
 export function getListExptIsdc(params) {
69 69
   return request({
70 70
     url: 'T_Car_WorkOrder/GetListExpt',
71
-    method: 'get',
71
+    method: 'post',
72 72
     responseType: 'blob',
73 73
     params
74 74
   })

+ 49 - 10
CallCenterWeb.UI/RMYY/src/components/context/README.md

@@ -1,4 +1,4 @@
1
-# 1 物资部门数量组件
1
+# 1 物资部门数量组件(AddItems文件)
2 2
 
3 3
 ```html
4 4
     <add-items ref="childComponent" :item-info="itemInfo"/>
@@ -31,46 +31,85 @@ this.ruleForm.itemessage = this.$refs.childComponent.getItemessage();
31 31
 ```
32 32
 
33 33
 
34
-# 2 
34
+# 2 audio组件(audioPlayer文件)
35 35
 ```html
36 36
 
37 37
 ```
38 38
 
39 39
 ```js
40
+//文件引入
41
+import audioPlayer from '@/components/context/audioPlayer'
42
+//注册
40 43
 
41 44
 ```
42 45
 
43 46
 
44
-# 3  
47
+# 3  拨号盘(Dialplate文件)
45 48
 ```html
46
-
49
+        <Dialplate />
47 50
 ```
48 51
 
49 52
 ```js
50
-
53
+//引入
54
+import Dialplate from '@/components/context/Dialplate'
55
+//注册
56
+ components: { Dialplate }
51 57
 ```
52 58
 
53 59
 
54
-# 4 
60
+# 4 分页组件(Pagination)
55 61
 
56 62
 ```html
57
-    
63
+<pagination v-show="pageParams.total > 0" :total="pageParams.total" :pageindex.sync="pageParams.pageindex"
64
+      :pagesize.sync="pageParams.pagesize" class="pagination" @pagination="getList" />
65
+      //getList是获取列表函数
66
+      
58 67
 ```
59 68
 
60 69
 ```js
61
-
70
+//引入注册
71
+import Pagination from '@/components/context/Pagination'
72
+components: { Pagination}
73
+
74
+//data定义
75
+ pageParams: {
76
+          pageindex: 1, //Number(this.$store.getters.serverConfig.PAGESIZE)
77
+          pagesize: Number(this.$store.getters.serverConfig.PAGESIZE),
78
+          total: 0
79
+        }
62 80
 ```
63 81
 
64
-# 5 
82
+# 5 ScrollPane
65 83
 
66 84
 ```html
67
-    
85
+    <scroll-pane ref="scrollPane" class="tags-view-wrapper">
68 86
 ```
69 87
 
70 88
 ```js
89
+//引入并注册
90
+import ScrollPane from '@/components/context/ScrollPane'
91
+components: { ScrollPane }
71 92
 
93
+//调用组件moveToTarget(currentTag)方法
94
+ this.$refs.scrollPane.moveToTarget(tag)
72 95
 ```
73 96
 
97
+# 6 TabOrderState
98
+```html
99
+    <tab-order-state :order-id="orderId"  @post-order-id="getOrderId"/>
100
+```
101
+```js
102
+//引入并注册
103
+import TabOrderState from '@/components/context/TabOrderState'
104
+components: { TabOrderState }
74 105
 
106
+//data中传参orderId
107
+orderId:2008
75 108
 
109
+//methods方法中
110
+ getOrderId(data){
111
+        this.state = data
112
+        this.getListTask() //获取列表数据函数
113
+      }
76 114
 
115
+```

+ 3 - 3
CallCenterWeb.UI/RMYY/src/components/context/TabOrderState/index.vue

@@ -1,8 +1,8 @@
1 1
 <template>
2 2
   <el-tabs v-model="activeName" @tab-click="handleClick" >
3
-      <el-tab-pane v-for="(item, index) in typeStateList" 
4
-      :label="item.StateRemark" 
5
-      :name="item.StateId" 
3
+      <el-tab-pane v-for="(item, index) in typeStateList"
4
+      :label="item.StateRemark"
5
+      :name="item.StateId"
6 6
       :key="index"/>
7 7
     </el-tabs>
8 8
 </template>

+ 7 - 7
CallCenterWeb.UI/RMYY/src/components/context/commonSelect/selectDepartments.vue

@@ -41,13 +41,13 @@ export default {
41 41
     }
42 42
   },
43 43
   watch: {
44
-    'departmentsParam.id': function() {
45
-      this.departmentsData.name = ''
46
-      this.departmentsData.value = 0
47
-      this.$emit('post-positon-list', this.departmentsData)
48
-      this.hospitalsId = this.departmentsParam.id
49
-      this.getDepartment()
50
-    },
44
+    // 'departmentsParam.id': function() {
45
+    //   this.departmentsData.name = ''
46
+    //   this.departmentsData.value = 0
47
+    //   this.$emit('post-positon-list', this.departmentsData)
48
+    //   this.hospitalsId = this.departmentsParam.id
49
+    //   this.getDepartment()
50
+    // },
51 51
     'departmentsParam.name': function() {
52 52
       this.showDetail()
53 53
     },

+ 1 - 2
CallCenterWeb.UI/RMYY/src/components/context/commonSelect/selectOrderType.vue

@@ -18,9 +18,8 @@ export default {
18 18
   filters: {
19 19
     orderFilter(status) {
20 20
       const statusMap = {
21
-        4000: true,
22 21
         2003: true,
23
-        2008: true,
22
+        // 2008: true,
24 23
         2009: true
25 24
       }
26 25
       return statusMap[status]

+ 54 - 260
CallCenterWeb.UI/RMYY/src/views/comDispatch/EquipmentLeasing/EquipmentLeasingList/index.vue

@@ -17,21 +17,7 @@
17 17
             <el-button v-permission="'equi_add'" type="primary" size="medium" @click="btn_add">添加工单</el-button>
18 18
           </el-form-item>
19 19
         </el-form>
20
-        <!-- <el-tabs v-if="isRoot==0" v-model="activeName" @tab-click="handleClick">
21
-          <el-tab-pane label="全部" />
22
-          <el-tab-pane label="待出库" name="1" />
23
-          <el-tab-pane label="已出库" name="2" />
24
-          <el-tab-pane label="已返还" name="6" />
25
-        </el-tabs>
26
-        <el-tabs v-if="isRoot!=0" v-model="activeName" @tab-click="handleClick">
27
-          <el-tab-pane label="全部" />
28
-          <el-tab-pane label="待确认" name="3" />
29
-          <el-tab-pane label="代派工" name="5" />
30
-          <el-tab-pane label="转运中" name="4" />
31
-          <el-tab-pane label="已完成" name="10" />
32
-          <el-tab-pane label="异常错误" name="9" />
33
-        </el-tabs> -->
34
-        <tab-order-state :order-id="orderId"  @post-order-id="getOrderId"/>
20
+        <tab-order-state :order-id="orderId" @post-order-id="getOrderId" />
35 21
         <el-table :data="taskDataLists" border stripe>
36 22
           <el-table-column prop="F_WorkOrderCode" label="工单编号" align="center" min-width="110">
37 23
             <template slot-scope="scope">
@@ -81,86 +67,6 @@
81 67
           :pagesize.sync="pageParams.pagesize" class="pagination" @pagination="getListTask" />
82 68
       </el-col>
83 69
     </el-row>
84
-    <!-- 出入库 -->
85
-    <el-dialog :title='title' :visible.sync="dialogFormVisible" width="70%">
86
-      <el-form :model="form">
87
-        <el-col :span="24">
88
-          <el-row>
89
-            <el-form-item v-if="title=='出库'" label="出库状态:" :label-width="formLabelWidth">
90
-              <el-select v-model="form.devstate" placeholder="请选择">
91
-                <el-option v-for="item in outTypes" :key="item.value" :label="item.label" :value="item.value">
92
-                </el-option>
93
-              </el-select>
94
-            </el-form-item>
95
-          </el-row>
96
-          <el-row v-for="(item,index) in devList" :key="index">
97
-            <el-col :span="6">
98
-              <el-form-item label="设备名称:" :label-width="formLabelWidth">
99
-                <el-input v-model="item.devmessage" autocomplete="off"></el-input>
100
-              </el-form-item>
101
-            </el-col>
102
-            <el-col :span="6">
103
-              <el-form-item label="数量:" :label-width="formLabelWidth">
104
-                <el-input-number v-model="item.num" :min="1"></el-input-number>
105
-              </el-form-item>
106
-            </el-col>
107
-            <el-col :span="6">
108
-              <el-form-item label="设备编号:" :label-width="formLabelWidth">
109
-                <el-input placeholder="10001" v-model="item.codes" autocomplete="off"></el-input>
110
-              </el-form-item>
111
-            </el-col>
112
-            <el-col :span="6">
113
-              <el-button type="primary" icon="el-icon-plus" circle @click="addItem()" />
114
-              <el-button  v-if="devList.length>1" type="primary" icon="el-icon-close" circle @click="removeItem" />
115
-            </el-col>
116
-          </el-row>
117
-          <el-row>
118
-            <el-col :span="16">
119
-              <el-form-item label="备注" :label-width="formLabelWidth">
120
-                <el-input v-model="form.remark" autocomplete="off"></el-input>
121
-              </el-form-item>
122
-            </el-col>
123
-          </el-row>
124
-          <el-form-item>
125
-            <el-button @click="dialogFormVisible = false">取 消</el-button>
126
-            <el-button type="primary" @click="outSure()">确 定</el-button>
127
-          </el-form-item>
128
-        </el-col>
129
-      </el-form>
130
-      <!-- <div slot="footer" class="dialog-footer">
131
-        <el-button @click="dialogFormVisible = false">取 消</el-button>
132
-        <el-button type="primary" @click="outSure()">确 定</el-button>
133
-      </div> -->
134
-    </el-dialog>
135
-    <el-dialog title="无库存" :visible.sync="dialogNoCount" width="30%">
136
-      <span>设备库存不足,本次工单异常结束,设备不足信息将反馈给坐席。</span>
137
-      <span slot="footer" class="dialog-footer">
138
-        <el-button @click="dialogNoCount = false">取 消</el-button>
139
-        <el-button type="primary" @click="dialogNoCount = false">确 定</el-button>
140
-      </span>
141
-    </el-dialog>
142
-    <!-- 转返派 -->
143
-    <el-dialog :title="titleBack" :visible.sync="dialogDistribution">
144
-      <el-form :model="formzp">
145
-        <el-form-item label="配送人" prop="username" :label-width="formLabelWidth">
146
-          <select-repairman :repairman-param="repairmanParam" @post-repairman="getRepairman" />
147
-        </el-form-item>
148
-        <el-form-item label="电话" :label-width="formLabelWidth">
149
-          <el-input v-model="formzp.phon" autocomplete="off"></el-input>
150
-        </el-form-item>
151
-        <el-form-item label="对讲机" :label-width="formLabelWidth">
152
-          <el-input v-model="formzp.talkie" autocomplete="off"></el-input>
153
-        </el-form-item>
154
-        <el-form-item label="备注" :label-width="formLabelWidth">
155
-          <el-input v-model="formzp.remark" autocomplete="off"></el-input>
156
-        </el-form-item>
157
-      </el-form>
158
-      <div slot="footer" class="dialog-footer">
159
-        <el-button @click="dialogDistribution = false">取 消</el-button>
160
-        <el-button type="primary" @click="zpSure()">确 定</el-button>
161
-      </div>
162
-    </el-dialog>
163
-
164 70
   </div>
165 71
 </template>
166 72
 
@@ -185,6 +91,7 @@
185 91
   } from '@/api/systemSetup/roleSetting/orderTypeManage'
186 92
   import equiAddOrEdit from '../components/equiAddOrEdit.vue'
187 93
   import Outku from '../components/Outku.vue'
94
+  import assign from '../components/assign.vue'
188 95
   import equiDetail from '../components/equiDetail.vue'
189 96
   import Pagination from '@/components/context/Pagination' // 对el-pagination 二次封装
190 97
   import TabOrderState from '@/components/context/TabOrderState'
@@ -197,17 +104,14 @@
197 104
     },
198 105
     data() {
199 106
       return {
200
-        orderId:2004,
201
-        dialogFormVisible: false,
202
-        dialogNoCount: false,
203
-        dialogDistribution: false,
107
+        orderId: 2001,
204 108
         formLabelWidth: '120px',
205
-        title: '',
206
-        titleBack: '',
109
+        // title: '',
110
+        // titleBack: '',
207 111
         form: {
208 112
           num: 1
209 113
         },
210
-        formzp: {},
114
+        // formzp: {},
211 115
         isRoot: '',
212 116
         devList: [{
213 117
           devmessage: '',
@@ -244,17 +148,13 @@
244 148
           pagesize: Number(this.$store.getters.serverConfig.PAGESIZE), // 每页几条数据
245 149
           total: 0 // 总共多少数据
246 150
         },
247
-        repairmanParam: {
248
-          id: 0,
249
-          name: ''
250
-        },
151
+        // repairmanParam: {
152
+        //   id: 0,
153
+        //   name: ''
154
+        // },
251 155
         taskDataLists: [], // 工单列表信息
252 156
         F_Id: '', //工单id
253 157
         state: -1, // 状态
254
-        detail: true, // 详情
255
-        word: true, // 评价
256
-        yc: true,
257
-        repair: true
258 158
       }
259 159
     },
260 160
     computed: {},
@@ -276,7 +176,7 @@
276 176
       setInterval(this.getListTask, 1000 * 60)
277 177
     },
278 178
     methods: {
279
-      getOrderId(data){
179
+      getOrderId(data) {
280 180
         this.state = data
281 181
         this.getListTask()
282 182
       },
@@ -299,6 +199,7 @@
299 199
         this.formzp.usercode = data.value
300 200
         this.formzp.username = data.name
301 201
       },
202
+      //出库
302 203
       handleOut(row) {
303 204
         this.$layer.iframe({
304 205
           content: {
@@ -306,17 +207,14 @@
306 207
             parent: this, // 当前的vue对象
307 208
             data: {
308 209
               woid: row.F_Id,
309
-              isOut:1
210
+              isOut: 1
310 211
             } // props
311 212
           },
312 213
           area: ['70%', '72%'],
313 214
           title: '出库信息'
314 215
         })
315
-        // this.title = '出库'
316
-        // this.dialogFormVisible = true
317
-        // this.F_Id = row.F_Id
318
-        // this.devstate = row.F_DevState
319 216
       },
217
+      //入库
320 218
       handleIn(row) {
321 219
         this.$layer.iframe({
322 220
           content: {
@@ -324,89 +222,40 @@
324 222
             parent: this, // 当前的vue对象
325 223
             data: {
326 224
               woid: row.F_Id,
327
-              isOut:0
225
+              isOut: 0
328 226
             } // props
329 227
           },
330 228
           area: ['70%', '72%'],
331 229
           title: '入库信息'
332 230
         })
333
-        // this.title = '入库'
334
-        // this.dialogFormVisible = true
335
-        // this.F_Id = row.F_Id
336
-        // this.devstate = row.F_DevState
337 231
       },
338 232
       handlezp(row) {
339
-        this.titleBack = '转派'
340
-        this.dialogDistribution = true
341
-        this.F_Id = row.F_Id
233
+        this.$layer.iframe({
234
+          content: {
235
+            content: assign, // 传递的组件对象
236
+            parent: this, // 当前的vue对象
237
+            data: {
238
+              woid: row.F_Id,
239
+              isGo: 0
240
+            } // props
241
+          },
242
+          area: ['70%', '72%'],
243
+          title: '转派'
244
+        })
342 245
       },
343 246
       handlezpfh(row) {
344
-        this.titleBack = '转派(返还)'
345
-        this.dialogDistribution = true
346
-        this.F_Id = row.F_Id
347
-      },
348
-      //出库
349
-      outSure() {
350
-        this.dialogFormVisible = false
351
-        const params = {
352
-          woid: this.F_Id,
353
-          devstate: this.form.devstate,
354
-          devmessage: this.form.devmessage + '|' + this.form.num + '|' + this.form.codes,
355
-          remark: this.form.remark
356
-        }
357
-        if (this.title == '出库') {
358
-          getDevCheckout(params).then(res => {
359
-            if (res.state == 'success') {
360
-              this.$message.success("出库成功")
361
-              this.form = {}
362
-              this.getListTask()
363
-            }
364
-          })
365
-        }
366
-        if (this.title == '入库') {
367
-          const paramsr = {
368
-            woid: this.F_Id,
369
-            devmessage: this.form.devmessage + '|' + this.form.num + '|' + this.form.codes,
370
-            remark: this.form.remark
371
-          }
372
-          getDevStorage(paramsr).then(res => {
373
-            if (res.state == 'success') {
374
-              this.$message.success("入库成功")
375
-              this.form = {}
376
-              this.getListTask()
377
-            }
378
-          })
379
-        }
380
-      },
381
-      //转派
382
-      zpSure() {
383
-        this.dialogDistribution = false
384
-        const params = {
385
-          woid: this.F_Id,
386
-          usercode: this.formzp.usercode,
387
-          username: this.formzp.username,
388
-          phon: this.formzp.phon,
389
-          talkie: this.formzp.talkie,
390
-          remark: this.formzp.remark
391
-        }
392
-        if (this.titleBack == '转派') {
393
-          getAssignTransGo(params).then(res => {
394
-            if (res.state == 'success') {
395
-              this.$message.success("转派成功")
396
-              this.formzp = {}
397
-              this.getListTask()
398
-            }
399
-          })
400
-        } else {
401
-          getAssignTransOut(params).then(res => {
402
-            if (res.state == 'success') {
403
-              this.$message.success("转派(返还)成功")
404
-              this.formzp = {}
405
-              this.getListTask()
406
-            }
407
-          })
408
-        }
409
-
247
+        this.$layer.iframe({
248
+          content: {
249
+            content: assign, // 传递的组件对象
250
+            parent: this, // 当前的vue对象
251
+            data: {
252
+              woid: row.F_Id,
253
+              isGo: 1
254
+            } // props
255
+          },
256
+          area: ['70%', '72%'],
257
+          title: '转派(返还)'
258
+        })
410 259
       },
411 260
       //转运
412 261
       zyWorkOrder(row) {
@@ -490,12 +339,22 @@
490 339
           })
491 340
       },
492 341
       noCount() {
493
-        this.dialogNoCount = true
494
-      },
495
-      handleClick(tab, event) {
496
-        this.state = Number(tab.name)
497
-        this.getListTask()
342
+        // this.dialogNoCount = true
343
+        this.$confirm("设备库存不足,本次工单异常结束,设备不足信息将反馈给坐席。", "提示", {
344
+            confirmButtonText: '确定',
345
+            cancelButtonText: '取消',
346
+            type: 'warning'
347
+          }).then(() => {
348
+
349
+          })
350
+          .catch(() => {
351
+            // this.$message('已取消')
352
+          })
498 353
       },
354
+      // handleClick(tab, event) {
355
+      //   this.state = Number(tab.name)
356
+      //   this.getListTask()
357
+      // },
499 358
       getWorkOrder() {
500 359
         return new Promise((resolve) => {
501 360
           getOrderTypeLists().then((res) => {
@@ -601,76 +460,11 @@
601 460
           .catch(() => {
602 461
             this.$message('已取消删除')
603 462
           })
604
-      },
605
-      getTime(date) {
606
-        var day = Math.floor(new Date().getTime() / 1000) - new Date(date).getTime() / 1000
607
-        var day2 = Math.floor(day / (24 * 3600))
608
-        var day3 = day2 * 24 * 3600
609
-        var day4 = day - day3
610
-        var day5 = Math.floor(day4 / 3600)
611
-        return day5
612 463
       }
613 464
     }
614 465
   }
615 466
 </script>
616 467
 
617 468
 <style rel="stylesheet/scss" scoped>
618
-  /deep/.el-tabs__item {
619
-    width: 185px !important;
620
-    text-align: center;
621
-    font-size: 16px !important;
622
-    font-weight: 600;
623
-  }
624 469
 
625
-  .el-popper[x-placement^='bottom'] {
626
-    z-index: 10px !important;
627
-  }
628
-
629
-  .operation div {
630
-    font-size: 14px;
631
-    color: #222;
632
-    padding: 5px 0;
633
-    cursor: pointer;
634
-  }
635
-
636
-  .el-icon-s-tools {
637
-    font-size: 18px !important;
638
-    vertical-align: middle;
639
-  }
640
-
641
-  .el-popover {
642
-    min-width: 75px;
643
-    text-align: center;
644
-  }
645
-
646
-  .el-table .cell {
647
-    position: relative;
648
-  }
649
-
650
-  .el {
651
-    cursor: pointer;
652
-  }
653
-
654
-  .filter-container {
655
-    padding-top: 15px;
656
-  }
657
-
658
-  .el-table--mini,
659
-  .el-table--small,
660
-  .el-table__expand-icon {
661
-    font-size: 14px;
662
-  }
663
-
664
-  .el-table--small td,
665
-  .el-table--small th {
666
-    padding: 2px 0 !important;
667
-  }
668
-
669
-  .filter-date {
670
-    width: 388px !important;
671
-  }
672
-
673
-  .el-table {
674
-    color: #000;
675
-  }
676 470
 </style>

+ 107 - 0
CallCenterWeb.UI/RMYY/src/views/comDispatch/EquipmentLeasing/components/assign.vue

@@ -0,0 +1,107 @@
1
+<template>
2
+  <div>
3
+    <el-form ref="ruleForm" :model="formzp" label-width="100px">
4
+      <el-col :span="24">
5
+        <el-row>
6
+          <el-col :span="6">
7
+            <el-form-item label="配送人" prop="username">
8
+              <select-repairman :repairman-param="repairmanParam" @post-repairman="getRepairman" />
9
+            </el-form-item>
10
+          </el-col>
11
+          <el-col :span="6">
12
+            <el-form-item label="电话">
13
+              <el-input v-model="formzp.phon" autocomplete="off"></el-input>
14
+            </el-form-item>
15
+          </el-col>
16
+          <el-col :span="6">
17
+            <el-form-item label="对讲机">
18
+              <el-input v-model="formzp.talkie" autocomplete="off"></el-input>
19
+            </el-form-item>
20
+          </el-col>
21
+        </el-row>
22
+        <el-row>
23
+          <el-form-item label="备注">
24
+            <el-input v-model="formzp.remark" autocomplete="off"></el-input>
25
+          </el-form-item>
26
+        </el-row>
27
+        <el-form-item>
28
+          <el-button @click="resetForm">取 消</el-button>
29
+          <el-button type="primary" @click="zpSure()">确 定</el-button>
30
+        </el-form-item>
31
+      </el-col>
32
+    </el-form>
33
+  </div>
34
+</template>
35
+
36
+<script>
37
+  import {
38
+    getAssignTransGo,
39
+    getAssignTransOut
40
+  } from '@/api/EquipmentLeasing/EquipmentLeasing.js'
41
+  export default {
42
+    name: 'Assign',
43
+    props: {
44
+      woid: {
45
+        type: Number,
46
+        default: ''
47
+      },
48
+      isGo: {
49
+        type: Number,
50
+        default: ''
51
+      }
52
+    },
53
+    data() {
54
+      return {
55
+        formzp: {},
56
+        repairmanParam: {
57
+          id: 0,
58
+          name: ''
59
+        },
60
+      }
61
+    },
62
+    methods: {
63
+      //配送人
64
+      getRepairman(data) {
65
+        this.formzp.usercode = data.value
66
+        this.formzp.username = data.name
67
+      },
68
+      resetForm() {
69
+        this.$refs.ruleForm.resetFields()
70
+      },
71
+      zpSure() {
72
+        const params = {
73
+          woid: this.woid,
74
+          usercode: this.formzp.usercode,
75
+          username: this.formzp.username,
76
+          phon: this.formzp.phon,
77
+          talkie: this.formzp.talkie,
78
+          remark: this.formzp.remark
79
+        }
80
+        if (this.isGo == 0) {
81
+          getAssignTransGo(params).then(res => {
82
+            if (res.state == 'success') {
83
+              this.$message.success("转派成功")
84
+              this.formzp = {}
85
+              this.$parent.$layer.close(this.layerid)
86
+              this.$parent.getListTask() // 重新加载父级数据
87
+            }
88
+          })
89
+        } else {
90
+          getAssignTransOut(params).then(res => {
91
+            if (res.state == 'success') {
92
+              this.$message.success("转派(返还)成功")
93
+              this.formzp = {}
94
+              this.$parent.$layer.close(this.layerid)
95
+              this.$parent.getListTask() // 重新加载父级数据
96
+            }
97
+          })
98
+        }
99
+
100
+      },
101
+
102
+    }
103
+  }
104
+</script>
105
+
106
+<style>
107
+</style>

+ 0 - 29
CallCenterWeb.UI/RMYY/src/views/comDispatch/EquipmentLeasing/components/equiAddOrEdit.vue

@@ -32,11 +32,6 @@
32 32
               <el-input v-model="ruleForm.phon" placeholder="请输入联系电话" />
33 33
             </el-form-item>
34 34
           </el-col>
35
-          <!-- <el-col :span="16">
36
-            <el-form-item label="设备信息" prop="devmessages">
37
-              <el-input v-model="ruleForm.devmessages" placeholder="请输入设备信息" />
38
-            </el-form-item>
39
-          </el-col> -->
40 35
         </el-row>
41 36
         <el-row v-for="(item,index) in devList" :key="index">
42 37
           <el-col :span="8">
@@ -350,28 +345,4 @@
350 345
 </script>
351 346
 
352 347
 <style rel="stylesheet/scss" lang="scss" scoped>
353
-  .btnPlus {
354
-    margin: 5px 0px 5px 20px;
355
-  }
356
-
357
-  .inputNumber {
358
-    height: 45px;
359
-  }
360
-
361
-  .avatar-uploader-icon {
362
-    font-size: 28px;
363
-    color: #8c939d;
364
-    width: 148px;
365
-    height: 148px;
366
-    line-height: 178px;
367
-    text-align: center;
368
-  }
369
-
370
-  /deep/.el-upload {
371
-    border: 1px dashed #d9d9d9;
372
-    border-radius: 6px;
373
-    cursor: pointer;
374
-    position: relative;
375
-    overflow: hidden;
376
-  }
377 348
 </style>

+ 0 - 8
CallCenterWeb.UI/RMYY/src/views/comDispatch/EquipmentLeasing/components/equiDetail.vue

@@ -128,15 +128,7 @@
128 128
           this.orderDetailData.F_Remark = res.F_Remark // 备注
129 129
           this.workOrderCirculationList = response.itemlist // 配送信息
130 130
         })
131
-      },
132
-      // 老字符串
133
-      stringAddArray(addStr, oldStr) {
134
-        for (let index = 0; index < oldStr.length; index++) {
135
-          const element = oldStr[index]
136
-          this.orderDetailData.RedPic.push(addStr + element)
137
-        }
138 131
       }
139
-
140 132
     }
141 133
   }
142 134
 </script>

+ 28 - 96
CallCenterWeb.UI/RMYY/src/views/comDispatch/Escortservice/EscortserviceList/index.vue

@@ -14,19 +14,12 @@
14 14
           </el-form-item>
15 15
           <el-form-item>
16 16
             <el-button type="primary" size="medium" @click="btn_search_task">查询</el-button>
17
-            <el-button type="primary" size="medium" @click="btn_add">添加工单</el-button>
18
-            <el-button v-if="selectArr.length>0" type="primary" size="medium" @click="handleDelCode()">删除工单</el-button>
17
+            <el-button v-permission="'btn_add'" type="primary" size="medium" @click="btn_add">添加工单</el-button>
18
+            <el-button v-permission="'btn_delete'" v-if="selectArr.length>0" type="primary" size="medium"
19
+              @click="handleDelCode()">删除工单</el-button>
19 20
           </el-form-item>
20 21
         </el-form>
21
-        <!-- <el-tabs v-if="isRoot==0" v-model="activeName" @tab-click="handleClick">
22
-          <el-tab-pane label="全部" name="-1" />
23
-          <el-tab-pane label="待派工" name="0" />
24
-          <el-tab-pane label="待查收" name="1" />
25
-          <el-tab-pane label="待到达" name="2" />
26
-          <el-tab-pane label="陪检中" name="4" />
27
-          <el-tab-pane label="已完成" name="10" />
28
-        </el-tabs> -->
29
-        <tab-order-state :order-id="orderId"  @post-order-id="getOrderId"/>
22
+        <tab-order-state :order-id="orderId" @post-order-id="getOrderId" />
30 23
         <el-table ref="multipleTable" :data="taskDataLists" border stripe @selection-change="handleSelectionChange">
31 24
           <el-table-column type="selection" width="55">
32 25
           </el-table-column>
@@ -47,14 +40,21 @@
47 40
           <el-table-column :show-overflow-tooltip="true" prop="F_Remark" label="备注" align="center" min-width />
48 41
           <el-table-column label="操作" width="160" align="center" class-name="oparate_btn" fixed="right">
49 42
             <template slot-scope="scope">
50
-              <el-button type="text" @click="btn_edit(scope.row.F_Id)">修改</el-button>
51
-              <el-button v-if="scope.row.F_State==0" type="text" @click="handleOut(scope.row.F_Id)">转派</el-button>
52
-              <el-button v-if="scope.row.F_State==1" type="text" @click="btn_Surewo(scope.row)">查收</el-button>
53
-              <el-button v-if="scope.row.F_State==2" type="text" @click="btn_Arrivewo(scope.row)">已到达</el-button>
54
-              <el-button v-if="scope.row.F_State==3" type="text" @click="btn_Companywo(scope.row)">陪检</el-button>
55
-              <el-button v-if="scope.row.F_State==4" type="text" @click="btn_DealBooldWo(scope.row)">待处理</el-button>
56
-              <el-button v-if="scope.row.F_State==6" type="text" @click="btn_CompleteWo(scope.row)">已完成</el-button>
57
-              <el-button v-if="scope.row.F_State==10" type="text" @click="btn_Overwo(scope.row)">完结</el-button>
43
+              <el-button v-permission="'btn_edit'" type="text" @click="btn_edit(scope.row.F_Id)">修改</el-button>
44
+              <el-button v-permission="'btn_zp'" v-if="scope.row.F_State==0" type="text"
45
+                @click="handleOut(scope.row.F_Id)">转派</el-button>
46
+              <el-button v-permission="'btn_cs'" v-if="scope.row.F_State==1" type="text" @click="btn_Surewo(scope.row)">
47
+                查收</el-button>
48
+              <el-button v-permission="'btn_arrive'" v-if="scope.row.F_State==2" type="text"
49
+                @click="btn_Arrivewo(scope.row)">已到达</el-button>
50
+              <el-button v-permission="'btn_company'" v-if="scope.row.F_State==3" type="text"
51
+                @click="btn_Companywo(scope.row)">陪检</el-button>
52
+              <el-button v-permission="'btn_deal'" v-if="scope.row.F_State==4" type="text"
53
+                @click="btn_DealBooldWo(scope.row)">待处理</el-button>
54
+              <el-button v-permission="'btn_complete'" v-if="scope.row.F_State==6" type="text"
55
+                @click="btn_CompleteWo(scope.row)">已完成</el-button>
56
+              <el-button v-permission="'btn_over'" v-if="scope.row.F_State==10" type="text"
57
+                @click="btn_Overwo(scope.row)">完结</el-button>
58 58
             </template>
59 59
           </el-table-column>
60 60
         </el-table>
@@ -111,7 +111,7 @@
111 111
     },
112 112
     data() {
113 113
       return {
114
-        orderId:2008,
114
+        orderId: 2008,
115 115
         dialogOverorder: false,
116 116
         dialogOutorder: false,
117 117
         formLabelWidth: '120px',
@@ -165,8 +165,7 @@
165 165
         F_Id: '', //工单id
166 166
         state: -1, // 状态
167 167
         selectArr: [],
168
-        ids: [],
169
-        idstr:''
168
+        ids: []
170 169
       }
171 170
     },
172 171
     computed: {},
@@ -188,7 +187,7 @@
188 187
       setInterval(this.getListTask, 1000 * 60)
189 188
     },
190 189
     methods: {
191
-      getOrderId(data){
190
+      getOrderId(data) {
192 191
         this.state = data
193 192
         this.getListTask()
194 193
       },
@@ -207,8 +206,7 @@
207 206
       },
208 207
       handleSelectionChange(val) {
209 208
         this.selectArr = val;
210
-        this.ids=[]
211
-        // this.idstr=''
209
+        this.ids = []
212 210
         for (var i = 0; i < this.selectArr.length; i++) {
213 211
           this.ids.push(this.selectArr[i].F_Id)
214 212
         }
@@ -298,10 +296,10 @@
298 296
           }
299 297
         })
300 298
       },
301
-      handleClick(tab, event) {
302
-        this.state = Number(tab.name)
303
-        this.getListTask()
304
-      },
299
+      // handleClick(tab, event) {
300
+      //   this.state = Number(tab.name)
301
+      //   this.getListTask()
302
+      // },
305 303
       getWorkOrder() {
306 304
         return new Promise((resolve) => {
307 305
           getOrderTypeLists().then((res) => {
@@ -409,8 +407,7 @@
409 407
             type: 'warning'
410 408
           }).then(() => {
411 409
             const params = {
412
-              ids:this.ids
413
-              // ids: this.idstr.slice(0,this.idstr.length-1)
410
+              ids: this.ids
414 411
             }
415 412
             getDelWorkOrder(params).then(res => {
416 413
               if (res.state == 'success') {
@@ -423,76 +420,11 @@
423 420
           .catch(() => {
424 421
             this.$message('已取消删除')
425 422
           })
426
-      },
427
-      getTime(date) {
428
-        var day = Math.floor(new Date().getTime() / 1000) - new Date(date).getTime() / 1000
429
-        var day2 = Math.floor(day / (24 * 3600))
430
-        var day3 = day2 * 24 * 3600
431
-        var day4 = day - day3
432
-        var day5 = Math.floor(day4 / 3600)
433
-        return day5
434 423
       }
435 424
     }
436 425
   }
437 426
 </script>
438 427
 
439 428
 <style rel="stylesheet/scss" scoped>
440
-  /deep/.el-tabs__item {
441
-    width: 185px !important;
442
-    text-align: center;
443
-    font-size: 16px !important;
444
-    font-weight: 600;
445
-  }
446 429
 
447
-  .el-popper[x-placement^='bottom'] {
448
-    z-index: 10px !important;
449
-  }
450
-
451
-  .operation div {
452
-    font-size: 14px;
453
-    color: #222;
454
-    padding: 5px 0;
455
-    cursor: pointer;
456
-  }
457
-
458
-  .el-icon-s-tools {
459
-    font-size: 18px !important;
460
-    vertical-align: middle;
461
-  }
462
-
463
-  .el-popover {
464
-    min-width: 75px;
465
-    text-align: center;
466
-  }
467
-
468
-  .el-table .cell {
469
-    position: relative;
470
-  }
471
-
472
-  .el {
473
-    cursor: pointer;
474
-  }
475
-
476
-  .filter-container {
477
-    padding-top: 15px;
478
-  }
479
-
480
-  .el-table--mini,
481
-  .el-table--small,
482
-  .el-table__expand-icon {
483
-    font-size: 14px;
484
-  }
485
-
486
-  .el-table--small td,
487
-  .el-table--small th {
488
-    padding: 2px 0 !important;
489
-  }
490
-
491
-  .filter-date {
492
-    width: 388px !important;
493
-  }
494
-
495
-  .el-table {
496
-    color: #000;
497
-  }
498 430
 </style>

+ 1 - 1
CallCenterWeb.UI/RMYY/src/views/comDispatch/Escortservice/EscortserviceReport/index.vue

@@ -12,7 +12,7 @@
12 12
       </el-form-item>
13 13
       <el-form-item>
14 14
         <el-button type="primary" @click="btn_search_task()">查询</el-button>
15
-        <el-button type="primary" @click="btn_export">
15
+        <el-button v-permission="'btn_export'" type="primary" @click="btn_export">
16 16
           <svg-icon icon-class="daochu" />导出
17 17
         </el-button>
18 18
       </el-form-item>

+ 0 - 24
CallCenterWeb.UI/RMYY/src/views/comDispatch/Escortservice/components/escortAddOrEdit.vue

@@ -432,28 +432,4 @@
432 432
 </script>
433 433
 
434 434
 <style rel="stylesheet/scss" lang="scss" scoped>
435
-  .btnPlus {
436
-    margin: 5px 0px 5px 20px;
437
-  }
438
-
439
-  .inputNumber {
440
-    height: 45px;
441
-  }
442
-
443
-  .avatar-uploader-icon {
444
-    font-size: 28px;
445
-    color: #8c939d;
446
-    width: 148px;
447
-    height: 148px;
448
-    line-height: 178px;
449
-    text-align: center;
450
-  }
451
-
452
-  /deep/.el-upload {
453
-    border: 1px dashed #d9d9d9;
454
-    border-radius: 6px;
455
-    cursor: pointer;
456
-    position: relative;
457
-    overflow: hidden;
458
-  }
459 435
 </style>

+ 0 - 7
CallCenterWeb.UI/RMYY/src/views/comDispatch/Escortservice/components/escortDetail.vue

@@ -129,13 +129,6 @@
129 129
           this.orderDetailData.F_PatientName = res.F_PatientName // 备注
130 130
           this.workOrderCirculationList = response.itemlist // 配送信息
131 131
         })
132
-      },
133
-      // 老字符串
134
-      stringAddArray(addStr, oldStr) {
135
-        for (let index = 0; index < oldStr.length; index++) {
136
-          const element = oldStr[index]
137
-          this.orderDetailData.RedPic.push(addStr + element)
138
-        }
139 132
       }
140 133
 
141 134
     }

+ 19 - 19
CallCenterWeb.UI/RMYY/src/views/comDispatch/Escortservice/components/escortOut.vue

@@ -2,22 +2,11 @@
2 2
   <div>
3 3
     <el-form ref="ruleForm" :model="ruleForm" label-width="100px">
4 4
       <el-col :span="24">
5
-        <!-- <el-row>
6
-          <el-form-item label="出库状态:" :label-width="formLabelWidth">
7
-            <el-select v-model="form.devstate" placeholder="请选择">
8
-              <el-option v-for="item in outTypes" :key="item.value" :label="item.label" :value="item.value">
9
-              </el-option>
10
-            </el-select>
11
-          </el-form-item>
12
-        </el-row> -->
13 5
         <el-row v-for="(item,index) in devList" :key="index">
14 6
           <el-col :span="6">
15
-            <!-- <el-form-item label="申请人" prop="usercode" :label-width="formLabelWidth">
16
-              <el-input v-model="item.usercode" autocomplete="off"></el-input>
17
-            </el-form-item> -->
18 7
             <el-form-item label="转运人" prop="usercode" :label-width="formLabelWidth">
19 8
               <el-select v-model="devList[index].usercode">
20
-                <el-option v-for="item in nameList" :key="item.value" :label="item.label" :value="item.value">
9
+                <el-option v-for="item in nameList" :key="item.usercode" :label="item.username" :value="item.usercode">
21 10
                 </el-option>
22 11
               </el-select>
23 12
             </el-form-item>
@@ -71,6 +60,7 @@
71 60
     getAssignWo,
72 61
     getGetAllCar
73 62
   } from '@/api/Escortservice/Escortservice.js'
63
+  import { GetPerson } from '@/api/commonAPI'
74 64
   export default {
75 65
     name: 'escortOut',
76 66
     props: {
@@ -120,11 +110,11 @@
120 110
         resstr: '',
121 111
         carList: []
122 112
         // isOut:0
123
-
124 113
       }
125 114
     },
126 115
     created() {
127 116
       this.getCar()
117
+      this.getRepairman()
128 118
     },
129 119
     methods: {
130 120
       addItem() {
@@ -148,6 +138,17 @@
148 138
           }
149 139
         }
150 140
       },
141
+      getRepairman() {
142
+        const params = {
143
+          deptid: 1 // 字典管理的工单标识
144
+        }
145
+        return new Promise((resolve) => {
146
+          GetPerson(params).then((res) => {
147
+            this.nameList = res.rows
148
+          })
149
+          resolve()
150
+        })
151
+      },
151 152
       //转派
152 153
       outSure() {
153 154
         this.getStr()
@@ -179,17 +180,16 @@
179 180
               label: res[i]
180 181
             })
181 182
           }
182
-          console.log(this.carList)
183 183
         })
184 184
       },
185
-      getRepairman(data) {
186
-        console.log(data)
187
-        this.form.usercode = data.value
188
-      },
185
+      // getRepairman(data) {
186
+      //   console.log(data)
187
+      //   this.form.usercode = data.value
188
+      // },
189 189
       resetForm() {
190 190
         this.form = {}
191 191
         this.$refs.ruleForm.resetFields()
192
-        this.devList=[{
192
+        this.devList = [{
193 193
           talkie: '',
194 194
           phone: '',
195 195
           usercode: ''

+ 452 - 284
CallCenterWeb.UI/RMYY/src/views/comDispatch/components/addOrEditDistribute.vue

@@ -5,31 +5,31 @@
5 5
         <el-row v-if="typeid === 2005">
6 6
           <el-col :span="8">
7 7
             <el-form-item label="工单类别" prop="hosname">
8
-              <select-order-type :third-order-type="thirdOrderTypeParam" @post-third-order-type="getThirdOrderType"/>
8
+              <select-order-type :third-order-type="thirdOrderTypeParam" @post-third-order-type="getThirdOrderType" />
9 9
             </el-form-item>
10 10
           </el-col>
11 11
         </el-row>
12
-        <el-row >
12
+        <el-row>
13 13
           <el-col :span="8">
14 14
             <el-form-item label="院区" prop="hosname">
15
-              <select-hosname :hospitals-param="hospitalsParam" @post-hospitals="getHospitals"/>
15
+              <select-hosname :hospitals-param="hospitalsParam" @post-hospitals="getHospitals" />
16 16
             </el-form-item>
17 17
           </el-col>
18 18
           <el-col :span="8">
19 19
             <el-form-item label="科室" prop="deptname">
20
-              <select-departments :departments-param="departmentsParam" @post-departments="getDepartments"/>
20
+              <select-departments :departments-param="departmentsParam" @post-departments="getDepartments" />
21 21
             </el-form-item>
22 22
           </el-col>
23 23
           <el-col :span="8">
24 24
             <el-form-item label="申请人" prop="username">
25
-              <select-repairman :repairman-param="repairmanParam" @post-repairman="getRepairman"/>
25
+              <select-repairman :repairman-param="repairmanParam" @post-repairman="getRepairman" />
26 26
             </el-form-item>
27 27
           </el-col>
28 28
         </el-row>
29
-        <el-row >
29
+        <el-row>
30 30
           <el-col :span="8">
31 31
             <el-form-item label="联系电话" prop="phon">
32
-              <el-input v-model="ruleForm.phon" placeholder="请输入联系电话"/>
32
+              <el-input v-model="ruleForm.phon" placeholder="请输入联系电话" />
33 33
             </el-form-item>
34 34
           </el-col>
35 35
           <el-col v-if="JSON.stringify(orderTypeData)==='{}'" :span="7">
@@ -43,8 +43,9 @@
43 43
           </el-col>
44 44
         </el-row>
45 45
 
46
-        <el-row v-if="(orderTypeData.F_Type2&&orderTypeData.F_Type2!=2004)||(typeid&&typeid !=2004)">
47
-          <add-items ref="childComponent" :item-info="itemInfo"/>
46
+        <el-row
47
+          v-if="((orderTypeData.F_Type2&&orderTypeData.F_Type2!=2004)||(typeid&&typeid !=2004))&&((orderTypeData.F_Type2&&orderTypeData.F_Type2!=2001)||(typeid&&typeid !=2001))&&((orderTypeData.F_Type2&&orderTypeData.F_Type2!=2008)||(typeid&&typeid !=2008))">
48
+          <add-items ref="childComponent" :item-info="itemInfo" />
48 49
         </el-row>
49 50
 
50 51
         <el-row v-if="(orderTypeData.F_Type2===2005)||(typeid ===2005)">
@@ -58,11 +59,7 @@
58 59
           </el-col>
59 60
           <el-col :span="8">
60 61
             <el-form-item label="搬运时间" prop="carrytime">
61
-              <el-date-picker
62
-                v-model="ruleForm.carrytime"
63
-                type="date"
64
-                placeholder="搬运时间"
65
-                value-format="yyyy-MM-dd"/>
62
+              <el-date-picker v-model="ruleForm.carrytime" type="date" placeholder="搬运时间" value-format="yyyy-MM-dd" />
66 63
             </el-form-item>
67 64
           </el-col>
68 65
         </el-row>
@@ -71,35 +68,113 @@
71 68
           <el-row>
72 69
             <el-col :span="8">
73 70
               <el-form-item label="红处方数量" prop="number">
74
-                <el-input-number v-model="ruleForm.number" :min="1" size="medium" class="inputNumber"/>
71
+                <el-input-number v-model="ruleForm.number" :min="1" size="medium" class="inputNumber" />
75 72
               </el-form-item>
76 73
             </el-col>
77 74
           </el-row>
78 75
           <el-row>
79 76
             <el-col>
80 77
               <el-form-item label="上传图片" prop="T_Woimageid">
81
-                <el-upload
82
-                  ref="upload"
83
-                  :headers="headers"
84
-                  :auto-upload="false"
85
-                  :on-success="handle_success"
86
-                  :file-list="fileList"
87
-                  :on-change="handleFileUploaderChange"
88
-                  action="#"
89
-                  class="avatar-uploader"
90
-                  list-type="picture"
91
-                >
78
+                <el-upload ref="upload" :headers="headers" :auto-upload="false" :on-success="handle_success"
79
+                  :file-list="fileList" :on-change="handleFileUploaderChange" action="#" class="avatar-uploader"
80
+                  list-type="picture">
92 81
                   <i class="el-icon-plus avatar-uploader-icon" />
93 82
                 </el-upload>
94 83
               </el-form-item>
95 84
             </el-col>
96 85
           </el-row>
97 86
         </el-row>
98
-        
87
+        <el-row v-if="(orderTypeData.F_Type2===2001)||(typeid ===2001)">
88
+          <el-row v-for="(item,index) in devList" :key="index">
89
+            <el-col :span="8">
90
+              <el-form-item label="设备名称" prop="devname">
91
+                <el-input v-model="item.devname" placeholder="设备名称" autocomplete="off"></el-input>
92
+              </el-form-item>
93
+            </el-col>
94
+            <el-col :span="8">
95
+              <el-form-item label="数量" prop="num">
96
+                <el-input-number v-model="item.num" :min="1"></el-input-number>
97
+              </el-form-item>
98
+            </el-col>
99
+            <el-col :span="6">
100
+              <el-button type="primary" icon="el-icon-plus" circle @click="addDevItem()" />
101
+              <el-button type="primary" v-if="devList.length>1" icon="el-icon-close" circle
102
+                @click="removeDevItem(index)" />
103
+            </el-col>
104
+          </el-row>
105
+        </el-row>
106
+        <el-row v-if="(orderTypeData.F_Type2===2008)||(typeid ===2008)">
107
+          <el-row>
108
+            <el-col :span="8">
109
+              <el-form-item label="患者姓名" prop="patient">
110
+                <el-input v-model="ruleForm.patient" placeholder="请输入" />
111
+              </el-form-item>
112
+            </el-col>
113
+            <el-col :span="8">
114
+              <el-form-item label="床号" prop="bednum">
115
+                <el-input v-model="ruleForm.bednum" placeholder="请输入" />
116
+              </el-form-item>
117
+            </el-col>
118
+          </el-row>
119
+          <el-row>
120
+            <el-col :span="8">
121
+              <el-form-item label="住院号" prop="inpatientnum">
122
+                <el-input v-model="ruleForm.inpatientnum" placeholder="请输入" />
123
+              </el-form-item>
124
+            </el-col>
125
+            <el-col :span="8">
126
+              <el-form-item label="检查项目" prop="checkitem">
127
+                <el-input v-model="ruleForm.checkitem" placeholder="请输入" />
128
+              </el-form-item>
129
+            </el-col>
130
+          </el-row>
131
+          <el-row>
132
+            <el-col :span="8">
133
+              <el-form-item label="预约检查时间" prop="yuyuetime">
134
+                <el-date-picker v-model="ruleForm.yuyuetime" type="datetime" placeholder="选择日期时间">
135
+                </el-date-picker>
136
+              </el-form-item>
137
+            </el-col>
138
+            <el-col :span="8">
139
+              <el-form-item label="注意事项" prop="attention">
140
+                <el-select v-model="ruleForm.attention">
141
+                  <el-option v-for="item in attentionList" :key="item.value" :label="item.label" :value="item.value">
142
+                  </el-option>
143
+                </el-select>
144
+              </el-form-item>
145
+            </el-col>
146
+          </el-row>
147
+          <el-row>
148
+            <el-col :span="8">
149
+              <el-form-item label="出行方式" prop="travel">
150
+                <el-select v-model="ruleForm.travel">
151
+                  <el-option v-for="item in travelList" :key="item.value" :label="item.label" :value="item.value">
152
+                  </el-option>
153
+                </el-select>
154
+              </el-form-item>
155
+            </el-col>
156
+            <el-col :span="8">
157
+              <el-form-item label="护理级别" prop="nursinglevel">
158
+                <el-select v-model="ruleForm.nursinglevel">
159
+                  <el-option v-for="item in nursinglevelList" :key="item.value" :label="item.label" :value="item.value">
160
+                  </el-option>
161
+                </el-select>
162
+              </el-form-item>
163
+            </el-col>
164
+            <el-col :span="8">
165
+              <el-form-item label="是否带管" prop="withpipe">
166
+                <el-select v-model="ruleForm.withpipe">
167
+                  <el-option v-for="item in withpipeList" :key="item.value" :label="item.label" :value="item.value">
168
+                  </el-option>
169
+                </el-select>
170
+              </el-form-item>
171
+            </el-col>
172
+          </el-row>
173
+        </el-row>
99 174
         <el-row>
100 175
           <el-col :span="16">
101 176
             <el-form-item label="备注" prop="remark">
102
-              <el-input v-model="ruleForm.remark" type="textarea" placeholder="请输入备注"/>
177
+              <el-input v-model="ruleForm.remark" type="textarea" placeholder="请输入备注" />
103 178
             </el-form-item>
104 179
           </el-col>
105 180
         </el-row>
@@ -114,284 +189,377 @@
114 189
 </template>
115 190
 
116 191
 <script>
192
+  import {
193
+    getWorkOrderGetDept,
194
+    UploadImage64
195
+  } from '@/api/commonAPI'
196
+  import {
197
+    getDeatil,
198
+    addData,
199
+    editData
200
+  } from '@/api/comDispatch/muterDistribute'
117 201
 
118
-import { getWorkOrderGetDept, UploadImage64 } from '@/api/commonAPI'
119
-import { getDeatil, addData, editData } from '@/api/comDispatch/muterDistribute'
120
-
121
-import AddItems from '@/components/context/AddItems'
202
+  import AddItems from '@/components/context/AddItems'
122 203
 
123
-export default {
124
-  name: 'AddOrEditDistribute',
125
-  components: {
126
-    AddItems
127
-  },
128
-  props: {
129
-    rowid: {
130
-      type: String,
131
-      default: ''
204
+  export default {
205
+    name: 'AddOrEditDistribute',
206
+    components: {
207
+      AddItems
132 208
     },
133
-    typeid: {
134
-      type: Number,
135
-      default: 0
136
-    },
137
-    layerid: {
138
-      type: String,
139
-      default: ''
140
-    },
141
-    orderTypeData: {
142
-      type: Object,
143
-      default() {
144
-        return {}
145
-      }
146
-    }
147
-  },
148
-  data() {
149
-    return {
150
-      hospitalsId: 0,
151
-      thirdOrderTypeParam: {
152
-        typeid: 3,
153
-        pid: 2005
154
-      },
155
-      hospitalsParam: {
156
-        id: 0,
157
-        name: ''
158
-      },
159
-      itemInfo:{
160
-        address:'送达地点',
161
-        addressPlaceholder:'请选择送达地点',
162
-        name:'物品名称',
163
-        namePlaceholder:'请输入物品名称',
164
-        clearFlag:false
165
-      },
166
-      departmentsParam: {
167
-        id: 0,
168
-        name: ''
209
+    props: {
210
+      rowid: {
211
+        type: String,
212
+        default: ''
169 213
       },
170
-      positonParam: {
171
-        id: 1
214
+      typeid: {
215
+        type: Number,
216
+        default: 0
172 217
       },
173
-      repairmanParam: {
174
-        id: 0,
175
-        name: ''
218
+      layerid: {
219
+        type: String,
220
+        default: ''
176 221
       },
177
-      ruleForm: {
178
-        callid: '',
179
-        type: '', // 工单类别
180
-        hosid: '',	// 院区id
181
-        hosname: '',	// 院区id
182
-        source: '电话',
183
-        deptid: '', // 申请科室id
184
-        deptname: '', // 申请科室名称
185
-        usercode: '', // 申请人编码
186
-        orthertype: '',
187
-        orthertypeName: '',
188
-        isthird: 1,
189
-        username: '', //	申请人
190
-        phon: '', //	联系电话
191
-        itemessage: '', //	标本名称
192
-        islarge: '1',
193
-        carrytime: '',
194
-        number: 0,
195
-        imgId: '',
196
-        remark: '' //	备注
197
-      },
198
-      fileList: [],
199
-      imgBase64Array: '',
200
-      headers: {
201
-        Authorization: localStorage.getItem('Admin-Token')
202
-      },
203
-      loading: false
204
-    }
205
-  },
206
-  watch: {
207
-    'orderTypeData.F_Type2': function() {
208
-      // console.log(this.orderTypeData.F_Type2)
209
-    }
210
-  },
211
-  created() {
212
-    if (this.rowid) {
213
-      this.ruleForm.id = this.rowid
214
-      this.getDetail(this.rowid)
215
-    }
216
-    if (JSON.stringify(this.orderTypeData) === '{}') {
217
-      this.ruleForm.source = ''
218
-    }
219
-  },
220
-  methods: {
222
+      orderTypeData: {
223
+        type: Object,
224
+        default () {
225
+          return {}
226
+        }
227
+      }
228
+    },
229
+    data() {
230
+      return {
231
+        hospitalsId: 0,
232
+        thirdOrderTypeParam: {
233
+          typeid: 3,
234
+          pid: 2005
235
+        },
236
+        hospitalsParam: {
237
+          id: 0,
238
+          name: ''
239
+        },
240
+        itemInfo: {
241
+          address: '送达地点',
242
+          addressPlaceholder: '请选择送达地点',
243
+          name: '物品名称',
244
+          namePlaceholder: '请输入物品名称',
245
+          clearFlag: false
246
+        },
247
+        departmentsParam: {
248
+          id: 0,
249
+          name: ''
250
+        },
251
+        positonParam: {
252
+          id: 1
253
+        },
254
+        repairmanParam: {
255
+          id: 0,
256
+          name: ''
257
+        },
258
+        ruleForm: {
259
+          callid: '',
260
+          type: '', // 工单类别
261
+          hosid: '', // 院区id
262
+          hosname: '', // 院区id
263
+          source: '电话',
264
+          deptid: '', // 申请科室id
265
+          deptname: '', // 申请科室名称
266
+          usercode: '', // 申请人编码
267
+          orthertype: '',
268
+          orthertypeName: '',
269
+          isthird: 1,
270
+          username: '', //	申请人
271
+          phon: '', //	联系电话
272
+          itemessage: '', //	标本名称
273
+          islarge: '1',
274
+          carrytime: '',
275
+          number: 0,
276
+          imgId: '',
277
+          remark: '', //	备注
278
+          bednum: '',
279
+          patient: '',
280
+          inpatientnum: '',
281
+          checkitem: '',
282
+          yuyuetime: '',
283
+          attention: '',
284
+          travel: '',
285
+          nursinglevel: '',
286
+          withpipe: ''
287
+        },
288
+        fileList: [],
289
+        devList: [{
290
+          devname: '',
291
+          num: 1
292
+        }],
293
+        resstr: '',
294
+        attentionList: [{
295
+          value: 1,
296
+          label: "空腹"
297
+        }, {
298
+          value: 2,
299
+          label: "憋尿"
300
+        }, {
301
+          value: 3,
302
+          label: "其他"
303
+        }],
304
+        travelList: [{
305
+          value: 1,
306
+          label: "步行"
307
+        }, {
308
+          value: 2,
309
+          label: "开车"
310
+        }, {
311
+          value: 3,
312
+          label: "走路"
313
+        }],
314
+        nursinglevelList: [{
315
+          value: 1,
316
+          label: "一级"
317
+        }, {
318
+          value: 2,
319
+          label: "二级"
320
+        }, {
321
+          value: 3,
322
+          label: "特级"
323
+        }],
324
+        withpipeList: [{
325
+          value: 1,
326
+          label: "引流管"
327
+        }, {
328
+          value: 2,
329
+          label: "尿管"
330
+        }, {
331
+          value: 3,
332
+          label: "胃管"
333
+        }],
334
+        imgBase64Array: '',
335
+        headers: {
336
+          Authorization: localStorage.getItem('Admin-Token')
337
+        },
338
+        loading: false
339
+      }
340
+    },
341
+    watch: {
342
+      'orderTypeData.F_Type2': function() {
343
+        // console.log(this.orderTypeData.F_Type2)
344
+      }
345
+    },
346
+    created() {
347
+      if (this.rowid) {
348
+        this.ruleForm.id = this.rowid
349
+        this.getDetail(this.rowid)
350
+      }
351
+      if (JSON.stringify(this.orderTypeData) === '{}') {
352
+        this.ruleForm.source = ''
353
+      }
354
+    },
355
+    methods: {
221 356
 
222
-    submitForm() {
357
+      submitForm() {
223 358
 
224
-      this.ruleForm.itemessage = this.$refs.childComponent.getItemessage();
359
+        this.ruleForm.itemessage = this.$refs.childComponent.getItemessage();
225 360
 
226
-      if (JSON.stringify(this.orderTypeData) !== '{}') {
227
-        this.ruleForm.type = this.orderTypeData.F_Type2
228
-        this.ruleForm.orthertype = this.orderTypeData.F_Type3
229
-      } else {
230
-        this.ruleForm.type = this.typeid
231
-      }
232
-      this.ruleForm.imgId = this.ruleForm.imgId.slice(0, this.ruleForm.imgId.length - 1)
233
-      this.$refs.ruleForm.validate((valid) => {
234
-        if (valid) {
235
-          this.loading = true
236
-          const datas = {
237
-            callid: this.ruleForm.id,
238
-            type: this.ruleForm.type, //	工单类别
239
-            source: this.ruleForm.source, //	工单来源
240
-            orthertype: this.ruleForm.orthertype,
241
-            hosid: this.ruleForm.hosid, //	院区id
242
-            deptid: this.ruleForm.deptid, //	申请科室id
243
-            deptname: this.ruleForm.deptname, // 申请科室名称
244
-            usercode: this.ruleForm.usercode, //	申请人编码
245
-            username: this.ruleForm.username, //	申请人
246
-            phon: this.ruleForm.phon, //	联系电话
247
-            islarge: this.ruleForm.islarge,
248
-            isthird: this.ruleForm.isthird,
249
-            carrytime: this.ruleForm.carrytime,
250
-            pic: this.ruleForm.imgId,
251
-            number: this.ruleForm.number,
252
-            itemessage: this.ruleForm.itemessage, //	标本名称
253
-            positon: this.ruleForm.positon, //	送达地点病床位置
254
-            remark: this.ruleForm.remark//	备注
255
-          }
256
-          // 添加
257
-          if (!this.rowid) {
258
-            addData(datas).then(response => {
259
-              this.loading = false
260
-              if (response.state.toLowerCase() === 'success') {
261
-                if (this.layerid) {
361
+        if (JSON.stringify(this.orderTypeData) !== '{}') {
362
+          this.ruleForm.type = this.orderTypeData.F_Type2
363
+          this.ruleForm.orthertype = this.orderTypeData.F_Type3
364
+        } else {
365
+          this.ruleForm.type = this.typeid
366
+        }
367
+        this.ruleForm.imgId = this.ruleForm.imgId.slice(0, this.ruleForm.imgId.length - 1)
368
+        this.$refs.ruleForm.validate((valid) => {
369
+          if (valid) {
370
+            this.loading = true
371
+            const datas = {
372
+              callid: this.ruleForm.id,
373
+              type: this.ruleForm.type, //	工单类别
374
+              source: this.ruleForm.source, //	工单来源
375
+              orthertype: this.ruleForm.orthertype,
376
+              hosid: this.ruleForm.hosid, //	院区id
377
+              deptid: this.ruleForm.deptid, //	申请科室id
378
+              deptname: this.ruleForm.deptname, // 申请科室名称
379
+              usercode: this.ruleForm.usercode, //	申请人编码
380
+              username: this.ruleForm.username, //	申请人
381
+              phon: this.ruleForm.phon, //	联系电话
382
+              islarge: this.ruleForm.islarge,
383
+              isthird: this.ruleForm.isthird,
384
+              carrytime: this.ruleForm.carrytime,
385
+              pic: this.ruleForm.imgId,
386
+              number: this.ruleForm.number,
387
+              itemessage: this.ruleForm.itemessage, //	标本名称
388
+              positon: this.ruleForm.positon, //	送达地点病床位置
389
+              remark: this.ruleForm.remark, //	备注
390
+              devmessages: this.resstr, //设备信息
391
+              bednum: this.ruleForm.bednum,
392
+              patient: this.ruleForm.patient,
393
+              inpatientnum: this.ruleForm.patient,
394
+              checkitem: this.ruleForm.checkitem,
395
+              yuyuetime: this.ruleForm.yuyuetime,
396
+              attention: this.ruleForm.attention,
397
+              travel: this.ruleForm.travel,
398
+              nursinglevel: this.ruleForm.nursinglevel,
399
+              withpipe: this.ruleForm.withpipe
400
+            }
401
+            // 添加
402
+            if (!this.rowid) {
403
+              addData(datas).then(response => {
404
+                this.loading = false
405
+                if (response.state.toLowerCase() === 'success') {
406
+                  if (this.layerid) {
407
+                    this.$parent.$layer.close(this.layerid)
408
+                    this.$parent.getList() // 重新加载父级数据
409
+                  }
410
+                  this.fileList = []
411
+                  this.resetForm()
412
+                  this.$message.success('恭喜你,添加成功!')
413
+                }
414
+              }).catch(() => {
415
+                this.loading = false
416
+              })
417
+            } else {
418
+              // 编辑
419
+              editData(datas).then(response => {
420
+                this.loading = false
421
+                if (response.state.toLowerCase() === 'success') {
422
+                  this.fileList = []
262 423
                   this.$parent.$layer.close(this.layerid)
263 424
                   this.$parent.getList() // 重新加载父级数据
425
+                  this.$message.success('恭喜你,编辑成功!')
264 426
                 }
265
-                this.fileList = []
266
-                this.resetForm()
267
-                this.$message.success('恭喜你,添加成功!')
268
-              }
269
-            }).catch(() => {
270
-              this.loading = false
271
-            })
427
+              }).catch(() => {
428
+                this.loading = false
429
+              })
430
+            }
272 431
           } else {
273
-            // 编辑
274
-            editData(datas).then(response => {
275
-              this.loading = false
276
-              if (response.state.toLowerCase() === 'success') {
277
-                this.fileList = []
278
-                this.$parent.$layer.close(this.layerid)
279
-                this.$parent.getList() // 重新加载父级数据
280
-                this.$message.success('恭喜你,编辑成功!')
281
-              }
282
-            }).catch(() => {
283
-              this.loading = false
284
-            })
432
+            this.$message.error('请输入有效的必填项信息!')
433
+            return false
285 434
           }
286
-        } else {
287
-          this.$message.error('请输入有效的必填项信息!')
288
-          return false
289
-        }
290
-      })
291
-    },
292
-    handle_success(res) {
293
-      this.imgId = res.data
294
-    },
295
-    handleFileUploaderChange(file) {
296
-      const self = this
297
-      const reader = new FileReader()
435
+        })
436
+      },
437
+      handle_success(res) {
438
+        this.imgId = res.data
439
+      },
440
+      handleFileUploaderChange(file) {
441
+        const self = this
442
+        const reader = new FileReader()
298 443
 
299
-      reader.readAsDataURL(file.raw)
300
-      reader.onload = function(event) {
301
-        self.imgBase64Array = this.result.split(',')[1]
302
-        const params = {
303
-          dataurl: self.imgBase64Array,
304
-          filename: file.name
444
+        reader.readAsDataURL(file.raw)
445
+        reader.onload = function(event) {
446
+          self.imgBase64Array = this.result.split(',')[1]
447
+          const params = {
448
+            dataurl: self.imgBase64Array,
449
+            filename: file.name
450
+          }
451
+          self.uploadImg(params)
305 452
         }
306
-        self.uploadImg(params)
307
-      }
308
-    },
309
-    uploadImg(params) {
310
-      console.log(params)
311
-      UploadImage64(params).then(response => {
312
-        this.loading = false
313
-        if (response.state.toLowerCase() === 'success') {
314
-          this.ruleForm.imgId += response.data.F_FileId + ','
315
-          console.log(this.ruleForm.imgId)
316
-          this.$message.success('恭喜你,添加成功!')
453
+      },
454
+      uploadImg(params) {
455
+        console.log(params)
456
+        UploadImage64(params).then(response => {
457
+          this.loading = false
458
+          if (response.state.toLowerCase() === 'success') {
459
+            this.ruleForm.imgId += response.data.F_FileId + ','
460
+            console.log(this.ruleForm.imgId)
461
+            this.$message.success('恭喜你,添加成功!')
462
+          }
463
+        }).catch(() => {
464
+          this.loading = false
465
+        })
466
+      },
467
+      resetForm() {
468
+        this.$refs.ruleForm.resetFields()
469
+        // this.itemInfo.clearFlag = true
470
+      },
471
+      // 三级改变时触发
472
+      getThirdOrderType(data) {
473
+        console.log(data)
474
+        this.ruleForm.orthertype = data.value
475
+        this.ruleForm.orthertypeName = data.name
476
+      },
477
+      // 院区下拉改变事件
478
+      getHospitals(data) {
479
+        this.ruleForm.hosid = data.value
480
+        this.ruleForm.hosname = data.name
481
+        // this.getDepartment()
482
+      },
483
+      // 科室下拉改变事件
484
+      getDepartments(data) {
485
+        console.log(data)
486
+        this.ruleForm.deptid = data.value
487
+        this.ruleForm.deptname = data.name
488
+      },
489
+      getRepairman(data) {
490
+        console.log(data)
491
+        this.ruleForm.usercode = data.value
492
+        this.ruleForm.username = data.name
493
+      },
494
+      getPositonList(data) {
495
+        console.log(data)
496
+        this.item.delivered
497
+      },
498
+      addDevItem() {
499
+        const params = {
500
+          devname: '',
501
+          num: 1
317 502
         }
318
-      }).catch(() => {
319
-        this.loading = false
320
-      })
321
-    },
322
-    resetForm() {
323
-      this.$refs.ruleForm.resetFields()
324
-      // this.itemInfo.clearFlag = true
325
-    },
326
-    // 三级改变时触发
327
-    getThirdOrderType(data) {
328
-      console.log(data)
329
-      this.ruleForm.orthertype = data.value
330
-      this.ruleForm.orthertypeName = data.name
331
-    },
332
-    // 院区下拉改变事件
333
-    getHospitals(data) {
334
-      this.ruleForm.hosid = data.value
335
-      this.ruleForm.hosname = data.name
336
-      // this.getDepartment()
337
-    },
338
-    // 科室下拉改变事件
339
-    getDepartments(data) {
340
-      console.log(data)
341
-      this.ruleForm.deptid = data.value
342
-      this.ruleForm.deptname = data.name
343
-    },
344
-    getRepairman(data) {
345
-      console.log(data)
346
-      this.ruleForm.usercode = data.value
347
-      this.ruleForm.username = data.name
348
-    },
349
-    getPositonList(data) {
350
-      console.log(data)
351
-      this.item.delivered
352
-    },
353
-    // 获取详情
354
-    getDetail(rid) {
355
-      getDeatil(rid).then(response => {
356
-        if (response.state.toLowerCase() === 'success') {
357
-          const res = response.model
358
-          console.log(response.model.HosName)
359
-          this.ruleForm.hosid = res.F_HosId
360
-          this.ruleForm.hosname = res.HosName
361
-          this.ruleForm.deptid = res.F_ProposerDeptId
362
-          this.ruleForm.deptname = res.F_ProposerDeptName
363
-          this.ruleForm.usercode = res.F_ProposerCode
364
-          this.ruleForm.username = res.F_ProposerName
365
-          this.ruleForm.phon = res.F_ProposerPhon
366
-          this.ruleForm.itemessage = res.F_ItemMessages
367
-          this.ruleForm.remark = res.F_Remark
503
+        this.devList.push(params)
504
+      },
505
+      removeDevItem(index) {
506
+        console.log(index)
507
+        this.devList.splice(index, 1)
508
+      },
509
+      getStr() {
510
+        var str = '';
511
+        for (var i = 0; i < this.devList.length; i++) {
512
+          str += this.devList[i].devname + ':' + this.devList[i].num + ","
513
+          if (str.length > 0) {
514
+            this.resstr = str.substring(0, str.length - 1);
515
+          }
368 516
         }
369
-      })
517
+      },
518
+      // 获取详情
519
+      getDetail(rid) {
520
+        getDeatil(rid).then(response => {
521
+          if (response.state.toLowerCase() === 'success') {
522
+            const res = response.model
523
+            console.log(response.model.HosName)
524
+            this.ruleForm.hosid = res.F_HosId
525
+            this.ruleForm.hosname = res.HosName
526
+            this.ruleForm.deptid = res.F_ProposerDeptId
527
+            this.ruleForm.deptname = res.F_ProposerDeptName
528
+            this.ruleForm.usercode = res.F_ProposerCode
529
+            this.ruleForm.username = res.F_ProposerName
530
+            this.ruleForm.phon = res.F_ProposerPhon
531
+            this.ruleForm.itemessage = res.F_ItemMessages
532
+            this.ruleForm.remark = res.F_Remark
533
+          }
534
+        })
535
+      }
370 536
     }
371 537
   }
372
-}
373 538
 </script>
374 539
 
375 540
 <style rel="stylesheet/scss" lang="scss" scoped>
376
-.btnPlus{
377
-  margin:5px 0px 5px 20px;
378
-}
379
-.inputNumber{
541
+  .btnPlus {
542
+    margin: 5px 0px 5px 20px;
543
+  }
544
+
545
+  .inputNumber {
380 546
     height: 45px;
381
-}
382
-.avatar-uploader-icon {
383
-  font-size: 28px;
384
-  color: #8c939d;
385
-  width: 148px;
386
-  height: 148px;
387
-  line-height: 178px;
388
-  text-align: center;
389
-}
390
-/deep/.el-upload{
391
-  border: 1px dashed #d9d9d9;
392
-  border-radius: 6px;
393
-  cursor: pointer;
394
-  position: relative;
395
-  overflow: hidden;
396
-}
547
+  }
548
+
549
+  .avatar-uploader-icon {
550
+    font-size: 28px;
551
+    color: #8c939d;
552
+    width: 148px;
553
+    height: 148px;
554
+    line-height: 178px;
555
+    text-align: center;
556
+  }
557
+
558
+  /deep/.el-upload {
559
+    border: 1px dashed #d9d9d9;
560
+    border-radius: 6px;
561
+    cursor: pointer;
562
+    position: relative;
563
+    overflow: hidden;
564
+  }
397 565
 </style>

+ 7 - 0
CallCenterWeb.UI/RMYY/src/views/vehicleDispatch/vehicleScheduling/index.vue

@@ -0,0 +1,7 @@
1
+<template>
2
+  <div>
3
+    <keep-alive>
4
+      <router-view />
5
+    </keep-alive>
6
+  </div>
7
+</template>

+ 245 - 97
CallCenterWeb.UI/RMYY/src/views/vehicleDispatch/vehicleScheduling/vehicleSchedulingList/components/addOrEdit.vue

@@ -3,24 +3,69 @@
3 3
     <el-form ref="ruleForm" :model="ruleForm" label-width="100px">
4 4
       <el-row>
5 5
         <el-col :span="8">
6
-          <el-form-item label="名称" prop="F_name">
7
-            <el-input
8
-              v-model="ruleForm.F_name"
9
-              placeholder="请输入车辆信息"
10
-            />
6
+          <el-form-item label="工单类别" prop="type">
7
+            <el-select v-model="ruleForm.type">
8
+              <el-option v-for="item in typeList" :key="item.fid" :label="item.fname" :value="item.fid">
9
+              </el-option>
10
+            </el-select>
11
+          </el-form-item>
12
+        </el-col>
13
+        <el-col :span="8">
14
+          <el-form-item label="院区" prop="hosname">
15
+            <select-hosname :hospitals-param="hospitalsParam" @post-hospitals="getHospitals" />
16
+          </el-form-item>
17
+        </el-col>
18
+        <el-col :span="8">
19
+          <el-form-item label="申请科室" prop="deptname">
20
+            <select-departments :departments-param="departmentsParam" @post-departments="getDepartments" />
21
+          </el-form-item>
22
+        </el-col>
23
+      </el-row>
24
+      <el-row>
25
+        <el-col :span="8">
26
+          <el-form-item label="出发地点" prop="startplace">
27
+            <el-input v-model="ruleForm.startplace" placeholder="请输入" />
28
+          </el-form-item>
29
+        </el-col>
30
+        <el-col :span="8">
31
+          <el-form-item label="目的地" prop="endplace">
32
+            <el-input v-model="ruleForm.endplace" placeholder="请输入" />
33
+          </el-form-item>
34
+        </el-col>
35
+        <el-col :span="8">
36
+          <el-form-item label="申请人" prop="username">
37
+            <select-repairman :repairman-param="repairmanParam" @post-repairman="getRepairman" />
38
+          </el-form-item>
39
+        </el-col>
40
+      </el-row>
41
+      <el-row>
42
+        <el-col :span="8">
43
+          <el-form-item label="联系电话" prop="phon">
44
+            <el-input type="text" v-model="ruleForm.phon" placeholder="请输入" />
45
+          </el-form-item>
46
+        </el-col>
47
+        <el-col :span="8">
48
+          <el-form-item label="车辆要求" prop="cartype">
49
+            <el-radio v-model="ruleForm.cartype" :label="1">大车</el-radio>
50
+            <el-radio v-model="ruleForm.cartype" :label="2">小车</el-radio>
51
+          </el-form-item>
52
+        </el-col>
53
+        <el-col :span="8">
54
+          <el-form-item label="来源" prop="source">
55
+            <el-select v-model="ruleForm.source">
56
+              <el-option v-for="item in sourceList" :key="item.value" :label="item.label" :value="item.value">
57
+              </el-option>
58
+            </el-select>
11 59
           </el-form-item>
12 60
         </el-col>
13
-
14 61
       </el-row>
15
-
16 62
       <el-row>
17 63
         <el-col :span="16">
18 64
           <el-form-item label="备注" prop="F_Remark">
19
-            <el-input type="textarea" v-model="ruleForm.F_Remark" placeholder="请输入备注" />
65
+            <el-input type="textarea" v-model="ruleForm.remark" placeholder="请输入备注" />
20 66
           </el-form-item>
21 67
         </el-col>
22 68
       </el-row>
23
-
24 69
       <el-form-item>
25 70
         <el-button type="primary" @click="submitForm">保存</el-button>
26 71
         <el-button @click="resetForm">重置</el-button>
@@ -30,102 +75,205 @@
30 75
 </template>
31 76
 
32 77
 <script>
33
-// import {
34
-//   getDeatil,
35
-//   addData,
36
-//   editData,
37
-// } from "@/api/";
38
-
39
-export default {
40
-  name: "AddOrEdit",
41
-  props: {
42
-    rowid: {
43
-      type: String,
44
-      default: "",
78
+  import {
79
+    getList,
80
+    getModelDetail,
81
+    getAddWorkOrder,
82
+    getUpdateWorkOrder
83
+  } from '@/api/vehicleDispatch/vehicleScheduling.js'
84
+  import {
85
+    getOrderTypeList
86
+  } from "@/api/commonAPI.js"
87
+  export default {
88
+    name: "AddOrEdit",
89
+    props: {
90
+      rowid: {
91
+        type: Number,
92
+        default: "",
93
+      },
94
+      layerid: {
95
+        type: String,
96
+        default: "",
97
+      },
98
+    },
99
+    data() {
100
+      return {
101
+        typeList: [],
102
+        sourceList: [{
103
+          value: "电话",
104
+          label: "电话"
105
+        }, {
106
+          value: "电脑",
107
+          label: "电脑"
108
+        }, {
109
+          value: "微信",
110
+          label: "微信"
111
+        }],
112
+        hospitalsParam: {
113
+          id: 0,
114
+          name: ''
115
+        },
116
+        departmentsParam: {
117
+          id: 0,
118
+          name: ''
119
+        },
120
+        repairmanParam: {
121
+          id: 0,
122
+          name: ''
123
+        },
124
+        ruleForm: {
125
+          F_ID: '',
126
+          startplace: '',
127
+          endplace: '',
128
+          source: '',
129
+          hosid: '', // 院区id
130
+          hosname: '', // 院区id
131
+          deptid: '', // 申请科室id
132
+          deptname: '', // 申请科室名称
133
+          usercode: '', // 申请人编码
134
+          username: '', //	申请人
135
+          phon: '',
136
+          type: '',
137
+          cartype: '',
138
+          F_CarMessage: '',
139
+          remark: ''
140
+        },
141
+        loading: false,
142
+      };
45 143
     },
46
-    layerid: {
47
-      type: String,
48
-      default: "",
144
+    created() {
145
+      this.getTypeOrder()
146
+      if (this.rowid) {
147
+        this.ruleForm.F_ID = this.rowid;
148
+        this.getDetail();
149
+        console.log(this.rowid)
150
+      }
49 151
     },
50
-  },
51
-  data() {
52
-    return {
53
-      ruleForm: {
54
-        F_Id: "",
55
-        F_name: "", //	车辆信息
56
-        F_Remark: "", //	备注
152
+    methods: {
153
+      getTypeOrder() {
154
+        const params = {
155
+          pid: 2,
156
+          typeid: 4000
157
+        }
158
+        getOrderTypeList(params.pid, params.typeid).then(res => {
159
+          this.typeList = res.rows
160
+        })
57 161
       },
58
-      loading: false,
59
-    };
60
-  },
61
-  created() {
62
-    if (this.rowid) {
63
-      this.ruleForm.F_Id = this.rowid;
64
-      this.getDetail(this.rowid);
65
-    }
66
-  },
67
-  methods: {
68
-    submitForm() {
69
-      this.$refs.ruleForm.validate((valid) => {
70
-        if (valid) {
71
-          this.loading = true;
72
-          const datas = {
73
-            F_Id: this.ruleForm.F_Id, //  主键id
74
-            F_name: this.ruleForm.F_name, //	车辆名称
75
-            F_Remark: this.ruleForm.F_Remark, //	备注
76
-          };
162
+      submitForm() {
163
+        this.$refs.ruleForm.validate((valid) => {
164
+          if (valid) {
165
+            this.loading = true;
166
+            const datas = {
167
+              type: this.ruleForm.type,
168
+              hosid: this.ruleForm.hosid, //	院区id
169
+              detpid: this.ruleForm.deptid, //	申请科室id
170
+              startplace: this.ruleForm.startplace,
171
+              endplace: this.ruleForm.endplace,
172
+              needman: this.ruleForm.usercode, //	申请人
173
+              phon: this.ruleForm.phon,
174
+              cartype: this.ruleForm.cartype,
175
+              source: this.ruleForm.source,
176
+              remark: this.ruleForm.remark, //	备注
177
+            };
77 178
 
78
-          // 添加
79
-          if (!this.rowid) {
80
-            // addData(datas)
81
-            //   .then((response) => {
82
-            //     this.loading = false;
83
-            //     if (response.state.toLowerCase() === "success") {
84
-            //       this.$parent.$layer.close(this.layerid);
85
-            //       this.$parent.getList(); // 重新加载父级数据
86
-            //       this.$message.success("恭喜你,车辆添加成功!");
87
-            //     }
88
-            //   })
89
-            //   .catch(() => {
90
-            //     this.loading = false;
91
-            //   });
179
+            // 添加
180
+            if (!this.rowid) {
181
+              getAddWorkOrder(datas)
182
+                .then((response) => {
183
+                  this.loading = false;
184
+                  if (response.state.toLowerCase() === "success") {
185
+                    this.$parent.$layer.close(this.layerid);
186
+                    this.$parent.getList(); // 重新加载父级数据
187
+                    this.$message.success("恭喜你,车辆添加成功!");
188
+                  }
189
+                })
190
+                .catch(() => {
191
+                  this.loading = false;
192
+                });
193
+            } else {
194
+              // 编辑
195
+              const datas = {
196
+                orderid: this.rowid,
197
+                type: this.ruleForm.type,
198
+                hosid: this.ruleForm.hosid, //	院区id
199
+                detpid: this.ruleForm.deptid, //	申请科室id
200
+                startplace: this.ruleForm.startplace,
201
+                endplace: this.ruleForm.endplace,
202
+                needman: this.ruleForm.usercode, //	申请人
203
+                needmanName: this.ruleForm.username, //	申请人
204
+                phon: this.ruleForm.phon,
205
+                cartype: this.ruleForm.cartype,
206
+                source: this.ruleForm.source,
207
+                remark: this.ruleForm.remark, //	备注
208
+              };
209
+              getUpdateWorkOrder(datas)
210
+                .then((response) => {
211
+                  this.loading = false;
212
+                  if (response.state.toLowerCase() === "success") {
213
+                    this.$parent.$layer.close(this.layerid);
214
+                    this.$parent.getList(); // 重新加载父级数据
215
+                    this.$message.success("恭喜你,车辆编辑成功!");
216
+                  }
217
+                })
218
+                .catch(() => {
219
+                  this.loading = false;
220
+                });
221
+            }
92 222
           } else {
93
-            // 编辑
94
-            // editData(datas)
95
-            //   .then((response) => {
96
-            //     this.loading = false;
97
-            //     if (response.state.toLowerCase() === "success") {
98
-            //       this.$parent.$layer.close(this.layerid);
99
-            //       this.$parent.getList(); // 重新加载父级数据
100
-            //       this.$message.success("恭喜你,车辆编辑成功!");
101
-            //     }
102
-            //   })
103
-            //   .catch(() => {
104
-            //     this.loading = false;
105
-            //   });
223
+            this.$message.error("请输入有效的必填项信息!");
224
+            return false;
106 225
           }
107
-        } else {
108
-          this.$message.error("请输入有效的必填项信息!");
109
-          return false;
110
-        }
111
-      });
112
-    },
113
-    resetForm() {
114
-      this.$refs.ruleForm.resetFields();
115
-    },
226
+        });
227
+      },
228
+      resetForm() {
229
+        this.$refs.ruleForm.resetFields();
230
+      },
116 231
 
117
-    // 获取详情
118
-    getDetail(rid) {
119
-      // getDeatil(rid).then((response) => {
120
-      //   if (response.state.toLowerCase() === "success") {
121
-      //     const res = response.data;
122
-      //     this.ruleForm.F_name = res.F_name; //车辆信息
123
-      //     this.ruleForm.F_Remark = res.F_Remark; //备注
124
-      //   }
125
-      // });
232
+      // 获取详情
233
+      getDetail() {
234
+        const params = {
235
+          orderid: this.rowid
236
+        }
237
+        getModelDetail(params).then((response) => {
238
+          if (response.state.toLowerCase() === "success") {
239
+            const res = response.model;
240
+            this.ruleForm.F_ID = res.F_ID
241
+            this.ruleForm.type = res.F_Type
242
+            this.ruleForm.source = res.F_Source
243
+            this.hospitalsParam.id = res.F_HosId
244
+            this.hospitalsParam.name = res.HosName
245
+            this.departmentsParam.id = res.F_ProposerDeptId
246
+            this.departmentsParam.name = res.F_ProposerDeptName
247
+            this.repairmanParam.id = res.F_ProposerCode
248
+            this.repairmanParam.name = res.F_ProposerName
249
+            this.ruleForm.phon = res.F_Phon
250
+            this.ruleForm.cartype = res.F_CarType
251
+            this.ruleForm.startplace = res.F_DepartPlace
252
+            this.ruleForm.endplace = res.F_Destination
253
+            this.ruleForm.F_CarMessage = res.F_CarMessage
254
+            this.ruleForm.remark = res.F_Remark
255
+          }
256
+        });
257
+      },
258
+      // 科室下拉改变事件
259
+      getDepartments(data) {
260
+        console.log(data)
261
+        this.ruleForm.deptid = data.value
262
+        this.ruleForm.deptname = data.name
263
+      },
264
+      // 院区下拉改变事件
265
+      getHospitals(data) {
266
+        this.ruleForm.hosid = data.value
267
+        this.ruleForm.hosname = data.name
268
+      },
269
+      //申请人下拉改变事件
270
+      getRepairman(data) {
271
+        console.log(data)
272
+        this.ruleForm.usercode = data.value
273
+        this.ruleForm.username = data.name
274
+      },
126 275
     },
127
-  },
128
-};
276
+  };
129 277
 </script>
130 278
 
131 279
 <style rel="stylesheet/scss" lang="scss" scoped>

+ 148 - 0
CallCenterWeb.UI/RMYY/src/views/vehicleDispatch/vehicleScheduling/vehicleSchedulingList/components/assign.vue

@@ -0,0 +1,148 @@
1
+<template>
2
+  <div v-loading="loading">
3
+    <el-form ref="ruleForm" :model="form" label-width="100px">
4
+      <el-col :span="20">
5
+        <el-row>
6
+          <el-col :span="16">
7
+            <el-form-item label="司机信息" prop="drivername">
8
+              <el-select v-model="form.assistmessage" @change="selectGet">
9
+                <el-option v-for="item in assistList" :key="item.value" :label="item.label" :value="item.value">
10
+                </el-option>
11
+              </el-select>
12
+            </el-form-item>
13
+          </el-col>
14
+        </el-row>
15
+        <el-row>
16
+          <el-col :span="16">
17
+            <el-form-item label="司机电话">
18
+              <el-input v-model="form.phon" autocomplete="off"></el-input>
19
+            </el-form-item>
20
+          </el-col>
21
+        </el-row>
22
+        <el-row>
23
+          <el-col :span="16">
24
+            <el-form-item label="车辆信息">
25
+              <el-select v-model="form.carmessage" @change="selectCar">
26
+                <el-option v-for="item in carList" :key="item.carid" :label="item.carname" :value="item.carid">
27
+                </el-option>
28
+              </el-select>
29
+            </el-form-item>
30
+          </el-col>
31
+        </el-row>
32
+        <el-row>
33
+          <el-col :span="16">
34
+            <el-form-item label="协作人信息" prop="username">
35
+              <select-repairman :repairman-param="repairmanParam" @post-repairman="getRepairman" />
36
+            </el-form-item>
37
+          </el-col>
38
+        </el-row>
39
+        <el-form-item>
40
+          <el-button @click="resetForm">取 消</el-button>
41
+          <el-button type="primary" @click="sureAssign()">确 定</el-button>
42
+        </el-form-item>
43
+      </el-col>
44
+    </el-form>
45
+  </div>
46
+</template>
47
+
48
+<script>
49
+  import {
50
+    getList,
51
+    getAssignWorkOrder
52
+  } from '@/api/vehicleDispatch/vehicleScheduling.js'
53
+  import {
54
+    getGetAllCar
55
+  } from '@/api/Escortservice/Escortservice.js'
56
+  export default {
57
+    name: 'Assign',
58
+    props: {
59
+      rowid: {
60
+        type: Number,
61
+        default: ''
62
+      },
63
+      layerid: {
64
+        type: String,
65
+        default: "",
66
+      }
67
+    },
68
+    data() {
69
+      return {
70
+        formLabelWidth: '120px',
71
+        form: {},
72
+        loading: false,
73
+        carList: [],
74
+        assistList: [{
75
+          value: 1,
76
+          label: "张三"
77
+        }, {
78
+          value: 2,
79
+          label: "李四"
80
+        }],
81
+        repairmanParam: {
82
+          id: 0,
83
+          name: ''
84
+        },
85
+        assistObj: {},
86
+        carObj: {}
87
+      }
88
+    },
89
+    created() {
90
+      this.getCar()
91
+    },
92
+    methods: {
93
+      selectGet(val) {
94
+        let obj = {}
95
+        obj = this.assistList.find(item => {
96
+          return item.value == val
97
+        })
98
+        this.assistObj = obj
99
+        console.log(obj.value, obj.label)
100
+      },
101
+      selectCar(val) {
102
+        let obj = {}
103
+        obj = this.carList.find(item => {
104
+          return item.carid == val
105
+        })
106
+        this.carObj = obj
107
+        console.log(obj.value, obj.label)
108
+      },
109
+      getCar() {
110
+        const params = {}
111
+        console.log(11)
112
+        getGetAllCar(params).then(res => {
113
+          this.carList = res.rows
114
+        })
115
+      },
116
+      getRepairman(data) {
117
+        this.form.usercode = data.value
118
+        this.form.username = data.name
119
+      },
120
+      resetForm() {
121
+        this.$refs.ruleForm.resetFields();
122
+      },
123
+      sureAssign() {
124
+        const params = {
125
+          orderid: this.rowid,
126
+          phon: this.form.phon,
127
+          driver: this.assistObj.value,
128
+          drivername: this.assistObj.label,
129
+          carid: this.carObj.carid,
130
+          carmessage: this.carObj.carname,
131
+          assist: this.form.usercode,
132
+          assistname: this.form.username
133
+        }
134
+        getAssignWorkOrder(params).then((response) => {
135
+          if (response.state.toLowerCase() === 'success') {
136
+            this.$message.success('派工成功!')
137
+            this.$parent.$layer.close(this.layerid)
138
+            this.$parent.getList(); // 重新加载父级数据
139
+          }
140
+        })
141
+        resolve()
142
+      }
143
+    }
144
+  }
145
+</script>
146
+
147
+<style>
148
+</style>

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

@@ -4,15 +4,22 @@
4 4
       <el-col :md="24" class="order_detail_body">
5 5
         <el-card shadow="hover">
6 6
           <el-col :md="21">
7
-            <h1 class="title"><svg-icon class="title_icon" icon-class="hongqi" />工单单号:{{ orderDetailData.F_WorkOrderCode }}</h1>
7
+            <h1 class="title">
8
+              <svg-icon class="title_icon" icon-class="hongqi" />工单单号:{{ orderDetailData.F_WorkOrderCode }}
9
+            </h1>
8 10
           </el-col>
9 11
           <el-col :md="24" class="order_detail_content">
10
-
11
-            <el-col :md="6" class="order_detail_item"> 姓名:{{ orderDetailData.F_name }} </el-col>
12
-            
12
+            <el-col :md="6" class="order_detail_item"> 工单状态:{{ orderDetailData.F_Wostate }} </el-col>
13
+            <el-col :md="6" class="order_detail_item"> 来源:{{ orderDetailData.F_Source }} </el-col>
14
+            <el-col :md="6" class="order_detail_item"> 申请人:{{ orderDetailData.F_ProposerName }} </el-col>
15
+            <el-col :md="6" class="order_detail_item"> 协作人:{{ orderDetailData.F_AssistManName }} </el-col>
16
+            <el-col :md="6" class="order_detail_item"> 联系电话:{{ orderDetailData.F_Phon }} </el-col>
17
+            <el-col :md="6" class="order_detail_item">车辆信息:{{ orderDetailData.F_CarMessage }} </el-col>
18
+            <el-col :md="6" class="order_detail_item">司机信息:{{ orderDetailData.F_DriverName }} </el-col>
19
+            <el-col :md="6" class="order_detail_item"> 备注:{{ orderDetailData.F_Remark }} </el-col>
13 20
           </el-col>
14 21
         </el-card>
15
-        
22
+
16 23
       </el-col>
17 24
     </el-row>
18 25
     <el-row :gutter="20">
@@ -35,206 +42,254 @@
35 42
 </template>
36 43
 
37 44
 <script>
38
-import { mapGetters } from 'vuex'
39
-// import { getDeatil } from '@/api/'
40
-import Pagination from '@/components/context/Pagination' // 对el-pagination 二次封装
41
-
42
-export default {
43
-  name: 'Detail',
44
-  components: {
45
-    Pagination
46
-  },
47
-  props: {
48
-    rowid: {
49
-      type: Number,
50
-      default: 0
45
+  import {
46
+    mapGetters
47
+  } from 'vuex'
48
+  import {
49
+    getModelDetail
50
+  } from '@/api/vehicleDispatch/vehicleScheduling.js'
51
+  import Pagination from '@/components/context/Pagination' // 对el-pagination 二次封装
52
+
53
+  export default {
54
+    name: 'Detail',
55
+    components: {
56
+      Pagination
51 57
     },
52
-    layerid: {
53
-      type: String,
54
-      default: ''
55
-    }
56
-  },
57
-  data() {
58
-    return {
59
-      activeName: 'first',
60
-      imgUrl: this.$store.getters.serverConfig.BASE_API,
61
-      orderDetailData: {
62
-        F_Id: '',
63
-        F_WorkOrderCode:'',
64
-        F_name: '', // 来源
65
-       
58
+    props: {
59
+      rowid: {
60
+        type: Number,
61
+        default: 0
66 62
       },
67
-      workOrderCirculationList: [] // 工单流转
68
-    }
69
-  },
70
-  computed: {
71
-    ...mapGetters(['rolecode'])
72
-  },
73
-  created() {
74
-    if (this.rowid) {
75
-      this.getDetail(this.rowid)
76
-      // this.getItem()
77
-    }
78
-  },
79
-  methods: {
80
-    handleClick(tab, event) {
81
-      console.log(tab, event)
63
+      layerid: {
64
+        type: String,
65
+        default: ''
66
+      }
67
+    },
68
+    data() {
69
+      return {
70
+        activeName: 'first',
71
+        imgUrl: this.$store.getters.serverConfig.BASE_API,
72
+        orderDetailData: {
73
+          F_ID: '',
74
+          F_WorkOrderCode: '',
75
+          F_Source: '', // 来源
76
+          HosName: '',
77
+          F_ProposerDeptName: '',
78
+          F_ProposerName: '',
79
+          F_AssistManName: '',
80
+          F_Phon: '',
81
+          F_CarMessage: '',
82
+          F_DriverName: '',
83
+          F_Remark: ''
84
+        },
85
+        workOrderCirculationList: [] // 工单流转
86
+      }
87
+    },
88
+    computed: {
89
+      ...mapGetters(['rolecode'])
82 90
     },
83
-    // 详情
84
-    getDetail(rid) {
85
-      // getDeatil(rid).then((response) => {
86
-      //   const res = response.model
87
-      //   this.orderDetailData.F_Id = res.F_Id
88
-      //   this.orderDetailData.F_name = res.F_name
89
-        
90
-      // })
91
+    created() {
92
+      if (this.rowid) {
93
+        this.getDetail()
94
+        // this.getItem()
95
+      }
91 96
     },
97
+    methods: {
98
+      handleClick(tab, event) {
99
+        console.log(tab, event)
100
+      },
101
+      // 详情
102
+      getDetail() {
103
+        const params = {
104
+          orderid: this.rowid
105
+        }
106
+        getModelDetail(params).then((response) => {
107
+          const res = response.model
108
+          this.orderDetailData.F_ID = res.F_ID
109
+          this.orderDetailData.F_Source = res.F_Source
110
+          this.orderDetailData.HosName = res.HosName
111
+          this.orderDetailData.F_ProposerDeptName = res.F_ProposerDeptName
112
+          this.orderDetailData.F_ProposerName = res.F_ProposerName
113
+          this.orderDetailData.F_AssistManName = res.F_AssistManName
114
+          this.orderDetailData.F_Phon = res.F_Phon
115
+          this.orderDetailData.F_CarMessage = res.F_CarMessage
116
+          this.orderDetailData.F_DriverName = res.F_DriverName
117
+          this.orderDetailData.F_Remark = res.F_Remark
118
+        })
119
+      },
92 120
 
121
+    }
93 122
   }
94
-}
95 123
 </script>
96 124
 
97 125
 <style rel="stylesheet/scss" lang="scss">
98
-.order_detail {
99
-  .el-col {
100
-    margin-bottom: 20px;
101
-  }
102
-  .el-icon-time {
103
-    color: #d81e06;
104
-  }
105
-  .el-card__header {
106
-    padding-top: 14px;
107
-    padding-bottom: 14px;
108
-    background-color: #f5f5f6;
109
-  }
110
-  .order_file {
111
-    .el-card__body {
112
-      padding: 22px 0 0 0;
113
-      text-align: center;
114
-    }
115
-  }
116
-  .order_steps {
117
-    .el-step__icon-inner {
118
-      display: none;
126
+  .order_detail {
127
+    .el-col {
128
+      margin-bottom: 20px;
119 129
     }
120
-  }
121
-  .order_record {
122
-    .el-card__body {
123
-      padding: 0;
130
+
131
+    .el-icon-time {
132
+      color: #d81e06;
124 133
     }
125
-    .el-tabs__header {
126
-      padding: 0px 20px;
134
+
135
+    .el-card__header {
136
+      padding-top: 14px;
137
+      padding-bottom: 14px;
127 138
       background-color: #f5f5f6;
128
-      .el-tabs__item {
129
-        font-size: 16px;
130
-        height: 47px;
131
-        line-height: 47px;
132
-      }
133 139
     }
134
-  }
135
-}
136
-</style>
137 140
 
138
-<style rel="stylesheet/scss" lang="scss" scoped>
139
-.order_detail {
140
-  .order_detail_body {
141
-    margin-bottom: 20px;
142
-    .round_img {
143
-      width: 90px;
144
-      height: 90px;
145
-      border-radius: 50%;
146
-      overflow: hidden;
147
-      margin: 14px;
148
-      img {
149
-        width: 100%;
150
-        height: 100%;
141
+    .order_file {
142
+      .el-card__body {
143
+        padding: 22px 0 0 0;
144
+        text-align: center;
151 145
       }
152 146
     }
153
-    .title {
154
-      font-size: 20px;
155
-      .title_icon {
156
-        color: #d81e06;
157
-        font-size: 16px;
158
-        margin-right: 20px;
147
+
148
+    .order_steps {
149
+      .el-step__icon-inner {
150
+        display: none;
159 151
       }
160 152
     }
161
-    .title_sub {
162
-      font-size: 14px;
163
-      color: #666666;
153
+
154
+    .order_record {
155
+      .el-card__body {
156
+        padding: 0;
157
+      }
158
+
159
+      .el-tabs__header {
160
+        padding: 0px 20px;
161
+        background-color: #f5f5f6;
162
+
163
+        .el-tabs__item {
164
+          font-size: 16px;
165
+          height: 47px;
166
+          line-height: 47px;
167
+        }
168
+      }
164 169
     }
165
-    .order_detail_content {
166
-      background-color: #f5f5f6;
167
-      padding-top: 20px;
168
-      color: #4c4c4c;
169
-      font-size: 14px;
170
-      .order_detail_item {
171
-        margin-bottom: 10px;
172
-        .order_content {
173
-          margin-top: 10px;
170
+  }
171
+</style>
172
+
173
+<style rel="stylesheet/scss" lang="scss" scoped>
174
+  .order_detail {
175
+    .order_detail_body {
176
+      margin-bottom: 20px;
177
+
178
+      .round_img {
179
+        width: 90px;
180
+        height: 90px;
181
+        border-radius: 50%;
182
+        overflow: hidden;
183
+        margin: 14px;
184
+
185
+        img {
186
+          width: 100%;
187
+          height: 100%;
174 188
         }
175
-        .order_file {
176
-          position: relative;
177
-          cursor: pointer;
178
-          .img_mask {
179
-            display: none;
180
-            position: absolute;
181
-            left: 0px;
182
-            top: 0px;
183
-            background-color: rgba(0, 0, 0, 0.3);
184
-            width: 100%;
185
-            height: 22px;
186
-            text-align: right;
187
-            z-index: 1;
188
-            i {
189
-              font-size: 20px;
190
-              line-height: 22px;
191
-              display: inline-block;
192
-              margin-right: 15px;
193
-              color: #fff;
194
-            }
189
+      }
190
+
191
+      .title {
192
+        font-size: 20px;
193
+
194
+        .title_icon {
195
+          color: #d81e06;
196
+          font-size: 16px;
197
+          margin-right: 20px;
198
+        }
199
+      }
200
+
201
+      .title_sub {
202
+        font-size: 14px;
203
+        color: #666666;
204
+      }
205
+
206
+      .order_detail_content {
207
+        background-color: #f5f5f6;
208
+        padding-top: 20px;
209
+        color: #4c4c4c;
210
+        font-size: 14px;
211
+
212
+        .order_detail_item {
213
+          margin-bottom: 10px;
214
+
215
+          .order_content {
216
+            margin-top: 10px;
195 217
           }
196
-          p {
197
-            margin-top: 5px;
198
-            padding-left: 14px;
199
-            padding-right: 14px;
200
-            white-space: nowrap;
201
-            overflow: hidden;
202
-            text-overflow: ellipsis;
218
+
219
+          .order_file {
220
+            position: relative;
221
+            cursor: pointer;
222
+
223
+            .img_mask {
224
+              display: none;
225
+              position: absolute;
226
+              left: 0px;
227
+              top: 0px;
228
+              background-color: rgba(0, 0, 0, 0.3);
229
+              width: 100%;
230
+              height: 22px;
231
+              text-align: right;
232
+              z-index: 1;
233
+
234
+              i {
235
+                font-size: 20px;
236
+                line-height: 22px;
237
+                display: inline-block;
238
+                margin-right: 15px;
239
+                color: #fff;
240
+              }
241
+            }
242
+
243
+            p {
244
+              margin-top: 5px;
245
+              padding-left: 14px;
246
+              padding-right: 14px;
247
+              white-space: nowrap;
248
+              overflow: hidden;
249
+              text-overflow: ellipsis;
250
+            }
251
+
252
+            .file_icon {
253
+              height: 68px;
254
+              line-height: 68px;
255
+              font-size: 68px;
256
+              color: #409eff;
257
+            }
203 258
           }
204
-          .file_icon {
205
-            height: 68px;
206
-            line-height: 68px;
207
-            font-size: 68px;
208
-            color: #409eff;
259
+
260
+          .order_file:hover .img_mask {
261
+            display: block;
209 262
           }
210 263
         }
211
-        .order_file:hover .img_mask {
212
-          display: block;
213
-        }
214 264
       }
215 265
     }
216
-  }
217
-  .green {
218
-    color: #00c1de;
219
-  }
220
-  .done {
221
-    color: #198120;
222
-  }
223
-  .red {
224
-    color: #d81e06;
225
-  }
226
-  .yellow {
227
-    color: #e6a23c;
228
-  }
229
-  .order_steps {
230
-    // height: 240px;
231
-    .el-step__icon-inner {
232
-      display: none;
266
+
267
+    .green {
268
+      color: #00c1de;
269
+    }
270
+
271
+    .done {
272
+      color: #198120;
273
+    }
274
+
275
+    .red {
276
+      color: #d81e06;
277
+    }
278
+
279
+    .yellow {
280
+      color: #e6a23c;
233 281
     }
234
-  }
235 282
 
236
-  .tab_body {
237
-    padding: 0 20px 20px 20px;
283
+    .order_steps {
284
+
285
+      // height: 240px;
286
+      .el-step__icon-inner {
287
+        display: none;
288
+      }
289
+    }
290
+
291
+    .tab_body {
292
+      padding: 0 20px 20px 20px;
293
+    }
238 294
   }
239
-}
240 295
 </style>

+ 218 - 111
CallCenterWeb.UI/RMYY/src/views/vehicleDispatch/vehicleScheduling/vehicleSchedulingList/index.vue

@@ -1,140 +1,247 @@
1 1
 <template>
2 2
   <div class="app-container">
3 3
     <div class="filter-container">
4
-      <el-input v-model="keyword" placeholder="请输入关键词" class="filter-item" />
4
+      <!-- <el-input v-model="keyword" placeholder="请输入关键词" class="filter-item" /> -->
5
+      <el-select clearable v-model="type" placeholder="请选择工单类型">
6
+        <el-option v-for="item in typeList" :key="item.fid" :label="item.fname" :value="item.fid">
7
+        </el-option>
8
+      </el-select>
9
+      <el-date-picker v-model="startTime" size="medium" type="daterange" format="yyyy-MM-dd" value-format="yyyy-MM-dd"
10
+        range-separator="至" start-placeholder="开始日期" end-placeholder="结束日期" />
5 11
       <el-button type="primary" class="filter-item" icon="el-icon-search" @click="btn_search">搜索</el-button>
6
-      <el-button type="primary" class="filter-item" icon="el-icon-plus" @click="btn_add">添加</el-button>
12
+      <el-button v-permission="'btnAdd'" type="primary" class="filter-item" icon="el-icon-plus" @click="btn_add">添加</el-button>
7 13
     </div>
8 14
     <el-table v-loading="loading" :data="dataLists" border stripe>
9 15
 
10 16
       <el-table-column type="index" label="编号" align="center" fixed width="80" />
11 17
       <el-table-column prop="F_WorkOrderCode" label="工单编号" align="center" min-width="110">
12
-        <!-- <template slot-scope="scope">
13
-          <el-button type="text" size="small" @click="hadndleOrderCode(scope.row.F_Id)">{{ scope.row.F_WorkOrderCode }}</el-button>
14
-        </template> -->
18
+        <template slot-scope="scope">
19
+          <el-button type="text" size="small" @click="hadndleOrderCode(scope.row.F_ID)">{{ scope.row.F_WorkOrderCode }}
20
+          </el-button>
21
+        </template>
15 22
       </el-table-column>
16
-      <el-table-column :show-overflow-tooltip="true" prop="Name" label="姓名" align="center" />
17
-
23
+      <el-table-column :show-overflow-tooltip="true" prop="F_Type" label="类别" align="center">
24
+        <template slot-scope="scope">
25
+          <div v-if="scope.row.F_Type==8001">院区转运患者</div>
26
+          <div v-if="scope.row.F_Type==8002">转运物资</div>
27
+          <div v-if="scope.row.F_Type==8003">转运消供器械</div>
28
+          <div v-if="scope.row.F_Type==8004">转运设备</div>
29
+        </template>
30
+      </el-table-column>
31
+      <el-table-column :show-overflow-tooltip="true" prop="F_CarMessage" label="车辆信息" align="center" />
32
+      <el-table-column :show-overflow-tooltip="true" prop="F_Phon" label="电话" align="center" />
33
+      <el-table-column :show-overflow-tooltip="true" prop="F_DepartPlace" label="出发地点" align="center" />
34
+      <el-table-column :show-overflow-tooltip="true" prop="F_Destination" label="目的地" align="center" />
35
+      <el-table-column :show-overflow-tooltip="true" prop="F_CreateTime" label="申请时间" align="center" />
36
+      <el-table-column :show-overflow-tooltip="true" prop="F_Source" label="来源" align="center" />
37
+      <el-table-column :show-overflow-tooltip="true" prop="F_CarType" label="车辆类型" align="center">
38
+        <template slot-scope="scope">
39
+          <div v-if="scope.row.F_CarType==1">大车</div>
40
+          <div v-if="scope.row.F_CarType==2">小车</div>
41
+        </template>
42
+      </el-table-column>
43
+      <el-table-column :show-overflow-tooltip="true" prop="F_Remark" label="备注" align="center" />
18 44
       <el-table-column label="操作" width="160" align="center" class-name="oparate_btn" fixed="right">
19 45
         <template slot-scope="scope">
20
-          <el-button size="mini" plain type="primary" @click="btn_edit(scope.row.F_Id)">编辑</el-button>
21
-          <el-button size="mini" plain type="danger" @click="btn_delete(scope.row.F_Id)">删除</el-button>
46
+          <el-button v-permission="'btnEdit'" size="mini" type="text" @click="btn_edit(scope.row.F_ID)">编辑</el-button>
47
+          <el-button v-permission="'btnDel'" size="mini" type="text" @click="btn_delete(scope.row.F_ID)">删除</el-button>
48
+          <el-button v-permission="'btnAssign'" v-if="scope.row.F_State==0" size="mini" type="text" @click="btn_assign(scope.row.F_ID)">派车
49
+          </el-button>
50
+          <el-button v-permission="'btnSure'" size="mini" type="text" @click="btn_sure(scope.row.F_ID)">确定工单</el-button>
22 51
         </template>
23 52
       </el-table-column>
24 53
     </el-table>
25
-    <pagination v-show="pageParams.total > 0" :total="pageParams.total" :pageindex.sync="pageParams.pageindex" :pagesize.sync="pageParams.pagesize" class="pagination" @pagination="getList" />
54
+    <pagination v-show="pageParams.total > 0" :total="pageParams.total" :pageindex.sync="pageParams.pageindex"
55
+      :pagesize.sync="pageParams.pagesize" class="pagination" @pagination="getList" />
26 56
   </div>
27 57
 </template>
28 58
 <script>
29
-// import { getVehicleList,deleteData } from '@/api/'
30
-// import addOrEdit from './components/addOrEdit'
31
-// import detail from './components/detail'
59
+  import {
60
+    getList,
61
+    getAddWorkOrder,
62
+    getUpdateWorkOrder,
63
+    getDelete,
64
+    getModelDetail,
65
+    getAssignWorkOrder,
66
+    getSureWorkOrder
67
+  } from '@/api/vehicleDispatch/vehicleScheduling.js'
68
+  import {
69
+    getGetAllCar
70
+  } from '@/api/Escortservice/Escortservice.js'
71
+  import {
72
+    getOrderTypeList
73
+  } from "@/api/commonAPI.js"
74
+  import addOrEdit from './components/addOrEdit'
75
+  import detail from './components/detail'
76
+  import assign from './components/assign.vue'
32 77
 
33
-import Pagination from '@/components/context/Pagination'
78
+  import Pagination from '@/components/context/Pagination'
34 79
 
35
-export default {
36
-  name: 'vehicleManagement',
37
-  components: {
38
-    Pagination
39
-  },
40
-  data() {
41
-    return {
42
-      loading: false,
43
-      keyword: '',
44
-      pageParams: {
45
-        pageindex: 1, //Number(this.$store.getters.serverConfig.PAGESIZE)
46
-        pagesize: Number(this.$store.getters.serverConfig.PAGESIZE), 
47
-        total: 0
48
-      },
49
-      dataLists: []
50
-    }
51
-  },
52
-  created() {
53
-    this.getList()
54
-    document.onkeyup = (e) => {
55
-      if (e.keyCode === 13) {
56
-        this.getList()
57
-      }
58
-    }
59
-  },
60
-  methods: {
61
-    getList() {
62
-      // this.loading = true
63
-      return new Promise((resolve) => {
64
-        const params = {
65
-          pageindex: this.pageParams.pageindex, // 第几页
66
-          pagesize: this.pageParams.pagesize, // 每页几条信息
67
-          keyword: this.keyword.replace(/\s+/g, '')
68
-        }
69
-        // getList(params).then((response) => {
70
-        //   this.loading = false
71
-        //   if (response.rows.length >= 0) {
72
-        //     this.pageParams.total = response.total
73
-        //     this.dataLists = response.rows
74
-        //   }
75
-        // })
76
-        // resolve()
77
-      })
80
+  export default {
81
+    name: 'vehicleScheduling',
82
+    components: {
83
+      Pagination
78 84
     },
79
-    btn_search() {
80
-      this.pageParams.pageindex = 1
81
-      this.getList()
82
-    },
83
-    btn_add() {
84
-      this.$layer.iframe({
85
-        content: {
86
-          // content: addOrEdit, // 传递的组件对象
87
-          parent: this, // 当前的vue对象
88
-          data: { rowid: '' }
85
+    data() {
86
+      return {
87
+        loading: false,
88
+        keyword: '',
89
+        typeList:[],
90
+        type:'',
91
+        startTime: '',
92
+        pageParams: {
93
+          pageindex: 1, //Number(this.$store.getters.serverConfig.PAGESIZE)
94
+          pagesize: Number(this.$store.getters.serverConfig.PAGESIZE),
95
+          total: 0
89 96
         },
90
-        area: ['60%', '500px'],
91
-        title: '添加'
92
-      })
93
-    },
94
-    btn_edit(editId) {
95
-      this.$layer.iframe({
96
-        content: {
97
-          // content: addOrEdit, // 传递的组件对象
98
-          parent: this, // 当前的vue对象
99
-          data: { rowid: editId.toString() } // props
100
-        },
101
-        area: ['60%', '500px'],
102
-        title: '编辑'
103
-      })
97
+        dataLists: []
98
+      }
104 99
     },
105
-    // 详情
106
-    hadndleOrderCode(ordercode) {
107
-      this.$layer.iframe({
108
-        content: {
109
-          // content: detail, // 传递的组件对象
110
-          parent: this, // 当前的vue对象
111
-          data: { rowid: ordercode } // props
112
-        },
113
-        area: ['80%', '90%'],
114
-        title: '订单详情'
115
-      })
100
+    created() {
101
+      this.getList()
102
+      this.getTypeOrder()
103
+      document.onkeyup = (e) => {
104
+        if (e.keyCode === 13) {
105
+          this.getList()
106
+        }
107
+      }
116 108
     },
117
-    btn_delete(editId) {
118
-      editId = [5,6]
119
-      this.$confirm('您确定要删除此信息吗?', '提示', {
120
-        confirmButtonText: '确定',
121
-        cancelButtonText: '取消',
122
-        type: 'warning'
123
-      })
124
-      .then(() => {
125
-        // deleteData(editId).then((response) => {
126
-        //   if (response.state.toLowerCase() === 'success') {
127
-        //     this.getList()
128
-        //     this.$message.success('删除成功!')
129
-        //   }
130
-        // })
131
-      })
132
-      .catch(() => {
133
-        this.$message.info('已取消删除')
134
-      })
109
+    methods: {
110
+      getTypeOrder() {
111
+        const params = {
112
+          pid: 2,
113
+          typeid: 4000
114
+        }
115
+        getOrderTypeList(params.pid, params.typeid).then(res => {
116
+          this.typeList = res.rows
117
+        })
118
+      },
119
+      getList() {
120
+        this.loading = true
121
+        return new Promise((resolve) => {
122
+          const params = {
123
+            type: this.type,
124
+            state: -1,
125
+            pageindex: this.pageParams.pageindex, // 第几页
126
+            pagesize: this.pageParams.pagesize, // 每页几条信息
127
+            // keyword: this.keyword.replace(/\s+/g, ''),
128
+            starttime: this.startTime && this.startTime[0],
129
+            endtime: this.startTime && this.startTime[1]
130
+          }
131
+          getList(params).then((response) => {
132
+            this.loading = false
133
+            if (response.rows.length >= 0) {
134
+              this.pageParams.total = response.tatal
135
+              this.dataLists = response.rows
136
+            }
137
+          })
138
+          resolve()
139
+        })
140
+      },
141
+      btn_search() {
142
+        this.pageParams.pageindex = 1
143
+        this.getList()
144
+      },
145
+      btn_add() {
146
+        this.$layer.iframe({
147
+          content: {
148
+            content: addOrEdit, // 传递的组件对象
149
+            parent: this, // 当前的vue对象
150
+            data: {
151
+              // rowid: ''
152
+            }
153
+          },
154
+          area: ['60%', '500px'],
155
+          title: '添加'
156
+        })
157
+      },
158
+      btn_edit(editId) {
159
+        this.$layer.iframe({
160
+          content: {
161
+            content: addOrEdit, // 传递的组件对象
162
+            parent: this, // 当前的vue对象
163
+            data: {
164
+              rowid: editId
165
+            } // props
166
+          },
167
+          area: ['60%', '500px'],
168
+          title: '编辑'
169
+        })
170
+      },
171
+      // 详情
172
+      hadndleOrderCode(ordercode) {
173
+        this.$layer.iframe({
174
+          content: {
175
+            content: detail, // 传递的组件对象
176
+            parent: this, // 当前的vue对象
177
+            data: {
178
+              rowid: ordercode
179
+            } // props
180
+          },
181
+          area: ['80%', '90%'],
182
+          title: '工单详情'
183
+        })
184
+      },
185
+      //删除
186
+      btn_delete(editId) {
187
+        const params = {
188
+          orderid: editId
189
+        }
190
+        this.$confirm('您确定要删除此信息吗?', '提示', {
191
+            confirmButtonText: '确定',
192
+            cancelButtonText: '取消',
193
+            type: 'warning'
194
+          })
195
+          .then(() => {
196
+            getDelete(params).then((response) => {
197
+              if (response.state.toLowerCase() === 'success') {
198
+                this.getList()
199
+                this.$message.success('删除成功!')
200
+              }
201
+            })
202
+          })
203
+          .catch(() => {
204
+            this.$message.info('已取消删除')
205
+          })
206
+      },
207
+      //确定工单
208
+      btn_sure(rowid) {
209
+        const params = {
210
+          orderid: rowid
211
+        }
212
+        this.$confirm('您要确认此工单吗?', '提示', {
213
+            confirmButtonText: '确定',
214
+            cancelButtonText: '取消',
215
+            type: 'warning'
216
+          })
217
+          .then(() => {
218
+            getSureWorkOrder(params).then((response) => {
219
+              if (response.state.toLowerCase() === 'success') {
220
+                this.getList()
221
+                this.$message.success('确定成功!')
222
+              }
223
+            })
224
+          })
225
+          .catch(() => {
226
+            this.$message.info('已取消')
227
+          })
228
+      },
229
+      //派车
230
+      btn_assign(rowid) {
231
+        this.$layer.iframe({
232
+          content: {
233
+            content: assign, // 传递的组件对象
234
+            parent: this, // 当前的vue对象
235
+            data: {
236
+              rowid: rowid
237
+            } // props
238
+          },
239
+          area: ['40%', '50%'],
240
+          title: '派车'
241
+        })
242
+      }
135 243
     }
136 244
   }
137
-}
138 245
 </script>
139 246
 <style rel="stylesheet/scss" lang="scss" scoped>
140 247
 </style>

+ 107 - 73
CallCenterWeb.UI/RMYY/src/views/vehicleDispatch/vehicleScheduling/vehicleSchedulingReport/index.vue

@@ -2,93 +2,127 @@
2 2
   <div class="app-container">
3 3
     <div class="filter-container">
4 4
       <el-input v-model="keyword" placeholder="请输入关键词" class="filter-item" />
5
+      <el-date-picker v-model="startTime" size="medium" type="daterange" format="yyyy-MM-dd" value-format="yyyy-MM-dd"
6
+        range-separator="至" start-placeholder="开始日期" end-placeholder="结束日期" />
5 7
       <el-button type="primary" class="filter-item" icon="el-icon-search" @click="btn_search">搜索</el-button>
6
-      <el-button type="primary" class="filter-item" @click="btn_export"><svg-icon icon-class="daochu" />导出</el-button>
8
+      <el-button v-permission="'btnExport'" type="primary" class="filter-item" @click="btn_export">
9
+        <svg-icon icon-class="daochu" />导出
10
+      </el-button>
7 11
     </div>
8 12
     <el-table v-loading="loading" :data="dataLists" border stripe>
9
-      <el-table-column type="index" label="编号" align="center" fixed width="80" />
10
-      <el-table-column :show-overflow-tooltip="true" prop="name" label="姓名" align="center" />
13
+      <el-table-column :show-overflow-tooltip="true" prop="F_WorkOrderCode" label="工单编号" align="center" />
14
+      <el-table-column :show-overflow-tooltip="true" prop="F_Type" label="类别" align="center">
15
+        <template slot-scope="scope">
16
+          <div v-if="scope.row.F_Type==1">院区转运患者</div>
17
+          <div v-if="scope.row.F_Type==2">转运物资</div>
18
+          <div v-if="scope.row.F_Type==3">转运消供器械</div>
19
+          <div v-if="scope.row.F_Type==4">转运设备</div>
20
+        </template>
21
+      </el-table-column>
22
+      <el-table-column :show-overflow-tooltip="true" prop="F_CarMessage" label="车辆信息" align="center" />
23
+      <el-table-column :show-overflow-tooltip="true" prop="F_DepartPlace" label="出发地点" align="center" />
24
+      <el-table-column :show-overflow-tooltip="true" prop="F_Destination" label="目的地" align="center" />
25
+      <el-table-column :show-overflow-tooltip="true" prop="F_DriverName" label="司机" align="center" />
26
+      <el-table-column :show-overflow-tooltip="true" prop="F_CreateTime" label="申请时间" align="center" />
27
+      <el-table-column :show-overflow-tooltip="true" prop="F_ProposerName" label="调度员" align="center" />
28
+      <el-table-column :show-overflow-tooltip="true" prop="F_CarType" label="车辆类型" align="center">
29
+        <template slot-scope="scope">
30
+          <div v-if="scope.row.F_CarType==1">大车</div>
31
+          <div v-if="scope.row.F_CarType==2">小车</div>
32
+        </template>
33
+      </el-table-column>
34
+      <el-table-column :show-overflow-tooltip="true" prop="F_Remark" label="备注" align="center" />
11 35
     </el-table>
12
-    <pagination v-show="pageParams.total > 0" :total="pageParams.total" :pageindex.sync="pageParams.pageindex" :pagesize.sync="pageParams.pagesize" class="pagination" @pagination="getList" />
36
+    <pagination v-show="pageParams.total > 0" :total="pageParams.total" :pageindex.sync="pageParams.pageindex"
37
+      :pagesize.sync="pageParams.pagesize" class="pagination" @pagination="getList" />
13 38
   </div>
14 39
 </template>
15 40
 <script>
16
-// import { getListExpt,getListExptIsdc } from '@/api'
17
-import Pagination from '@/components/context/Pagination'
18
-// import { exportData } from '@/utils'
41
+  import {
42
+    getListExpt,
43
+    getListExptIsdc
44
+  } from '@/api/vehicleDispatch/vehicleScheduling.js'
45
+  import Pagination from '@/components/context/Pagination'
46
+  import {
47
+    exportData
48
+  } from '@/utils'
19 49
 
20
-export default {
21
-  name: 'List',
22
-  components: {
23
-    Pagination
24
-  },
25
-  data() {
26
-    return {
27
-      loading: false,
28
-      keyword: '',
29
-      pageParams: {
30
-        pageindex: 1,
31
-        pagesize: Number(this.$store.getters.serverConfig.PAGESIZE),
32
-        total: 0
33
-      },
34
-      dataLists: []
35
-    }
36
-  },
37
-  created() {
38
-    this.getList()
39
-    
40
-    document.onkeyup = (e) => {
41
-      if (e.keyCode === 13) {
42
-        this.getList()
50
+  export default {
51
+    name: 'report',
52
+    components: {
53
+      Pagination
54
+    },
55
+    data() {
56
+      return {
57
+        loading: false,
58
+        keyword: '',
59
+        startTime: '',
60
+        orderId: '',
61
+        pageParams: {
62
+          pageindex: 1,
63
+          pagesize: Number(this.$store.getters.serverConfig.PAGESIZE),
64
+          total: 0
65
+        },
66
+        dataLists: []
43 67
       }
44
-    }
45
-  },
46
-  methods: {
47
-    getList() {
48
-      
49
-      this.loading = true
50
-      return new Promise((resolve) => {
51
-        const params = {
52
-          pageindex: this.pageParams.pageindex, // 第几页
53
-          pagesize: this.pageParams.pagesize, // 每页几条信息
54
-          keyword: this.keyword.replace(/\s+/g, ''),
55
-        }
56
-        // getListExpt(params).then((response) => {
57
-        //   this.loading = false
58
-        //   if (response.rows.length > 0) {
59
-        //     this.pageParams.total = response.total
60
-        //     this.dataLists = response.rows
61
-        //   }
62
-        // })
63
-        // resolve()
64
-      })
65 68
     },
66
-    btn_search() {
67
-      this.pageParams.pageindex = 1
69
+    created() {
68 70
       this.getList()
69
-    },
70
-    btn_export() {
71
-      return new Promise(resolve => {
72
-        const params = {
73
-          isdc: 1,
74
-          pageindex: this.pageParams.pageindex, // 第几页
75
-          pagesize: this.pageParams.pagesize, // 每页几条信息
76
-          type: this.orderId,
77
-          keyword: this.keyword.replace(/\s+/g, '')
71
+
72
+      document.onkeyup = (e) => {
73
+        if (e.keyCode === 13) {
74
+          this.getList()
78 75
         }
79
-        // getListExptIsdc(params).then(response => {
80
-        //   if (response.headers['content-disposition']) {
81
-        //     exportData(response)
82
-        //   } else {
83
-        //     this.$message.error(response)
84
-        //   }
85
-        // })
86
-        // resolve()
87
-      })
76
+      }
77
+    },
78
+    methods: {
79
+      getList() {
80
+        this.loading = true
81
+        return new Promise((resolve) => {
82
+          const params = {
83
+            starttime: this.startTime && this.startTime[0],
84
+            endtime: this.startTime && this.startTime[1],
85
+            pageindex: this.pageParams.pageindex, // 第几页
86
+            pagesize: this.pageParams.pagesize, // 每页几条信息
87
+            keyword: this.keyword.replace(/\s+/g, '')
88
+          }
89
+          getListExpt(params).then((response) => {
90
+            this.loading = false
91
+            if (response.rows.length > 0) {
92
+              this.pageParams.total = response.total
93
+              this.dataLists = response.rows
94
+            }
95
+          })
96
+          resolve()
97
+        })
98
+      },
99
+      btn_search() {
100
+        this.pageParams.pageindex = 1
101
+        this.getList()
102
+      },
103
+      btn_export() {
104
+        return new Promise(resolve => {
105
+          const params = {
106
+            isdc: 1,
107
+            pageindex: this.pageParams.pageindex, // 第几页
108
+            pagesize: this.pageParams.pagesize, // 每页几条信息
109
+            keyword: this.keyword.replace(/\s+/g, ''),
110
+            starttime: this.startTime && this.startTime[0],
111
+            endtime: this.startTime && this.startTime[1]
112
+          }
113
+          getListExptIsdc(params).then(response => {
114
+            if (response.headers['content-disposition']) {
115
+              exportData(response)
116
+            } else {
117
+              this.$message.error(response)
118
+            }
119
+          })
120
+          resolve()
121
+        })
122
+      }
123
+
88 124
     }
89
-    
90 125
   }
91
-}
92 126
 </script>
93 127
 <style rel="stylesheet/scss" lang="scss" scoped>
94 128
 </style>