Finish My info

This commit is contained in:
saeid_01
2019-04-22 02:17:52 +04:30
parent 6d6e68a95f
commit 3d4db20770
14 changed files with 188 additions and 65 deletions
+6
View File
@@ -77,4 +77,10 @@ class UserController extends Controller
$User->syncRoles($request->roles);
return response()->json($User, 200);
}
public function updateInfo(Request $request)
{
auth('api')->user()->update($request->all());
return response()->json(['user' => auth('api')->user()], 200);
}
}
+1 -1
View File
@@ -17,7 +17,7 @@ class User extends Authenticatable
* @var array
*/
protected $fillable = [
'name', 'email', 'password','cell_number','status','medical_center_id'
'name', 'email', 'password','status','medical_center_id','address', 'gender'
];
/**
@@ -24,6 +24,7 @@ class CreateUsersTable extends Migration
$table->unsignedBigInteger('medical_center_id');
$table->foreign('medical_center_id')->references('id')->on('medical_centers');
$table->string('password');
$table->text('address')->nullable();
$table->rememberToken();
$table->timestamps();
});
Vendored
+1 -1
View File
@@ -166,7 +166,7 @@ var debugs = {};
var debugEnviron;
exports.debuglog = function(set) {
if (isUndefined(debugEnviron))
debugEnviron = Object({"MIX_APP_CLIENT_ID":"2","MIX_APP_CLIENT_SECRET":"vAhCu2Y4mxfjlr8uTSxpBmjn2rWPIEolnr73ETAE","MIX_APP_ROOT_API":"/api/","MIX_PUSHER_APP_CLUSTER":"mt1","MIX_PUSHER_APP_KEY":"","NODE_ENV":"development"}).NODE_DEBUG || '';
debugEnviron = Object({"MIX_PUSHER_APP_KEY":"","MIX_PUSHER_APP_CLUSTER":"mt1","MIX_APP_ROOT_API":"/api/","MIX_APP_CLIENT_ID":"2","MIX_APP_CLIENT_SECRET":"I1VA4V6AVGjNb5LAYHMqFcMIvj4FF957uIpBKZu3","NODE_ENV":"development"}).NODE_DEBUG || '';
set = set.toUpperCase();
if (!debugs[set]) {
if (new RegExp('\\b' + set + '\\b', 'i').test(debugEnviron)) {
Vendored
+1 -1
View File
@@ -210,7 +210,7 @@ __webpack_require__.r(__webpack_exports__);
exports = module.exports = __webpack_require__(/*! ../../../../node_modules/css-loader/dist/runtime/api.js */ "./node_modules/css-loader/dist/runtime/api.js")(false);
// Module
exports.push([module.i, "\n.WM-Border[data-v-308d838e] {\r\n border: 1px solid;\n}\n.WM-Border-Black[data-v-308d838e] {\r\n border-color: #2f353b !important;\n}\n.WM-Border-Gray[data-v-308d838e] {\r\n border-color: #aaa !important;\n}\n.WM-Color-LightGrey[data-v-308d838e] {\r\n background-color : #F5F5F5;\n}\n.WM-Relative[data-v-308d838e] {\r\n position: relative;\n}\n.v-btn--top.v-btn--absolute.v-btn--small[data-v-308d838e] {\r\n top: -25px !important;\n}\r\n", ""]);
exports.push([module.i, "\n.WM-Border[data-v-308d838e] {\n border: 1px solid;\n}\n.WM-Border-Black[data-v-308d838e] {\n border-color: #2f353b !important;\n}\n.WM-Border-Gray[data-v-308d838e] {\n border-color: #aaa !important;\n}\n.WM-Color-LightGrey[data-v-308d838e] {\n background-color : #F5F5F5;\n}\n.WM-Relative[data-v-308d838e] {\n position: relative;\n}\n.v-btn--top.v-btn--absolute.v-btn--small[data-v-308d838e] {\n top: -25px !important;\n}\n", ""]);
+116 -29
View File
@@ -9,6 +9,15 @@
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/regenerator */ "./node_modules/@babel/runtime/regenerator/index.js");
/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_0__);
/* harmony import */ var _services__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @/services */ "./resources/js/vue/services/index.js");
function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
//
//
//
@@ -88,27 +97,94 @@ __webpack_require__.r(__webpack_exports__);
//
//
//
//
//
//
//
//
//
//
/* harmony default export */ __webpack_exports__["default"] = ({
data: function data() {
return {
user: {
username: "",
gender: "",
cell_number: "",
gender: "",
name: "",
email: "",
address: ""
},
items: ["Male", "FeMale"]
items: ["Male", "FeMale"],
rules: {
required: function required(value) {
return !!value || "Required.";
},
counter: function counter(value) {
return value.length == 0 || value.length >= 5 || "Min 5 characters";
},
email: function email(value) {
if (value.length > 0) {
var pattern = /^(([^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
return pattern.test(value) || "Invalid e-mail.";
}
}
}
};
},
created: function created() {
this.user = this.$store.state.user;
},
methods: {
saveInfo: function () {
var _saveInfo = _asyncToGenerator(
/*#__PURE__*/
_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_0___default.a.mark(function _callee() {
var result;
return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_0___default.a.wrap(function _callee$(_context) {
while (1) {
switch (_context.prev = _context.next) {
case 0:
if (!this.$refs.form.validate()) {
_context.next = 5;
break;
}
_context.next = 3;
return _services__WEBPACK_IMPORTED_MODULE_1__["ApiService"].post("updateInfo", this.user);
case 3:
result = _context.sent;
if (result && result.status == 200) {
this.$store.dispatch("info", {}, {
root: true
});
}
case 5:
case "end":
return _context.stop();
}
}
}, _callee, this);
}));
function saveInfo() {
return _saveInfo.apply(this, arguments);
}
return saveInfo;
}()
}
});
/***/ }),
/***/ "./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./resources/js/vue/views/MyInfo.vue?vue&type=template&id=8d06a07c&scoped=true&":
/*!********************************************************************************************************************************************************************************************************************!*\
!*** ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./resources/js/vue/views/MyInfo.vue?vue&type=template&id=8d06a07c&scoped=true& ***!
\********************************************************************************************************************************************************************************************************************/
/***/ "./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./resources/js/vue/views/MyInfo.vue?vue&type=template&id=8d06a07c&":
/*!********************************************************************************************************************************************************************************************************!*\
!*** ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./resources/js/vue/views/MyInfo.vue?vue&type=template&id=8d06a07c& ***!
\********************************************************************************************************************************************************************************************************/
/*! exports provided: render, staticRenderFns */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
@@ -122,6 +198,7 @@ var render = function() {
var _c = _vm._self._c || _h
return _c(
"v-form",
{ ref: "form" },
[
_c(
"v-container",
@@ -145,17 +222,17 @@ var render = function() {
_c("v-text-field", {
staticClass: "pa-2",
attrs: {
name: "username",
label: "User Name",
name: "name",
label: "Name",
color: "black",
id: "id1"
rules: [_vm.rules.required, _vm.rules.counter]
},
model: {
value: _vm.user.username,
value: _vm.user.name,
callback: function($$v) {
_vm.$set(_vm.user, "username", $$v)
_vm.$set(_vm.user, "name", $$v)
},
expression: "user.username"
expression: "user.name"
}
})
],
@@ -173,7 +250,7 @@ var render = function() {
label: "Gender",
name: "gender",
"single-line": "",
id: "id3",
rules: [_vm.rules.required],
color: "black"
},
model: {
@@ -197,8 +274,9 @@ var render = function() {
attrs: {
name: "cellnumber",
label: "Cell Number",
mask: "0### ### ####",
color: "black",
id: "id2"
disabled: ""
},
model: {
value: _vm.user.cell_number,
@@ -232,7 +310,7 @@ var render = function() {
attrs: {
name: "emailaddress",
label: "Email Address",
id: "id4",
rules: [_vm.rules.email],
color: "black"
},
model: {
@@ -253,7 +331,11 @@ var render = function() {
[
_c("v-textarea", {
staticClass: "pa-2",
attrs: { color: "black", name: "address" },
attrs: {
color: "black",
rules: [_vm.rules.counter],
name: "address"
},
scopedSlots: _vm._u([
{
key: "label",
@@ -300,7 +382,12 @@ var render = function() {
"v-btn",
{
staticClass: "WM-CyanBlueGradient-BG",
staticStyle: { padding: "10px 60px" }
staticStyle: { padding: "10px 60px" },
on: {
click: function($event) {
return _vm.saveInfo()
}
}
},
[
_c(
@@ -383,7 +470,7 @@ render._withStripped = true
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var _MyInfo_vue_vue_type_template_id_8d06a07c_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./MyInfo.vue?vue&type=template&id=8d06a07c&scoped=true& */ "./resources/js/vue/views/MyInfo.vue?vue&type=template&id=8d06a07c&scoped=true&");
/* harmony import */ var _MyInfo_vue_vue_type_template_id_8d06a07c___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./MyInfo.vue?vue&type=template&id=8d06a07c& */ "./resources/js/vue/views/MyInfo.vue?vue&type=template&id=8d06a07c&");
/* harmony import */ var _MyInfo_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./MyInfo.vue?vue&type=script&lang=js& */ "./resources/js/vue/views/MyInfo.vue?vue&type=script&lang=js&");
/* empty/unused harmony star reexport *//* harmony import */ var _node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js */ "./node_modules/vue-loader/lib/runtime/componentNormalizer.js");
@@ -395,11 +482,11 @@ __webpack_require__.r(__webpack_exports__);
var component = Object(_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__["default"])(
_MyInfo_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__["default"],
_MyInfo_vue_vue_type_template_id_8d06a07c_scoped_true___WEBPACK_IMPORTED_MODULE_0__["render"],
_MyInfo_vue_vue_type_template_id_8d06a07c_scoped_true___WEBPACK_IMPORTED_MODULE_0__["staticRenderFns"],
_MyInfo_vue_vue_type_template_id_8d06a07c___WEBPACK_IMPORTED_MODULE_0__["render"],
_MyInfo_vue_vue_type_template_id_8d06a07c___WEBPACK_IMPORTED_MODULE_0__["staticRenderFns"],
false,
null,
"8d06a07c",
null,
null
)
@@ -425,19 +512,19 @@ __webpack_require__.r(__webpack_exports__);
/***/ }),
/***/ "./resources/js/vue/views/MyInfo.vue?vue&type=template&id=8d06a07c&scoped=true&":
/*!**************************************************************************************!*\
!*** ./resources/js/vue/views/MyInfo.vue?vue&type=template&id=8d06a07c&scoped=true& ***!
\**************************************************************************************/
/***/ "./resources/js/vue/views/MyInfo.vue?vue&type=template&id=8d06a07c&":
/*!**************************************************************************!*\
!*** ./resources/js/vue/views/MyInfo.vue?vue&type=template&id=8d06a07c& ***!
\**************************************************************************/
/*! exports provided: render, staticRenderFns */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_MyInfo_vue_vue_type_template_id_8d06a07c_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../../node_modules/vue-loader/lib??vue-loader-options!./MyInfo.vue?vue&type=template&id=8d06a07c&scoped=true& */ "./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./resources/js/vue/views/MyInfo.vue?vue&type=template&id=8d06a07c&scoped=true&");
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "render", function() { return _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_MyInfo_vue_vue_type_template_id_8d06a07c_scoped_true___WEBPACK_IMPORTED_MODULE_0__["render"]; });
/* harmony import */ var _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_MyInfo_vue_vue_type_template_id_8d06a07c___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../../node_modules/vue-loader/lib??vue-loader-options!./MyInfo.vue?vue&type=template&id=8d06a07c& */ "./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./resources/js/vue/views/MyInfo.vue?vue&type=template&id=8d06a07c&");
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "render", function() { return _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_MyInfo_vue_vue_type_template_id_8d06a07c___WEBPACK_IMPORTED_MODULE_0__["render"]; });
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_MyInfo_vue_vue_type_template_id_8d06a07c_scoped_true___WEBPACK_IMPORTED_MODULE_0__["staticRenderFns"]; });
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_MyInfo_vue_vue_type_template_id_8d06a07c___WEBPACK_IMPORTED_MODULE_0__["staticRenderFns"]; });
Vendored
+1 -4
View File
@@ -12,8 +12,6 @@ __webpack_require__.r(__webpack_exports__);
/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/regenerator */ "./node_modules/@babel/runtime/regenerator/index.js");
/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_0__);
/* harmony import */ var _services__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @/services */ "./resources/js/vue/services/index.js");
/* harmony import */ var util__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! util */ "./node_modules/util/util.js");
/* harmony import */ var util__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(util__WEBPACK_IMPORTED_MODULE_2__);
function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
@@ -98,7 +96,6 @@ function _asyncToGenerator(fn) { return function () { var self = this, args = ar
//
//
/* harmony default export */ __webpack_exports__["default"] = ({
data: function data() {
return {
@@ -220,7 +217,7 @@ function _asyncToGenerator(fn) { return function () { var self = this, args = ar
exports = module.exports = __webpack_require__(/*! ../../../../node_modules/css-loader/dist/runtime/api.js */ "./node_modules/css-loader/dist/runtime/api.js")(false);
// Module
exports.push([module.i, "\n.WM-ActionButton[data-v-1305c16e] {\r\n padding: 8px 22px;\n}\r\n", ""]);
exports.push([module.i, "\n.WM-ActionButton[data-v-1305c16e] {\n padding: 8px 22px;\n}\n", ""]);
Vendored
+1 -1
View File
@@ -423,7 +423,7 @@ __webpack_require__.r(__webpack_exports__);
exports = module.exports = __webpack_require__(/*! ../../../../node_modules/css-loader/dist/runtime/api.js */ "./node_modules/css-loader/dist/runtime/api.js")(false);
// Module
exports.push([module.i, "\n.WM-Border-Gray[data-v-d05735bc] {\r\n border-color: #aaa !important;\n}\n.WM-Color-LightGrey[data-v-d05735bc] {\r\n background-color : #F5F5F5;\n}\n.v-btn--top.v-btn--absolute.v-btn--small[data-v-d05735bc] {\r\n top: -25px !important;\n}\n.v-btn--bottom.v-btn--absolute.v-btn--small[data-v-d05735bc] {\r\n bottom: -24px !important;\n}\r\n", ""]);
exports.push([module.i, "\n.WM-Border-Gray[data-v-d05735bc] {\n border-color: #aaa !important;\n}\n.WM-Color-LightGrey[data-v-d05735bc] {\n background-color : #F5F5F5;\n}\n.v-btn--top.v-btn--absolute.v-btn--small[data-v-d05735bc] {\n top: -25px !important;\n}\n.v-btn--bottom.v-btn--absolute.v-btn--small[data-v-d05735bc] {\n bottom: -24px !important;\n}\n", ""]);
+1 -1
View File
@@ -1,3 +1,3 @@
{
"/vue/js/app.js": "/vue/js/app.js?id=f3f5279f169e6d4aacfd"
"/vue/js/app.js": "/vue/js/app.js?id=ab1390f42a1283f0db66"
}
+9 -8
View File
@@ -8247,7 +8247,7 @@ exports.push([module.i, "/*!\n* Vuetify v1.5.11\n* Forged by John Leider\n* Rele
exports = module.exports = __webpack_require__(/*! ../../../../../node_modules/css-loader/dist/runtime/api.js */ "./node_modules/css-loader/dist/runtime/api.js")(false);
// Module
exports.push([module.i, "\n#core-footer {\r\n z-index: 0;\n}\r\n", ""]);
exports.push([module.i, "\n#core-footer {\n z-index: 0;\n}\n", ""]);
@@ -62549,7 +62549,7 @@ var UserService = {
},
auth: {
username: "2",
password: "vAhCu2Y4mxfjlr8uTSxpBmjn2rWPIEolnr73ETAE"
password: "I1VA4V6AVGjNb5LAYHMqFcMIvj4FF957uIpBKZu3"
}
};
_context.prev = 1;
@@ -62609,7 +62609,7 @@ var UserService = {
},
auth: {
username: "2",
password: "vAhCu2Y4mxfjlr8uTSxpBmjn2rWPIEolnr73ETAE"
password: "I1VA4V6AVGjNb5LAYHMqFcMIvj4FF957uIpBKZu3"
}
};
_context2.prev = 1;
@@ -62664,7 +62664,7 @@ var UserService = {
},
auth: {
username: "2",
password: "vAhCu2Y4mxfjlr8uTSxpBmjn2rWPIEolnr73ETAE"
password: "I1VA4V6AVGjNb5LAYHMqFcMIvj4FF957uIpBKZu3"
}
};
_context3.prev = 1;
@@ -62718,7 +62718,7 @@ var UserService = {
},
auth: {
username: "2",
password: "vAhCu2Y4mxfjlr8uTSxpBmjn2rWPIEolnr73ETAE"
password: "I1VA4V6AVGjNb5LAYHMqFcMIvj4FF957uIpBKZu3"
}
};
_context4.prev = 2;
@@ -63712,7 +63712,9 @@ __webpack_require__.r(__webpack_exports__);
__webpack_require__.r(__webpack_exports__);
/* harmony default export */ __webpack_exports__["default"] = ({
setInfo: function setInfo(state, info) {
state.user = info.user;
if (info.user) {
state.user = info.user;
}
}
});
@@ -63796,7 +63798,6 @@ var map = {
],
"./ManageMedicalCenter.vue": [
"./resources/js/vue/views/ManageMedicalCenter.vue",
0,
2
],
"./ManageUsers.vue": [
@@ -63890,7 +63891,7 @@ module.exports = webpackAsyncContext;
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
module.exports = __webpack_require__(/*! D:\Atom\Git\Laravel_CSSD\resources\js\vue\main.js */"./resources/js/vue/main.js");
module.exports = __webpack_require__(/*! /home/saeid/Projects/Git/CSSD/resources/js/vue/main.js */"./resources/js/vue/main.js");
/***/ })
+3 -1
View File
@@ -1,5 +1,7 @@
export default {
setInfo: (state, info) => {
state.user = info.user;
if(info.user) {
state.user = info.user;
}
}
};
@@ -77,7 +77,6 @@
<script>
import { ApiService } from "@/services";
import { log } from "util";
export default {
data: () => ({
headers: [
+46 -17
View File
@@ -1,15 +1,15 @@
<template>
<v-form>
<v-form ref="form">
<v-container grid-list-xs fluid>
<material-card color="black" title="My Info">
<v-layout align-center justify-center wrap class="px-5 my-3">
<v-flex xs12 sm4 md4>
<v-text-field
name="username"
label="User Name"
name="name"
label="Name"
color="black"
v-model="user.username"
id="id1"
v-model="user.name"
:rules="[rules.required, rules.counter]"
class="pa-2"
></v-text-field>
</v-flex>
@@ -20,7 +20,7 @@
name="gender"
v-model="user.gender"
single-line
id="id3"
:rules="[rules.required]"
class="pa-2"
color="black"
></v-select>
@@ -30,9 +30,10 @@
name="cellnumber"
label="Cell Number"
v-model="user.cell_number"
mask="0### ### ####"
color="black"
class="pa-2"
id="id2"
disabled
></v-text-field>
</v-flex>
</v-layout>
@@ -42,14 +43,20 @@
name="emailaddress"
label="Email Address"
v-model="user.email"
id="id4"
:rules="[rules.email]"
class="px-2"
color="black"
style="padding-top:75px"
></v-text-field>
</v-flex>
<v-flex xs12 sm8 md8>
<v-textarea color="black" v-model="user.address" class="pa-2" name="address">
<v-textarea
color="black"
:rules="[rules.counter]"
v-model="user.address"
class="pa-2"
name="address"
>
<template v-slot:label>
<div>Address</div>
</template>
@@ -58,7 +65,7 @@
</v-layout>
<v-layout row wrap justify-center align-center>
<v-flex xs12 md2 sm2 class="text-md-center text-xs-center">
<v-btn class="WM-CyanBlueGradient-BG" style="padding:10px 60px">
<v-btn class="WM-CyanBlueGradient-BG" style="padding:10px 60px" @click="saveInfo()">
<v-icon class="white--text mr-2 caption">fas fa-check</v-icon>
<span class="white--text">SAVE</span>
</v-btn>
@@ -78,21 +85,43 @@
</template>
<script>
import { ApiService } from "@/services";
export default {
data() {
return {
user: {
username: "",
gender: "",
cell_number: "",
gender: "",
name: "",
email: "",
address: "",
address: ""
},
items: ["Male", "FeMale"],
rules: {
required: value => !!value || "Required.",
counter: value =>
value.length == 0 || value.length >= 5 || "Min 5 characters",
email: value => {
if (value.length > 0) {
const pattern = /^(([^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
return pattern.test(value) || "Invalid e-mail.";
}
}
}
};
},
created() {
this.user = this.$store.state.user;
},
methods: {
async saveInfo() {
if (this.$refs.form.validate()) {
const result = await ApiService.post("updateInfo", this.user);
if (result && result.status == 200) {
this.$store.dispatch("info", {}, { root: true });
}
}
}
}
};
</script>
<style lang="css" scoped>
</style>
</script>
+1
View File
@@ -33,4 +33,5 @@ Route::resource('MedicalCenters', 'MedicalCenterController');
Route::get('Users/{MedicalCenter}/MedicalCenter', 'UserController@getByMedicalCenter')->middleware('auth:api');
Route::post('Users/ChangeStatus/{User}', 'UserController@changeStatus')->middleware('auth:api');
Route::post('Users/ChangeRole/{User}', 'UserController@changeRole')->middleware('auth:api');
Route::post('updateInfo', 'UserController@updateInfo')->middleware('auth:api');
Route::resource('Users', 'UserController');