|
@@ -14,13 +14,14 @@
|
|
|
</template>
|
|
|
</data-table>
|
|
|
<el-dialog title="司机信息" :visible.sync="dialog" center width="40%">
|
|
|
- <data-form v-model="form" :fields="fields" @save="toSave"> </data-form>
|
|
|
+ <data-form v-model="form" :rules="rules" :fields="fields" @save="toSave"> </data-form>
|
|
|
</el-dialog>
|
|
|
</div>
|
|
|
</template>
|
|
|
|
|
|
<script>
|
|
|
import { mapState, createNamespacedHelpers } from 'vuex';
|
|
|
+const { mapActions: util } = createNamespacedHelpers('util');
|
|
|
export default {
|
|
|
name: 'driver',
|
|
|
props: {},
|
|
@@ -41,7 +42,7 @@ export default {
|
|
|
},
|
|
|
],
|
|
|
fields: [
|
|
|
- { label: '姓名', required: true, model: 'name', filter: true },
|
|
|
+ { label: '姓名', required: false, model: 'name', filter: true },
|
|
|
{ required: true, label: '联系电话', model: 'mobile', filter: true },
|
|
|
{ required: true, label: '身份证号', model: 'id_number', filter: true },
|
|
|
{ required: true, label: '驾驶证号', model: 'drive_card' },
|
|
@@ -54,27 +55,32 @@ export default {
|
|
|
],
|
|
|
statusList: [],
|
|
|
list: [],
|
|
|
+ rules: {
|
|
|
+ id_card: [{ min: 18, max: 18, message: '请输入18位身份证号', trigger: 'blur' }],
|
|
|
+ },
|
|
|
total: 0,
|
|
|
form: {},
|
|
|
};
|
|
|
},
|
|
|
- created() {},
|
|
|
+ created() {
|
|
|
+ this.toGetModel();
|
|
|
+ },
|
|
|
methods: {
|
|
|
+ ...util(['getModel']),
|
|
|
async search({ skip = 0, limit = 10 }) {},
|
|
|
- async toSave({ data }) {
|
|
|
- console.log(data);
|
|
|
- // let duplicate = _.cloneDeep(this.form);
|
|
|
- // const { id } = this.form;
|
|
|
- // let res;
|
|
|
- // if (id) {
|
|
|
- // res = await this.update(duplicate);
|
|
|
- // } else {
|
|
|
- // res = await this.create(duplicate);
|
|
|
- // }
|
|
|
- // if (this.$checkRes(res, '保存成功', '保存失败')) {
|
|
|
- // this.toReturn();
|
|
|
- // this.search();
|
|
|
- // }
|
|
|
+ async toSave() {
|
|
|
+ let duplicate = _.cloneDeep(this.form);
|
|
|
+ const { id } = this.form;
|
|
|
+ let res;
|
|
|
+ if (id) {
|
|
|
+ res = await this.update(duplicate);
|
|
|
+ } else {
|
|
|
+ res = await this.create(duplicate);
|
|
|
+ }
|
|
|
+ if (this.$checkRes(res, '保存成功', '保存失败')) {
|
|
|
+ this.toReturn();
|
|
|
+ this.search();
|
|
|
+ }
|
|
|
},
|
|
|
async toEdit({ data }) {
|
|
|
this.dialog = true;
|
|
@@ -94,6 +100,12 @@ export default {
|
|
|
this.dialog = false;
|
|
|
this.form = {};
|
|
|
},
|
|
|
+ async toGetModel() {
|
|
|
+ let res = await this.getModel('driver');
|
|
|
+ if (this.$checkRes(res)) {
|
|
|
+ this.$set(this, `fields`, res);
|
|
|
+ }
|
|
|
+ },
|
|
|
},
|
|
|
computed: {
|
|
|
...mapState(['user', 'menuParams']),
|