reloaded 4 năm trước cách đây
mục cha
commit
558c700da2
3 tập tin đã thay đổi với 80 bổ sung1 xóa
  1. 7 0
      src/router/index.js
  2. 10 1
      src/store/onlive/user.js
  3. 63 0
      src/views/registered.vue

+ 7 - 0
src/router/index.js

@@ -62,6 +62,13 @@ const routes = [
     meta: { title: '个人中心', isleftarrow: true },
     component: () => import('../views/user/index.vue'),
   },
+  // // 注册
+  {
+    path: '/registered',
+    name: 'registered',
+    meta: { title: '注册', isleftarrow: true },
+    component: () => import('../views/registered.vue'),
+  },
 ];
 
 const router = new VueRouter({

+ 10 - 1
src/store/onlive/user.js

@@ -4,13 +4,18 @@ import _ from 'lodash';
 Vue.use(Vuex);
 const api = {
   onliveInfo: `/api/onlive/user`,
+  registerInfo: `/api/onlive/register`,
 };
 const state = () => ({});
 const mutations = {};
 
 const actions = {
   async query({ commit }, { skip = 0, limit = 10, ...info } = {}) {
-    const res = await this.$axios.$get(api.onliveInfo, { skip, limit, ...info });
+    const res = await this.$axios.$get(api.onliveInfo, {
+      skip,
+      limit,
+      ...info,
+    });
     return res;
   },
   async create({ commit }, payload) {
@@ -29,6 +34,10 @@ const actions = {
     const res = await this.$axios.$delete(`${api.onliveInfo}/${payload}`);
     return res;
   },
+  async register({ commit }, payload) {
+    const res = await this.$axios.$post(`${api.registerInfo}`, payload);
+    return res;
+  },
 };
 
 export default {

+ 63 - 0
src/views/registered.vue

@@ -0,0 +1,63 @@
+<template>
+  <div id="registered">
+    <van-row>
+      <van-col class="title" :span="24">请填写以下注册信息</van-col>
+      <van-form @submit="onSubmit" v-model="form" :show-error-message="false">
+        <van-field required v-model="form.name" name="name" placeholder="请填写用户名" :rules="[{ required: true, message: '请填写用户名' }]" />
+        <van-field required v-model="form.phone" name="phone" placeholder="请填写手机号" :rules="[{ required: true, message: '请填写手机号' }]" />
+        <van-field v-model="form.hosname" name="hosname" placeholder="请填写医院名称" />
+        <van-field v-model="form.deptname" name="deptname" placeholder="请填写机构名称" />
+        <van-field v-model="form.level" name="level" placeholder="请填写职务" />
+        <van-field v-model="form.title" name="title" placeholder="请填写个人简介" type="textarea" rows="2" autosize maxlength="500" show-word-limit />
+        <van-field v-model="form.remark" name="remark" placeholder="请填写备注" type="textarea" rows="2" autosize maxlength="500" show-word-limit />
+        <div style="margin: 16px;">
+          <van-button round block type="info" native-type="submit">
+            注册
+          </van-button>
+        </div>
+      </van-form>
+    </van-row>
+  </div>
+</template>
+
+<script>
+import { mapState, mapMutations, createNamespacedHelpers } from 'vuex';
+import Vue from 'vue';
+import { Toast } from 'vant';
+Vue.use(Toast);
+const { mapActions: user } = createNamespacedHelpers('onliveUser');
+export default {
+  name: 'registered',
+  props: {},
+  components: {},
+  data: () => ({
+    form: {},
+  }),
+  created() {},
+  computed: {},
+  methods: {
+    ...user(['register']),
+    async onSubmit(form) {
+      form.role = '4';
+      const res = await this.register(form);
+      console.log(res);
+      if (res.errcode === 0) {
+        this.$toast('注册成功');
+      } else {
+        this.$toast('注册失败');
+      }
+      console.log(form);
+    },
+  },
+};
+</script>
+
+<style lang="less" scoped>
+.title {
+  font-size: 25px;
+  margin: 60px 10px 20px 20px;
+}
+/deep/.van-field__control {
+  margin: 5px 10px;
+}
+</style>