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()
{
$MedicalCenters = MedicalCenter::with('users')->paginate(10);
return response()->json(['MedicalCenters' => $MedicalCenters, 'LastPage' => $MedicalCenters->lastPage()]);
$MedicalCenters = MedicalCenter::withCount('users')->paginate(10);
return response()->json(['MedicalCenters' => $MedicalCenters]);
}
public function create()
@@ -44,8 +44,10 @@ class MedicalCenterController extends Controller
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 App\Http\Requests\StoreUserRequest;
use App\User;
use App\MedicalCenter;
class UserController extends Controller
{
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()]);
}
public function store(StoreUserRequest $request)
{
$UserData = [
'name' => $request->name ,
'cell_number' => $request->cell_number ,
'medical_center_id' => $request->medical_center_id ,
'name' => $request->name,
'cell_number' => $request->cell_number,
'medical_center_id' => $request->medical_center_id,
'status' => 'PreRegister',
'verified' => 1,
'password' => bcrypt($request->password),
@@ -34,9 +35,9 @@ class UserController extends Controller
public function update(StoreUserRequest $request, User $User)
{
$UserData = [
'name' => $request->name ,
'cell_number' => $request->cell_number ,
'medical_center_id' => $request->medical_center_id ,
'name' => $request->name,
'cell_number' => $request->cell_number,
'medical_center_id' => $request->medical_center_id,
'status' => 'PreRegister',
'verified' => 1,
'password' => bcrypt($request->password),
@@ -49,6 +50,14 @@ class UserController extends Controller
if (auth('api')->user()->can('delete', $User)) {
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\Foundation\Auth\User as Authenticatable;
use Laravel\Passport\HasApiTokens;
use Spatie\Permission\Traits\HasRoles;
class User extends Authenticatable
{
use Notifiable, HasApiTokens;
use Notifiable, HasApiTokens, HasRoles;
/**
* 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";
__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"] = ({
data: function data() {
return {
headers: [{
sortable: false,
text: 'Operator Name',
value: 'name'
text: "Operator Name",
value: "name"
}, {
sortable: false,
text: 'Role',
value: 'role'
text: "Role",
value: "role"
}, {
sortable: false,
text: 'Medical Center',
value: 'medicalcenter'
text: "Number",
value: "number"
}, {
sortable: false,
text: 'Number',
value: 'number'
}, {
sortable: false,
text: 'Action',
value: 'action',
align: 'right'
text: "Action",
value: "action",
align: "right"
}],
items: [{
name: 'Saeed Khakbazan',
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: ''
}]
items: [],
name: ''
};
},
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??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?!./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& ***!
\**************************************************************************************************************************************************************************************************************/
/*! exports provided: render, staticRenderFns */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
@@ -171,7 +169,13 @@ var render = function() {
[
_c(
"material-card",
{ attrs: { color: "black", title: "Operator List", text: "" } },
{
attrs: {
color: "black",
title: "Operator List " + _vm.name,
text: ""
}
},
[
_c(
"v-layout",
@@ -201,8 +205,8 @@ var render = function() {
_c("v-text-field", {
staticClass: "pa-2",
attrs: {
name: "Number",
label: "Number",
name: "cell_number",
label: "Cell Number",
color: "black",
id: "id"
}
@@ -294,19 +298,18 @@ var render = function() {
_c(
"td",
{ 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(" "),
_c(
"td",
{ staticClass: "title font-weight-light" },
[_vm._v(_vm._s(item.medicalcenter))]
),
_vm._v(" "),
_c(
"td",
{ staticClass: "title font-weight-light" },
[_vm._v(_vm._s(item.number))]
[_vm._v(_vm._s(item.cell_number))]
),
_vm._v(" "),
_c(
@@ -364,7 +367,7 @@ var render = function() {
_c(
"v-btn",
{
staticClass: " WM-ActionButton",
staticClass: "WM-ActionButton",
attrs: { color: "pink" }
},
[
@@ -461,7 +464,7 @@ render._withStripped = true
"use strict";
__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&");
/* 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"])(
_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_scoped_true___WEBPACK_IMPORTED_MODULE_0__["staticRenderFns"],
_OperatorList_vue_vue_type_template_id_bdf7baac___WEBPACK_IMPORTED_MODULE_0__["render"],
_OperatorList_vue_vue_type_template_id_bdf7baac___WEBPACK_IMPORTED_MODULE_0__["staticRenderFns"],
false,
null,
"bdf7baac",
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&scoped=true& ***!
\********************************************************************************************/
/***/ "./resources/js/vue/views/OperatorList.vue?vue&type=template&id=bdf7baac&":
/*!********************************************************************************!*\
!*** ./resources/js/vue/views/OperatorList.vue?vue&type=template&id=bdf7baac& ***!
\********************************************************************************/
/*! 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_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 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 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___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"]; });
+430 -720
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"] = ({
data: function data() {
return {
name: "",
medicalCenter: {
name: ""
},
rules: {
required: function required(value) {
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: {
AddMedicalCenter: function () {
var _AddMedicalCenter = _asyncToGenerator(
load: function () {
var _load = _asyncToGenerator(
/*#__PURE__*/
_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_0___default.a.mark(function _callee() {
var url, data, result;
_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_0___default.a.mark(function _callee(id) {
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:
url = "MedicalCenters";
data = {
name: this.name
};
_context.next = 2;
return _services__WEBPACK_IMPORTED_MODULE_1__["ApiService"].get("MedicalCenters/".concat(id, "/edit"));
if (!this.$refs.form.validate()) {
_context.next = 7;
break;
}
_context.next = 5;
return _services__WEBPACK_IMPORTED_MODULE_1__["ApiService"].post(url, data);
case 5:
case 2:
result = _context.sent;
this.medicalCenter = result.data.MedicalCenter;
if (result && result.status == 200) {
this.$router.push('/manage-medical-center');
}
case 7:
case 4:
case "end":
return _context.stop();
}
@@ -105,6 +105,62 @@ function _asyncToGenerator(fn) { return function () { var self = this, args = ar
}, _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() {
return _AddMedicalCenter.apply(this, arguments);
}
@@ -161,11 +217,11 @@ var render = function() {
rules: [_vm.rules.required, _vm.rules.counter]
},
model: {
value: _vm.name,
value: _vm.medicalCenter.name,
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 }
},
[
_c(
"v-icon",
{ staticClass: "white--text mr-2 caption" },
[_vm._v("fas fa-plus")]
),
_vm._v(" "),
_c("span", { staticClass: "white--text" }, [
_vm._v("Add")
])
_vm.$route.params.id
? [
_c(
"v-icon",
{ staticClass: "white--text mr-2 caption" },
[_vm._v("fas fa-edit")]
),
_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(" "),
_c(
+9 -4
View File
@@ -62291,6 +62291,10 @@ __webpack_require__.r(__webpack_exports__);
path: '/manage-medical-center',
name: 'Manage Medical Center',
view: 'ManageMedicalCenter'
}, {
path: '/medical-center/:id/edit',
name: 'EditMedicalCenter',
view: 'AddMedicalCenter'
}, {
path: '/login',
name: 'Login',
@@ -62339,8 +62343,8 @@ __webpack_require__.r(__webpack_exports__);
name: 'Add Medical Center',
view: 'AddMedicalCenter'
}, {
path: '/operator-list',
name: 'Operator List',
path: '/operator-list/:medicalCenter',
name: 'OperatorList',
view: 'OperatorList'
}, {
path: '/role',
@@ -63712,7 +63716,7 @@ var toggle = function toggle(property) {
var map = {
"./AddMedicalCenter.vue": [
"./resources/js/vue/views/AddMedicalCenter.vue",
22,
1,
5
],
"./AddNewTest.vue": [
@@ -63741,7 +63745,8 @@ var map = {
],
"./ManageMedicalCenter.vue": [
"./resources/js/vue/views/ManageMedicalCenter.vue",
1
1,
24
],
"./ManageUsers.vue": [
"./resources/js/vue/views/ManageUsers.vue",
+7 -2
View File
@@ -34,6 +34,11 @@ export default [
name: 'Manage Medical Center',
view: 'ManageMedicalCenter'
},
{
path: '/medical-center/:id/edit',
name: 'EditMedicalCenter',
view: 'AddMedicalCenter'
},
{
path: '/login',
name: 'Login',
@@ -87,8 +92,8 @@ export default [
view: 'AddMedicalCenter'
},
{
path: '/operator-list',
name: 'Operator List',
path: '/operator-list/:medicalCenter',
name: 'OperatorList',
view: 'OperatorList'
},
{
+30 -11
View File
@@ -5,7 +5,7 @@
<v-layout row wrap class="px-5 mb-3">
<v-flex xs12 md3 xs3>
<v-text-field
v-model="name"
v-model="medicalCenter.name"
label="Name"
color="black"
class="pa-2"
@@ -15,8 +15,14 @@
</v-layout>
<v-layout row wrap align-center justify-center class="mt-3">
<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>
<span class="white--text">Add</span>
<template v-if="$route.params.id">
<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>
<router-link to="/manage-medical-center">
<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 {
data() {
return {
name: "",
medicalCenter: {
name: ""
},
rules: {
required: value => !!value || "Required.",
counter: value => value.length <= 30 || "Max 30 characters"
}
};
},
created() {
if (this.$route.params.id) {
this.load(this.$route.params.id);
}
},
methods: {
async load(id) {
const result = await ApiService.get(`MedicalCenters/${id}/edit`);
this.medicalCenter = result.data.MedicalCenter;
},
async AddMedicalCenter() {
let url = "MedicalCenters";
let data = {
name: this.name
};
if (this.$refs.form.validate()) {
const result = await ApiService.post(url, data);
if(result && result.status == 200) {
this.$router.push('/manage-medical-center');
if (this.$route.params.id) {
let url = `MedicalCenters/${this.$route.params.id}`;
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>
<v-container fluid>
<material-card class=""
color="black"
title="Medical Centers List"
text=""
>
<material-card class color="black" title="Medical Centers List" text>
<v-layout wrap class="px-5 mb-3">
<v-flex xs12 md3 sm3>
<v-text-field
label="Name"
color="black">
</v-text-field>
<v-text-field label="Name" color="black"></v-text-field>
</v-flex>
<v-flex xs12 md2 sm2 class="text-xs-right">
<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>
<span class="black--text">Add</span>
</v-btn>
</router-link>
</router-link>
</v-flex>
</v-layout>
<v-layout class="px-4 my-3">
<v-divider></v-divider>
</v-layout>
<v-layout align-center justify-center wrap class="px-5 mt-3">
<v-flex
md12
>
<v-data-table
:headers="headers"
:items="items"
hide-actions
>
<template
slot="headerCell"
slot-scope="{ header }"
>
<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 }"
>
<template slot="items" slot-scope="{ item }">
<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.operator }}</td>
<td class="title font-weight-light">{{ item.created_at }}</td>
<td class="title font-weight-light">{{ item.users_count }} Operator</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="/operator-list">
<router-link :to="`/medical-center/${item.id}/edit`">
<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>
<router-link :to="`/operator-list/${item.id}`">
<v-btn color="orange darken-1" class="mr-2 WM-ActionButton">
<v-icon class="white--text mr-2 caption">fas fa-user</v-icon>
<span>Operator</span>
</v-btn>
</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>
<span>Remove</span>
</v-btn>
@@ -77,6 +60,9 @@
</v-flex>
</v-layout>
<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">
<router-link to="/dashboard">
<v-btn class="WM-NoShadow WM-Outline-Btn WM-Border WM-Border-Black ml-5">
@@ -90,52 +76,68 @@
</template>
<script>
import { ApiService } from "@/services";
import { log } from "util";
export default {
data: () => ({
headers: [
{
sortable: false,
text: 'Hospital Name',
value: 'name'
text: "Hospital Name",
value: "name"
},
{
sortable: false,
text: 'Date',
value: 'date'
text: "Date",
value: "date"
},
{
sortable: false,
text: 'Operator',
value: 'operator'
text: "Operator",
value: "operator"
},
{
sortable: false,
text: 'Action',
value: 'action',
align: 'right'
text: "Action",
value: "action",
align: "right"
}
],
items: [
{
name: 'Shahid Beheshti',
date: '12/05/1397',
operator: '3 Operator',
action: ''
},
{
name: 'Emam Reza',
date: '12/05/1397',
operator: '5 Operator',
action: ''
},
]
})
}
items: [],
currentPage: 1,
lastPage: 1
}),
created() {
this.getData();
},
methods: {
async getData(page = 1) {
const result = await ApiService.get("MedicalCenters?page=" + page);
this.items = result.data.MedicalCenters.data;
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>
<style lang="css" scoped>
.WM-ActionButton {
padding : 8px 22px;
padding: 8px 22px;
}
</style>
+84 -128
View File
@@ -1,150 +1,106 @@
<template>
<v-container grid-list-xs>
<material-card class=""
color="black"
title="Operator List"
text=""
>
<v-layout row wrap class="px-5 mb-3">
<v-flex xs12 md3 xs3>
<v-text-field
name="Name"
label="Name"
class="pa-2"
color="black"
id="id"
></v-text-field>
</v-flex>
<v-flex xs12 md3 xs3>
<v-text-field
name="Number"
label="Number"
class="pa-2"
color="black"
id="id"
></v-text-field>
</v-flex>
<v-flex xs12 md2 sm2 class="text-xs-right">
<v-btn class="WM-CyanBlueGradient-BG" style="padding:10px 60px">
<v-icon class="white--text mr-2 caption">fas fa-search</v-icon>
<span class="white--text">Filter</span>
</v-btn>
</v-flex>
</v-layout>
<v-layout row align-center justify-center wrap class="px-5 mt-3">
<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>
<material-card class color="black" :title="`Operator List ${name}`" text>
<v-layout row wrap class="px-5 mb-3">
<v-flex xs12 md3 xs3>
<v-text-field name="Name" label="Name" class="pa-2" color="black" id="id"></v-text-field>
</v-flex>
<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-flex>
<v-flex xs12 md2 sm2 class="text-xs-right">
<v-btn class="WM-CyanBlueGradient-BG" style="padding:10px 60px">
<v-icon class="white--text mr-2 caption">fas fa-search</v-icon>
<span class="white--text">Filter</span>
</v-btn>
</v-flex>
</v-layout>
<v-layout row align-center justify-center wrap class="px-5 mt-3">
<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"><span v-for="(key, role) in item.roles" :key="key" >{{ role }}</span></td>
<td class="title font-weight-light">{{ item.cell_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>
<v-btn color="pink" class=" WM-ActionButton">
<v-icon class="white--text mr-2 caption">fas fa-times</v-icon>
<span>Remove</span>
</v-btn>
</td>
</template>
</v-data-table>
</v-flex>
</v-layout>
<v-divider></v-divider>
<v-layout row wrap align-center justify-center class="mt-3">
<router-link to="/manage-medical-center">
<v-btn class="WM-NoShadow WM-Outline-Btn WM-Border WM-Border-Black ml-5">
<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>
<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>
</router-link>
<v-btn color="pink" class="WM-ActionButton">
<v-icon class="white--text mr-2 caption">fas fa-times</v-icon>
<span>Remove</span>
</v-btn>
</td>
</template>
</v-data-table>
</v-flex>
</v-layout>
<v-divider></v-divider>
<v-layout row wrap align-center justify-center class="mt-3">
<router-link to="/manage-medical-center">
<v-btn class="WM-NoShadow WM-Outline-Btn WM-Border WM-Border-Black ml-5">
<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>
</template>
<script>
import { ApiService } from '@/services';
export default {
data: () => ({
headers: [
{
sortable: false,
text: 'Operator Name',
value: 'name'
text: "Operator Name",
value: "name"
},
{
sortable: false,
text: 'Role',
value: 'role'
text: "Role",
value: "role"
},
{
sortable: false,
text: 'Medical Center',
value: 'medicalcenter'
text: "Number",
value: "number"
},
{
sortable: false,
text: 'Number',
value: 'number'
},
{
sortable: false,
text: 'Action',
value: 'action',
align: 'right'
text: "Action",
value: "action",
align: "right"
}
],
items: [
{
name: 'Saeed Khakbazan',
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: ''
},
]
})
}
</script>
<style lang="scss" scoped>
</style>
items: [],
name : ''
}),
created() {
if (this.$route.params.medicalCenter) {
this.load(this.$route.params.medicalCenter);
}
},
methods: {
async load(medicalCenterId) {
const result = await ApiService.get(`Users/${medicalCenterId}/MedicalCenter`);
this.items = result.data.users;
this.name = result.data.name;
}
}
};
</script>
+2
View File
@@ -29,4 +29,6 @@ Route::get('/getInfo', function () {
Route::resource('TestTypes', 'TestTypeController');
Route::resource('TestResults', 'TestResultController');
Route::resource('MedicalCenters', 'MedicalCenterController');
Route::get('Users/{MedicalCenter}/MedicalCenter', 'UserController@getByMedicalCenter');
Route::resource('Users', 'UserController');