guhongwei 4 tahun lalu
induk
melakukan
73af041f88

+ 1 - 1
.env

@@ -1,2 +1,2 @@
 VUE_APP_AXIOS_BASE_URL = ''
-VUE_APP_ROUTER="/tyre"
+VUE_APP_ROUTER="/study"

+ 1 - 1
package.json

@@ -1,5 +1,5 @@
 {
-  "name": "lt-system",
+  "name": "website-cms",
   "version": "0.1.0",
   "private": true,
   "scripts": {

+ 1 - 1
src/components/common/Header.vue

@@ -5,7 +5,7 @@
       <i v-if="!collapse" class="el-icon-s-fold"></i>
       <i v-else class="el-icon-s-unfold"></i>
     </div>
-    <div class="logo">车辆维修平台</div>
+    <div class="logo">网站中台</div>
     <div class="header-right">
       <div class="header-user-con">
         <!-- 全屏显示 -->

+ 0 - 15
src/components/common/Sidebar.vue

@@ -51,21 +51,6 @@ export default {
           index: 'homeIndex',
           title: '系统首页',
         },
-        {
-          icon: 'el-icon-s-home',
-          index: 'user',
-          title: '客户信息',
-        },
-        // {
-        //   icon: 'el-icon-s-home',
-        //   index: 'test',
-        //   title: '测试客户信息',
-        // },
-        {
-          icon: 'el-icon-s-home',
-          index: 'repair',
-          title: '维修信息',
-        },
       ],
     };
   },

+ 1 - 27
src/router/index.js

@@ -4,7 +4,7 @@ import Router from 'vue-router';
 Vue.use(Router);
 export default new Router({
   mode: 'history',
-  base: process.env.NODE_ENV === 'development' ? '' : 'tyre',
+  base: process.env.NODE_ENV === 'development' ? '' : 'study',
   routes: [
     {
       path: '/',
@@ -20,32 +20,6 @@ export default new Router({
           component: () => import('../views/homeIndex.vue'),
           meta: { title: '系统首页' },
         },
-        {
-          path: '/company',
-          component: () => import('../views/company/index.vue'),
-          meta: { title: '维修信息' },
-        },
-        {
-          path: '/user',
-          component: () => import('../views/user/index.vue'),
-          meta: { title: '客户信息' },
-        },
-        {
-          path: '/repair',
-          component: () => import('../views/repair/index.vue'),
-          meta: { title: '维修信息' },
-        },
-        // {
-        //   path: '/test',
-        //   component: () => import('../views/test/index.vue'),
-        //   meta: { title: '测试客户信息' },
-        // },
-        // 维修单
-        {
-          path: '/repairorder',
-          component: () => import('../views/test/repairorder.vue'),
-          meta: { title: '客户维修单' },
-        },
       ],
     },
     {

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

@@ -1,328 +0,0 @@
-<template>
-  <div id="index">
-    <el-row>
-      <el-col :span="24" class="main">
-        <breadcrumb :breadcrumbTitle="this.$route.meta.title"></breadcrumb>
-        <el-col :span="24" class="container">
-          <el-col :span="24" class="top">
-            <el-button type="primary" size="mini" @click="back()">返回</el-button>
-          </el-col>
-          <el-form ref="form" :model="form" label-width="120px">
-            <el-col :span="6">
-              <el-form-item label="顾客姓名">
-                <el-input v-model="form.name" disabled></el-input>
-              </el-form-item>
-            </el-col>
-            <el-col :span="6">
-              <el-form-item label="车型">
-                <el-input v-model="form.model" disabled></el-input>
-              </el-form-item>
-            </el-col>
-            <el-col :span="6">
-              <el-form-item label="车辆颜色">
-                <el-input v-model="form.carcolor" disabled></el-input>
-              </el-form-item>
-            </el-col>
-            <el-col :span="6">
-              <el-form-item label="顾客电话">
-                <el-input v-model="form.mobile" disabled></el-input>
-              </el-form-item>
-            </el-col>
-            <el-col :span="6">
-              <el-form-item label="VIN号">
-                <el-input v-model="form.vin" disabled></el-input>
-              </el-form-item>
-            </el-col>
-            <el-col :span="6">
-              <el-form-item label="车牌号">
-                <el-input v-model="form.license" disabled></el-input>
-              </el-form-item>
-            </el-col>
-            <el-col :span="6">
-              <el-form-item label="保险日期">
-                <el-date-picker type="date" placeholder="选择日期" v-model="form.insurance" style="width: 100%;" disabled></el-date-picker>
-              </el-form-item>
-            </el-col>
-            <el-col :span="6">
-              <el-form-item label="驾驶证日期">
-                <el-date-picker type="date" placeholder="选择日期" v-model="form.drive" style="width: 100%;" disabled></el-date-picker>
-              </el-form-item>
-            </el-col>
-            <el-col :span="6">
-              <el-form-item label="行驶证日期">
-                <el-date-picker type="date" placeholder="选择日期" v-model="form.travel" style="width: 100%;" disabled></el-date-picker>
-              </el-form-item>
-            </el-col>
-          </el-form>
-          <el-form :model="formData" ref="formData">
-            <el-col :span="24" class="btn">
-              <el-button type="primary" size="medium" @click="addData">添加</el-button>
-              <el-divider></el-divider>
-            </el-col>
-            <el-table :data="formData.tableData" border stripe style="width: 100%;">
-              <el-table-column prop="name" label="维修项目名" class="tab1">
-                <template slot-scope="scope">
-                  <el-input v-model="scope.row.name" placeholder="维修项目名"></el-input>
-                </template>
-              </el-table-column>
-              <el-table-column prop="type" label="类型">
-                <!-- <template slot-scope="scope">
-                  <el-input v-model="scope.row.type" placeholder="类型"></el-input>
-                </template> -->
-                <template slot-scope="scope">
-                  <!-- <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="配件">
-                <template slot-scope="scope">
-                  <el-input v-model="scope.row.parts" placeholder="配件"></el-input>
-                </template>
-              </el-table-column>
-              <el-table-column prop="create_data" label="进店时间">
-                <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="交车时间">
-                <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="工时">
-                <template slot-scope="scope">
-                  <el-input v-model="scope.row.jobdate" placeholder="工时"></el-input>
-                </template>
-              </el-table-column>
-              <el-table-column prop="totalmoney" label="合计">
-                <template slot-scope="scope">
-                  <el-input v-model="scope.row.totalmoney" placeholder="合计"></el-input>
-                </template>
-              </el-table-column>
-              <el-table-column label="操作">
-                <template slot-scope="scope">
-                  <el-button size="mini" type="primary" v-if="!scope.row.editing" @click="delete1(scope.$index, scope.row)">删除 </el-button>
-                  <el-button size="mini" type="danger" v-if="!scope.row.editing" @click="save(scope.$index, scope.row)">保存</el-button>
-                </template>
-              </el-table-column>
-            </el-table>
-          </el-form>
-          <el-col :span="24" class="page">
-            <el-pagination
-              @current-change="handleCurrentChange"
-              :current-page="currentPage"
-              layout="total,  prev, pager, next, jumper"
-              :total="total"
-              :page-size="pageSize"
-            >
-            </el-pagination>
-          </el-col>
-        </el-col>
-      </el-col>
-    </el-row>
-  </div>
-</template>
-
-<script>
-import breadcrumb from '@c/common/breadcrumb.vue';
-import { type } from '@/util/type';
-import { mapState, createNamespacedHelpers } from 'vuex';
-import dataForm from '@/components/frame/form.vue';
-import dataTable from '@/components/frame/filter-page-table.vue';
-const { mapActions: car } = createNamespacedHelpers('car');
-const { mapActions: repair } = createNamespacedHelpers('repair');
-export default {
-  metaInfo() {
-    return { title: this.$route.meta.title };
-  },
-  name: 'index',
-  props: {},
-  components: {
-    breadcrumb,
-  },
-  data: function() {
-    return {
-      form: {},
-      formData: {
-        tableData: [],
-      },
-      total: 0,
-      currentPage: 0,
-      pageSize: 7,
-      skip: '',
-      typeList: type,
-      // typeList: [{ name: 'Km常规保养口' }, { name: '一般维修口' }, { name: '事故车口' }, { name: '洗车口' }, { name: '其他口' }],
-    };
-  },
-  created() {
-    this.search();
-  },
-  methods: {
-    ...car({ newquery: 'query', newfetch: 'fetch', newdelete: 'delete', newcreate: 'create', newupdate: 'update' }),
-    ...repair(['query', 'create', 'delete', 'update', 'fetch']),
-    //查询信息
-    async search({ skip = 0, limit = 7, ...info } = {}) {
-      skip = this.skip;
-      if (this.id) {
-        let res = await this.newfetch(this.id);
-        let arr = await this.query({ uid: this.id, skip, limit });
-        if (this.$checkRes(res)) {
-          this.$set(this, `form`, res.data);
-          this.$set(this.formData, `tableData`, arr.data);
-          this.$set(this, `total`, arr.total);
-        } else {
-          this.$message({
-            message: res.errmsg,
-            type: 'error',
-          });
-        }
-      }
-    },
-    //添加
-    addData() {
-      this.formData.tableData.push({
-        edit: true,
-      });
-    },
-    //保存
-    async save(index, row) {
-      let data = row;
-      if (data.id) {
-        const res = await this.update(data);
-        if (this.$checkRes(res)) {
-          this.$message({
-            message: '修改成功',
-            type: 'success',
-          });
-          this.search();
-        } else {
-          this.$message({
-            message: res.errmsg,
-            type: 'error',
-          });
-        }
-      } else {
-        data.uid = this.id;
-        if (data.name || data.type || data.parts || data.finish_date || data.jobdate || data.totalmoney) {
-          const res = await this.create(data);
-          if (this.$checkRes(res)) {
-            this.$message({
-              message: '创建成功',
-              type: 'success',
-            });
-            this.search();
-          } else {
-            this.$message({
-              message: res.errmsg,
-              type: 'error',
-            });
-          }
-        } else {
-          this.$message({
-            message: '需把信息填写完全,方可保存!',
-            type: 'warning',
-          });
-        }
-      }
-    },
-    //确认添加
-    confirmAdd(row, formName) {
-      this.$refs[formName].validate(valid => {
-        if (valid) {
-          row.edit = false;
-        }
-      });
-    },
-    //修改
-    editData(row, index) {
-      // console.log(row);
-      row.edit = true;
-    },
-    //删除
-    async delete1(index, row) {
-      if (row.id) {
-        const res = await this.delete(row.id);
-        if (this.$checkRes(res)) {
-          this.$message({
-            message: '删除成功',
-            type: 'success',
-          });
-          this.search();
-        } else {
-          this.$message({
-            message: res.errmsg,
-            type: 'error',
-          });
-        }
-      } else {
-        this.formData.tableData.splice(index, 1);
-      }
-    },
-    back() {
-      this.$router.push({ path: '/user' });
-    },
-    handleCurrentChange(currentPage) {
-      this.$set(this, `skip`, (currentPage - 1) * this.pageSize);
-      this.search();
-    },
-  },
-  computed: {
-    ...mapState(['user']),
-    id() {
-      return this.$route.query.id;
-    },
-  },
-  // watch: {
-  //   id: {
-  //     deep: true,
-  //     immediate: true,
-  //     handler(val) {
-  //       this.search();
-  //     },
-  //   },
-  // },
-};
-</script>
-
-<style lang="less" scoped>
-/deep/.btn {
-  display: block;
-  text-align: right;
-}
-/deep/.el-table th.is-leaf {
-  text-align: center;
-}
-/deep/.el-form-item--small.el-form-item {
-  padding-right: 0;
-  margin-right: 0;
-  margin-top: 10px;
-}
-/deep/.el-table .cell {
-  text-align: center;
-}
-// /deep/.el-form-item--small.el-form-item{
-//   margin-bottom: 0px;
-// }
-// .tab1 {
-//   text-align: center;
-// }
-.top {
-  text-align: right;
-  margin: 15px 0;
-}
-.page {
-  text-align: center;
-  padding: 15px 0;
-}
-</style>

+ 0 - 199
src/views/repair/index.vue

@@ -1,199 +0,0 @@
-<template>
-  <div id="Dashboard">
-    <el-row>
-      <el-col :span="24" class="main">
-        <breadcrumb :breadcrumbTitle="this.$route.meta.title"></breadcrumb>
-        <el-col :span="24" class="container">
-          <el-col :span="24" class="add">
-            <el-button type="primary" size="mini" @click="dialog = true">添加</el-button>
-          </el-col>
-          <dataTable :fields="fields" :data="list" :opera="opera" :total="total" @query="search" @edit="toEdit" @delete="toDelete" :toFormat="toFormat">
-            <template #options="{item}">
-              <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>
-      </el-col>
-    </el-row>
-    <el-dialog :visible.sync="dialog" title="维修信息" @close="toClose" width="60%">
-      <data-form :data="form" :fields="formfields" :rules="{}" @save="turnSave">
-        <template #options="{item}">
-          <template v-if="item.model === 'type'">
-            <el-option v-for="(i, index) in typeList" :key="index" :label="i.name" :value="i.name"></el-option>
-          </template>
-          <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>
-      </data-form>
-    </el-dialog>
-  </div>
-</template>
-
-<script>
-import dataTable from '@/components/frame/filter-page-table.vue';
-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 {
-  metaInfo() {
-    return { title: this.$route.meta.title };
-  },
-  name: 'index',
-  props: {},
-  components: {
-    breadcrumb,
-    dataTable,
-    dataForm,
-  },
-  data: function() {
-    return {
-      fields: [
-        { label: '客户姓名', prop: 'uid', filter: 'select', format: 'emit' },
-        { label: '维修项目名', prop: 'name' },
-        { label: '类型', prop: 'type', filter: 'select' },
-        { label: '配件', prop: 'parts', filter: 'input' },
-        { label: '来店时间', prop: 'create_data' },
-        { label: '交车时间', prop: 'finish_date' },
-        { label: '工时', prop: 'jobdate' },
-        { label: '合计', prop: 'totalmoney' },
-      ],
-      opera: [
-        { label: '修改', method: 'edit' },
-        { label: '删除', method: 'delete' },
-      ],
-      list: [],
-      total: 0,
-      dialog: false,
-      form: {},
-      formfields: [
-        { label: '客户姓名', model: 'uid', type: 'select' },
-        { label: '维修项目名', model: 'name' },
-        { 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() {
-    this.searchother();
-    this.search();
-  },
-  methods: {
-    ...repair(['query', 'create', 'delete', 'update']),
-    ...car({ carquery: 'query' }),
-    // 查询列表
-    async search({ skip = 0, limit = 10, ...info } = {}) {
-      const res = await this.query({ skip, limit, ...info });
-      if (this.$checkRes(res)) {
-        this.$set(this, `list`, res.data);
-        this.$set(this, `total`, res.total);
-      } else {
-        this.$message({
-          message: res.errmsg,
-          type: 'error',
-        });
-      }
-    },
-    // 修改
-    toEdit({ data }) {
-      this.$set(this, `form`, data);
-      this.dialog = true;
-    },
-    // 删除
-    async toDelete({ data }) {
-      const res = await this.delete(data.id);
-      if (this.$checkRes(res)) {
-        this.$message({
-          message: '删除成功',
-          type: 'success',
-        });
-        this.toClose();
-      } else {
-        this.$message({
-          message: res.errmsg,
-          type: 'error',
-        });
-      }
-    },
-    // 取消添加
-    toClose() {
-      this.form = {};
-      this.dialog = false;
-      this.search();
-    },
-    // 保存
-    async turnSave({ data }) {
-      if (data.id) {
-        const res = await this.update(data);
-        if (this.$checkRes(res)) {
-          this.$message({
-            message: '修改成功',
-            type: 'success',
-          });
-          this.toClose();
-        } else {
-          this.$message({
-            message: res.errmsg,
-            type: 'error',
-          });
-        }
-      } else {
-        const res = await this.create(data);
-        if (this.$checkRes(res)) {
-          this.$message({
-            message: '创建成功',
-            type: 'success',
-          });
-          this.toClose();
-        } else {
-          this.$message({
-            message: res.errmsg,
-            type: 'error',
-          });
-        }
-      }
-    },
-    // 查询客户
-    async searchother() {
-      const res = await this.carquery();
-      if (this.$checkRes(res)) {
-        this.$set(this, `carList`, res.data);
-      }
-    },
-    // 过滤客户
-    toFormat({ model, value }) {
-      if (model == 'uid') {
-        let arr = this.carList.find(i => i.id === value);
-        if (arr) return arr.name;
-      }
-    },
-  },
-  computed: {
-    ...mapState(['user']),
-  },
-};
-</script>
-
-<style lang="less" scoped>
-.add {
-  text-align: right;
-  padding: 10px 0;
-}
-</style>

+ 0 - 167
src/views/test/index.vue

@@ -1,167 +0,0 @@
-<template>
-  <div id="index">
-    <el-row>
-      <el-col :span="24" class="main">
-        <breadcrumb :breadcrumbTitle="this.$route.meta.title"></breadcrumb>
-        <el-col :span="24" class="container">
-          <el-col :span="24" class="btn">
-            <el-button type="primary" size="mini" @click="dialog = true">添加</el-button>
-          </el-col>
-          <dataTable :fields="fields" :data="list" :opera="opera" :total="total" @query="search" @edit="toEdit" @delete="toDelete" @repair="toRepair">
-          </dataTable>
-        </el-col>
-      </el-col>
-    </el-row>
-    <el-dialog :visible.sync="dialog" title="客户信息" @close="toClose">
-      <data-form :data="form" :fields="formFields" :rules="{}" @save="turnSave"> </data-form>
-    </el-dialog>
-  </div>
-</template>
-
-<script>
-import breadcrumb from '@c/common/breadcrumb.vue';
-import dataTable from '@/components/frame/filter-page-table.vue';
-import dataForm from '@/components/frame/form.vue';
-import { mapState, createNamespacedHelpers } from 'vuex';
-const { mapActions: car } = createNamespacedHelpers('car');
-import bus from '@/components/common/bus';
-export default {
-  name: 'index',
-  props: {},
-  components: {
-    breadcrumb,
-    dataTable,
-    dataForm,
-  },
-  data: function() {
-    return {
-      fields: [
-        { label: '顾客姓名', prop: 'name', filter: 'input' },
-        { label: '车牌号', prop: 'license', filter: 'input' },
-        { label: '电话', prop: 'mobile', filter: 'input' },
-        { label: '车型', prop: 'model', filter: 'input' },
-        { label: '车辆颜色', prop: 'carcolor' },
-        { label: 'VIN号', prop: 'vin' },
-        { label: '保险日期', prop: 'insurance' },
-        { label: '驾驶证日期', prop: 'drive' },
-        { label: '行驶证日期', prop: 'travel' },
-      ],
-      opera: [
-        { label: '修改', method: 'edit' },
-        { label: '删除', method: 'delete' },
-        { label: '添加维修', method: 'repair' },
-      ],
-      list: [],
-      total: 0,
-      dialog: false,
-      form: {},
-      formFields: [
-        { label: '顾客姓名', model: 'name' },
-        { label: '车牌号', model: 'license' },
-        { label: '电话', model: 'mobile', type: 'number', options: { maxLength: 11, minLength: 11 } },
-        { label: '车型', model: 'model' },
-        { label: '车辆颜色', model: 'carcolor' },
-        { label: 'vin号', model: 'vin' },
-        { label: '保险日期', model: 'insurance', type: 'date' },
-        { label: '驾驶证日期', model: 'drive', type: 'date' },
-        { label: '行驶证日期', model: 'travel', type: 'date' },
-      ],
-    };
-  },
-  created() {
-    this.search();
-  },
-  methods: {
-    ...car(['query', 'delete', 'create', 'update']),
-    // 查询列表
-    async search({ skip = 0, limit = 10, ...info } = {}) {
-      const res = await this.query({ skip, limit, ...info });
-      if (this.$checkRes(res)) {
-        this.$set(this, `list`, res.data);
-        this.$set(this, `total`, res.total);
-      } else {
-        this.$message({
-          message: res.errmsg,
-          type: 'error',
-        });
-      }
-    },
-    // 修改
-    toEdit({ data }) {
-      this.$set(this, `form`, data);
-      this.dialog = true;
-    },
-    // 删除
-    async toDelete({ data }) {
-      const res = await this.delete(data.id);
-      if (this.$checkRes(res)) {
-        this.$message({
-          message: '删除成功',
-          type: 'success',
-        });
-        this.toClose();
-      } else {
-        this.$message({
-          message: res.errmsg,
-          type: 'error',
-        });
-      }
-    },
-    // 查看维修单
-    toRepair({ data }) {
-      this.$router.push({ path: '/repairorder', query: { id: data.id } });
-    },
-    // 保存修改
-    async turnSave({ data }) {
-      if (data.id) {
-        const res = await this.update(data);
-        if (this.$checkRes(res)) {
-          this.$message({
-            message: '修改成功',
-            type: 'success',
-          });
-          this.toClose();
-        } else {
-          this.$message({
-            message: res.errmsg,
-            type: 'error',
-          });
-        }
-      } else {
-        const res = await this.create(data);
-        if (this.$checkRes(res)) {
-          this.$message({
-            message: '创建成功',
-            type: 'success',
-          });
-          this.toClose();
-        } else {
-          this.$message({
-            message: res.errmsg,
-            type: 'error',
-          });
-        }
-      }
-    },
-    // 取消
-    toClose() {
-      this.form = {};
-      this.dialog = false;
-      this.search();
-    },
-  },
-  computed: {
-    ...mapState(['user']),
-  },
-  metaInfo() {
-    return { title: this.$route.meta.title };
-  },
-};
-</script>
-
-<style lang="less" scoped>
-.btn {
-  text-align: right;
-  padding: 10px 0;
-}
-</style>

+ 0 - 303
src/views/test/repairorder.vue

@@ -1,303 +0,0 @@
-<template>
-  <div id="repairorder">
-    <el-row>
-      <el-col :span="24" class="main">
-        <breadcrumb :breadcrumbTitle="this.$route.meta.title"></breadcrumb>
-        <el-col :span="24" class="container">
-          <el-col :span="24" class="back">
-            <el-button type="primary" size="mini" @click="$router.push({ path: '/test' })">返回</el-button>
-          </el-col>
-          <el-col :span="24" class="carinfo">
-            <el-col :span="24" class="top">
-              客户信息
-            </el-col>
-            <el-col :span="6" class="txt textOver">
-              <span>顾客姓名</span>
-              <span>{{ carinfo.name }}</span>
-            </el-col>
-            <el-col :span="6" class="txt textOver">
-              <span>顾客电话</span>
-              <span>{{ carinfo.mobile }}</span>
-            </el-col>
-            <el-col :span="6" class="txt textOver">
-              <span>车牌号</span>
-              <span>{{ carinfo.license }}</span>
-            </el-col>
-            <el-col :span="6" class="txt textOver">
-              <span>车型</span>
-              <span>{{ carinfo.model }}</span>
-            </el-col>
-            <el-col :span="6" class="txt textOver">
-              <span>车辆颜色</span>
-              <span>{{ carinfo.carcolor }}</span>
-            </el-col>
-            <el-col :span="6" class="txt textOver">
-              <span>VIN号</span>
-              <span>{{ carinfo.vin }}</span>
-            </el-col>
-            <el-col :span="6" class="txt textOver">
-              <span>保险日期</span>
-              <span>{{ carinfo.insurance }}</span>
-            </el-col>
-            <el-col :span="6" class="txt textOver">
-              <span>驾驶证日期</span>
-              <span>{{ carinfo.drive }}</span>
-            </el-col>
-            <el-col :span="6" class="txt textOver">
-              <span>行驶证日期</span>
-              <span>{{ carinfo.travel }}</span>
-            </el-col>
-          </el-col>
-          <el-col :span="24">
-            <el-col :span="24" class="back">
-              <el-button type="primary" size="mini" @click="add">添加维修单</el-button>
-            </el-col>
-            <el-col :span="24">
-              <el-col :span="24" class="top">
-                维修项目
-              </el-col>
-              <el-table :data="list" style="width: 100%" border>
-                <el-table-column prop="name" label="维修项目名" align="center">
-                  <template slot-scope="scope">
-                    <el-input v-model="scope.row.name" placeholder="维修项目名"></el-input>
-                  </template>
-                </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-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">
-                  <template slot-scope="scope">
-                    <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>
-                  </template>
-                </el-table-column>
-                <el-table-column prop="totalmoney" label="合计" align="center">
-                  <template slot-scope="scope">
-                    <el-input v-model="scope.row.totalmoney" placeholder="合计"></el-input>
-                  </template>
-                </el-table-column>
-                <el-table-column label="操作" align="center">
-                  <template slot-scope="scope">
-                    <el-button size="mini" type="primary" v-if="!scope.row.editing" @click="tosave(scope.$index, scope.row)">保存</el-button>
-                    <el-button size="mini" type="danger" v-if="!scope.row.editing" @click="todelete(scope.$index, scope.row)">删除</el-button>
-                  </template>
-                </el-table-column>
-              </el-table>
-              <el-col :span="24" class="page">
-                <el-pagination
-                  @current-change="handleCurrentChange"
-                  :current-page="currentPage"
-                  layout="total,  prev, pager, next, jumper"
-                  :total="total"
-                  :page-size="pageSize"
-                >
-                </el-pagination>
-              </el-col>
-            </el-col>
-          </el-col>
-        </el-col>
-      </el-col>
-    </el-row>
-  </div>
-</template>
-
-<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');
-export default {
-  name: 'repairorder',
-  props: {},
-  components: { breadcrumb },
-  data: function() {
-    return {
-      // 顾客详情
-      carinfo: {},
-      // 维修单
-      list: [],
-      total: 0,
-      currentPage: 0,
-      pageSize: 7,
-      skip: '',
-      // 类型
-      typeList: type,
-    };
-  },
-  async created() {
-    if (this.id) {
-      this.search();
-    }
-  },
-  methods: {
-    ...car(['fetch']),
-    ...repair({ repairquery: 'query', repairdelete: 'delete', repairupdate: 'update', repaircreate: 'create' }),
-    async search({ skip = 0, limit = 7, ...info } = {}) {
-      skip = this.skip;
-      let res = await this.fetch(this.id);
-      let arr = await this.repairquery({ uid: this.id, skip, limit });
-      if (this.$checkRes(res)) {
-        this.$set(this, `carinfo`, res.data);
-        this.$set(this, `list`, arr.data);
-        this.$set(this, `total`, arr.total);
-      }
-    },
-    // 添加维修单
-    add() {
-      let newValue = {};
-      this.list.push(newValue);
-    },
-    // 保存
-    async tosave(index, row) {
-      let data = row;
-      if (data.id) {
-        const res = await this.repairupdate(data);
-        if (this.$checkRes(res)) {
-          this.$message({
-            message: '修改成功',
-            type: 'success',
-          });
-          this.search();
-        } else {
-          this.$message({
-            message: res.errmsg,
-            type: 'error',
-          });
-        }
-      } else {
-        data.uid = this.id;
-        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: '需把信息填写完全,方可保存!',
-            type: 'warning',
-          });
-        }
-      }
-    },
-    // 删除
-    async todelete(index, row) {
-      if (row.id) {
-        const res = await this.repairdelete(row.id);
-        if (this.$checkRes(res)) {
-          this.$message({
-            message: '删除成功',
-            type: 'success',
-          });
-          this.search();
-        } else {
-          this.$message({
-            message: res.errmsg,
-            type: 'error',
-          });
-        }
-      } else {
-        this.list.splice(index, 1);
-      }
-    },
-    handleCurrentChange(currentPage) {
-      this.$set(this, `skip`, (currentPage - 1) * this.pageSize);
-      this.search();
-    },
-  },
-  computed: {
-    ...mapState(['user']),
-    id() {
-      return this.$route.query.id;
-    },
-  },
-  metaInfo() {
-    return { title: this.$route.meta.title };
-  },
-};
-</script>
-
-<style lang="less" scoped>
-.textOver {
-  overflow: hidden;
-  text-overflow: ellipsis;
-  white-space: nowrap;
-}
-.back {
-  text-align: right;
-  padding: 10px 0;
-}
-.page {
-  text-align: center;
-  padding: 15px 0;
-}
-.carinfo {
-  .txt {
-    height: 40px;
-    line-height: 40px;
-    border: 1px solid #ccc;
-    span:nth-child(1) {
-      display: inline-block;
-      width: 30%;
-      color: #fff;
-      text-align: center;
-      background-color: #409eff;
-    }
-    span:nth-child(2) {
-      padding: 0 10px;
-      height: 40px;
-      line-height: 40px;
-      font-weight: bold;
-    }
-  }
-}
-.top {
-  height: 40px;
-  line-height: 40px;
-  text-align: center;
-  background-color: #409eff;
-  color: #fff;
-  font-weight: bold;
-}
-.el-date-editor.el-input,
-.el-date-editor.el-input__inner {
-  width: 180px;
-}
-</style>

+ 0 - 212
src/views/user/index.vue

@@ -1,212 +0,0 @@
-<template>
-  <div id="Dashboard">
-    <el-row>
-      <el-col :span="24" class="main">
-        <breadcrumb :breadcrumbTitle="this.$route.meta.title"></breadcrumb>
-        <el-col :span="24" class="container">
-          <el-col :span="6" class="txt"> </el-col>
-          <el-col :span="18" class="btn">
-            <el-button type="primary" size="mini" @click="coldialog = true">添加</el-button>
-          </el-col>
-          <dataTable :fields="newfields" :data="newdata" :opera="newopera" :total="total" @query="search" @edit="edit" @delete="coltoDelete" @repair="to1">
-          </dataTable>
-        </el-col>
-      </el-col>
-    </el-row>
-    <el-dialog :visible.sync="coldialog" title="客户信息" @close="coltoClose">
-      <data-form :data="form1" :fields="colFields" :rules="{}" @save="save"> </data-form>
-    </el-dialog>
-  </div>
-</template>
-
-<script>
-import breadcrumb from '@c/common/breadcrumb.vue';
-import dataTable from '@/components/frame/filter-page-table.vue';
-import dataForm from '@/components/frame/form.vue';
-import { mapState, createNamespacedHelpers } from 'vuex';
-const { mapActions: car } = createNamespacedHelpers('car');
-import bus from '@/components/common/bus';
-export default {
-  metaInfo() {
-    return { title: this.$route.meta.title };
-  },
-  name: 'index',
-  props: {},
-  components: {
-    breadcrumb,
-    dataTable,
-    dataForm,
-  },
-  data: function() {
-    return {
-      newfields: [
-        { label: '顾客姓名', prop: 'name', filter: 'input' },
-        { label: '车牌号', prop: 'license', filter: 'input' },
-        { label: '电话', prop: 'mobile', filter: 'input' },
-        { label: '车型', prop: 'model', filter: 'input' },
-        { label: '车辆颜色', prop: 'carcolor' },
-        { label: 'VIN号', prop: 'vin' },
-        { label: '保险日期', prop: 'insurance' },
-        { label: '驾驶证日期', prop: 'drive' },
-        { label: '行驶证日期', prop: 'travel' },
-      ],
-      newopera: [
-        { label: '修改', method: 'edit' },
-        { label: '删除', method: 'delete' },
-        { label: '添加维修', method: 'repair' },
-      ],
-      newdata: [],
-      total: 0,
-      coldialog: false,
-      form1: {},
-      colFields: [
-        {
-          label: '顾客姓名',
-          model: 'name',
-        },
-        {
-          label: '车牌号',
-          model: 'license',
-        },
-        {
-          label: '电话',
-          model: 'mobile',
-          options: { maxLength: 11, minLength: 11 },
-        },
-        {
-          label: '车型',
-          model: 'model',
-        },
-        {
-          label: '车辆颜色',
-          model: 'carcolor',
-        },
-        {
-          label: 'vin号',
-          model: 'vin',
-        },
-        {
-          label: '保险日期',
-          model: 'insurance',
-          type: 'date',
-        },
-        {
-          label: '驾驶证日期',
-          model: 'drive',
-          type: 'date',
-        },
-        {
-          label: '行驶证日期',
-          model: 'travel',
-          type: 'date',
-        },
-      ],
-    };
-  },
-  created() {
-    this.search();
-  },
-  methods: {
-    ...car({ newquery: 'query', newfetch: 'fetch', newdelete: 'delete', newcreate: 'create', newupdate: 'update' }),
-    // 查询列表
-    async search({ skip = 0, limit = 10, ...info } = {}) {
-      const res = await this.newquery({ skip, limit, ...info });
-      if (this.$checkRes(res)) {
-        this.$set(this, `newdata`, res.data);
-        this.$set(this, `total`, res.total);
-      } else {
-        this.$message({
-          message: res.errmsg,
-          type: 'error',
-        });
-      }
-    },
-    //关闭
-    coltoClose() {
-      this.form1 = {};
-      this.coldialog = false;
-      this.search();
-    },
-    //修改
-    edit({ data }) {
-      this.coldialog = true;
-      this.$set(this, `form1`, data);
-    },
-    //添加
-    async save({ data }) {
-      if (data.id) {
-        const res = await this.newupdate(data);
-        if (this.$checkRes(res)) {
-          this.$message({
-            message: '修改成功',
-            type: 'success',
-          });
-          this.coltoClose();
-        } else {
-          this.$message({
-            message: '修改失败',
-            type: 'error',
-          });
-        }
-      } else {
-        const res = await this.newcreate(data);
-        if (this.$checkRes(res)) {
-          this.$message({
-            message: '添加成功',
-            type: 'success',
-          });
-          this.coltoClose();
-        } else {
-          this.$message({
-            message: '添加失败',
-            type: 'error',
-          });
-        }
-      }
-      this.coldialog = false;
-      this.search();
-    },
-    //删除
-    async coltoDelete({ data }) {
-      const res = await this.newdelete(data.id);
-      console.log(res);
-      if (this.$checkRes(res)) {
-        this.$message({
-          message: '刪除成功',
-          type: 'success',
-        });
-        this.coltoClose();
-      } else {
-        this.$message({
-          message: '删除失败',
-          type: 'error',
-        });
-      }
-      this.search();
-    },
-    to1({ data }) {
-      this.$router.push({ path: '/company', query: { id: data.id } });
-    },
-  },
-  computed: {
-    ...mapState(['user']),
-  },
-};
-</script>
-
-<style lang="less" scoped>
-/deep/.el-table th.is-leaf > .cell {
-  padding: 0px;
-}
-/deep/.el-table th.is-leaf:nth-child(10) > .cell {
-  padding: 0px;
-}
-.txt {
-  margin: 0 0 15px 0;
-  padding-left: 34px;
-}
-.btn {
-  text-align: right;
-  margin: 0 0 15px 0;
-}
-</style>

+ 5 - 5
vue.config.js

@@ -2,7 +2,7 @@ const path = require('path');
 module.exports = {
   publicPath: process.env.NODE_ENV === 'development' ? '/' : process.env.VUE_APP_ROUTER,
   // 打包文件
-  outputDir: 'tyre',
+  outputDir: 'study',
   configureWebpack: config => {
     Object.assign(config, {
       // 开发生产共同配置
@@ -16,20 +16,20 @@ module.exports = {
     });
   },
   devServer: {
-    port: '8001',
+    port: '9002',
     //api地址前缀
     proxy: {
       '/files': {
-        target: 'http://192.168.1.43:8081',
+        target: 'http://free.liaoningdoupo.com',
         // http://free.liaoningdoupo.com
       },
       '/api': {
-        target: 'http://192.168.1.43:8081',
+        target: 'http://free.liaoningdoupo.com',
         changeOrigin: true,
         ws: true,
       },
       '/ws': {
-        target: 'http://192.168.1.43:8081',
+        target: 'http://free.liaoningdoupo.com',
         ws: true,
       },
     },