haminjory

This commit is contained in:
saeid
2019-05-06 13:50:58 +04:30
20 changed files with 167 additions and 49 deletions
@@ -25,7 +25,7 @@ class ResetPasswordController extends Controller
if (auth('api')->check()) { if (auth('api')->check()) {
$user = auth('api')->user(); $user = auth('api')->user();
$user->password = Hash::make($request->password); $user->password = \Hash::make($request->password);
$user->save(); $user->save();
return \MessageResponse::success('Success Change Password'); return \MessageResponse::success('Success Change Password');
} }
@@ -22,8 +22,8 @@ class MedicalCenterController extends Controller
public function store(StoreMedicalCenterRequest $request) public function store(StoreMedicalCenterRequest $request)
{ {
$MedicalCenter = MedicalCenter::create($request->all()); MedicalCenter::create($request->all());
return response()->json(trans('messages.success')); return \MessageResponse::success(trans('messages.success'));
} }
public function show($id) public function show($id)
@@ -32,22 +32,24 @@ class MedicalCenterController extends Controller
// return response()->json(['MedicalCenter' => $MedicalCenter]); // return response()->json(['MedicalCenter' => $MedicalCenter]);
} }
public function edit($id) public function edit(MedicalCenter $MedicalCenter)
{ {
$MedicalCenter = MedicalCenter::with('users')->findOrFail($id); $MedicalCenter = $MedicalCenter->load('users');
return response()->json(['MedicalCenter' => $MedicalCenter]); return \MessageResponse::data($MedicalCenter);
} }
public function update(StoreMedicalCenterRequest $request, MedicalCenter $MedicalCenter) public function update(StoreMedicalCenterRequest $request, MedicalCenter $MedicalCenter)
{ {
$MedicalCenter->update($request->all()); $MedicalCenter->update($request->all());
return response()->json(trans('messages.success')); return \MessageResponse::success(trans('messages.success'));
} }
public function destroy(MedicalCenter $MedicalCenter) public function destroy(MedicalCenter $MedicalCenter)
{ {
if ($MedicalCenter->users->count() == 0) { if ($MedicalCenter->users->count() == 0) {
$MedicalCenter->delete(); $MedicalCenter->delete();
return \MessageResponse::success(trans('messages.success'));
} }
return \MessageResponse::error(trans('messages.failed'));
} }
} }
+4 -1
View File
@@ -94,7 +94,10 @@ function _asyncToGenerator(fn) { return function () { var self = this, args = ar
case 2: case 2:
result = _context.sent; result = _context.sent;
this.medicalCenter = result.data.MedicalCenter;
if (result && result.status == 200) {
this.medicalCenter = result.data.data;
}
case 4: case 4:
case "end": case "end":
+13 -5
View File
@@ -155,6 +155,8 @@ function _asyncToGenerator(fn) { return function () { var self = this, args = ar
// //
// //
// //
//
//
/* harmony default export */ __webpack_exports__["default"] = ({ /* harmony default export */ __webpack_exports__["default"] = ({
@@ -244,10 +246,15 @@ function _asyncToGenerator(fn) { return function () { var self = this, args = ar
if (result.data.data.inputs[key].type == 'Form') { if (result.data.data.inputs[key].type == 'Form') {
for (keyForm in result.data.data.inputs[key].children) { for (keyForm in result.data.data.inputs[key].children) {
if (result.data.data.inputs[key].children.hasOwnProperty(keyForm)) { if (result.data.data.inputs[key].children.hasOwnProperty(keyForm)) {
if (result.data.data.inputs[key].children[keyForm].type == 'Checkbox' || result.data.data.inputs[key].children[keyForm].type == 'Select') {
this.formData[result.data.data.inputs[key].children[keyForm].name] = [];
console.log(this.formData[result.data.data.inputs[key].children[keyForm].name]);
} else {
this.formData[result.data.data.inputs[key].children[keyForm].name] = ''; this.formData[result.data.data.inputs[key].children[keyForm].name] = '';
} }
} }
} else if (result.data.data.inputs[key].type == 'Checkbox') { }
} else if (result.data.data.inputs[key].type == 'Checkbox' || result.data.data.inputs[key].type == 'Select') {
this.formData[result.data.data.inputs[key].name] = []; this.formData[result.data.data.inputs[key].name] = [];
} else { } else {
this.formData[result.data.data.inputs[key].name] = ''; this.formData[result.data.data.inputs[key].name] = '';
@@ -288,8 +295,7 @@ function _asyncToGenerator(fn) { return function () { var self = this, args = ar
var _submitForm = _asyncToGenerator( var _submitForm = _asyncToGenerator(
/*#__PURE__*/ /*#__PURE__*/
_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_0___default.a.mark(function _callee3() { _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_0___default.a.mark(function _callee3() {
var _result2, _result3; var result;
return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_0___default.a.wrap(function _callee3$(_context3) { return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_0___default.a.wrap(function _callee3$(_context3) {
while (1) { while (1) {
switch (_context3.prev = _context3.next) { switch (_context3.prev = _context3.next) {
@@ -303,7 +309,7 @@ function _asyncToGenerator(fn) { return function () { var self = this, args = ar
return _services__WEBPACK_IMPORTED_MODULE_1__["ApiService"].put(_config_urls__WEBPACK_IMPORTED_MODULE_2__["urls"].updateTestResult(this.$route.params.testResult), this.formData); return _services__WEBPACK_IMPORTED_MODULE_1__["ApiService"].put(_config_urls__WEBPACK_IMPORTED_MODULE_2__["urls"].updateTestResult(this.$route.params.testResult), this.formData);
case 3: case 3:
_result2 = _context3.sent; result = _context3.sent;
_context3.next = 9; _context3.next = 9;
break; break;
@@ -312,7 +318,7 @@ function _asyncToGenerator(fn) { return function () { var self = this, args = ar
return _services__WEBPACK_IMPORTED_MODULE_1__["ApiService"].post(_config_urls__WEBPACK_IMPORTED_MODULE_2__["urls"].storeTestResult, this.formData); return _services__WEBPACK_IMPORTED_MODULE_1__["ApiService"].post(_config_urls__WEBPACK_IMPORTED_MODULE_2__["urls"].storeTestResult, this.formData);
case 8: case 8:
_result3 = _context3.sent; result = _context3.sent;
case 9: case 9:
if (result && result.status == 200) { if (result && result.status == 200) {
@@ -554,6 +560,7 @@ var render = function() {
item.type == "Select" item.type == "Select"
? _c("v-select", { ? _c("v-select", {
attrs: { attrs: {
multiple: "",
items: item.options, items: item.options,
label: item.name, label: item.name,
color: "black", color: "black",
@@ -645,6 +652,7 @@ var render = function() {
children.type == "Select" children.type == "Select"
? _c("v-select", { ? _c("v-select", {
attrs: { attrs: {
multiple: "",
items: children.options, items: children.options,
label: children.name, label: children.name,
color: "black", color: "black",
+26 -1
View File
@@ -109,6 +109,10 @@ function _asyncToGenerator(fn) { return function () { var self = this, args = ar
// //
// //
// //
//
//
//
//
/* harmony default export */ __webpack_exports__["default"] = ({ /* harmony default export */ __webpack_exports__["default"] = ({
@@ -410,6 +414,27 @@ var render = function() {
"td", "td",
{ staticClass: "text-xs-right" }, { staticClass: "text-xs-right" },
[ [
_c(
"v-btn",
{
staticClass: "mr-2",
attrs: { color: "cyan" }
},
[
_c(
"v-icon",
{
staticClass:
"white--text mr-1 caption"
},
[_vm._v("fas fa-pen")]
),
_vm._v(" "),
_c("span", [_vm._v("Show")])
],
1
),
_vm._v(" "),
_c( _c(
"router-link", "router-link",
{ {
@@ -425,7 +450,7 @@ var render = function() {
"v-btn", "v-btn",
{ {
staticClass: "mr-2", staticClass: "mr-2",
attrs: { color: "cyan" } attrs: { color: "orange" }
}, },
[ [
_c( _c(
+2 -2
View File
@@ -123,10 +123,10 @@ function _asyncToGenerator(fn) { return function () { var self = this, args = ar
return !!value || "Required."; return !!value || "Required.";
}, },
counter: function counter(value) { counter: function counter(value) {
return value.length == 0 || value.length >= 5 || "Min 5 characters"; return !value || value.length == 0 || value.length >= 5 || "Min 5 characters";
}, },
email: function email(value) { email: function email(value) {
if (value.length > 0) { if (value && 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,}))$/; 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."; return pattern.test(value) || "Invalid e-mail.";
} }
Vendored
+19 -1
View File
@@ -66,6 +66,8 @@ function _defineProperty(obj, key, value) { if (key in obj) { Object.definePrope
// //
// //
// //
//
//
@@ -74,6 +76,14 @@ function _defineProperty(obj, key, value) { if (key in obj) { Object.definePrope
return { return {
form: { form: {
cell_number: "" cell_number: ""
},
rules: {
required: function required(value) {
return !!value || "Required.";
},
cellNumberCounter: function cellNumberCounter(value) {
return value && value.length == 11 || "must 11 characters";
}
} }
}; };
}, },
@@ -87,9 +97,11 @@ function _defineProperty(obj, key, value) { if (key in obj) { Object.definePrope
while (1) { while (1) {
switch (_context.prev = _context.next) { switch (_context.prev = _context.next) {
case 0: case 0:
if (this.$refs.form.validate()) {
this.forgotPassword({ this.forgotPassword({
form: this.form form: this.form
}); });
}
case 1: case 1:
case "end": case "end":
@@ -127,6 +139,7 @@ var render = function() {
var _c = _vm._self._c || _h var _c = _vm._self._c || _h
return _c( return _c(
"v-form", "v-form",
{ ref: "form" },
[ [
_c( _c(
"v-container", "v-container",
@@ -159,7 +172,12 @@ var render = function() {
attrs: { attrs: {
name: "cellnumber", name: "cellnumber",
label: "Cell Number", label: "Cell Number",
color: "black" color: "black",
rules: [
_vm.rules.required,
_vm.rules.cellNumberCounter
],
mask: "#### ### ####"
}, },
model: { model: {
value: _vm.form.cell_number, value: _vm.form.cell_number,
Vendored
+26 -4
View File
@@ -68,20 +68,33 @@ function _defineProperty(obj, key, value) { if (key in obj) { Object.definePrope
// //
// //
// //
//
//
/* harmony default export */ __webpack_exports__["default"] = ({ /* harmony default export */ __webpack_exports__["default"] = ({
data: function data() { data: function data() {
return { return {
cell_number: "", cell_number: "",
password: "", password: "",
show1: false show1: false,
rules: {
required: function required(value) {
return !!value || "Required.";
},
passCounter: function passCounter(value) {
return value && value.length >= 8 || "Min 8 characters";
},
cellNumberCounter: function cellNumberCounter(value) {
return value && value.length == 11 || "must 11 characters";
}
}
}; };
}, },
computed: _objectSpread({}, Object(vuex__WEBPACK_IMPORTED_MODULE_0__["mapGetters"])('auth', ['authenticating', 'authenticationError', 'authenticationErrorCode'])), computed: _objectSpread({}, Object(vuex__WEBPACK_IMPORTED_MODULE_0__["mapGetters"])('auth', ['authenticating', 'authenticationError', 'authenticationErrorCode'])),
methods: _objectSpread({}, Object(vuex__WEBPACK_IMPORTED_MODULE_0__["mapActions"])('auth', ['login']), { methods: _objectSpread({}, Object(vuex__WEBPACK_IMPORTED_MODULE_0__["mapActions"])('auth', ['login']), {
handleSubmit: function handleSubmit() { handleSubmit: function handleSubmit() {
// Perform a simple validation that cell_number and password have been typed in // Perform a simple validation that cell_number and password have been typed in
if (this.cell_number != '' && this.password != '') { if (this.$refs.form.validate()) {
this.login({ this.login({
cell_number: this.cell_number, cell_number: this.cell_number,
password: this.password password: this.password
@@ -111,6 +124,7 @@ var render = function() {
var _c = _vm._self._c || _h var _c = _vm._self._c || _h
return _c( return _c(
"v-form", "v-form",
{ ref: "form" },
[ [
_c( _c(
"v-container", "v-container",
@@ -143,8 +157,12 @@ var render = function() {
attrs: { attrs: {
name: "cellnumber", name: "cellnumber",
label: "Cell Number", label: "Cell Number",
id: "id1", color: "black",
color: "black" rules: [
_vm.rules.required,
_vm.rules.cellNumberCounter
],
mask: "#### ### ####"
}, },
model: { model: {
value: _vm.cell_number, value: _vm.cell_number,
@@ -178,6 +196,10 @@ var render = function() {
"append-icon": _vm.show1 "append-icon": _vm.show1
? "visibility" ? "visibility"
: "visibility_off", : "visibility_off",
rules: [
_vm.rules.required,
_vm.rules.passCounter
],
color: "black" color: "black"
}, },
on: { on: {
Vendored
+3 -3
View File
@@ -120,13 +120,13 @@ function _asyncToGenerator(fn) { return function () { var self = this, args = ar
return !!value || "Required."; return !!value || "Required.";
}, },
nameCounter: function nameCounter(value) { nameCounter: function nameCounter(value) {
return value.length >= 5 || "Min 5 characters"; return value && value.length >= 5 || "Min 5 characters";
}, },
passCounter: function passCounter(value) { passCounter: function passCounter(value) {
return value.length >= 6 || "Min 6 characters"; return value && value.length >= 8 || "Min 8 characters";
}, },
cellNumberCounter: function cellNumberCounter(value) { cellNumberCounter: function cellNumberCounter(value) {
return value.length == 11 || "must 11 characters"; return value && value.length == 11 || "must 11 characters";
} }
} }
}; };
+4
View File
@@ -1,3 +1,7 @@
{ {
<<<<<<< HEAD
"/vue/js/app.js": "/vue/js/app.js?id=834d97fecc500a7e0804" "/vue/js/app.js": "/vue/js/app.js?id=834d97fecc500a7e0804"
=======
"/vue/js/app.js": "/vue/js/app.js?id=24a7b3a8d1891f421dee"
>>>>>>> d147ecaacb2020c2dedb3090eb9bcb56de3f6c95
} }
+7
View File
@@ -3366,7 +3366,11 @@ function _defineProperty(obj, key, value) { if (key in obj) { Object.definePrope
}; };
}, },
methods: _objectSpread({}, Object(vuex__WEBPACK_IMPORTED_MODULE_0__["mapActions"])('auth', ['changePassword']), { methods: _objectSpread({}, Object(vuex__WEBPACK_IMPORTED_MODULE_0__["mapActions"])('auth', ['changePassword']), {
<<<<<<< HEAD
submitVerifyCode: function submitVerifyCode() { submitVerifyCode: function submitVerifyCode() {
=======
submitChangePassword: function submitChangePassword() {
>>>>>>> d147ecaacb2020c2dedb3090eb9bcb56de3f6c95
if (this.form.code != '') { if (this.form.code != '') {
this.changePassword({ this.changePassword({
form: this.form form: this.form
@@ -63854,6 +63858,9 @@ function _asyncToGenerator(fn) { return function () { var self = this, args = ar
commit('modal/closeModal', {}, { commit('modal/closeModal', {}, {
root: true root: true
}); });
_router__WEBPACK_IMPORTED_MODULE_2__["default"].push({
name: "Dashboard"
});
} }
case 6: case 6:
@@ -51,7 +51,7 @@ export default {
...mapActions('auth', [ ...mapActions('auth', [
'changePassword' 'changePassword'
]), ]),
submitVerifyCode() { submitChangePassword() {
if (this.form.code != '') { if (this.form.code != '') {
this.changePassword({form: this.form}); this.changePassword({form: this.form});
} }
+1
View File
@@ -47,6 +47,7 @@ export default {
var response = await ApiService.post(urls.changePassword, form); var response = await ApiService.post(urls.changePassword, form);
if(response && response.status == 200 ) { if(response && response.status == 200 ) {
commit('modal/closeModal', {}, {root: true}); commit('modal/closeModal', {}, {root: true});
router.push({ name: `Dashboard` });
} }
}, },
@@ -1,5 +1,5 @@
<template> <template>
<v-form> <v-form ref="form">
<v-container grid-list-xs> <v-container grid-list-xs>
<v-layout row wrap class="justify-center"> <v-layout row wrap class="justify-center">
<v-flex xs12 md3 sm3 class="WM-WidthScreen-SM WM-WidthScreen-XS"> <v-flex xs12 md3 sm3 class="WM-WidthScreen-SM WM-WidthScreen-XS">
@@ -11,6 +11,8 @@
name="cellnumber" name="cellnumber"
label="Cell Number" label="Cell Number"
color="black" color="black"
:rules="[rules.required, rules.cellNumberCounter]"
mask="#### ### ####"
></v-text-field> ></v-text-field>
</v-flex> </v-flex>
</v-layout> </v-layout>
@@ -49,6 +51,10 @@ export default {
return { return {
form :{ form :{
cell_number: "" cell_number: ""
},
rules: {
required: value => !!value || "Required.",
cellNumberCounter: value => (value && value.length == 11) || "must 11 characters"
} }
}; };
}, },
@@ -56,8 +62,10 @@ export default {
...mapActions("auth", ["forgotPassword"]), ...mapActions("auth", ["forgotPassword"]),
// ...mapMutations("modal", ["changeCurrentModal"]), // ...mapMutations("modal", ["changeCurrentModal"]),
async handleSubmit() { async handleSubmit() {
if (this.$refs.form.validate()) {
this.forgotPassword({form : this.form}); this.forgotPassword({form : this.form});
} }
} }
}
}; };
</script> </script>
+10 -4
View File
@@ -1,5 +1,5 @@
<template> <template>
<v-form > <v-form ref="form" >
<v-container grid-list-xs> <v-container grid-list-xs>
<v-layout row wrap class="justify-center"> <v-layout row wrap class="justify-center">
<v-flex xs12 md3 sm3 class="WM-WidthScreen-SM WM-WidthScreen-XS"> <v-flex xs12 md3 sm3 class="WM-WidthScreen-SM WM-WidthScreen-XS">
@@ -12,8 +12,9 @@
v-model="cell_number" v-model="cell_number"
name="cellnumber" name="cellnumber"
label="Cell Number" label="Cell Number"
id="id1"
color="black" color="black"
:rules="[rules.required, rules.cellNumberCounter]"
mask="#### ### ####"
></v-text-field> ></v-text-field>
</v-flex> </v-flex>
</v-layout> </v-layout>
@@ -26,6 +27,7 @@
:type="show1 ? 'text' : 'password'" :type="show1 ? 'text' : 'password'"
:append-icon="show1 ? 'visibility' : 'visibility_off'" :append-icon="show1 ? 'visibility' : 'visibility_off'"
@click:append="show1 = !show1" @click:append="show1 = !show1"
:rules="[rules.required, rules.passCounter]"
color="black" color="black"
class="pa-2" class="pa-2"
></v-text-field> ></v-text-field>
@@ -60,6 +62,11 @@ export default {
cell_number: "", cell_number: "",
password: "", password: "",
show1: false, show1: false,
rules: {
required: value => !!value || "Required.",
passCounter: value => (value && value.length >= 8) || "Min 8 characters",
cellNumberCounter: value => (value && value.length == 11) || "must 11 characters"
}
}; };
}, },
computed: { computed: {
@@ -75,8 +82,7 @@ export default {
]), ]),
handleSubmit() { handleSubmit() {
// Perform a simple validation that cell_number and password have been typed in // Perform a simple validation that cell_number and password have been typed in
if (this.cell_number != '' && this.password != '') { if (this.$refs.form.validate()) {
this.login({cell_number: this.cell_number, password: this.password}); this.login({cell_number: this.cell_number, password: this.password});
this.password = ""; this.password = "";
} }
+3 -3
View File
@@ -101,9 +101,9 @@ export default {
isLogin: TokenService.getInfo(), isLogin: TokenService.getInfo(),
rules: { rules: {
required: value => !!value || "Required.", required: value => !!value || "Required.",
nameCounter: value => value.length >= 5 || "Min 5 characters", nameCounter: value => (value && value.length >= 5) || "Min 5 characters",
passCounter: value => value.length >= 6 || "Min 6 characters", passCounter: value => (value && value.length >= 8) || "Min 8 characters",
cellNumberCounter: value => value.length == 11 || "must 11 characters" cellNumberCounter: value => (value && value.length == 11) || "must 11 characters"
} }
}; };
}, },
@@ -58,7 +58,9 @@ export default {
methods: { methods: {
async load(id) { async load(id) {
const result = await ApiService.get(urls.editMedicalCenter(id)); const result = await ApiService.get(urls.editMedicalCenter(id));
this.medicalCenter = result.data.MedicalCenter; if (result && result.status == 200) {
this.medicalCenter = result.data.data;
}
}, },
async AddMedicalCenter() { async AddMedicalCenter() {
if (this.$refs.form.validate()) { if (this.$refs.form.validate()) {
+11 -3
View File
@@ -63,6 +63,7 @@
color="black" color="black"
></v-text-field> ></v-text-field>
<v-select <v-select
multiple
v-if="item.type == 'Select'" v-if="item.type == 'Select'"
:items="item.options" :items="item.options"
v-model="formData[item.name]" v-model="formData[item.name]"
@@ -92,6 +93,7 @@
color="black" color="black"
></v-text-field> ></v-text-field>
<v-select <v-select
multiple
v-if="children.type == 'Select'" v-if="children.type == 'Select'"
:items="children.options" :items="children.options"
v-model="formData[children.name]" v-model="formData[children.name]"
@@ -177,10 +179,15 @@ export default {
if(result.data.data.inputs[key].type == 'Form') { if(result.data.data.inputs[key].type == 'Form') {
for (const keyForm in result.data.data.inputs[key].children) { for (const keyForm in result.data.data.inputs[key].children) {
if (result.data.data.inputs[key].children.hasOwnProperty(keyForm)) { if (result.data.data.inputs[key].children.hasOwnProperty(keyForm)) {
if (result.data.data.inputs[key].children[keyForm].type == 'Checkbox' || result.data.data.inputs[key].children[keyForm].type == 'Select' ) {
this.formData[result.data.data.inputs[key].children[keyForm].name] = [];
console.log(this.formData[result.data.data.inputs[key].children[keyForm].name]);
} else {
this.formData[result.data.data.inputs[key].children[keyForm].name] = ''; this.formData[result.data.data.inputs[key].children[keyForm].name] = '';
} }
} }
} else if(result.data.data.inputs[key].type == 'Checkbox') { }
} else if(result.data.data.inputs[key].type == 'Checkbox' || result.data.data.inputs[key].type == 'Select') {
this.formData[result.data.data.inputs[key].name] = []; this.formData[result.data.data.inputs[key].name] = [];
} else { } else {
this.formData[result.data.data.inputs[key].name] = ''; this.formData[result.data.data.inputs[key].name] = '';
@@ -196,10 +203,11 @@ export default {
} }
}, },
async submitForm() { async submitForm() {
let result;
if (this.$route.params.testResult) { if (this.$route.params.testResult) {
const result = await ApiService.put(urls.updateTestResult(this.$route.params.testResult), this.formData); result = await ApiService.put(urls.updateTestResult(this.$route.params.testResult), this.formData);
} else { } else {
const result = await ApiService.post(urls.storeTestResult, this.formData); result = await ApiService.post(urls.storeTestResult, this.formData);
} }
if (result && result.status == 200) { if (result && result.status == 200) {
+5 -1
View File
@@ -55,8 +55,12 @@
<td class="title font-weight-light">{{ item.result }}</td> <td class="title font-weight-light">{{ item.result }}</td>
<td class="title font-weight-light">{{ item.created_at }}</td> <td class="title font-weight-light">{{ item.created_at }}</td>
<td class="text-xs-right"> <td class="text-xs-right">
<router-link :to="{name: 'EditTestResult', params: {testResult: item.id}}">
<v-btn color="cyan" class="mr-2" > <v-btn color="cyan" class="mr-2" >
<v-icon class="white--text mr-1 caption">fas fa-pen</v-icon>
<span>Show</span>
</v-btn>
<router-link :to="{name: 'EditTestResult', params: {testResult: item.id}}">
<v-btn color="orange" class="mr-2">
<v-icon class="white--text mr-1 caption">fas fa-pen</v-icon> <v-icon class="white--text mr-1 caption">fas fa-pen</v-icon>
<span>Edit</span> <span>Edit</span>
</v-btn> </v-btn>
+2 -2
View File
@@ -101,9 +101,9 @@ export default {
rules: { rules: {
required: value => !!value || "Required.", required: value => !!value || "Required.",
counter: value => counter: value =>
value.length == 0 || value.length >= 5 || "Min 5 characters", !value || value.length == 0 || value.length >= 5 || "Min 5 characters",
email: value => { email: value => {
if (value.length > 0) { if (value && 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,}))$/; 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."; return pattern.test(value) || "Invalid e-mail.";
} }