Edit MedicalCenter

This commit is contained in:
saeid_01
2019-04-21 01:13:16 +04:30
parent 5831a29686
commit fde21eeaa0
14 changed files with 2278 additions and 1617 deletions
@@ -11,8 +11,8 @@ class MedicalCenterController extends Controller
{ {
public function index() public function index()
{ {
$MedicalCenters = MedicalCenter::with('users')->paginate(10); $MedicalCenters = MedicalCenter::withCount('users')->paginate(10);
return response()->json(['MedicalCenters' => $MedicalCenters, 'LastPage' => $MedicalCenters->lastPage()]); return response()->json(['MedicalCenters' => $MedicalCenters]);
} }
public function create() public function create()
@@ -44,8 +44,10 @@ class MedicalCenterController extends Controller
return response()->json(trans('messages.success')); return response()->json(trans('messages.success'));
} }
public function destroy($id) public function destroy(MedicalCenter $MedicalCenter)
{ {
// if ($MedicalCenter->users->count() == 0) {
$MedicalCenter->delete();
}
} }
} }
+17 -8
View File
@@ -5,20 +5,21 @@ namespace App\Http\Controllers;
use Illuminate\Http\Request; use Illuminate\Http\Request;
use App\Http\Requests\StoreUserRequest; use App\Http\Requests\StoreUserRequest;
use App\User; use App\User;
use App\MedicalCenter;
class UserController extends Controller class UserController extends Controller
{ {
public function index(Request $request) public function index(Request $request)
{ {
$Users = User::where('medicalcenter',$request->medical_center_id)->paginate(10); $Users = User::where('medicalcenter', $request->medical_center_id)->paginate(10);
return response()->json(['Users' => $Users, 'LastPage' => $Users->lastPage()]); return response()->json(['Users' => $Users, 'LastPage' => $Users->lastPage()]);
} }
public function store(StoreUserRequest $request) public function store(StoreUserRequest $request)
{ {
$UserData = [ $UserData = [
'name' => $request->name , 'name' => $request->name,
'cell_number' => $request->cell_number , 'cell_number' => $request->cell_number,
'medical_center_id' => $request->medical_center_id , 'medical_center_id' => $request->medical_center_id,
'status' => 'PreRegister', 'status' => 'PreRegister',
'verified' => 1, 'verified' => 1,
'password' => bcrypt($request->password), 'password' => bcrypt($request->password),
@@ -34,9 +35,9 @@ class UserController extends Controller
public function update(StoreUserRequest $request, User $User) public function update(StoreUserRequest $request, User $User)
{ {
$UserData = [ $UserData = [
'name' => $request->name , 'name' => $request->name,
'cell_number' => $request->cell_number , 'cell_number' => $request->cell_number,
'medical_center_id' => $request->medical_center_id , 'medical_center_id' => $request->medical_center_id,
'status' => 'PreRegister', 'status' => 'PreRegister',
'verified' => 1, 'verified' => 1,
'password' => bcrypt($request->password), 'password' => bcrypt($request->password),
@@ -49,6 +50,14 @@ class UserController extends Controller
if (auth('api')->user()->can('delete', $User)) { if (auth('api')->user()->can('delete', $User)) {
return response()->json(trans('messages.failed')); return response()->json(trans('messages.failed'));
} }
$User->delete();//????????????????? $User->delete(); //?????????????????
}
public function getByMedicalCenter(MedicalCenter $MedicalCenter)
{
$MedicalCenter = $MedicalCenter->load(['users' => function ($query) {
return $query->select(['id', 'medical_center_id', 'name', 'cell_number']);
}, 'users.roles']);
return response()->json($MedicalCenter, 200);
} }
} }
+2 -2
View File
@@ -6,11 +6,11 @@ use Illuminate\Notifications\Notifiable;
use Illuminate\Contracts\Auth\MustVerifyEmail; use Illuminate\Contracts\Auth\MustVerifyEmail;
use Illuminate\Foundation\Auth\User as Authenticatable; use Illuminate\Foundation\Auth\User as Authenticatable;
use Laravel\Passport\HasApiTokens; use Laravel\Passport\HasApiTokens;
use Spatie\Permission\Traits\HasRoles;
class User extends Authenticatable class User extends Authenticatable
{ {
use Notifiable, HasApiTokens; use Notifiable, HasApiTokens, HasRoles;
/** /**
* The attributes that are mass assignable. * The attributes that are mass assignable.
* *
Vendored
+739 -553
View File
File diff suppressed because it is too large Load Diff
+91 -88
View File
@@ -9,6 +9,15 @@
"use strict"; "use strict";
__webpack_require__.r(__webpack_exports__); __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); }); }; }
// //
// //
// //
@@ -71,89 +80,78 @@ __webpack_require__.r(__webpack_exports__);
// //
// //
// //
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
/* harmony default export */ __webpack_exports__["default"] = ({ /* harmony default export */ __webpack_exports__["default"] = ({
data: function data() { data: function data() {
return { return {
headers: [{ headers: [{
sortable: false, sortable: false,
text: 'Operator Name', text: "Operator Name",
value: 'name' value: "name"
}, { }, {
sortable: false, sortable: false,
text: 'Role', text: "Role",
value: 'role' value: "role"
}, { }, {
sortable: false, sortable: false,
text: 'Medical Center', text: "Number",
value: 'medicalcenter' value: "number"
}, { }, {
sortable: false, sortable: false,
text: 'Number', text: "Action",
value: 'number' value: "action",
}, { align: "right"
sortable: false,
text: 'Action',
value: 'action',
align: 'right'
}], }],
items: [{ items: [],
name: 'Saeed Khakbazan', name: ''
role: 'Admin',
medicalcenter: 'Emam Reza',
number: '09120000',
action: ''
}, {
name: 'Fatemeh Shokouhi',
role: 'SuperAdmin',
medicalcenter: 'Shahid Beheshti',
number: '09125555',
action: ''
}, {
name: 'Fatemeh Fayyazi',
role: 'SuperVisior',
medicalcenter: 'Emam Reza',
number: '09123333',
action: ''
}]
}; };
},
created: function created() {
if (this.$route.params.medicalCenter) {
this.load(this.$route.params.medicalCenter);
}
},
methods: {
load: function () {
var _load = _asyncToGenerator(
/*#__PURE__*/
_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_0___default.a.mark(function _callee(medicalCenterId) {
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:
_context.next = 2;
return _services__WEBPACK_IMPORTED_MODULE_1__["ApiService"].get("Users/".concat(medicalCenterId, "/MedicalCenter"));
case 2:
result = _context.sent;
this.items = result.data.users;
this.name = result.data.name;
case 5:
case "end":
return _context.stop();
}
}
}, _callee, this);
}));
function load(_x) {
return _load.apply(this, arguments);
}
return load;
}()
} }
}); });
/***/ }), /***/ }),
/***/ "./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./resources/js/vue/views/OperatorList.vue?vue&type=template&id=bdf7baac&scoped=true&": /***/ "./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./resources/js/vue/views/OperatorList.vue?vue&type=template&id=bdf7baac&":
/*!**************************************************************************************************************************************************************************************************************************!*\ /*!**************************************************************************************************************************************************************************************************************!*\
!*** ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./resources/js/vue/views/OperatorList.vue?vue&type=template&id=bdf7baac&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/OperatorList.vue?vue&type=template&id=bdf7baac& ***!
\**************************************************************************************************************************************************************************************************************************/ \**************************************************************************************************************************************************************************************************************/
/*! exports provided: render, staticRenderFns */ /*! exports provided: render, staticRenderFns */
/***/ (function(module, __webpack_exports__, __webpack_require__) { /***/ (function(module, __webpack_exports__, __webpack_require__) {
@@ -171,7 +169,13 @@ var render = function() {
[ [
_c( _c(
"material-card", "material-card",
{ attrs: { color: "black", title: "Operator List", text: "" } }, {
attrs: {
color: "black",
title: "Operator List " + _vm.name,
text: ""
}
},
[ [
_c( _c(
"v-layout", "v-layout",
@@ -201,8 +205,8 @@ var render = function() {
_c("v-text-field", { _c("v-text-field", {
staticClass: "pa-2", staticClass: "pa-2",
attrs: { attrs: {
name: "Number", name: "cell_number",
label: "Number", label: "Cell Number",
color: "black", color: "black",
id: "id" id: "id"
} }
@@ -294,19 +298,18 @@ var render = function() {
_c( _c(
"td", "td",
{ staticClass: "title font-weight-light" }, { staticClass: "title font-weight-light" },
[_vm._v(_vm._s(item.role))] _vm._l(item.roles, function(key, role) {
return _c("span", { key: key }, [
_vm._v(_vm._s(role))
])
}),
0
), ),
_vm._v(" "), _vm._v(" "),
_c( _c(
"td", "td",
{ staticClass: "title font-weight-light" }, { staticClass: "title font-weight-light" },
[_vm._v(_vm._s(item.medicalcenter))] [_vm._v(_vm._s(item.cell_number))]
),
_vm._v(" "),
_c(
"td",
{ staticClass: "title font-weight-light" },
[_vm._v(_vm._s(item.number))]
), ),
_vm._v(" "), _vm._v(" "),
_c( _c(
@@ -364,7 +367,7 @@ var render = function() {
_c( _c(
"v-btn", "v-btn",
{ {
staticClass: " WM-ActionButton", staticClass: "WM-ActionButton",
attrs: { color: "pink" } attrs: { color: "pink" }
}, },
[ [
@@ -461,7 +464,7 @@ render._withStripped = true
"use strict"; "use strict";
__webpack_require__.r(__webpack_exports__); __webpack_require__.r(__webpack_exports__);
/* harmony import */ var _OperatorList_vue_vue_type_template_id_bdf7baac_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./OperatorList.vue?vue&type=template&id=bdf7baac&scoped=true& */ "./resources/js/vue/views/OperatorList.vue?vue&type=template&id=bdf7baac&scoped=true&"); /* harmony import */ var _OperatorList_vue_vue_type_template_id_bdf7baac___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./OperatorList.vue?vue&type=template&id=bdf7baac& */ "./resources/js/vue/views/OperatorList.vue?vue&type=template&id=bdf7baac&");
/* harmony import */ var _OperatorList_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./OperatorList.vue?vue&type=script&lang=js& */ "./resources/js/vue/views/OperatorList.vue?vue&type=script&lang=js&"); /* harmony import */ var _OperatorList_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./OperatorList.vue?vue&type=script&lang=js& */ "./resources/js/vue/views/OperatorList.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"); /* 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");
@@ -473,11 +476,11 @@ __webpack_require__.r(__webpack_exports__);
var component = Object(_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__["default"])( var component = Object(_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__["default"])(
_OperatorList_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__["default"], _OperatorList_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__["default"],
_OperatorList_vue_vue_type_template_id_bdf7baac_scoped_true___WEBPACK_IMPORTED_MODULE_0__["render"], _OperatorList_vue_vue_type_template_id_bdf7baac___WEBPACK_IMPORTED_MODULE_0__["render"],
_OperatorList_vue_vue_type_template_id_bdf7baac_scoped_true___WEBPACK_IMPORTED_MODULE_0__["staticRenderFns"], _OperatorList_vue_vue_type_template_id_bdf7baac___WEBPACK_IMPORTED_MODULE_0__["staticRenderFns"],
false, false,
null, null,
"bdf7baac", null,
null null
) )
@@ -503,19 +506,19 @@ __webpack_require__.r(__webpack_exports__);
/***/ }), /***/ }),
/***/ "./resources/js/vue/views/OperatorList.vue?vue&type=template&id=bdf7baac&scoped=true&": /***/ "./resources/js/vue/views/OperatorList.vue?vue&type=template&id=bdf7baac&":
/*!********************************************************************************************!*\ /*!********************************************************************************!*\
!*** ./resources/js/vue/views/OperatorList.vue?vue&type=template&id=bdf7baac&scoped=true& ***! !*** ./resources/js/vue/views/OperatorList.vue?vue&type=template&id=bdf7baac& ***!
\********************************************************************************************/ \********************************************************************************/
/*! exports provided: render, staticRenderFns */ /*! exports provided: render, staticRenderFns */
/***/ (function(module, __webpack_exports__, __webpack_require__) { /***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict"; "use strict";
__webpack_require__.r(__webpack_exports__); __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_OperatorList_vue_vue_type_template_id_bdf7baac_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!./OperatorList.vue?vue&type=template&id=bdf7baac&scoped=true& */ "./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./resources/js/vue/views/OperatorList.vue?vue&type=template&id=bdf7baac&scoped=true&"); /* harmony import */ var _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_OperatorList_vue_vue_type_template_id_bdf7baac___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!./OperatorList.vue?vue&type=template&id=bdf7baac& */ "./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./resources/js/vue/views/OperatorList.vue?vue&type=template&id=bdf7baac&");
/* 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_OperatorList_vue_vue_type_template_id_bdf7baac_scoped_true___WEBPACK_IMPORTED_MODULE_0__["render"]; }); /* 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_OperatorList_vue_vue_type_template_id_bdf7baac___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_OperatorList_vue_vue_type_template_id_bdf7baac_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_OperatorList_vue_vue_type_template_id_bdf7baac___WEBPACK_IMPORTED_MODULE_0__["staticRenderFns"]; });
+429 -719
View File
File diff suppressed because one or more lines are too long
+692
View File
@@ -0,0 +1,692 @@
(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[24],{
/***/ "./node_modules/babel-loader/lib/index.js?!./node_modules/vue-loader/lib/index.js?!./resources/js/vue/views/ManageMedicalCenter.vue?vue&type=script&lang=js&":
/*!*****************************************************************************************************************************************************************************!*\
!*** ./node_modules/babel-loader/lib??ref--4-0!./node_modules/vue-loader/lib??vue-loader-options!./resources/js/vue/views/ManageMedicalCenter.vue?vue&type=script&lang=js& ***!
\*****************************************************************************************************************************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"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");
/* 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); } }
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); }); }; }
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
/* harmony default export */ __webpack_exports__["default"] = ({
data: function data() {
return {
headers: [{
sortable: false,
text: "Hospital Name",
value: "name"
}, {
sortable: false,
text: "Date",
value: "date"
}, {
sortable: false,
text: "Operator",
value: "operator"
}, {
sortable: false,
text: "Action",
value: "action",
align: "right"
}],
items: [],
currentPage: 1,
lastPage: 1
};
},
created: function created() {
this.getData();
},
methods: {
getData: function () {
var _getData = _asyncToGenerator(
/*#__PURE__*/
_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_0___default.a.mark(function _callee() {
var page,
result,
_args = arguments;
return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_0___default.a.wrap(function _callee$(_context) {
while (1) {
switch (_context.prev = _context.next) {
case 0:
page = _args.length > 0 && _args[0] !== undefined ? _args[0] : 1;
_context.next = 3;
return _services__WEBPACK_IMPORTED_MODULE_1__["ApiService"].get("MedicalCenters?page=" + page);
case 3:
result = _context.sent;
this.items = result.data.MedicalCenters.data;
this.currentPage = result.data.MedicalCenters.current_page;
this.lastPage = result.data.MedicalCenters.last_page;
case 7:
case "end":
return _context.stop();
}
}
}, _callee, this);
}));
function getData() {
return _getData.apply(this, arguments);
}
return getData;
}(),
remove: function () {
var _remove = _asyncToGenerator(
/*#__PURE__*/
_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_0___default.a.mark(function _callee2(id) {
var result, key;
return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_0___default.a.wrap(function _callee2$(_context2) {
while (1) {
switch (_context2.prev = _context2.next) {
case 0:
_context2.next = 2;
return _services__WEBPACK_IMPORTED_MODULE_1__["ApiService"].delete("MedicalCenters/" + id);
case 2:
result = _context2.sent;
if (result.status == 200) {
for (key in this.items) {
if (this.items.hasOwnProperty(key) && this.items[key].id == id) {
this.items.splice(key, 1);
}
}
}
case 4:
case "end":
return _context2.stop();
}
}
}, _callee2, this);
}));
function remove(_x) {
return _remove.apply(this, arguments);
}
return remove;
}()
},
watch: {
currentPage: function currentPage(page) {
this.getData(page);
}
}
});
/***/ }),
/***/ "./node_modules/css-loader/dist/cjs.js?!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src/index.js?!./node_modules/vue-loader/lib/index.js?!./resources/js/vue/views/ManageMedicalCenter.vue?vue&type=style&index=0&id=1305c16e&lang=css&scoped=true&":
/*!************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
!*** ./node_modules/css-loader/dist/cjs.js??ref--5-1!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src??ref--5-2!./node_modules/vue-loader/lib??vue-loader-options!./resources/js/vue/views/ManageMedicalCenter.vue?vue&type=style&index=0&id=1305c16e&lang=css&scoped=true& ***!
\************************************************************************************************************************************************************************************************************************************************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
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] {\n padding: 8px 22px;\n}\n", ""]);
/***/ }),
/***/ "./node_modules/style-loader/index.js!./node_modules/css-loader/dist/cjs.js?!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src/index.js?!./node_modules/vue-loader/lib/index.js?!./resources/js/vue/views/ManageMedicalCenter.vue?vue&type=style&index=0&id=1305c16e&lang=css&scoped=true&":
/*!****************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
!*** ./node_modules/style-loader!./node_modules/css-loader/dist/cjs.js??ref--5-1!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src??ref--5-2!./node_modules/vue-loader/lib??vue-loader-options!./resources/js/vue/views/ManageMedicalCenter.vue?vue&type=style&index=0&id=1305c16e&lang=css&scoped=true& ***!
\****************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
var content = __webpack_require__(/*! !../../../../node_modules/css-loader/dist/cjs.js??ref--5-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src??ref--5-2!../../../../node_modules/vue-loader/lib??vue-loader-options!./ManageMedicalCenter.vue?vue&type=style&index=0&id=1305c16e&lang=css&scoped=true& */ "./node_modules/css-loader/dist/cjs.js?!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src/index.js?!./node_modules/vue-loader/lib/index.js?!./resources/js/vue/views/ManageMedicalCenter.vue?vue&type=style&index=0&id=1305c16e&lang=css&scoped=true&");
if(typeof content === 'string') content = [[module.i, content, '']];
var transform;
var insertInto;
var options = {"hmr":true}
options.transform = transform
options.insertInto = undefined;
var update = __webpack_require__(/*! ../../../../node_modules/style-loader/lib/addStyles.js */ "./node_modules/style-loader/lib/addStyles.js")(content, options);
if(content.locals) module.exports = content.locals;
if(false) {}
/***/ }),
/***/ "./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./resources/js/vue/views/ManageMedicalCenter.vue?vue&type=template&id=1305c16e&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/ManageMedicalCenter.vue?vue&type=template&id=1305c16e&scoped=true& ***!
\*********************************************************************************************************************************************************************************************************************************/
/*! exports provided: render, staticRenderFns */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "render", function() { return render; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return staticRenderFns; });
var render = function() {
var _vm = this
var _h = _vm.$createElement
var _c = _vm._self._c || _h
return _c(
"v-container",
{ attrs: { fluid: "" } },
[
_c(
"material-card",
{ attrs: { color: "black", title: "Medical Centers List", text: "" } },
[
_c(
"v-layout",
{ staticClass: "px-5 mb-3", attrs: { wrap: "" } },
[
_c(
"v-flex",
{ attrs: { xs12: "", md3: "", sm3: "" } },
[
_c("v-text-field", {
attrs: { label: "Name", color: "black" }
})
],
1
),
_vm._v(" "),
_c(
"v-flex",
{
staticClass: "text-xs-right",
attrs: { xs12: "", md2: "", sm2: "" }
},
[
_c(
"v-btn",
{
staticClass: "WM-CyanBlueGradient-BG",
staticStyle: { padding: "10px 60px" }
},
[
_c(
"v-icon",
{ staticClass: "white--text mr-2 caption" },
[_vm._v("fas fa-search")]
),
_vm._v(" "),
_c("span", { staticClass: "white--text" }, [
_vm._v("Filter")
])
],
1
)
],
1
),
_vm._v(" "),
_c("v-spacer"),
_vm._v(" "),
_c(
"v-flex",
{
staticClass: "text-xs-right",
attrs: { xs12: "", md2: "", sm2: "" }
},
[
_c(
"router-link",
{ attrs: { to: "/add-medical-center" } },
[
_c(
"v-btn",
{
staticClass:
"WM-NoShadow WM-Outline-Btn WM-Border WM-Border-Black"
},
[
_c(
"v-icon",
{ staticClass: "black--text mr-2 caption" },
[_vm._v("fas fa-plus")]
),
_vm._v(" "),
_c("span", { staticClass: "black--text" }, [
_vm._v("Add")
])
],
1
)
],
1
)
],
1
)
],
1
),
_vm._v(" "),
_c("v-layout", { staticClass: "px-4 my-3" }, [_c("v-divider")], 1),
_vm._v(" "),
_c(
"v-layout",
{
staticClass: "px-5 mt-3",
attrs: { "align-center": "", "justify-center": "", wrap: "" }
},
[
_c(
"v-flex",
{ attrs: { md12: "" } },
[
_c("v-data-table", {
attrs: {
headers: _vm.headers,
items: _vm.items,
"hide-actions": ""
},
scopedSlots: _vm._u([
{
key: "headerCell",
fn: function(ref) {
var header = ref.header
return [
_c("span", {
staticClass:
"subheading font-weight-light text-white text--darken-3",
domProps: { textContent: _vm._s(header.text) }
})
]
}
},
{
key: "items",
fn: function(ref) {
var item = ref.item
return [
_c(
"td",
{ staticClass: "headline font-weight-light" },
[_vm._v(_vm._s(item.name))]
),
_vm._v(" "),
_c(
"td",
{ staticClass: "title font-weight-light" },
[_vm._v(_vm._s(item.created_at))]
),
_vm._v(" "),
_c(
"td",
{ staticClass: "title font-weight-light" },
[_vm._v(_vm._s(item.users_count) + " Operator")]
),
_vm._v(" "),
_c(
"td",
{ staticClass: "text-xs-right" },
[
_c(
"router-link",
{
attrs: {
to: "/medical-center/" + item.id + "/edit"
}
},
[
_c(
"v-btn",
{
staticClass: "mr-2 WM-ActionButton",
attrs: { color: "cyan" }
},
[
_c(
"v-icon",
{
staticClass:
"white--text mr-2 caption"
},
[_vm._v("fas fa-pen")]
),
_vm._v(" "),
_c("span", [_vm._v("Edit")])
],
1
)
],
1
),
_vm._v(" "),
_c(
"router-link",
{
attrs: { to: "/operator-list/" + item.id }
},
[
_c(
"v-btn",
{
staticClass: "mr-2 WM-ActionButton",
attrs: { color: "orange darken-1" }
},
[
_c(
"v-icon",
{
staticClass:
"white--text mr-2 caption"
},
[_vm._v("fas fa-user")]
),
_vm._v(" "),
_c("span", [_vm._v("Operator")])
],
1
)
],
1
),
_vm._v(" "),
_c(
"v-btn",
{
staticClass: "WM-ActionButton",
attrs: { color: "pink" },
on: {
click: function($event) {
return _vm.remove(item.id)
}
}
},
[
_c(
"v-icon",
{
staticClass: "white--text mr-2 caption"
},
[_vm._v("fas fa-times")]
),
_vm._v(" "),
_c("span", [_vm._v("Remove")])
],
1
)
],
1
)
]
}
}
])
})
],
1
)
],
1
),
_vm._v(" "),
_c("v-divider"),
_vm._v(" "),
_c(
"div",
{ staticClass: "text-xs-center" },
[
_c("v-pagination", {
attrs: { length: _vm.lastPage, "total-visible": 6 },
model: {
value: _vm.currentPage,
callback: function($$v) {
_vm.currentPage = $$v
},
expression: "currentPage"
}
})
],
1
),
_vm._v(" "),
_c(
"v-layout",
{
staticClass: "mt-3",
attrs: {
row: "",
wrap: "",
"align-center": "",
"justify-center": ""
}
},
[
_c(
"router-link",
{ attrs: { to: "/dashboard" } },
[
_c(
"v-btn",
{
staticClass:
"WM-NoShadow WM-Outline-Btn WM-Border WM-Border-Black ml-5"
},
[
_c(
"v-icon",
{ staticClass: "black--text mr-2 caption" },
[_vm._v("fas fa-chevron-left")]
),
_vm._v(" "),
_c("span", { staticClass: "black--text" }, [
_vm._v("Back")
])
],
1
)
],
1
)
],
1
)
],
1
)
],
1
)
}
var staticRenderFns = []
render._withStripped = true
/***/ }),
/***/ "./resources/js/vue/views/ManageMedicalCenter.vue":
/*!********************************************************!*\
!*** ./resources/js/vue/views/ManageMedicalCenter.vue ***!
\********************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var _ManageMedicalCenter_vue_vue_type_template_id_1305c16e_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./ManageMedicalCenter.vue?vue&type=template&id=1305c16e&scoped=true& */ "./resources/js/vue/views/ManageMedicalCenter.vue?vue&type=template&id=1305c16e&scoped=true&");
/* harmony import */ var _ManageMedicalCenter_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./ManageMedicalCenter.vue?vue&type=script&lang=js& */ "./resources/js/vue/views/ManageMedicalCenter.vue?vue&type=script&lang=js&");
/* empty/unused harmony star reexport *//* harmony import */ var _ManageMedicalCenter_vue_vue_type_style_index_0_id_1305c16e_lang_css_scoped_true___WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./ManageMedicalCenter.vue?vue&type=style&index=0&id=1305c16e&lang=css&scoped=true& */ "./resources/js/vue/views/ManageMedicalCenter.vue?vue&type=style&index=0&id=1305c16e&lang=css&scoped=true&");
/* harmony import */ var _node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js */ "./node_modules/vue-loader/lib/runtime/componentNormalizer.js");
/* normalize component */
var component = Object(_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__["default"])(
_ManageMedicalCenter_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__["default"],
_ManageMedicalCenter_vue_vue_type_template_id_1305c16e_scoped_true___WEBPACK_IMPORTED_MODULE_0__["render"],
_ManageMedicalCenter_vue_vue_type_template_id_1305c16e_scoped_true___WEBPACK_IMPORTED_MODULE_0__["staticRenderFns"],
false,
null,
"1305c16e",
null
)
/* hot reload */
if (false) { var api; }
component.options.__file = "resources/js/vue/views/ManageMedicalCenter.vue"
/* harmony default export */ __webpack_exports__["default"] = (component.exports);
/***/ }),
/***/ "./resources/js/vue/views/ManageMedicalCenter.vue?vue&type=script&lang=js&":
/*!*********************************************************************************!*\
!*** ./resources/js/vue/views/ManageMedicalCenter.vue?vue&type=script&lang=js& ***!
\*********************************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var _node_modules_babel_loader_lib_index_js_ref_4_0_node_modules_vue_loader_lib_index_js_vue_loader_options_ManageMedicalCenter_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../node_modules/babel-loader/lib??ref--4-0!../../../../node_modules/vue-loader/lib??vue-loader-options!./ManageMedicalCenter.vue?vue&type=script&lang=js& */ "./node_modules/babel-loader/lib/index.js?!./node_modules/vue-loader/lib/index.js?!./resources/js/vue/views/ManageMedicalCenter.vue?vue&type=script&lang=js&");
/* empty/unused harmony star reexport */ /* harmony default export */ __webpack_exports__["default"] = (_node_modules_babel_loader_lib_index_js_ref_4_0_node_modules_vue_loader_lib_index_js_vue_loader_options_ManageMedicalCenter_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__["default"]);
/***/ }),
/***/ "./resources/js/vue/views/ManageMedicalCenter.vue?vue&type=style&index=0&id=1305c16e&lang=css&scoped=true&":
/*!*****************************************************************************************************************!*\
!*** ./resources/js/vue/views/ManageMedicalCenter.vue?vue&type=style&index=0&id=1305c16e&lang=css&scoped=true& ***!
\*****************************************************************************************************************/
/*! no static exports found */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var _node_modules_style_loader_index_js_node_modules_css_loader_dist_cjs_js_ref_5_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_5_2_node_modules_vue_loader_lib_index_js_vue_loader_options_ManageMedicalCenter_vue_vue_type_style_index_0_id_1305c16e_lang_css_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../node_modules/style-loader!../../../../node_modules/css-loader/dist/cjs.js??ref--5-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src??ref--5-2!../../../../node_modules/vue-loader/lib??vue-loader-options!./ManageMedicalCenter.vue?vue&type=style&index=0&id=1305c16e&lang=css&scoped=true& */ "./node_modules/style-loader/index.js!./node_modules/css-loader/dist/cjs.js?!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src/index.js?!./node_modules/vue-loader/lib/index.js?!./resources/js/vue/views/ManageMedicalCenter.vue?vue&type=style&index=0&id=1305c16e&lang=css&scoped=true&");
/* harmony import */ var _node_modules_style_loader_index_js_node_modules_css_loader_dist_cjs_js_ref_5_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_5_2_node_modules_vue_loader_lib_index_js_vue_loader_options_ManageMedicalCenter_vue_vue_type_style_index_0_id_1305c16e_lang_css_scoped_true___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_index_js_node_modules_css_loader_dist_cjs_js_ref_5_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_5_2_node_modules_vue_loader_lib_index_js_vue_loader_options_ManageMedicalCenter_vue_vue_type_style_index_0_id_1305c16e_lang_css_scoped_true___WEBPACK_IMPORTED_MODULE_0__);
/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _node_modules_style_loader_index_js_node_modules_css_loader_dist_cjs_js_ref_5_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_5_2_node_modules_vue_loader_lib_index_js_vue_loader_options_ManageMedicalCenter_vue_vue_type_style_index_0_id_1305c16e_lang_css_scoped_true___WEBPACK_IMPORTED_MODULE_0__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _node_modules_style_loader_index_js_node_modules_css_loader_dist_cjs_js_ref_5_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_5_2_node_modules_vue_loader_lib_index_js_vue_loader_options_ManageMedicalCenter_vue_vue_type_style_index_0_id_1305c16e_lang_css_scoped_true___WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));
/* harmony default export */ __webpack_exports__["default"] = (_node_modules_style_loader_index_js_node_modules_css_loader_dist_cjs_js_ref_5_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_5_2_node_modules_vue_loader_lib_index_js_vue_loader_options_ManageMedicalCenter_vue_vue_type_style_index_0_id_1305c16e_lang_css_scoped_true___WEBPACK_IMPORTED_MODULE_0___default.a);
/***/ }),
/***/ "./resources/js/vue/views/ManageMedicalCenter.vue?vue&type=template&id=1305c16e&scoped=true&":
/*!***************************************************************************************************!*\
!*** ./resources/js/vue/views/ManageMedicalCenter.vue?vue&type=template&id=1305c16e&scoped=true& ***!
\***************************************************************************************************/
/*! 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_ManageMedicalCenter_vue_vue_type_template_id_1305c16e_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!./ManageMedicalCenter.vue?vue&type=template&id=1305c16e&scoped=true& */ "./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./resources/js/vue/views/ManageMedicalCenter.vue?vue&type=template&id=1305c16e&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_ManageMedicalCenter_vue_vue_type_template_id_1305c16e_scoped_true___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_ManageMedicalCenter_vue_vue_type_template_id_1305c16e_scoped_true___WEBPACK_IMPORTED_MODULE_0__["staticRenderFns"]; });
/***/ })
}]);
Vendored
+106 -36
View File
@@ -51,12 +51,20 @@ function _asyncToGenerator(fn) { return function () { var self = this, args = ar
// //
// //
// //
//
//
//
//
//
//
/* harmony default export */ __webpack_exports__["default"] = ({ /* harmony default export */ __webpack_exports__["default"] = ({
data: function data() { data: function data() {
return { return {
name: "", medicalCenter: {
name: ""
},
rules: { rules: {
required: function required(value) { required: function required(value) {
return !!value || "Required."; return !!value || "Required.";
@@ -67,37 +75,29 @@ function _asyncToGenerator(fn) { return function () { var self = this, args = ar
} }
}; };
}, },
created: function created() {
if (this.$route.params.id) {
this.load(this.$route.params.id);
}
},
methods: { methods: {
AddMedicalCenter: function () { load: function () {
var _AddMedicalCenter = _asyncToGenerator( var _load = _asyncToGenerator(
/*#__PURE__*/ /*#__PURE__*/
_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_0___default.a.mark(function _callee() { _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_0___default.a.mark(function _callee(id) {
var url, data, result; var result;
return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_0___default.a.wrap(function _callee$(_context) { return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_0___default.a.wrap(function _callee$(_context) {
while (1) { while (1) {
switch (_context.prev = _context.next) { switch (_context.prev = _context.next) {
case 0: case 0:
url = "MedicalCenters"; _context.next = 2;
data = { return _services__WEBPACK_IMPORTED_MODULE_1__["ApiService"].get("MedicalCenters/".concat(id, "/edit"));
name: this.name
};
if (!this.$refs.form.validate()) { case 2:
_context.next = 7;
break;
}
_context.next = 5;
return _services__WEBPACK_IMPORTED_MODULE_1__["ApiService"].post(url, data);
case 5:
result = _context.sent; result = _context.sent;
this.medicalCenter = result.data.MedicalCenter;
if (result && result.status == 200) { case 4:
this.$router.push('/manage-medical-center');
}
case 7:
case "end": case "end":
return _context.stop(); return _context.stop();
} }
@@ -105,6 +105,62 @@ function _asyncToGenerator(fn) { return function () { var self = this, args = ar
}, _callee, this); }, _callee, this);
})); }));
function load(_x) {
return _load.apply(this, arguments);
}
return load;
}(),
AddMedicalCenter: function () {
var _AddMedicalCenter = _asyncToGenerator(
/*#__PURE__*/
_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_0___default.a.mark(function _callee2() {
var url, result, _url;
return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_0___default.a.wrap(function _callee2$(_context2) {
while (1) {
switch (_context2.prev = _context2.next) {
case 0:
if (!this.$refs.form.validate()) {
_context2.next = 13;
break;
}
if (!this.$route.params.id) {
_context2.next = 8;
break;
}
url = "MedicalCenters/".concat(this.$route.params.id);
_context2.next = 5;
return _services__WEBPACK_IMPORTED_MODULE_1__["ApiService"].put(url, this.medicalCenter);
case 5:
result = _context2.sent;
_context2.next = 12;
break;
case 8:
_url = "MedicalCenters";
_context2.next = 11;
return _services__WEBPACK_IMPORTED_MODULE_1__["ApiService"].post(_url, this.medicalCenter);
case 11:
result = _context2.sent;
case 12:
if (result && result.status == 200) {
this.$router.push("/manage-medical-center");
}
case 13:
case "end":
return _context2.stop();
}
}
}, _callee2, this);
}));
function AddMedicalCenter() { function AddMedicalCenter() {
return _AddMedicalCenter.apply(this, arguments); return _AddMedicalCenter.apply(this, arguments);
} }
@@ -161,11 +217,11 @@ var render = function() {
rules: [_vm.rules.required, _vm.rules.counter] rules: [_vm.rules.required, _vm.rules.counter]
}, },
model: { model: {
value: _vm.name, value: _vm.medicalCenter.name,
callback: function($$v) { callback: function($$v) {
_vm.name = $$v _vm.$set(_vm.medicalCenter, "name", $$v)
}, },
expression: "name" expression: "medicalCenter.name"
} }
}) })
], ],
@@ -195,17 +251,31 @@ var render = function() {
on: { click: _vm.AddMedicalCenter } on: { click: _vm.AddMedicalCenter }
}, },
[ [
_c( _vm.$route.params.id
"v-icon", ? [
{ staticClass: "white--text mr-2 caption" }, _c(
[_vm._v("fas fa-plus")] "v-icon",
), { staticClass: "white--text mr-2 caption" },
_vm._v(" "), [_vm._v("fas fa-edit")]
_c("span", { staticClass: "white--text" }, [ ),
_vm._v("Add") _vm._v(" "),
]) _c("span", { staticClass: "white--text" }, [
_vm._v("Edit")
])
]
: [
_c(
"v-icon",
{ staticClass: "white--text mr-2 caption" },
[_vm._v("fas fa-plus")]
),
_vm._v(" "),
_c("span", { staticClass: "white--text" }, [
_vm._v("Add")
])
]
], ],
1 2
), ),
_vm._v(" "), _vm._v(" "),
_c( _c(
+9 -4
View File
@@ -62291,6 +62291,10 @@ __webpack_require__.r(__webpack_exports__);
path: '/manage-medical-center', path: '/manage-medical-center',
name: 'Manage Medical Center', name: 'Manage Medical Center',
view: 'ManageMedicalCenter' view: 'ManageMedicalCenter'
}, {
path: '/medical-center/:id/edit',
name: 'EditMedicalCenter',
view: 'AddMedicalCenter'
}, { }, {
path: '/login', path: '/login',
name: 'Login', name: 'Login',
@@ -62339,8 +62343,8 @@ __webpack_require__.r(__webpack_exports__);
name: 'Add Medical Center', name: 'Add Medical Center',
view: 'AddMedicalCenter' view: 'AddMedicalCenter'
}, { }, {
path: '/operator-list', path: '/operator-list/:medicalCenter',
name: 'Operator List', name: 'OperatorList',
view: 'OperatorList' view: 'OperatorList'
}, { }, {
path: '/role', path: '/role',
@@ -63712,7 +63716,7 @@ var toggle = function toggle(property) {
var map = { var map = {
"./AddMedicalCenter.vue": [ "./AddMedicalCenter.vue": [
"./resources/js/vue/views/AddMedicalCenter.vue", "./resources/js/vue/views/AddMedicalCenter.vue",
22, 1,
5 5
], ],
"./AddNewTest.vue": [ "./AddNewTest.vue": [
@@ -63741,7 +63745,8 @@ var map = {
], ],
"./ManageMedicalCenter.vue": [ "./ManageMedicalCenter.vue": [
"./resources/js/vue/views/ManageMedicalCenter.vue", "./resources/js/vue/views/ManageMedicalCenter.vue",
1 1,
24
], ],
"./ManageUsers.vue": [ "./ManageUsers.vue": [
"./resources/js/vue/views/ManageUsers.vue", "./resources/js/vue/views/ManageUsers.vue",
+7 -2
View File
@@ -34,6 +34,11 @@ export default [
name: 'Manage Medical Center', name: 'Manage Medical Center',
view: 'ManageMedicalCenter' view: 'ManageMedicalCenter'
}, },
{
path: '/medical-center/:id/edit',
name: 'EditMedicalCenter',
view: 'AddMedicalCenter'
},
{ {
path: '/login', path: '/login',
name: 'Login', name: 'Login',
@@ -87,8 +92,8 @@ export default [
view: 'AddMedicalCenter' view: 'AddMedicalCenter'
}, },
{ {
path: '/operator-list', path: '/operator-list/:medicalCenter',
name: 'Operator List', name: 'OperatorList',
view: 'OperatorList' view: 'OperatorList'
}, },
{ {
+30 -11
View File
@@ -5,7 +5,7 @@
<v-layout row wrap class="px-5 mb-3"> <v-layout row wrap class="px-5 mb-3">
<v-flex xs12 md3 xs3> <v-flex xs12 md3 xs3>
<v-text-field <v-text-field
v-model="name" v-model="medicalCenter.name"
label="Name" label="Name"
color="black" color="black"
class="pa-2" class="pa-2"
@@ -15,8 +15,14 @@
</v-layout> </v-layout>
<v-layout row wrap align-center justify-center class="mt-3"> <v-layout row wrap align-center justify-center class="mt-3">
<v-btn class="WM-CyanBlueGradient-BG" @click="AddMedicalCenter" style="padding:10px 60px"> <v-btn class="WM-CyanBlueGradient-BG" @click="AddMedicalCenter" style="padding:10px 60px">
<v-icon class="white--text mr-2 caption">fas fa-plus</v-icon> <template v-if="$route.params.id">
<span class="white--text">Add</span> <v-icon class="white--text mr-2 caption">fas fa-edit</v-icon>
<span class="white--text">Edit</span>
</template>
<template v-else>
<v-icon class="white--text mr-2 caption">fas fa-plus</v-icon>
<span class="white--text">Add</span>
</template>
</v-btn> </v-btn>
<router-link to="/manage-medical-center"> <router-link to="/manage-medical-center">
<v-btn class="WM-NoShadow WM-Outline-Btn WM-Border WM-Border-Black ml-5"> <v-btn class="WM-NoShadow WM-Outline-Btn WM-Border WM-Border-Black ml-5">
@@ -35,23 +41,36 @@ import { log } from "util";
export default { export default {
data() { data() {
return { return {
name: "", medicalCenter: {
name: ""
},
rules: { rules: {
required: value => !!value || "Required.", required: value => !!value || "Required.",
counter: value => value.length <= 30 || "Max 30 characters" counter: value => value.length <= 30 || "Max 30 characters"
} }
}; };
}, },
created() {
if (this.$route.params.id) {
this.load(this.$route.params.id);
}
},
methods: { methods: {
async load(id) {
const result = await ApiService.get(`MedicalCenters/${id}/edit`);
this.medicalCenter = result.data.MedicalCenter;
},
async AddMedicalCenter() { async AddMedicalCenter() {
let url = "MedicalCenters";
let data = {
name: this.name
};
if (this.$refs.form.validate()) { if (this.$refs.form.validate()) {
const result = await ApiService.post(url, data); if (this.$route.params.id) {
if(result && result.status == 200) { let url = `MedicalCenters/${this.$route.params.id}`;
this.$router.push('/manage-medical-center'); var result = await ApiService.put(url, this.medicalCenter);
} else {
let url = "MedicalCenters";
var result = await ApiService.post(url, this.medicalCenter);
}
if (result && result.status == 200) {
this.$router.push("/manage-medical-center");
} }
} }
} }
+63 -61
View File
@@ -1,16 +1,9 @@
<template> <template>
<v-container fluid> <v-container fluid>
<material-card class="" <material-card class color="black" title="Medical Centers List" text>
color="black"
title="Medical Centers List"
text=""
>
<v-layout wrap class="px-5 mb-3"> <v-layout wrap class="px-5 mb-3">
<v-flex xs12 md3 sm3> <v-flex xs12 md3 sm3>
<v-text-field <v-text-field label="Name" color="black"></v-text-field>
label="Name"
color="black">
</v-text-field>
</v-flex> </v-flex>
<v-flex xs12 md2 sm2 class="text-xs-right"> <v-flex xs12 md2 sm2 class="text-xs-right">
<v-btn class="WM-CyanBlueGradient-BG" style="padding:10px 60px"> <v-btn class="WM-CyanBlueGradient-BG" style="padding:10px 60px">
@@ -25,49 +18,39 @@
<v-icon class="black--text mr-2 caption">fas fa-plus</v-icon> <v-icon class="black--text mr-2 caption">fas fa-plus</v-icon>
<span class="black--text">Add</span> <span class="black--text">Add</span>
</v-btn> </v-btn>
</router-link> </router-link>
</v-flex> </v-flex>
</v-layout> </v-layout>
<v-layout class="px-4 my-3"> <v-layout class="px-4 my-3">
<v-divider></v-divider> <v-divider></v-divider>
</v-layout> </v-layout>
<v-layout align-center justify-center wrap class="px-5 mt-3"> <v-layout align-center justify-center wrap class="px-5 mt-3">
<v-flex <v-flex md12>
md12 <v-data-table :headers="headers" :items="items" hide-actions>
> <template slot="headerCell" slot-scope="{ header }">
<v-data-table
:headers="headers"
:items="items"
hide-actions
>
<template
slot="headerCell"
slot-scope="{ header }"
>
<span <span
class="subheading font-weight-light text-white text--darken-3" class="subheading font-weight-light text-white text--darken-3"
v-text="header.text" v-text="header.text"
/> />
</template> </template>
<template <template slot="items" slot-scope="{ item }">
slot="items"
slot-scope="{ item }"
>
<td class="headline font-weight-light">{{ item.name }}</td> <td class="headline font-weight-light">{{ item.name }}</td>
<td class="title font-weight-light">{{ item.date }}</td> <td class="title font-weight-light">{{ item.created_at }}</td>
<td class="title font-weight-light">{{ item.operator }}</td> <td class="title font-weight-light">{{ item.users_count }} Operator</td>
<td class="text-xs-right"> <td class="text-xs-right">
<v-btn color="cyan" class="mr-2 WM-ActionButton"> <router-link :to="`/medical-center/${item.id}/edit`">
<v-icon class="white--text mr-2 caption">fas fa-pen</v-icon> <v-btn color="cyan" class="mr-2 WM-ActionButton">
<span>Edit</span> <v-icon class="white--text mr-2 caption">fas fa-pen</v-icon>
</v-btn> <span>Edit</span>
<router-link to="/operator-list"> </v-btn>
</router-link>
<router-link :to="`/operator-list/${item.id}`">
<v-btn color="orange darken-1" class="mr-2 WM-ActionButton"> <v-btn color="orange darken-1" class="mr-2 WM-ActionButton">
<v-icon class="white--text mr-2 caption">fas fa-user</v-icon> <v-icon class="white--text mr-2 caption">fas fa-user</v-icon>
<span>Operator</span> <span>Operator</span>
</v-btn> </v-btn>
</router-link> </router-link>
<v-btn color="pink" class=" WM-ActionButton"> <v-btn color="pink" @click="remove(item.id)" class="WM-ActionButton">
<v-icon class="white--text mr-2 caption">fas fa-times</v-icon> <v-icon class="white--text mr-2 caption">fas fa-times</v-icon>
<span>Remove</span> <span>Remove</span>
</v-btn> </v-btn>
@@ -77,6 +60,9 @@
</v-flex> </v-flex>
</v-layout> </v-layout>
<v-divider></v-divider> <v-divider></v-divider>
<div class="text-xs-center">
<v-pagination v-model="currentPage" :length="lastPage" :total-visible="6"></v-pagination>
</div>
<v-layout row wrap align-center justify-center class="mt-3"> <v-layout row wrap align-center justify-center class="mt-3">
<router-link to="/dashboard"> <router-link to="/dashboard">
<v-btn class="WM-NoShadow WM-Outline-Btn WM-Border WM-Border-Black ml-5"> <v-btn class="WM-NoShadow WM-Outline-Btn WM-Border WM-Border-Black ml-5">
@@ -90,52 +76,68 @@
</template> </template>
<script> <script>
import { ApiService } from "@/services";
import { log } from "util";
export default { export default {
data: () => ({ data: () => ({
headers: [ headers: [
{ {
sortable: false, sortable: false,
text: 'Hospital Name', text: "Hospital Name",
value: 'name' value: "name"
}, },
{ {
sortable: false, sortable: false,
text: 'Date', text: "Date",
value: 'date' value: "date"
}, },
{ {
sortable: false, sortable: false,
text: 'Operator', text: "Operator",
value: 'operator' value: "operator"
}, },
{ {
sortable: false, sortable: false,
text: 'Action', text: "Action",
value: 'action', value: "action",
align: 'right' align: "right"
} }
], ],
items: [ items: [],
{ currentPage: 1,
name: 'Shahid Beheshti', lastPage: 1
date: '12/05/1397', }),
operator: '3 Operator', created() {
action: '' this.getData();
}, },
{ methods: {
name: 'Emam Reza', async getData(page = 1) {
date: '12/05/1397', const result = await ApiService.get("MedicalCenters?page=" + page);
operator: '5 Operator', this.items = result.data.MedicalCenters.data;
action: '' this.currentPage = result.data.MedicalCenters.current_page;
}, this.lastPage = result.data.MedicalCenters.last_page;
] },
}) async remove(id) {
} const result = await ApiService.delete("MedicalCenters/" + id);
if (result.status == 200) {
for (const key in this.items) {
if (this.items.hasOwnProperty(key) && this.items[key].id == id) {
this.items.splice(key, 1);
}
}
}
}
},
watch: {
currentPage(page) {
this.getData(page);
}
}
};
</script> </script>
<style lang="css" scoped> <style lang="css" scoped>
.WM-ActionButton { .WM-ActionButton {
padding : 8px 22px; padding: 8px 22px;
} }
</style> </style>
+83 -127
View File
@@ -1,150 +1,106 @@
<template> <template>
<v-container grid-list-xs> <v-container grid-list-xs>
<material-card class="" <material-card class color="black" :title="`Operator List ${name}`" text>
color="black" <v-layout row wrap class="px-5 mb-3">
title="Operator List" <v-flex xs12 md3 xs3>
text="" <v-text-field name="Name" label="Name" class="pa-2" color="black" id="id"></v-text-field>
> </v-flex>
<v-layout row wrap class="px-5 mb-3"> <v-flex xs12 md3 xs3>
<v-flex xs12 md3 xs3> <v-text-field name="cell_number" label="Cell Number" class="pa-2" color="black" id="id"></v-text-field>
<v-text-field </v-flex>
name="Name" <v-flex xs12 md2 sm2 class="text-xs-right">
label="Name" <v-btn class="WM-CyanBlueGradient-BG" style="padding:10px 60px">
class="pa-2" <v-icon class="white--text mr-2 caption">fas fa-search</v-icon>
color="black" <span class="white--text">Filter</span>
id="id" </v-btn>
></v-text-field> </v-flex>
</v-flex> </v-layout>
<v-flex xs12 md3 xs3> <v-layout row align-center justify-center wrap class="px-5 mt-3">
<v-text-field <v-flex md12>
name="Number" <v-data-table :headers="headers" :items="items" hide-actions>
label="Number" <template slot="headerCell" slot-scope="{ header }">
class="pa-2" <span
color="black" class="subheading font-weight-light text-white text--darken-3"
id="id" v-text="header.text"
></v-text-field> />
</v-flex> </template>
<v-flex xs12 md2 sm2 class="text-xs-right"> <template slot="items" slot-scope="{ item }">
<v-btn class="WM-CyanBlueGradient-BG" style="padding:10px 60px"> <td class="headline font-weight-light">{{ item.name }}</td>
<v-icon class="white--text mr-2 caption">fas fa-search</v-icon> <td class="title font-weight-light"><span v-for="(key, role) in item.roles" :key="key" >{{ role }}</span></td>
<span class="white--text">Filter</span> <td class="title font-weight-light">{{ item.cell_number }}</td>
</v-btn> <td class="text-xs-right">
</v-flex> <v-btn color="cyan" class="mr-2 WM-ActionButton">
</v-layout> <v-icon class="white--text mr-2 caption">fas fa-pen</v-icon>
<v-layout row align-center justify-center wrap class="px-5 mt-3"> <span>Edit</span>
<v-flex
md12
>
<v-data-table
:headers="headers"
:items="items"
hide-actions
>
<template
slot="headerCell"
slot-scope="{ header }"
>
<span
class="subheading font-weight-light text-white text--darken-3"
v-text="header.text"
/>
</template>
<template
slot="items"
slot-scope="{ item }"
>
<td class="headline font-weight-light">{{ item.name }}</td>
<td class="title font-weight-light">{{ item.role }}</td>
<td class="title font-weight-light">{{ item.medicalcenter }}</td>
<td class="title font-weight-light">{{ item.number }}</td>
<td class="text-xs-right">
<v-btn color="cyan" class="mr-2 WM-ActionButton">
<v-icon class="white--text mr-2 caption">fas fa-pen</v-icon>
<span>Edit</span>
</v-btn>
<router-link to="/role">
<v-btn color="orange darken-1" class="mr-2 WM-ActionButton">
<v-icon class="white--text mr-2 caption">fas fa-user-tag</v-icon>
<span>Role</span>
</v-btn> </v-btn>
</router-link> <router-link to="/role">
<v-btn color="pink" class=" WM-ActionButton"> <v-btn color="orange darken-1" class="mr-2 WM-ActionButton">
<v-icon class="white--text mr-2 caption">fas fa-times</v-icon> <v-icon class="white--text mr-2 caption">fas fa-user-tag</v-icon>
<span>Remove</span> <span>Role</span>
</v-btn> </v-btn>
</td> </router-link>
</template> <v-btn color="pink" class="WM-ActionButton">
</v-data-table> <v-icon class="white--text mr-2 caption">fas fa-times</v-icon>
</v-flex> <span>Remove</span>
</v-layout> </v-btn>
<v-divider></v-divider> </td>
<v-layout row wrap align-center justify-center class="mt-3"> </template>
<router-link to="/manage-medical-center"> </v-data-table>
<v-btn class="WM-NoShadow WM-Outline-Btn WM-Border WM-Border-Black ml-5"> </v-flex>
<v-icon class="black--text mr-2 caption">fas fa-chevron-left</v-icon> </v-layout>
<span class="black--text">Back</span> <v-divider></v-divider>
</v-btn> <v-layout row wrap align-center justify-center class="mt-3">
</router-link> <router-link to="/manage-medical-center">
</v-layout> <v-btn class="WM-NoShadow WM-Outline-Btn WM-Border WM-Border-Black ml-5">
</material-card> <v-icon class="black--text mr-2 caption">fas fa-chevron-left</v-icon>
<span class="black--text">Back</span>
</v-btn>
</router-link>
</v-layout>
</material-card>
</v-container> </v-container>
</template> </template>
<script> <script>
import { ApiService } from '@/services';
export default { export default {
data: () => ({ data: () => ({
headers: [ headers: [
{ {
sortable: false, sortable: false,
text: 'Operator Name', text: "Operator Name",
value: 'name' value: "name"
}, },
{ {
sortable: false, sortable: false,
text: 'Role', text: "Role",
value: 'role' value: "role"
}, },
{ {
sortable: false, sortable: false,
text: 'Medical Center', text: "Number",
value: 'medicalcenter' value: "number"
}, },
{ {
sortable: false, sortable: false,
text: 'Number', text: "Action",
value: 'number' value: "action",
}, align: "right"
{
sortable: false,
text: 'Action',
value: 'action',
align: 'right'
} }
], ],
items: [ items: [],
{ name : ''
name: 'Saeed Khakbazan', }),
role: 'Admin', created() {
medicalcenter: 'Emam Reza', if (this.$route.params.medicalCenter) {
number:'09120000', this.load(this.$route.params.medicalCenter);
action: '' }
}, },
{ methods: {
name: 'Fatemeh Shokouhi', async load(medicalCenterId) {
role: 'SuperAdmin', const result = await ApiService.get(`Users/${medicalCenterId}/MedicalCenter`);
medicalcenter: 'Shahid Beheshti', this.items = result.data.users;
number:'09125555', this.name = result.data.name;
action: '' }
}, }
{ };
name: 'Fatemeh Fayyazi',
role: 'SuperVisior',
medicalcenter: 'Emam Reza',
number:'09123333',
action: ''
},
]
})
}
</script> </script>
<style lang="scss" scoped>
</style>
+2
View File
@@ -29,4 +29,6 @@ Route::get('/getInfo', function () {
Route::resource('TestTypes', 'TestTypeController'); Route::resource('TestTypes', 'TestTypeController');
Route::resource('TestResults', 'TestResultController'); Route::resource('TestResults', 'TestResultController');
Route::resource('MedicalCenters', 'MedicalCenterController'); Route::resource('MedicalCenters', 'MedicalCenterController');
Route::get('Users/{MedicalCenter}/MedicalCenter', 'UserController@getByMedicalCenter');
Route::resource('Users', 'UserController'); Route::resource('Users', 'UserController');