guhongwei há 4 anos atrás
pai
commit
1ef81bb907

+ 5 - 5
src/components/common/Sidebar.vue

@@ -58,13 +58,13 @@ export default {
         },
         {
           icon: 'el-icon-s-home',
-          index: 'repair',
-          title: '维修信息',
+          index: 'test',
+          title: '测试客户信息',
         },
         {
           icon: 'el-icon-s-home',
-          index: 'test',
-          title: '测试客户信息',
+          index: 'repair',
+          title: '维修信息',
         },
       ],
     };
@@ -85,7 +85,7 @@ export default {
   methods: {
     // 分配用户彩带权限
     getMenu() {
-      // 户信息
+      // 户信息
       let user = this.user;
       // 复制列表
       let list = _.cloneDeep(this.items);

+ 1 - 1
src/router/index.js

@@ -28,7 +28,7 @@ export default new Router({
         {
           path: '/user',
           component: () => import('../views/user/index.vue'),
-          meta: { title: '户信息' },
+          meta: { title: '户信息' },
         },
         {
           path: '/repair',

+ 1 - 1
src/store/user/mutations.js

@@ -5,7 +5,7 @@ export const setUser = (state, payload) => {
   // if (payload) {
   //   state.token = payload;
   // } else {
-  //   //已经登陆,切换路由时取出户信息放在总store中
+  //   //已经登陆,切换路由时取出户信息放在总store中
   //   let token = localStorage.getItem('token');
   //   if (token && token !== 'guest') {
   //     state.user = jwt.decode(token);

+ 1 - 0
src/util/type.js

@@ -0,0 +1 @@
+export const type = [{ name: 'Km常规保养口' }, { name: '一般维修口' }, { name: '事故车口' }, { name: '洗车口' }, { name: '其他口' }];

+ 0 - 5
src/views/company/index.vue

@@ -28,11 +28,6 @@
                 <el-input v-model="form.mobile"></el-input>
               </el-form-item>
             </el-col>
-            <el-col :span="6">
-              <el-form-item label="行驶里程">
-                <el-input v-model="form.mileage"></el-input>
-              </el-form-item>
-            </el-col>
             <el-col :span="6">
               <el-form-item label="VIN号">
                 <el-input v-model="form.vin"></el-input>

+ 16 - 12
src/views/repair/index.vue

@@ -12,6 +12,9 @@
               <template v-if="item.prop === 'uid'">
                 <el-option v-for="(i, index) in carList" :key="index" :label="i.name" :value="i.id"></el-option>
               </template>
+              <template v-if="item.prop === 'type'">
+                <el-option v-for="(i, index) in typeList" :key="index" :label="i.name" :value="i.name"></el-option>
+              </template>
             </template>
           </dataTable>
         </el-col>
@@ -19,17 +22,11 @@
     </el-row>
     <el-dialog :visible.sync="dialog" title="维修信息" @close="toClose" width="60%">
       <data-form :data="form" :fields="formfields" :rules="{}" @save="turnSave">
-        <template #radios="{item}">
+        <template #options="{item}">
           <template v-if="item.model === 'type'">
-            <el-radio label="Km常规保养口">Km常规保养口</el-radio>
-            <el-radio label="一般维修口">一般维修口</el-radio>
-            <el-radio label="事故车口">事故车口</el-radio>
-            <el-radio label="洗车口">洗车口</el-radio>
-            <el-radio label="其他口">其他口</el-radio>
+            <el-option v-for="(i, index) in typeList" :key="index" :label="i.name" :value="i.name"></el-option>
           </template>
-        </template>
-        <template #options="{item}">
-          <template v-if="item.model === 'uid'">
+          <template v-else-if="item.model === 'uid'">
             <el-option v-for="(i, index) in carList" :key="index" :label="i.name" :value="i.id"></el-option>
           </template>
         </template>
@@ -44,6 +41,7 @@ import dataForm from '@/components/frame/form.vue';
 import breadcrumb from '@c/common/breadcrumb.vue';
 import { mapState, createNamespacedHelpers } from 'vuex';
 import bus from '@/components/common/bus';
+import { type } from '@/util/type';
 const { mapActions: repair } = createNamespacedHelpers('repair');
 const { mapActions: car } = createNamespacedHelpers('car');
 export default {
@@ -62,8 +60,10 @@ export default {
       fields: [
         { label: '客户姓名', prop: 'uid', filter: 'select', format: 'emit' },
         { label: '维修项目名', prop: 'name' },
-        { label: '类型', prop: 'type' },
-        { label: '配件', prop: 'parts' },
+        { label: '类型', prop: 'type', filter: 'select' },
+        { label: '配件', prop: 'parts', filter: 'input' },
+        { label: '来店时间', prop: 'create_data' },
+        { label: '交车时间', prop: 'finish_date' },
         { label: '工时', prop: 'jobdate' },
         { label: '合计', prop: 'totalmoney' },
       ],
@@ -78,13 +78,17 @@ export default {
       formfields: [
         { label: '客户姓名', model: 'uid', type: 'select' },
         { label: '维修项目名', model: 'name' },
-        { label: '类型', model: 'type', type: 'radio' },
+        { label: '类型', model: 'type', type: 'select' },
         { label: '配件', model: 'parts' },
+        // { label: '来店时间', model: 'create_data', type: 'date' },
+        { label: '交车时间', model: 'finish_date', type: 'date' },
         { label: '工时', model: 'jobdate' },
         { label: '合计', model: 'totalmoney' },
       ],
       // 客户列表
       carList: [],
+      // 类型
+      typeList: type,
     };
   },
   created() {

+ 3 - 5
src/views/test/index.vue

@@ -37,11 +37,10 @@ export default {
     return {
       fields: [
         { label: '顾客姓名', prop: 'name', filter: 'input' },
-        { label: '车牌号', prop: 'license' },
-        { label: '电话', prop: 'mobile' },
-        { label: '车型', prop: 'model' },
+        { label: '车牌号', prop: 'license', filter: 'input' },
+        { label: '电话', prop: 'mobile', filter: 'input' },
+        { label: '车型', prop: 'model', filter: 'input' },
         { label: '车辆颜色', prop: 'carcolor' },
-        { label: '行驶里程', prop: 'mileage' },
         { label: 'VIN号', prop: 'vin' },
         { label: '保险日期', prop: 'insurance' },
         { label: '驾驶证日期', prop: 'drive' },
@@ -62,7 +61,6 @@ export default {
         { label: '电话', model: 'mobile', type: 'number', options: { maxLength: 11, minLength: 11 } },
         { label: '车型', model: 'model' },
         { label: '车辆颜色', model: 'carcolor' },
-        { label: '行驶里程', model: 'mileage' },
         { label: 'vin号', model: 'vin' },
         { label: '保险日期', model: 'insurance', type: 'date' },
         { label: '驾驶证日期', model: 'drive', type: 'date' },

+ 46 - 14
src/views/test/repairorder.vue

@@ -31,10 +31,6 @@
               <span>车辆颜色</span>
               <span>{{ carinfo.carcolor }}</span>
             </el-col>
-            <el-col :span="6" class="txt textOver">
-              <span>行驶里程</span>
-              <span>{{ carinfo.mileage }}</span>
-            </el-col>
             <el-col :span="6" class="txt textOver">
               <span>VIN号</span>
               <span>{{ carinfo.vin }}</span>
@@ -68,7 +64,10 @@
                 </el-table-column>
                 <el-table-column prop="type" label="类型" align="center">
                   <template slot-scope="scope">
-                    <el-input v-model="scope.row.type" placeholder="类型"></el-input>
+                    <!-- <el-input v-model="scope.row.type" placeholder="类型"></el-input> -->
+                    <el-select v-model="scope.row.type" placeholder="请选择">
+                      <el-option v-for="item in typeList" :key="item.value" :label="item.name" :value="item.name"> </el-option>
+                    </el-select>
                   </template>
                 </el-table-column>
                 <el-table-column prop="parts" label="配件" align="center">
@@ -76,6 +75,25 @@
                     <el-input v-model="scope.row.parts" placeholder="配件"></el-input>
                   </template>
                 </el-table-column>
+                <el-table-column prop="create_data" label="进店时间" align="center">
+                  <template slot-scope="scope">
+                    <el-date-picker
+                      :disabled="true"
+                      v-model="scope.row.create_data"
+                      type="date"
+                      placeholder="请选择进店时间"
+                      format="yyyy-MM-dd"
+                      value-format="yyyy-MM-dd"
+                    >
+                    </el-date-picker>
+                  </template>
+                </el-table-column>
+                <el-table-column prop="finish_date" label="交车时间" align="center">
+                  <template slot-scope="scope">
+                    <el-date-picker v-model="scope.row.finish_date" type="date" placeholder="请选择交车时间" format="yyyy-MM-dd" value-format="yyyy-MM-dd">
+                    </el-date-picker>
+                  </template>
+                </el-table-column>
                 <el-table-column prop="jobdate" label="工时" align="center">
                   <template slot-scope="scope">
                     <el-input v-model="scope.row.jobdate" placeholder="工时"></el-input>
@@ -113,6 +131,7 @@
 
 <script>
 import breadcrumb from '@c/common/breadcrumb.vue';
+import { type } from '@/util/type';
 import { mapState, createNamespacedHelpers } from 'vuex';
 const { mapActions: car } = createNamespacedHelpers('car');
 const { mapActions: repair } = createNamespacedHelpers('repair');
@@ -130,6 +149,8 @@ export default {
       currentPage: 0,
       pageSize: 7,
       skip: '',
+      // 类型
+      typeList: type,
     };
   },
   async created() {
@@ -174,17 +195,24 @@ export default {
         }
       } else {
         data.uid = this.id;
-        const res = await this.repaircreate(data);
-        if (this.$checkRes(res)) {
-          this.$message({
-            message: '创建成功',
-            type: 'success',
-          });
-          this.search();
+        if (data.name || data.type || data.parts || data.finish_date || data.jobdate || data.totalmoney) {
+          const res = await this.repaircreate(data);
+          if (this.$checkRes(res)) {
+            this.$message({
+              message: '创建成功',
+              type: 'success',
+            });
+            this.search();
+          } else {
+            this.$message({
+              message: res.errmsg,
+              type: 'error',
+            });
+          }
         } else {
           this.$message({
-            message: res.errmsg,
-            type: 'error',
+            message: '需把信息填写完全,方可保存!',
+            type: 'warning',
           });
         }
       }
@@ -268,4 +296,8 @@ export default {
   color: #fff;
   font-weight: bold;
 }
+.el-date-editor.el-input,
+.el-date-editor.el-input__inner {
+  width: 180px;
+}
 </style>

+ 3 - 8
src/views/user/index.vue

@@ -41,11 +41,10 @@ export default {
     return {
       newfields: [
         { label: '顾客姓名', prop: 'name', filter: 'input' },
-        { label: '车牌号', prop: 'license' },
-        { label: '电话', prop: 'mobile' },
-        { label: '车型', prop: 'model' },
+        { label: '车牌号', prop: 'license', filter: 'input' },
+        { label: '电话', prop: 'mobile', filter: 'input' },
+        { label: '车型', prop: 'model', filter: 'input' },
         { label: '车辆颜色', prop: 'carcolor' },
-        { label: '行驶里程', prop: 'mileage' },
         { label: 'VIN号', prop: 'vin' },
         { label: '保险日期', prop: 'insurance' },
         { label: '驾驶证日期', prop: 'drive' },
@@ -82,10 +81,6 @@ export default {
           label: '车辆颜色',
           model: 'carcolor',
         },
-        {
-          label: '行驶里程',
-          model: 'mileage',
-        },
         {
           label: 'vin号',
           model: 'vin',