diff --git a/src/assets/scss/vuexy/_typography.scss b/src/assets/scss/vuexy/_typography.scss index 1a42059..22c97ef 100644 --- a/src/assets/scss/vuexy/_typography.scss +++ b/src/assets/scss/vuexy/_typography.scss @@ -40,7 +40,7 @@ a:active, a:visited, a:hover, a { - color: rgba(var(--vs-primary), 1); + color: rgba(#fff, 1); } // quill editor diff --git a/src/components/new-x-table/XTable.vue b/src/components/new-x-table/XTable.vue index 5f16d51..fc9641c 100644 --- a/src/components/new-x-table/XTable.vue +++ b/src/components/new-x-table/XTable.vue @@ -240,12 +240,12 @@ export default { this.fetch(); }, removeFilter(index) { - console.log("index ==> ", index); + // console.log("index ==> ", index); this.$delete(this.query.filters, index) this.$forceUpdate(); }, filterChange(value) { - console.log("value ==> " , value); + // console.log("value ==> " , value); this.query.filters[value.index] = value; }, @@ -339,7 +339,7 @@ export default { } this.data = data.rows; this.query = data.query - console.log("this.query ==> ", this.query); + // console.log("this.query ==> ", this.query); this.$emit('fetch', data) } catch (e) { this.$message.error('خطا در دریافت اطلاعات'); @@ -398,7 +398,7 @@ export default { return this.cols.filter(item => item.filtered) }, visibleCols() { - console.log(" ==> " , this.cols.filter(item => item.show)); + // console.log(" ==> " , this.cols.filter(item => item.show)); return this.cols.filter(item => item.show) } }, diff --git a/src/components/x-table/XTable.vue b/src/components/x-table/XTable.vue index 1e334f9..4e8e206 100644 --- a/src/components/x-table/XTable.vue +++ b/src/components/x-table/XTable.vue @@ -204,7 +204,7 @@ noThings() { }, onSearch(value) { - console.log(value); + // console.log(value); this.query.search = value; if (value) { this.fetch(); diff --git a/src/layouts/components/vertical-nav-menu/navMenuItems-permission.js b/src/layouts/components/vertical-nav-menu/navMenuItems-permission.js index 20cbb34..ac115a7 100644 --- a/src/layouts/components/vertical-nav-menu/navMenuItems-permission.js +++ b/src/layouts/components/vertical-nav-menu/navMenuItems-permission.js @@ -80,7 +80,7 @@ const menu_items = [ url: '/adv/malicious', name: 'advMalicious', slug: 'adv-malicious', - i18n: 'لیست آگهی های مخرب', + i18n: 'لیست آگهی های مخرب',ّ permission_id: 'bad_adv.manage' }, { diff --git a/src/layouts/components/vertical-nav-menu/navMenuItems.js b/src/layouts/components/vertical-nav-menu/navMenuItems.js index 43099da..a3e12ca 100644 --- a/src/layouts/components/vertical-nav-menu/navMenuItems.js +++ b/src/layouts/components/vertical-nav-menu/navMenuItems.js @@ -31,6 +31,14 @@ export default [ i18n: "اطلاعات پرسنلی", permissionId:'personnel' }, + { + url: "/contract", + name: "contract", + slug: "contract", + icon: "AlignJustifyIcon", + i18n: "قرارداد ها", + permissionId:'personnel.contract.show' + }, { url: "/permission", name: "permission", diff --git a/src/router.js b/src/router.js index 589a1eb..eabbf02 100644 --- a/src/router.js +++ b/src/router.js @@ -90,6 +90,24 @@ const router = new Router({ parent: 'main' } }, + { + path: '/register/contract', + name: 'register-contract', + component: () => import('./views/register/RegisterPersonnel.vue'), + meta: { + rule: 'editor', + parent: 'main' + } + }, + { + path: '/contract', + name: 'contract', + component: () => import('./views/contract/list.vue'), + meta: { + rule: 'editor', + parent: 'main' + } + }, { path: '/users', name: 'users', @@ -108,15 +126,6 @@ const router = new Router({ parent: 'main' } }, - { - path: '/register/personnel', - name: 'register-personnel', - component: () => import('./views/register/RegisterPersonnel.vue'), - meta: { - rule: 'editor', - parent: 'main' - } - }, { path: '/permission', name: 'permission', @@ -160,25 +169,23 @@ router.afterEach((to) => { }) router.beforeEach(async (to, from, next) => { - // return next(); + // return next(); let isLogin = sessionStorage.getItem('accessToken'); - await store.commit('route/SET_ROUTE',to.path) + await store.commit('route/SET_ROUTE', to.path) //console.log("to.path ==> ", to.path); if ( - to.path === "/register/form" || - to.path === "/auth/login" || - to.path === "/auth/register" || - to.path === "/pages/error-404" || - to.path === "/pages/error-403" || - to.path === "/auth/forgot-password" - ) { - /* if (isLogin) { - router.push({path: '/'}); - }*/ + to.path === "/register/form" || + to.path === "/auth/login" || + to.path === "/auth/register" || + to.path === "/pages/error-404" || + to.path === "/pages/error-403" || + to.path === "/auth/forgot-password" + ) { + /* if (isLogin) { + router.push({path: '/'}); + }*/ return next(); - } - - else if (!isLogin) { + } else if (!isLogin) { router.push({path: '/auth/login'}); return; } else { diff --git a/src/store/contract/index.js b/src/store/contract/index.js new file mode 100644 index 0000000..63d431c --- /dev/null +++ b/src/store/contract/index.js @@ -0,0 +1,23 @@ +const state = { + units: [], + contractTypes: [], +} +const mutations = { + setUnits(state, data) { + state.units = data; + }, + setContractTypes(state, data) { + state.contractTypes = data; + }, +}; + + +const actions = {} + + +export default { + namespaced: true, + state, + mutations, + actions +} diff --git a/src/store/store.js b/src/store/store.js index 15cbc2c..8b641c9 100644 --- a/src/store/store.js +++ b/src/store/store.js @@ -18,6 +18,7 @@ import actions from './actions' Vue.use(Vuex) +// unknown // import moduleTodo from './todo/moduleTodo.js' // import moduleCalendar from './calendar/moduleCalendar.js' // import moduleChat from './chat/moduleChat.js' @@ -44,6 +45,11 @@ import points from './point/points' import transaction from './transaction/transaction' import price from './price/price' import route from './route' +// unknown + +// sedmed known store +import contract from './contract/index' +// sedmed known store export default new Vuex.Store({ getters, @@ -73,6 +79,10 @@ export default new Vuex.Store({ variantAdd:variantAdd, advModel:advModel, route:route, + +// sedmed known store + contract, +// sedmed known store }, strict: process.env.NODE_ENV !== 'production' }) diff --git a/src/views/contract/conractModel.js b/src/views/contract/conractModel.js new file mode 100644 index 0000000..0b5834f --- /dev/null +++ b/src/views/contract/conractModel.js @@ -0,0 +1,41 @@ +import XTbl, {Xtc} from '../../components/new-x-table/index'; +import store from '@/store/store' +let unitsFilter = {} +store.state.contract.units.map((x) => { + unitsFilter[x.id] = x.value +}) +let contractTypes = store.state.contract.contractTypes + +const tbl = new XTbl('http://hr.asco-intl.com:2020/kernel/api/personnel/contract/table', 'لیست قرارداد ها'); +tbl.add(new Xtc('personnel.proposal.name', 'نام پرسنل').filterText()) +tbl.add(new Xtc('personnel.proposal.ncode', 'کد ملی').filterText()) +tbl.add(new Xtc('personnel_id', 'کد پرسنلی').filterText()) +tbl.add(new Xtc('personnel.proposal.mobile', 'شماره تلفن').filterText()) +tbl.add(new Xtc('personnel.proposal.iden_place', 'محل صدور').filterText()) +tbl.add(new Xtc('personnel.proposal.birth_place', 'محل تولد').filterText()) + +tbl.add(new Xtc('salary', 'حقوق پایه').filterText().hidden()) +tbl.add(new Xtc('worker_coupon', 'بن کارگری').filterText().hidden()) +tbl.add(new Xtc('housing_allowance', 'کمک هزینه مسکن').filterText().hidden()) +tbl.add(new Xtc('right_attraction', 'حق جذب').filterText().hidden()) +tbl.add(new Xtc('right_guardianship', 'حق سرپرستی').filterText().hidden()) +tbl.add(new Xtc('right_child', 'حق فرزند').filterText().hidden()) +tbl.add(new Xtc('right_mission', 'حق ماموریت').filterText().hidden()) +tbl.add(new Xtc('right_shift', 'حق شیفت').filterText().hidden()) +tbl.add(new Xtc('right_try', 'حق السعی').filterText().hidden()) +tbl.add(new Xtc('promissory', 'مبلغ سفته').filterText().hidden()) +tbl.add(new Xtc('promissory_number', 'شماره سفته').filterText().hidden()) +tbl.add(new Xtc('contract_number', 'شماره قرارداد').filterText().hidden()) +tbl.add(new Xtc('basic_years', 'پایه سنوات').filterText().hidden()) +tbl.add(new Xtc('reward', 'پاداش مستمر').filterText().hidden()) +tbl.add(new Xtc('city_workplace', 'محل خدمت').filterText().hidden()) +tbl.add(new Xtc('personnel.gender', 'جنسیت').filterSelect({1: 'مرد', 2: 'زن'}).filterKey('personnel.gender').hidden().renderSlot('gender')) +tbl.add(new Xtc('type_str', 'نوع قرارداد').hidden().filterKey('type').filterSelect(contractTypes)) +tbl.add(new Xtc('work_unit', 'واحد کار').hidden().renderSlot('work_unit').filterSelect(unitsFilter)) +tbl.add(new Xtc('start_at', 'تاریخ شروع قراداد').filterDate().filterKey('start_at').hidden().renderSlot('start_at')) +tbl.add(new Xtc('end_at', 'تاریخ پایان قراداد').filterDate().filterKey('end_at').hidden().renderSlot('end_at')) + +tbl.add(new Xtc('reason_termination', 'دلیل فسخ قرارداد').filterText().hidden()) +tbl.add(new Xtc('date_termination', 'تاریخ فسخ قرارداد').filterDate().filterKey('date_termination').hidden()) + +export default tbl; diff --git a/src/views/contract/list.vue b/src/views/contract/list.vue new file mode 100644 index 0000000..92b9b33 --- /dev/null +++ b/src/views/contract/list.vue @@ -0,0 +1,79 @@ + + + + + \ No newline at end of file diff --git a/src/views/dashboard/contractTerminationCurrentMonthTbl.js b/src/views/dashboard/contractTerminationCurrentMonthTbl.js index 11a862f..9f32586 100644 --- a/src/views/dashboard/contractTerminationCurrentMonthTbl.js +++ b/src/views/dashboard/contractTerminationCurrentMonthTbl.js @@ -1,8 +1,8 @@ import XTbl, {Xtc} from '../../components/new-x-table/index'; const tbl = new XTbl('contractTerminationCurrentMonth/table', 'لیست پرسنل'); -tbl.add(new Xtc('personnel.personel_id', 'کد پرسنلی').hidden().filterText()); -tbl.add(new Xtc('personnel.name', 'نام و نام خانوادگی').filterText()) +tbl.add(new Xtc('contract.personel_id', 'کد پرسنلی').hidden().filterText()); +tbl.add(new Xtc('contract.name', 'نام و نام خانوادگی').filterText()) tbl.add(new Xtc('start_atj', 'تاریخ شروع قرارداد').filterDate().filterKey('start_at')) tbl.add(new Xtc('end_atj', 'تاریخ اتمام قرارداد').filterDate().filterKey('end_at')) tbl.add(new Xtc('reason_termination', 'علت فسخ قرارداد').filterText()) diff --git a/src/views/dashboard/contractTerminationPastMonthTbl.js b/src/views/dashboard/contractTerminationPastMonthTbl.js index 36d8b60..dc2a4cd 100644 --- a/src/views/dashboard/contractTerminationPastMonthTbl.js +++ b/src/views/dashboard/contractTerminationPastMonthTbl.js @@ -1,8 +1,8 @@ import XTbl, {Xtc} from '../../components/new-x-table/index'; const tbl = new XTbl('contractTerminationPastMonth/table', 'لیست پرسنل'); -tbl.add(new Xtc('personnel.personel_id', 'کد پرسنلی').hidden().filterText()); -tbl.add(new Xtc('personnel.name', 'نام و نام خانوادگی').filterText()) +tbl.add(new Xtc('contract.personel_id', 'کد پرسنلی').hidden().filterText()); +tbl.add(new Xtc('contract.name', 'نام و نام خانوادگی').filterText()) tbl.add(new Xtc('start_atj', 'تاریخ شروع قرارداد').filterDate().filterKey('start_at')) tbl.add(new Xtc('end_atj', 'تاریخ اتمام قرارداد').filterDate().filterKey('end_at')) tbl.add(new Xtc('reason_termination', 'علت فسخ قرارداد').filterText()) diff --git a/src/views/dashboard/personelEndContractCurrentmonthTbl.js b/src/views/dashboard/personelEndContractCurrentmonthTbl.js index 35fb773..62f97ee 100644 --- a/src/views/dashboard/personelEndContractCurrentmonthTbl.js +++ b/src/views/dashboard/personelEndContractCurrentmonthTbl.js @@ -1,8 +1,8 @@ import XTbl, {Xtc} from '../../components/new-x-table/index'; const tbl = new XTbl('personelContactEndCurrentMonth/table', 'لیست پرسنل'); -tbl.add(new Xtc('personnel.personel_id', 'کد پرسنلی').filterText()); -tbl.add(new Xtc('personnel.name', 'نام و نام خانوادگی').filterText()) +tbl.add(new Xtc('contract.personel_id', 'کد پرسنلی').filterText()); +tbl.add(new Xtc('contract.name', 'نام و نام خانوادگی').filterText()) tbl.add(new Xtc('start_atj', 'تاریخ شروع قرارداد').filterDate().filterKey('start_at')) tbl.add(new Xtc('end_atj', 'تاریخ اتمام قرارداد').filterDate().filterKey('end_at')) tbl.add(new Xtc('date_work', 'مدت تصدی (روز)')) diff --git a/src/views/dashboard/personelEndContractNextmonthTbl.js b/src/views/dashboard/personelEndContractNextmonthTbl.js index d643ef9..54705cd 100644 --- a/src/views/dashboard/personelEndContractNextmonthTbl.js +++ b/src/views/dashboard/personelEndContractNextmonthTbl.js @@ -1,8 +1,8 @@ import XTbl, {Xtc} from '../../components/new-x-table/index'; const tbl = new XTbl('personelContactEndNextMonth/table', 'لیست پرسنل'); -tbl.add(new Xtc('personnel.personel_id', 'کد پرسنلی').noSort()); -tbl.add(new Xtc('personnel.name', 'نام و نام خانوادگی').noSort()) +tbl.add(new Xtc('contract.personel_id', 'کد پرسنلی').noSort()); +tbl.add(new Xtc('contract.name', 'نام و نام خانوادگی').noSort()) tbl.add(new Xtc('start_atj', 'تاریخ شروع قرارداد').noSort()) tbl.add(new Xtc('end_atj', 'تاریخ اتمام قرارداد').noSort()) tbl.add(new Xtc('date_work', 'مدت تصدی (روز)')) diff --git a/src/views/dashboard/personelEndContractPastmonthTbl.js b/src/views/dashboard/personelEndContractPastmonthTbl.js index f38b0d4..edb8be9 100644 --- a/src/views/dashboard/personelEndContractPastmonthTbl.js +++ b/src/views/dashboard/personelEndContractPastmonthTbl.js @@ -1,8 +1,8 @@ import XTbl, {Xtc} from '../../components/new-x-table/index'; const tbl = new XTbl('personelContactEndPastMonth/table', 'لیست پرسنل اتمام قرارداد در ماه گذشته'); -tbl.add(new Xtc('personnel.personel_id', 'کد پرسنلی').filterText()); -tbl.add(new Xtc('personnel.name', 'نام و نام خانوادگی').filterText()) +tbl.add(new Xtc('contract.personel_id', 'کد پرسنلی').filterText()); +tbl.add(new Xtc('contract.name', 'نام و نام خانوادگی').filterText()) tbl.add(new Xtc('start_atj', 'تاریخ شروع قرارداد').filterDate().filterKey('start_at')) tbl.add(new Xtc('end_atj', 'تاریخ اتمام قرارداد').filterDate().filterKey('end_at')) tbl.add(new Xtc('date_work', 'مدت تصدی (روز)')) diff --git a/src/views/personel/Personel.vue b/src/views/personel/Personel.vue index 3ec33de..b9befd4 100644 --- a/src/views/personel/Personel.vue +++ b/src/views/personel/Personel.vue @@ -14,6 +14,15 @@ مشاهده و ویرایش اطلاعات + + + @@ -471,7 +480,7 @@
- دانلود پیوست + دانلود پیوست