liuzhihui 2 years ago
parent
commit
5df882c7de

+ 32 - 0
CallCenterWeb.UI/RMYY/src/api/vehicleDispatch/driver.js

@@ -24,3 +24,35 @@ export function getWithdrawWorkOrder(params) {
24 24
     params
25 25
   });
26 26
 }
27
+//接单
28
+export function getSureWorkOrder(params) {
29
+  return request({
30
+    url: "T_Car_WorkOrder/SureWorkOrder",
31
+    method: "get",
32
+    params
33
+  });
34
+}
35
+//退回
36
+export function getBackWorkOrder(params) {
37
+  return request({
38
+    url: "T_Car_WorkOrder/BackWorkOrder",
39
+    method: "get",
40
+    params
41
+  });
42
+}
43
+//发车
44
+export function getStartCar(params) {
45
+  return request({
46
+    url: "T_Car_WorkOrder/StartCar",
47
+    method: "get",
48
+    params
49
+  });
50
+}
51
+//抵达
52
+export function getEndCar(params) {
53
+  return request({
54
+    url: "T_Car_WorkOrder/EndCar",
55
+    method: "get",
56
+    params
57
+  });
58
+}

+ 4 - 0
CallCenterWeb.UI/RMYY/src/utils/fieldsData.js

@@ -433,6 +433,10 @@ export default {
433 433
     value: '申请科室'
434 434
   },
435 435
   {
436
+    key: 'F_Location',
437
+    value: '科室位置'
438
+  },
439
+  {
436 440
     key: 'Applicant',
437 441
     value: '申请人'
438 442
   },

+ 7 - 1
CallCenterWeb.UI/RMYY/src/views/comDispatch/scheduleList/index.vue

@@ -118,6 +118,12 @@
118 118
         align="center"
119 119
       />
120 120
       <el-table-column
121
+        v-if="fieldListFlag.F_Location"
122
+        prop="F_Location"
123
+        label="科室位置"
124
+        align="center"
125
+      />
126
+      <el-table-column
121 127
         v-if="fieldListFlag.Applicant"
122 128
         prop="Applicant"
123 129
         label="申请人"
@@ -250,7 +256,7 @@ export default {
250 256
   },
251 257
   data() {
252 258
     return {
253
-      activeName: "-1",
259
+      activeName: "0",
254 260
       isDisable: false, // 防止多次点击
255 261
       loading: false,
256 262
       deleteId: [],

+ 4 - 0
CallCenterWeb.UI/RMYY/src/views/faultRepairManagement/repairList/index.vue

@@ -59,6 +59,7 @@
59 59
       <el-tab-pane label="已完成" name="3" />
60 60
     </el-tabs>
61 61
     <el-table
62
+      v-loading="loading"
62 63
       ref="multipleTable"
63 64
       :data="taskDataLists"
64 65
       border
@@ -1016,6 +1017,7 @@ export default {
1016 1017
   },
1017 1018
   data() {
1018 1019
     return {
1020
+      loading:false,
1019 1021
       dialogZuzhang: false,
1020 1022
       dialogZhiban: false,
1021 1023
       zuzhangForm: {
@@ -2017,6 +2019,7 @@ export default {
2017 2019
         });
2018 2020
     },
2019 2021
     getListTask() {
2022
+      this.loading = true
2020 2023
       this.taskDataLists = [];
2021 2024
       return new Promise((resolve) => {
2022 2025
         const params = {
@@ -2030,6 +2033,7 @@ export default {
2030 2033
           workordercode: this.workOrderId,
2031 2034
         };
2032 2035
         getMaintenancerList(params).then((response) => {
2036
+          this.loading = false
2033 2037
           this.pageParams.total = response.total;
2034 2038
           if (response.rows.length > 0) {
2035 2039
             this.taskDataLists = response.rows;

+ 74 - 33
CallCenterWeb.UI/RMYY/src/views/layout/components/Navbar/permsgEdit.vue

@@ -2,7 +2,7 @@
2 2
   <div v-loading="loading">
3 3
     <el-tabs v-model="activeName" @tab-click="handleClick">
4 4
       <el-tab-pane label="个人资料" name="first">
5
-        <el-form ref="ruleForm" :model="form" label-width="100px">
5
+        <el-form ref="ruleForm" :model="form" :rules="rules" label-width="100px">
6 6
           <el-col :span="20">
7 7
             <el-row>
8 8
               <el-col :span="14">
@@ -27,7 +27,7 @@
27 27
             </el-row> -->
28 28
             <el-row>
29 29
               <el-col :span="14">
30
-                <el-form-item label="原密码">
30
+                <el-form-item label="原密码" prop="oldpas">
31 31
                   <el-input
32 32
                     v-model="form.oldpas"
33 33
                     type="password"
@@ -38,7 +38,7 @@
38 38
             </el-row>
39 39
             <el-row>
40 40
               <el-col :span="14">
41
-                <el-form-item label="新密码">
41
+                <el-form-item label="新密码" prop="newpas">
42 42
                   <el-input
43 43
                     v-model="form.newpas"
44 44
                     type="password"
@@ -49,7 +49,7 @@
49 49
             </el-row>
50 50
             <el-row>
51 51
               <el-col :span="14">
52
-                <el-form-item label="确认密码">
52
+                <el-form-item label="确认密码" prop="confirmpas">
53 53
                   <el-input
54 54
                     v-model="form.confirmpas"
55 55
                     type="password"
@@ -105,6 +105,7 @@
105 105
 
106 106
 <script>
107 107
 import { getResetPwd, getUploadTX } from "@/api/layout/permsgEdit";
108
+import { validPassword } from "@/utils/validate";
108 109
 import md5 from "js-md5";
109 110
 export default {
110 111
   name: "Permsg",
@@ -115,7 +116,50 @@ export default {
115 116
     },
116 117
   },
117 118
   data() {
119
+	  const validatePass = (rule, value, callback) => {
120
+	    if (!validPassword(value)) {
121
+	      callback(
122
+	        new Error("请输入有效的密码(6-32个字符只能是字母、下划线、数字)!")
123
+	      );
124
+	    } else {
125
+	      if (this.form.confirmpas !== "") {
126
+	        this.$refs.ruleForm.validateField("confirmpas");
127
+	      }
128
+	      callback();
129
+	    }
130
+	  };
131
+    const validatePass2 = (rule, value, callback) => {
132
+      if (!validPassword(this.form.confirmpas)) {
133
+        callback(
134
+          new Error(
135
+            "请输入有效的密码(6-32个字符只能是字母、下划线、数字)!"
136
+          )
137
+        );
138
+      } else {
139
+        if (this.form.confirmpas !== this.form.newpas) {
140
+          callback(new Error("两次输入密码不一致!"));
141
+        }
142
+        callback();
143
+      }
144
+    };
118 145
     return {
146
+      rules:{
147
+        oldpas:[{
148
+           required: true,
149
+           trigger: "blur",
150
+           message: "请输入原密码",
151
+        }],
152
+        newpas:[{
153
+            required: true,
154
+            trigger: "blur",
155
+            validator: validatePass,
156
+        }],
157
+        confirmpas:[{
158
+            required: true,
159
+            trigger: "blur",
160
+            validator: validatePass2,
161
+        }],
162
+      },
119 163
       fileList: [],
120 164
       photoHide: true,
121 165
       formLabelWidth: "120px",
@@ -146,10 +190,6 @@ export default {
146 190
     };
147 191
   },
148 192
   created() {
149
-    console.log(
150
-      this.$store.getters.serverConfig.BASE_API +
151
-        localStorage.getItem("storageUsertx")
152
-    );
153 193
     if (localStorage.getItem("storageUsertx")) {
154 194
       this.fileList.push({
155 195
         name: "",
@@ -167,32 +207,33 @@ export default {
167 207
       console.log(tab, event);
168 208
     },
169 209
     onsub() {
170
-      return new Promise((resolve) => {
171
-        const params = {
172
-          oldpwd: md5(this.form.oldpas),
173
-          usercode: localStorage.getItem("storageUsercode"),
174
-          pwd: md5(this.form.confirmpas),
175
-          username: this.form.name,
176
-          phone: this.form.phone,
177
-        };
178
-        if (!this.form.oldpas) {
179
-          this.$message.error("请输入原密码");
180
-          return;
210
+      this.$refs.ruleForm.validate((valid) => {
211
+        if(valid){
212
+          const params = {
213
+            oldpwd: md5(this.form.oldpas),
214
+            usercode: localStorage.getItem("storageUsercode"),
215
+            pwd: md5(this.form.confirmpas),
216
+            username: this.form.name,
217
+            phone: this.form.phone,
218
+          };
219
+          // if (!this.form.oldpas) {
220
+          //   this.$message.error("请输入原密码");
221
+          //   return;
222
+          // }
223
+          // if (this.form.confirmpas != this.form.newpas) {
224
+          //   this.$message.error("两次密码输入不一致");
225
+          //   return;
226
+          // }
227
+          getResetPwd(params).then((response) => {
228
+            if (response.state.toLowerCase() === "success") {
229
+              this.$parent.$layer.close(this.layerid);
230
+              this.$message.success("恭喜你,重置密码成功!");
231
+              window.localStorage.setItem("storageUserphone", this.form.phone);
232
+              window.localStorage.setItem("storageUsername", this.form.name);
233
+            }
234
+          });
181 235
         }
182
-        if (this.form.confirmpas != this.form.newpas) {
183
-          this.$message.error("两次密码输入不一致");
184
-          return;
185
-        }
186
-        getResetPwd(params).then((response) => {
187
-          if (response.state.toLowerCase() === "success") {
188
-            this.$parent.$layer.close(this.layerid);
189
-            this.$message.success("恭喜你,重置密码成功!");
190
-            window.localStorage.setItem("storageUserphone", this.form.phone);
191
-            window.localStorage.setItem("storageUsername", this.form.name);
192
-          }
193
-        });
194
-        resolve();
195
-      });
236
+      })
196 237
     },
197 238
     oncancel() {
198 239
       this.$parent.$layer.close(this.layerid);

+ 15 - 7
CallCenterWeb.UI/RMYY/src/views/orderManage/orderList/index.vue

@@ -45,7 +45,7 @@
45 45
       </el-table-column>
46 46
       <el-table-column v-if="fieldListFlag.F_ProposerDeptName" prop="F_ProposerDept" :formatter="formtDept" label="申请科室" align="center" min-width />
47 47
       <el-table-column v-if="fieldListFlag.F_ProposerName" prop="F_ProposerName" label="申请人" align="center" min-width />
48
-      <el-table-column v-if="fieldListFlag.F_DeptLocation" prop="F_ProposerDept" :formatter="formtLocation" label="科室位置" align="center" min-width />
48
+      <el-table-column v-if="fieldListFlag.F_DeptLocation" prop="F_LocationNew" label="科室位置" align="center" min-width />
49 49
       <el-table-column v-if="fieldListFlag.F_Type" prop="F_Type" label="业务类别" align="center" min-width>
50 50
         <template slot-scope="scope">
51 51
           <span v-if="scope.row.F_Type==1000">业务咨询</span>
@@ -168,6 +168,7 @@
168 168
     },
169 169
     data() {
170 170
       return {
171
+        isloading:0,
171 172
         activeName: "0",
172 173
         isDisable: false, // 防止多次点击
173 174
         loading: false,
@@ -212,6 +213,7 @@
212 213
       this.getList();
213 214
       window.setInterval(() => {
214 215
         setTimeout(() => {
216
+          this.isloading = 1
215 217
           this.getList();
216 218
         }, 0)
217 219
       }, 30000)
@@ -232,12 +234,12 @@
232 234
             .text;
233 235
         }
234 236
       },
235
-      formtLocation(row, column) {
236
-        if (row.F_ProposerDept) {
237
-          return this.$store.getters.deptmap[parseInt(row.F_ProposerDept)]
238
-            .location;
239
-        }
240
-      },
237
+      // formtLocation(row, column) {
238
+      //   if (row.F_ProposerDept) {
239
+      //     return this.$store.getters.deptmap[parseInt(row.F_ProposerDept)]
240
+      //       .location;
241
+      //   }
242
+      // },
241 243
       refList() {
242 244
         this.getList();
243 245
       },
@@ -266,6 +268,11 @@
266 268
         }
267 269
       },
268 270
       getList() {
271
+        if(this.isloading==0){
272
+          this.loading = true
273
+        }else{
274
+          this.loading = false
275
+        }
269 276
         return new Promise((resolve) => {
270 277
           const params = {
271 278
             usercode: this.searchData.usercode,
@@ -282,6 +289,7 @@
282 289
           };
283 290
           comOrderList(params).then((response) => {
284 291
             if (response.state.toLowerCase() === "success") {
292
+              this.loading = false
285 293
               this.pageParams.total = response.total;
286 294
               this.dataLists = response.rows;
287 295
             }

+ 206 - 0
CallCenterWeb.UI/RMYY/src/views/vehicleDispatch/driverOrder/driverOrderdetail - 副本.vue

@@ -0,0 +1,206 @@
1
+<template>
2
+  <div v-loading="loading">
3
+    <el-table :data="selectarr" class="airlineDeviceTable" border row-key="F_ID">
4
+      <el-table-column type="index" width="100" label="序号" align="center"/>
5
+      <el-table-column
6
+        v-for="(item, index) in col"
7
+        :key="`col_${index}`"
8
+        :prop="dropCol[index].prop"
9
+        :label="item.label"
10
+        align="center"/>
11
+    </el-table>
12
+  </div>
13
+</template>
14
+
15
+<script>
16
+import {
17
+  getCarList,
18
+  getCarUserList,
19
+  getAssignWorkOrder
20
+} from '@/api/vehicleDispatch/vehicleScheduling.js'
21
+import {
22
+  getModelDetail
23
+} from '@/api/vehicleDispatch/vehicleScheduling.js'
24
+import Sortable from 'sortablejs'
25
+export default {
26
+  name: 'DriverOrderdetail',
27
+  props: {
28
+    layerid: {
29
+      type: String,
30
+      default: ''
31
+    },
32
+    rowid: {
33
+      type: String,
34
+      default: ''
35
+    },
36
+    wocode: {
37
+      type: String,
38
+      default: ''
39
+    }
40
+    // selectids: {
41
+    //   type: Array,
42
+    //   default: []
43
+    // },
44
+    // selectarr: {
45
+    //   type: Array,
46
+    //   default: []
47
+    // }
48
+  },
49
+  data() {
50
+    return {
51
+      col: [{
52
+        label: '工单号',
53
+        prop: 'F_WorkOrderCode'
54
+      },
55
+      {
56
+        label: '工单内容',
57
+        prop: 'F_Content'
58
+      },
59
+      {
60
+        label: '出发地',
61
+        prop: 'F_DepartPlace'
62
+      },
63
+      {
64
+        label: '目的地',
65
+        prop: 'F_Destination'
66
+      },
67
+      {
68
+        label: '用车时间',
69
+        prop: 'F_UseTime'
70
+      }
71
+      ],
72
+      dropCol: [{
73
+        label: '工单号',
74
+        prop: 'F_WorkOrderCode'
75
+      },
76
+      {
77
+        label: '工单内容',
78
+        prop: 'F_Content'
79
+      },
80
+      {
81
+        label: '出发地',
82
+        prop: 'F_DepartPlace'
83
+      },
84
+      {
85
+        label: '目的地',
86
+        prop: 'F_Destination'
87
+      },
88
+      {
89
+        label: '用车时间',
90
+        prop: 'F_UseTime'
91
+      }
92
+      ],
93
+      typeList: [],
94
+      carArr: [],
95
+      repairman: [], // 申请人数据
96
+      hospitalsParam: {
97
+        id: 0,
98
+        name: ''
99
+      },
100
+      departmentsParam: {
101
+        id: 0,
102
+        name: ''
103
+      },
104
+      repairmanParam: {
105
+        id: 0,
106
+        name: ''
107
+      },
108
+      rules: {},
109
+      ruleForm: {
110
+        carid: '',
111
+        driver: ''
112
+      },
113
+      deptid: [],
114
+      selectarr: [],
115
+      loading: false
116
+    }
117
+  },
118
+  created() {
119
+    this.getDetail()
120
+  },
121
+  mounted() {
122
+    this.$nextTick(() => {
123
+      // this.rowDrop()
124
+      // this.columnDrop()
125
+    })
126
+  },
127
+  methods: {
128
+    // 行拖拽
129
+    rowDrop() {
130
+      const tbody = document.querySelector('.airlineDeviceTable .el-table__body-wrapper tbody')
131
+      const that = this
132
+      Sortable.create(tbody, {
133
+        draggable: '.el-table__row',
134
+        // 结束拖拽后的回调函数
135
+        onEnd({
136
+          newIndex,
137
+          oldIndex
138
+        }) {
139
+          const currentRow = that.selectarr.splice(oldIndex, 1)[0]
140
+          that.selectarr.splice(newIndex, 0, currentRow)
141
+        }
142
+      })
143
+    },
144
+    // 列拖拽
145
+    columnDrop() {
146
+      const wrapperTr = document.querySelector('.airlineDeviceTable .el-table__header-wrapper tr')
147
+      this.sortable = Sortable.create(wrapperTr, {
148
+        animation: 180,
149
+        delay: 0,
150
+        onEnd: evt => {
151
+          const oldItem = this.dropCol[evt.oldIndex]
152
+          this.dropCol.splice(evt.oldIndex, 1)
153
+          this.dropCol.splice(evt.newIndex, 0, oldItem)
154
+        }
155
+      })
156
+    },
157
+    getDetail() {
158
+      const params = {
159
+        orderid: this.rowid,
160
+        WorkOrderCode: this.wocode,
161
+        type: '3'
162
+      }
163
+      getModelDetail(params).then((response) => {
164
+        this.selectarr = response.Carlist
165
+      })
166
+    },
167
+    getVehicleLists() {
168
+      const params = {
169
+        state: 0
170
+      }
171
+      getCarList(params).then(res => {
172
+        this.carArr = res.rows
173
+      })
174
+    },
175
+    getVehicleUserLists() {
176
+      const params = {
177
+        rolecode: 'SJ'
178
+      }
179
+      getCarUserList(params).then(res => {
180
+        this.repairman = res.rows
181
+      })
182
+    },
183
+    // onsub() {
184
+    //   const arr = this.selectarr.map(item => item.F_WorkOrderCode)
185
+    //   const params = {
186
+    //     orderid: arr.toString(),
187
+    //     driver: this.ruleForm.driver,
188
+    //     carid: this.ruleForm.carid
189
+    //   }
190
+    //   getAssignWorkOrder(params).then(res => {
191
+    //     if (res.state == 'success') {
192
+    //       this.$parent.$layer.close(this.layerid)
193
+    //       this.$message.success('分配成功')
194
+    //       this.$parent.getList()
195
+    //     }
196
+    //   })
197
+    // },
198
+    resetForm() {
199
+      this.$refs.ruleForm.resetFields()
200
+    }
201
+  }
202
+}
203
+</script>
204
+
205
+<style rel="stylesheet/scss" lang="scss" scoped>
206
+</style>

+ 327 - 177
CallCenterWeb.UI/RMYY/src/views/vehicleDispatch/driverOrder/driverOrderdetail.vue

@@ -1,205 +1,355 @@
1 1
 <template>
2 2
   <div v-loading="loading">
3
-    <el-table :data="selectarr" class="airlineDeviceTable" border row-key="F_ID">
4
-      <el-table-column type="index" width="100" label="序号" align="center"/>
5
-      <el-table-column
6
-        v-for="(item, index) in col"
7
-        :key="`col_${index}`"
8
-        :prop="dropCol[index].prop"
9
-        :label="item.label"
10
-        align="center"/>
3
+    <!-- <el-steps :active="1">
4
+      <el-step title="步骤 1"></el-step>
5
+      <el-step title="步骤 2"></el-step>
6
+      <el-step title="步骤 3"></el-step>
7
+    </el-steps> -->
8
+    <el-table :data="selectarr">
9
+      <el-table-column type="index" width="100" label="序号" align="center" />
10
+      <el-table-column prop="F_WorkOrderCode" label="工单编号" align="center">
11
+        <template slot-scope="scope">
12
+          <span style="color: #409eff; cursor: pointer"
13
+            @click="hadndleOrderCode(scope.row.F_ID, scope.row.F_WorkOrderCode)">{{ scope.row.F_WorkOrderCode }}</span>
14
+        </template>
15
+      </el-table-column>
16
+      <el-table-column prop="F_Content" label="工单内容" align="center" />
17
+      <el-table-column prop="F_CarMessage" label="车牌号" align="center" />
18
+      <el-table-column prop="F_DepartPlace" label="出发地" align="center" />
19
+      <el-table-column prop="F_Destination" label="目的地" align="center" />
20
+      <el-table-column prop="F_UseTime" label="用车时间" align="center" />
21
+     <!-- <el-table-column label="操作" align="center" class-name="oparate_btn">
22
+        <template slot-scope="scope">
23
+          <el-button v-show="scope.$index==0" v-for="item in scope.row.Buttons" :key="item.key" type="text"
24
+            @click="btnClickEvents(item, scope.row.F_WorkOrderCode, scope.row,scope.$index)">
25
+            {{ item.value }}
26
+          </el-button>
27
+          <el-button v-show="scope.$index!=0&&selectarr[scope.$index-1].F_State==10" v-for="item in scope.row.Buttons" :key="item.key" type="text"
28
+            @click="btnClickEvents(item, scope.row.F_WorkOrderCode, scope.row,scope.$index)">
29
+            {{ item.value }}
30
+          </el-button>
31
+        </template>
32
+      </el-table-column> -->
11 33
     </el-table>
34
+    <!-- 退回 -->
35
+    <el-dialog :visible.sync="dialog_tuihui" :append-to-body="true" title="退回">
36
+      <el-form ref="BackForm" :model="BackForm" :rules="rules" label-width="100px">
37
+        <el-form-item label="原因">
38
+          <el-select v-model="reasonStr" placeholder="请选择原因" @change="handleChangeReason">
39
+            <el-option v-for="item in reasonarr" :key="item.F_DictionaryValueId" :label="item.F_Name"
40
+              :value="`${item.F_DictionaryValueId},${item.F_Name}`" />
41
+          </el-select>
42
+        </el-form-item>
43
+      </el-form>
44
+      <div slot="footer" class="dialog-footer">
45
+        <el-button @click="dialog_tuihui = false">取 消</el-button>
46
+        <el-button type="primary" @click="submitForm('BackForm')">确 定</el-button>
47
+      </div>
48
+    </el-dialog>
49
+    <!-- 评价 -->
50
+    <el-dialog :visible.sync="dialog_pingjia" :append-to-body="true" title="评价">
51
+      <el-form ref="carEvaluteForm" :model="carEvaluteForm" :rules="rules" label-width="100px">
52
+        <el-form-item label="评价内容">
53
+          <el-input :autosize="{ minRows: 4, maxRows: 8 }" v-model="carEvaluteForm.Evaluation" show-word-limit
54
+            maxlength="100" type="textarea" />
55
+        </el-form-item>
56
+        <el-form-item label="分值">
57
+          <el-rate v-model="carEvaluteForm.score" :texts="evaluateText" show-text />
58
+        </el-form-item>
59
+      </el-form>
60
+      <div slot="footer" class="dialog-footer">
61
+        <el-button @click="dialog_pingjia = false">取 消</el-button>
62
+        <el-button type="primary" @click="submitEvaluateForm('carEvaluteForm')">确 定</el-button>
63
+      </div>
64
+    </el-dialog>
12 65
   </div>
13 66
 </template>
14 67
 
15 68
 <script>
16
-import {
17
-  getCarList,
18
-  getCarUserList,
19
-  getAssignWorkOrder
20
-} from '@/api/vehicleDispatch/vehicleScheduling.js'
21
-import {
22
-  getModelDetail
23
-} from '@/api/vehicleDispatch/vehicleScheduling.js'
24
-import Sortable from 'sortablejs'
25
-export default {
26
-  name: 'DriverOrderdetail',
27
-  props: {
28
-    layerid: {
29
-      type: String,
30
-      default: ''
69
+  import {
70
+    getCarList,
71
+    getCarUserList,
72
+    getAssignWorkOrder
73
+  } from '@/api/vehicleDispatch/vehicleScheduling.js'
74
+  import {
75
+    getModelDetail
76
+  } from '@/api/vehicleDispatch/vehicleScheduling.js'
77
+  import detail from "../vehicleScheduling/vehicleSchedulingList/components/detail";
78
+  import {
79
+    getSureWorkOrder,
80
+    getBackWorkOrder,
81
+    getStartCar,
82
+    getEndCar
83
+  } from "@/api/vehicleDispatch/driver";
84
+  import {
85
+    getCarEvaluateWorkorder
86
+  } from "@/api/orderManagement/vehicle";
87
+  import {
88
+    getDicReason
89
+  } from "@/api/faultRepairManagement/faultRepair";
90
+  export default {
91
+    name: 'DriverOrderdetail',
92
+    props: {
93
+      layerid: {
94
+        type: String,
95
+        default: ''
96
+      },
97
+      rowid: {
98
+        type: String,
99
+        default: ''
100
+      },
101
+      wocode: {
102
+        type: String,
103
+        default: ''
104
+      }
105
+      // selectids: {
106
+      //   type: Array,
107
+      //   default: []
108
+      // },
109
+      // selectarr: {
110
+      //   type: Array,
111
+      //   default: []
112
+      // }
31 113
     },
32
-    rowid: {
33
-      type: String,
34
-      default: ''
114
+    data() {
115
+      return {
116
+        carEvaluteForm:{
117
+          score:0,
118
+          Evaluation:''
119
+        },
120
+        evaluateText: ["不满意", "不满意", "基本满意", "满意", "满意"],
121
+        dialog_pingjia:false,
122
+        dialog_tuihui: false,
123
+        reasonStr: '',
124
+        BackForm: {
125
+          key: '',
126
+          value: '',
127
+          orderid: '',
128
+          reason: ''
129
+        },
130
+        reasonarr: [],
131
+        typeList: [],
132
+        carArr: [],
133
+        repairman: [], // 申请人数据
134
+        hospitalsParam: {
135
+          id: 0,
136
+          name: ''
137
+        },
138
+        departmentsParam: {
139
+          id: 0,
140
+          name: ''
141
+        },
142
+        repairmanParam: {
143
+          id: 0,
144
+          name: ''
145
+        },
146
+        rules: {},
147
+        ruleForm: {
148
+          carid: '',
149
+          driver: ''
150
+        },
151
+        ordercode:'',
152
+        deptid: [],
153
+        selectarr: [],
154
+        loading: false
155
+      }
35 156
     },
36
-    wocode: {
37
-      type: String,
38
-      default: ''
39
-    }
40
-    // selectids: {
41
-    //   type: Array,
42
-    //   default: []
43
-    // },
44
-    // selectarr: {
45
-    //   type: Array,
46
-    //   default: []
47
-    // }
48
-  },
49
-  data() {
50
-    return {
51
-      col: [{
52
-        label: '工单号',
53
-        prop: 'F_WorkOrderCode'
54
-      },
55
-      {
56
-        label: '工单内容',
57
-        prop: 'F_Content'
157
+    created() {
158
+      this.getDetail()
159
+    },
160
+    mounted() {
161
+
162
+    },
163
+    methods: {
164
+      getReason(flag) {
165
+        const params = {
166
+          Flag: flag,
167
+          Name: "",
168
+        };
169
+        getDicReason(params).then((res) => {
170
+          this.reasonarr = res.rows;
171
+        });
58 172
       },
59
-      {
60
-        label: '出发地',
61
-        prop: 'F_DepartPlace'
173
+      handleChangeReason(data) {
174
+        this.BackForm.key = data.split(",")[0];
175
+        this.BackForm.value = data.split(",")[1];
62 176
       },
63
-      {
64
-        label: '目的地',
65
-        prop: 'F_Destination'
177
+      submitForm(formName) {
178
+        const params = {
179
+          key: this.BackForm.key,
180
+          value: this.BackForm.value,
181
+          orderid: this.rowid,
182
+          reason: ''
183
+        }
184
+        getBackWorkOrder(params).then(res => {
185
+          if (res.state == "success") {
186
+            this.dialog_tuihui = false
187
+            this.reasonStr = ''
188
+            this.BackForm.key = ''
189
+            this.BackForm.value = ''
190
+            this.$message.success("退回成功!");
191
+            this.$parent.$layer.close(this.layerid)
192
+            this.$parent.getList();
193
+          }
194
+        })
66 195
       },
67
-      {
68
-        label: '用车时间',
69
-        prop: 'F_UseTime'
70
-      }
71
-      ],
72
-      dropCol: [{
73
-        label: '工单号',
74
-        prop: 'F_WorkOrderCode'
196
+      submitEvaluateForm(formName){
197
+        const params = {
198
+          WorkOrderCode: this.ordercode,
199
+          Evaluation: this.carEvaluteForm.Evaluation,
200
+          score: this.carEvaluteForm.score
201
+        }
202
+        getCarEvaluateWorkorder(params).then(res=>{
203
+          if (res.state == "success") {
204
+            this.dialog_pingjia = false
205
+            this.carEvaluteForm.Evaluation = ''
206
+            this.carEvaluteForm.score = 0
207
+            this.$message.success("评价成功!");
208
+            this.$parent.$layer.close(this.layerid)
209
+            this.$parent.getList();
210
+          }
211
+        })
75 212
       },
76
-      {
77
-        label: '工单内容',
78
-        prop: 'F_Content'
213
+      hadndleOrderCode(ordercode, wocode) {
214
+        this.$layer.iframe({
215
+          content: {
216
+            content: detail, // 传递的组件对象
217
+            parent: this, // 当前的vue对象
218
+            data: {
219
+              rowid: Number(this.rowid),
220
+              wocode: wocode,
221
+            }, // props
222
+          },
223
+          area: ["80%", "90%"],
224
+          title: "工单详情",
225
+        });
79 226
       },
80
-      {
81
-        label: '出发地',
82
-        prop: 'F_DepartPlace'
227
+      btnClickEvents(button, wocode, row,index) {
228
+        console.log(index)
229
+        if (button.value == '接单') {
230
+          this.getJieDan()
231
+        }
232
+        if (button.value == '退回') {
233
+          this.getReason("TDYY")
234
+          this.dialog_tuihui = true
235
+        }
236
+        if (button.value == '发车') {
237
+          this.getFache(wocode)
238
+        }
239
+        if (button.value == '抵达') {
240
+          this.getDida(wocode)
241
+        }
242
+        if (button.value == '评价') {
243
+          this.dialog_pingjia = true
244
+          this.ordercode = wocode
245
+        }
83 246
       },
84
-      {
85
-        label: '目的地',
86
-        prop: 'F_Destination'
247
+      //接单
248
+      getJieDan() {
249
+        const params = {
250
+          orderid: this.rowid
251
+        }
252
+        this.$confirm("您确定要接单吗?", "提示", {
253
+            confirmButtonText: "确定",
254
+            cancelButtonText: "取消",
255
+            type: "warning",
256
+          })
257
+          .then(() => {
258
+            getSureWorkOrder(params).then((response) => {
259
+              if (response.state == "success") {
260
+                this.$message.success("接单成功!");
261
+                this.$parent.$layer.close(this.layerid)
262
+                this.$parent.getList();
263
+              }
264
+            });
265
+          })
266
+          .catch(() => {
267
+            this.$message("已取消");
268
+          });
87 269
       },
88
-      {
89
-        label: '用车时间',
90
-        prop: 'F_UseTime'
91
-      }
92
-      ],
93
-      typeList: [],
94
-      carArr: [],
95
-      repairman: [], // 申请人数据
96
-      hospitalsParam: {
97
-        id: 0,
98
-        name: ''
270
+      //发车
271
+      getFache(wocode) {
272
+        const params = {
273
+          orderid: this.rowid,
274
+          WorkOrderCode: wocode
275
+        }
276
+        this.$confirm("您是否抵达发车点?", "提示", {
277
+            confirmButtonText: "确定",
278
+            cancelButtonText: "取消",
279
+            type: "warning",
280
+          })
281
+          .then(() => {
282
+            getStartCar(params).then((response) => {
283
+              if (response.state == "success") {
284
+                this.$message.success("发车成功!");
285
+                this.$parent.$layer.close(this.layerid)
286
+                this.$parent.getList();
287
+              }
288
+            });
289
+          })
290
+          .catch(() => {
291
+            this.$message("已取消");
292
+          });
99 293
       },
100
-      departmentsParam: {
101
-        id: 0,
102
-        name: ''
294
+      //抵达
295
+      getDida(wocode) {
296
+        const params = {
297
+          orderid: this.rowid,
298
+          WorkOrderCode: wocode
299
+        }
300
+        this.$confirm("您是否抵达目的地?", "提示", {
301
+            confirmButtonText: "确定",
302
+            cancelButtonText: "取消",
303
+            type: "warning",
304
+          })
305
+          .then(() => {
306
+            getEndCar(params).then((response) => {
307
+              if (response.state == "success") {
308
+                this.$message.success("抵达成功!");
309
+                this.$parent.$layer.close(this.layerid)
310
+                this.$parent.getList();
311
+              }
312
+            });
313
+          })
314
+          .catch(() => {
315
+            this.$message("已取消");
316
+          });
103 317
       },
104
-      repairmanParam: {
105
-        id: 0,
106
-        name: ''
318
+      //评价
319
+      getPingJia(wocode){
320
+
107 321
       },
108
-      rules: {},
109
-      ruleForm: {
110
-        carid: '',
111
-        driver: ''
322
+      getDetail() {
323
+        const params = {
324
+          orderid: this.rowid,
325
+          WorkOrderCode: this.wocode,
326
+          type: '3'
327
+        }
328
+        getModelDetail(params).then((response) => {
329
+          this.selectarr = response.Carlist
330
+        })
112 331
       },
113
-      deptid: [],
114
-      selectarr: [],
115
-      loading: false
116
-    }
117
-  },
118
-  created() {
119
-    this.getDetail()
120
-  },
121
-  mounted() {
122
-    this.$nextTick(() => {
123
-      // this.rowDrop()
124
-      // this.columnDrop()
125
-    })
126
-  },
127
-  methods: {
128
-    // 行拖拽
129
-    rowDrop() {
130
-      const tbody = document.querySelector('.airlineDeviceTable .el-table__body-wrapper tbody')
131
-      const that = this
132
-      Sortable.create(tbody, {
133
-        draggable: '.el-table__row',
134
-        // 结束拖拽后的回调函数
135
-        onEnd({
136
-          newIndex,
137
-          oldIndex
138
-        }) {
139
-          const currentRow = that.selectarr.splice(oldIndex, 1)[0]
140
-          that.selectarr.splice(newIndex, 0, currentRow)
332
+      getVehicleLists() {
333
+        const params = {
334
+          state: 0
141 335
         }
142
-      })
143
-    },
144
-    // 列拖拽
145
-    columnDrop() {
146
-      const wrapperTr = document.querySelector('.airlineDeviceTable .el-table__header-wrapper tr')
147
-      this.sortable = Sortable.create(wrapperTr, {
148
-        animation: 180,
149
-        delay: 0,
150
-        onEnd: evt => {
151
-          const oldItem = this.dropCol[evt.oldIndex]
152
-          this.dropCol.splice(evt.oldIndex, 1)
153
-          this.dropCol.splice(evt.newIndex, 0, oldItem)
336
+        getCarList(params).then(res => {
337
+          this.carArr = res.rows
338
+        })
339
+      },
340
+      getVehicleUserLists() {
341
+        const params = {
342
+          rolecode: 'SJ'
154 343
         }
155
-      })
156
-    },
157
-    getDetail() {
158
-      const params = {
159
-        orderid: this.rowid,
160
-        WorkOrderCode: this.wocode,
161
-        type: '3'
162
-      }
163
-      getModelDetail(params).then((response) => {
164
-        this.selectarr = response.Carlist
165
-      })
166
-    },
167
-    getVehicleLists() {
168
-      const params = {
169
-        state: 0
170
-      }
171
-      getCarList(params).then(res => {
172
-        this.carArr = res.rows
173
-      })
174
-    },
175
-    getVehicleUserLists() {
176
-      const params = {
177
-        rolecode: 'SJ'
344
+        getCarUserList(params).then(res => {
345
+          this.repairman = res.rows
346
+        })
347
+      },
348
+      resetForm() {
349
+        this.$refs.ruleForm.resetFields()
178 350
       }
179
-      getCarUserList(params).then(res => {
180
-        this.repairman = res.rows
181
-      })
182
-    },
183
-    // onsub() {
184
-    //   const arr = this.selectarr.map(item => item.F_WorkOrderCode)
185
-    //   const params = {
186
-    //     orderid: arr.toString(),
187
-    //     driver: this.ruleForm.driver,
188
-    //     carid: this.ruleForm.carid
189
-    //   }
190
-    //   getAssignWorkOrder(params).then(res => {
191
-    //     if (res.state == 'success') {
192
-    //       this.$parent.$layer.close(this.layerid)
193
-    //       this.$message.success('分配成功')
194
-    //       this.$parent.getList()
195
-    //     }
196
-    //   })
197
-    // },
198
-    resetForm() {
199
-      this.$refs.ruleForm.resetFields()
200 351
     }
201 352
   }
202
-}
203 353
 </script>
204 354
 
205 355
 <style rel="stylesheet/scss" lang="scss" scoped>

+ 234 - 0
CallCenterWeb.UI/RMYY/src/views/vehicleDispatch/driverOrder/index - 副本.vue

@@ -0,0 +1,234 @@
1
+<template>
2
+  <div class="app-container">
3
+    <div class="filter-container">
4
+      <el-input
5
+        v-model="ordercode"
6
+        clearable
7
+        placeholder="请输入工单编号"
8
+        size="medium"
9
+        class="filter-item"
10
+      />
11
+      <el-select v-model="state" size="medium" clearable placeholder="请选择工单状态">
12
+        <el-option value="0" label="待接单"></el-option>
13
+        <el-option value="2" label="已接单"></el-option>
14
+        <el-option value="4" label="处理中"></el-option>
15
+        <el-option value="10" label="已完成"></el-option>
16
+      </el-select>
17
+      <el-input
18
+        v-model="carname"
19
+        clearable
20
+        placeholder="请输入车辆名称"
21
+        size="medium"
22
+        class="filter-item"
23
+      />
24
+      <el-input
25
+        v-model="drivername"
26
+        clearable
27
+        placeholder="请输入司机名称"
28
+        size="medium"
29
+        class="filter-item"
30
+      />
31
+      <el-date-picker
32
+        v-model="startTime"
33
+        size="medium"
34
+        type="daterange"
35
+        format="yyyy-MM-dd"
36
+        value-format="yyyy-MM-dd"
37
+        range-separator="至"
38
+        start-placeholder="开始日期"
39
+        end-placeholder="结束日期"
40
+      />
41
+      <el-button type="primary" class="filter-item" size="medium" icon="el-icon-search" @click="btn_search"
42
+        >搜索</el-button
43
+      >
44
+      <el-button type="primary" class="filter-btn" size="medium" @click="btn_export">
45
+        导出
46
+      </el-button>
47
+    </div>
48
+    <el-table v-loading="loading" :data="dataLists" border stripe>
49
+      <el-table-column
50
+        prop="F_WorkOrderCode"
51
+        label="调度编号"
52
+        align="center"
53
+        min-width="110"
54
+      >
55
+        <template slot-scope="scope">
56
+          <el-button
57
+            type="text"
58
+            size="small"
59
+            @click="hadndleOrderCode(scope.row.F_ID, scope.row.F_WorkOrderCode)"
60
+          >
61
+            {{ scope.row.F_WorkOrderCode }}
62
+          </el-button>
63
+        </template>
64
+      </el-table-column>
65
+      <el-table-column
66
+        :show-overflow-tooltip="true"
67
+        prop="F_CarName"
68
+        label="车辆信息"
69
+        align="center"
70
+      />
71
+      <el-table-column
72
+        :show-overflow-tooltip="true"
73
+        prop="F_DriverName"
74
+        label="司机"
75
+        align="center"
76
+      />
77
+      <el-table-column
78
+        :show-overflow-tooltip="true"
79
+        prop="F_DepartPlace"
80
+        label="出发地"
81
+        align="center"
82
+      />
83
+      <el-table-column
84
+        :show-overflow-tooltip="true"
85
+        prop="F_Destination"
86
+        label="目的地"
87
+        align="center"
88
+      />
89
+      <el-table-column
90
+        :show-overflow-tooltip="true"
91
+        prop="F_CreateTime"
92
+        label="创建时间"
93
+        align="center"
94
+      />
95
+      <el-table-column
96
+        :show-overflow-tooltip="true"
97
+        prop="F_CloseTime"
98
+        label="完工时间"
99
+        align="center"
100
+      />
101
+      <el-table-column label="状态" align="center">
102
+        <template slot-scope="scope">
103
+          <div v-if="scope.row.F_State == 0">待接单</div>
104
+          <div v-if="scope.row.F_State == 2">已接单</div>
105
+          <div v-if="scope.row.F_State == 3">已退回</div>
106
+          <div v-if="scope.row.F_State == 4">处理中</div>
107
+          <div v-if="scope.row.F_State == 10">已完成</div>
108
+        </template>
109
+      </el-table-column>
110
+    </el-table>
111
+    <pagination
112
+      v-show="pageParams.total > 0"
113
+      :total="pageParams.total"
114
+      :pageindex.sync="pageParams.pageindex"
115
+      :pagesize.sync="pageParams.pagesize"
116
+      class="pagination"
117
+      @pagination="getList"
118
+    />
119
+  </div>
120
+</template>
121
+<script>
122
+import {
123
+  getDriverList,
124
+  getDriverListExport,
125
+  getWithdrawWorkOrder,
126
+} from "@/api/vehicleDispatch/driver";
127
+import Pagination from "@/components/context/Pagination";
128
+import detail from "./driverOrderdetail.vue";
129
+import { exportExcel } from "@/utils";
130
+
131
+export default {
132
+  name: "DriverOrer",
133
+  components: {
134
+    Pagination,
135
+  },
136
+  data() {
137
+    return {
138
+      loading: false,
139
+      state:"",
140
+      keyword: "",
141
+      ordercode: "",
142
+      carname: "",
143
+      drivername: "",
144
+      startTime: "",
145
+      pageParams: {
146
+        pageindex: 1, // Number(this.$store.getters.serverConfig.PAGESIZE)
147
+        pagesize: Number(this.$store.getters.serverConfig.PAGESIZE),
148
+        total: 0,
149
+      },
150
+      searchData: {},
151
+      dataLists: [],
152
+    };
153
+  },
154
+  created() {
155
+    this.getList();
156
+    document.onkeyup = (e) => {
157
+      if (e.keyCode === 13) {
158
+        this.getList();
159
+      }
160
+    };
161
+  },
162
+  methods: {
163
+    getList() {
164
+      // this.loading = true
165
+      return new Promise((resolve) => {
166
+        const params = {
167
+          pageindex: this.pageParams.pageindex, // 第几页
168
+          pagesize: this.pageParams.pagesize, // 每页几条信息
169
+          starttime: this.startTime && this.startTime[0],
170
+          endtime: this.startTime && this.startTime[1],
171
+          WorkOrderCode: this.ordercode,
172
+          carname: this.carname,
173
+          driverName: this.drivername,
174
+          state: this.state,
175
+        };
176
+        this.searchData = params;
177
+        getDriverList(params).then((response) => {
178
+          this.loading = false;
179
+          if (response.rows.length >= 0) {
180
+            this.pageParams.total = response.tatal;
181
+            this.dataLists = response.rows;
182
+          }
183
+        });
184
+        resolve();
185
+      });
186
+    },
187
+    btn_search() {
188
+      this.pageParams.pageindex = 1;
189
+      this.getList();
190
+    },
191
+    hadndleOrderCode(ordercode, wocode) {
192
+      this.$layer.iframe({
193
+        content: {
194
+          content: detail, // 传递的组件对象
195
+          parent: this, // 当前的vue对象
196
+          data: {
197
+            rowid: ordercode.toString(),
198
+            wocode: wocode,
199
+          }, // props
200
+        },
201
+        area: ["80%", "90%"],
202
+        title: "工单详情",
203
+      });
204
+    },
205
+    btn_withdraw(id) {
206
+      const params = {
207
+        orderid: id,
208
+      };
209
+      this.$confirm("您确定要撤回吗?", "提示", {
210
+        confirmButtonText: "确定",
211
+        cancelButtonText: "取消",
212
+        type: "warning",
213
+      })
214
+        .then(() => {
215
+          getWithdrawWorkOrder(params).then((response) => {
216
+            if (response.state.toLowerCase() === "success") {
217
+              this.getList();
218
+              this.$message.success("撤回成功!");
219
+            }
220
+          });
221
+        })
222
+        .catch(() => {
223
+          this.$message("已取消撤回");
224
+        });
225
+    },
226
+    btn_export() {
227
+      this.searchData.isdc = 1;
228
+      exportExcel(this.searchData, getDriverListExport);
229
+    },
230
+  },
231
+};
232
+</script>
233
+<style rel="stylesheet/scss" lang="scss" scoped>
234
+</style>

+ 25 - 10
CallCenterWeb.UI/RMYY/src/views/vehicleDispatch/driverOrder/index.vue

@@ -8,12 +8,12 @@
8 8
         size="medium"
9 9
         class="filter-item"
10 10
       />
11
-      <el-select v-model="state" size="medium" clearable placeholder="请选择工单状态">
11
+     <!-- <el-select v-model="state" size="medium" clearable placeholder="请选择工单状态">
12 12
         <el-option value="0" label="待接单"></el-option>
13 13
         <el-option value="2" label="已接单"></el-option>
14 14
         <el-option value="4" label="处理中"></el-option>
15 15
         <el-option value="10" label="已完成"></el-option>
16
-      </el-select>
16
+      </el-select> -->
17 17
       <el-input
18 18
         v-model="carname"
19 19
         clearable
@@ -31,9 +31,9 @@
31 31
       <el-date-picker
32 32
         v-model="startTime"
33 33
         size="medium"
34
-        type="daterange"
35
-        format="yyyy-MM-dd"
36
-        value-format="yyyy-MM-dd"
34
+        type="datetimerange"
35
+        format="yyyy-MM-dd HH:mm:ss"
36
+        value-format="yyyy-MM-dd HH:mm:ss"
37 37
         range-separator="至"
38 38
         start-placeholder="开始日期"
39 39
         end-placeholder="结束日期"
@@ -45,6 +45,11 @@
45 45
         导出
46 46
       </el-button>
47 47
     </div>
48
+    <el-tabs v-model="activeName" @tab-click="handleClick">
49
+      <el-tab-pane label="待接单" name="0" />
50
+      <el-tab-pane label="待完成" name="1" />
51
+      <el-tab-pane label="已完成" name="10" />
52
+    </el-tabs>
48 53
     <el-table v-loading="loading" :data="dataLists" border stripe>
49 54
       <el-table-column
50 55
         prop="F_WorkOrderCode"
@@ -53,13 +58,12 @@
53 58
         min-width="110"
54 59
       >
55 60
         <template slot-scope="scope">
56
-          <el-button
57
-            type="text"
58
-            size="small"
61
+          <span
62
+            style="color: #409eff; cursor: pointer"
59 63
             @click="hadndleOrderCode(scope.row.F_ID, scope.row.F_WorkOrderCode)"
60 64
           >
61 65
             {{ scope.row.F_WorkOrderCode }}
62
-          </el-button>
66
+          </span>
63 67
         </template>
64 68
       </el-table-column>
65 69
       <el-table-column
@@ -135,8 +139,9 @@ export default {
135 139
   },
136 140
   data() {
137 141
     return {
142
+      activeName:"0",
138 143
       loading: false,
139
-      state:"",
144
+      state:"0",
140 145
       keyword: "",
141 146
       ordercode: "",
142 147
       carname: "",
@@ -160,6 +165,10 @@ export default {
160 165
     };
161 166
   },
162 167
   methods: {
168
+    handleClick(res) {
169
+      this.state = Number(res.name);
170
+      this.getList();
171
+    },
163 172
     getList() {
164 173
       // this.loading = true
165 174
       return new Promise((resolve) => {
@@ -231,4 +240,10 @@ export default {
231 240
 };
232 241
 </script>
233 242
 <style rel="stylesheet/scss" lang="scss" scoped>
243
+  /deep/.el-tabs__item {
244
+    width: 185px !important;
245
+    text-align: center;
246
+    font-size: 16px !important;
247
+    font-weight: 600;
248
+  }
234 249
 </style>

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

@@ -24,9 +24,9 @@
24 24
       <el-date-picker
25 25
         v-model="startTime"
26 26
         size="medium"
27
-        type="daterange"
28
-        format="yyyy-MM-dd"
29
-        value-format="yyyy-MM-dd"
27
+        type="datetimerange"
28
+        format="yyyy-MM-dd HH:mm:ss"
29
+        value-format="yyyy-MM-dd HH:mm:ss"
30 30
         range-separator="至"
31 31
         start-placeholder="开始日期"
32 32
         end-placeholder="结束日期"

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

@@ -4,6 +4,8 @@
4 4
       <el-input v-model="keyword" clearable placeholder="请输入关键词" class="filter-item" size="medium" />
5 5
       <el-date-picker v-model="startTime" size="medium" type="daterange" format="yyyy-MM-dd" value-format="yyyy-MM-dd"
6 6
         range-separator="至" start-placeholder="开始日期" end-placeholder="结束日期" />
7
+        <el-date-picker v-model="startTime2" size="medium" type="datetimerange" format="yyyy-MM-dd HH:mm:ss" value-format="yyyy-MM-dd HH:mm:ss"
8
+          range-separator="至" start-placeholder="用车开始时间" end-placeholder="用车结束时间" />
7 9
       <el-button type="primary" class="filter-item" icon="el-icon-search" @click="btn_search">搜索</el-button>
8 10
       <el-button v-permission="'btnExport'" type="primary" class="filter-item" @click="btn_export">
9 11
         <svg-icon icon-class="daochu" />导出
@@ -23,6 +25,7 @@
23 25
       <el-table-column :show-overflow-tooltip="true" prop="F_DriverName" label="司机" align="center" />
24 26
       <el-table-column :show-overflow-tooltip="true" prop="F_DriverPhon" label="司机电话" align="center" />
25 27
       <el-table-column :show-overflow-tooltip="true" prop="F_CreateTime" label="申请时间" align="center" />
28
+      <el-table-column :show-overflow-tooltip="true" prop="F_UseTime" label="用车时间" align="center" />
26 29
       <el-table-column :show-overflow-tooltip="true" prop="F_ControlManName" label="调度员" align="center" />
27 30
       <el-table-column :show-overflow-tooltip="true" prop="F_Remark" label="备注" align="center" />
28 31
     </el-table>
@@ -52,6 +55,7 @@
52 55
         loading: false,
53 56
         keyword: '',
54 57
         startTime: '',
58
+        startTime2:'',
55 59
         orderId: '',
56 60
         exporParams: {},
57 61
         pageParams: {
@@ -79,6 +83,8 @@
79 83
           const params = {
80 84
             starttime: this.startTime && this.startTime[0],
81 85
             endtime: this.startTime && this.startTime[1],
86
+            usestarttime:this.startTime2 && this.startTime2[0],
87
+            useendtime:this.startTime2 && this.startTime2[1],
82 88
             pageindex: this.pageParams.pageindex, // 第几页
83 89
             pagesize: this.pageParams.pagesize, // 每页几条信息
84 90
             keyword: this.keyword.replace(/\s+/g, '')

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

@@ -90,7 +90,8 @@
90 90
 						
91 91
 						const code = uni.getStorageSync("roleCode"); 
92 92
 						 // ||code == 'GLY' || code == 'DDZX'
93
-						if(code == 'WXY' || code == 'DDZX'|| code == 'GLY' || code == 'jcgn'  || code == 'GQY' || code == 'SJ' || code == 'WXBZZ' || code == 'APRY' || code == 'APRY') {
93
+						if(code == 'WXY' || code == 'DDZX'|| code == 'GLY' || code == 'jcgn'  || code == 'GQY' || 
94
+						code == 'SJ' || code == 'WXBZZ' || code == 'APRY' || code == 'APRY') {
94 95
 							uni.switchTab({
95 96
 								url: '/pages/myTask/myTask'
96 97
 							});

+ 6 - 1
CallCenterWeb.UI/RMYYAPP/pages/myTask/vehicleSchedulList/applicantsList/addVehicle/addVehicle.vue

@@ -47,7 +47,7 @@
47 47
 					<uni-data-select v-model="valiFormData.dispatch" field="T_Woname as value, T_Woname as text" :localdata="dispatchTypeData" />
48 48
 				</uni-forms-item>
49 49
 				<uni-forms-item label="发车时间">
50
-					<uni-datetime-picker v-model="valiFormData.usertime" />
50
+					<uni-datetime-picker v-model="valiFormData.usertime" @change="changeTime"/>
51 51
 				</uni-forms-item>
52 52
 				<uni-forms-item label="是否新生儿转运" required name="birth" v-if="typeName.indexOf('新生儿')>=0">
53 53
 					<uni-data-checkbox v-model="valiFormData.birth" :localdata="birthData" />
@@ -326,6 +326,11 @@
326 326
 					this.valiFormData.Phone = user.usertelphone
327 327
 				}
328 328
 			},
329
+			changeTime(data){
330
+				if(data.length==11){
331
+					this.valiFormData.usertime = data+"00:00:00"
332
+				}
333
+			},
329 334
 			// 工单提交
330 335
 			submit(ref) {
331 336
 				this.disabledButton = false

+ 2 - 2
CallCenterWeb.UI/RMYYAPP/unpackage/cache/certdataios

@@ -1,3 +1,3 @@
1
-iosProfile=E:/desktopFile/证书/RMYY证书/ios/4.0/正式/wuyuan (2).mobileprovision
2
-ioscertFile=E:/desktopFile/证书/RMYY证书/ios/4.0/正式/证书.p12
1
+iosProfile=E:/WorkPlace/RMYY/CallCenterWeb.UI/证书/ios/正式/wuyuan (2).mobileprovision
2
+ioscertFile=E:/WorkPlace/RMYY/CallCenterWeb.UI/证书/ios/正式/证书.p12
3 3
 ioscertPassword=LN4Bq2cDrCPQMwql//0+Pw==