|
@@ -0,0 +1,186 @@
|
|
|
+<template>
|
|
|
+ <div id="make">
|
|
|
+ <el-row>
|
|
|
+ <el-col :span="24" class="main">
|
|
|
+ <el-col :span="24" class="info" :style="{ height: clientHeight + 'px' }">
|
|
|
+ <el-col :span="24" class="form">
|
|
|
+ <el-form ref="form" :model="form" :rules="rules" label-width="80px" :label-position="labelPosition">
|
|
|
+ <el-col :span="24" class="text">
|
|
|
+ <el-form-item label="选取机构" prop="medium_id">
|
|
|
+ <el-select v-model="form.medium_id" clearable filterable placeholder="请选择">
|
|
|
+ <el-option v-for="item in mediumList" :key="item.id" :label="item.name" :value="item.id"> </el-option>
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="24" class="text">
|
|
|
+ <el-form-item label="服务名称" prop="project">
|
|
|
+ <el-select v-model="form.project" clearable filterable placeholder="请选择">
|
|
|
+ <el-option v-for="item in projectList" :key="item.id" :label="item.name" :value="item.id"> </el-option>
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="24" class="text">
|
|
|
+ <el-form-item label="联系人" prop="contact">
|
|
|
+ <el-input v-model="form.contact" placeholder="请输入联系人"></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="24" class="text">
|
|
|
+ <el-form-item label="联系电话" prop="phone">
|
|
|
+ <el-input v-model="form.phone" placeholder="请输入联系电话"></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="24" class="text">
|
|
|
+ <el-form-item label="邮件" prop="email">
|
|
|
+ <el-input v-model="form.email" placeholder="请输入邮件"></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="24" class="text">
|
|
|
+ <el-form-item label="服务时间" prop="server_time">
|
|
|
+ <el-input v-model="form.server_time" placeholder="请输入服务时间"></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="24" class="text">
|
|
|
+ <el-form-item label="预约备注" prop="remark">
|
|
|
+ <el-input
|
|
|
+ v-model="form.remark"
|
|
|
+ type="textarea"
|
|
|
+ maxlength="200"
|
|
|
+ :autosize="{ minRows: 4, maxRows: 6 }"
|
|
|
+ show-word-limit
|
|
|
+ placeholder="请输入预约备注"
|
|
|
+ ></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="24" class="btn">
|
|
|
+ <el-button type="danger" size="mini">取消预约</el-button>
|
|
|
+ <el-button type="primary" size="mini" @click="onSubmit('form')">提交预约</el-button>
|
|
|
+ </el-col>
|
|
|
+ </el-form>
|
|
|
+ </el-col>
|
|
|
+ </el-col>
|
|
|
+ </el-col>
|
|
|
+ </el-row>
|
|
|
+ </div>
|
|
|
+</template>
|
|
|
+
|
|
|
+<script>
|
|
|
+import { mapState, createNamespacedHelpers } from 'vuex';
|
|
|
+export default {
|
|
|
+ name: 'make',
|
|
|
+ props: {},
|
|
|
+ components: {},
|
|
|
+ data: function () {
|
|
|
+ return {
|
|
|
+ clientHeight: '',
|
|
|
+ form: {},
|
|
|
+ rules: {
|
|
|
+ medium_id: [{ required: true, message: '请选取机构', trigger: 'change' }],
|
|
|
+ project: [{ required: true, message: '请选取服务', trigger: 'change' }],
|
|
|
+ contact: [{ required: true, message: '请输入联系人', trigger: 'blur' }],
|
|
|
+ phone: [{ required: true, message: '请输入联系电话', trigger: 'blur' }],
|
|
|
+ email: [{ required: true, message: '请输入邮件', trigger: 'blur' }],
|
|
|
+ server_time: [{ required: true, message: '请输入服务时间', trigger: 'blur' }],
|
|
|
+ remark: [{ required: true, message: '请输入预约备注', trigger: 'blur' }],
|
|
|
+ },
|
|
|
+ labelPosition: 'left',
|
|
|
+ // 机构
|
|
|
+ mediumList: [
|
|
|
+ {
|
|
|
+ id: '1',
|
|
|
+ name: '第1个',
|
|
|
+ },
|
|
|
+ {
|
|
|
+ id: '2',
|
|
|
+ name: '第2个',
|
|
|
+ },
|
|
|
+ {
|
|
|
+ id: '3',
|
|
|
+ name: '第3个',
|
|
|
+ },
|
|
|
+ ],
|
|
|
+ // 服务
|
|
|
+ projectList: [
|
|
|
+ {
|
|
|
+ id: '1',
|
|
|
+ name: '第1个',
|
|
|
+ },
|
|
|
+ {
|
|
|
+ id: '2',
|
|
|
+ name: '第2个',
|
|
|
+ },
|
|
|
+ {
|
|
|
+ id: '3',
|
|
|
+ name: '第3个',
|
|
|
+ },
|
|
|
+ ],
|
|
|
+ };
|
|
|
+ },
|
|
|
+ created() {},
|
|
|
+ methods: {
|
|
|
+ onSubmit(formName) {
|
|
|
+ this.$refs[formName].validate((valid) => {
|
|
|
+ if (valid) {
|
|
|
+ let data = this.form;
|
|
|
+ console.log(data);
|
|
|
+ } else {
|
|
|
+ console.log('error submit!!');
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ });
|
|
|
+ },
|
|
|
+ },
|
|
|
+ mounted() {
|
|
|
+ let clientHeight = (document.documentElement.clientHeight || document.body.clientHeight) - 90;
|
|
|
+ this.$set(this, `clientHeight`, clientHeight);
|
|
|
+ },
|
|
|
+
|
|
|
+ computed: {
|
|
|
+ ...mapState(['user']),
|
|
|
+ },
|
|
|
+ metaInfo() {
|
|
|
+ return { title: this.$route.meta.title };
|
|
|
+ },
|
|
|
+ watch: {
|
|
|
+ test: {
|
|
|
+ deep: true,
|
|
|
+ immediate: true,
|
|
|
+ handler(val) {},
|
|
|
+ },
|
|
|
+ },
|
|
|
+};
|
|
|
+</script>
|
|
|
+
|
|
|
+<style lang="less" scoped>
|
|
|
+.main {
|
|
|
+ .info {
|
|
|
+ overflow-x: hidden;
|
|
|
+ overflow-y: auto;
|
|
|
+ background-color: #f9f9f9;
|
|
|
+ padding: 8px;
|
|
|
+ .form {
|
|
|
+ background-color: #fff;
|
|
|
+ padding: 10px;
|
|
|
+ .text {
|
|
|
+ .el-select {
|
|
|
+ width: 100%;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ /deep/.el-form-item__label {
|
|
|
+ float: left;
|
|
|
+ width: 100%;
|
|
|
+ text-align: center;
|
|
|
+ font-size: 15px;
|
|
|
+ line-height: 0;
|
|
|
+ padding: 20px 0;
|
|
|
+ }
|
|
|
+ // /deep/.el-form-item {
|
|
|
+ // margin: 0 0 10px 0;
|
|
|
+ // }
|
|
|
+ .btn {
|
|
|
+ text-align: center;
|
|
|
+ padding: 8px;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+}
|
|
|
+</style>
|