contract
This commit is contained in:
@@ -40,7 +40,7 @@ a:active,
|
|||||||
a:visited,
|
a:visited,
|
||||||
a:hover,
|
a:hover,
|
||||||
a {
|
a {
|
||||||
color: rgba(var(--vs-primary), 1);
|
color: rgba(#fff, 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
// quill editor
|
// quill editor
|
||||||
|
|||||||
@@ -240,12 +240,12 @@ export default {
|
|||||||
this.fetch();
|
this.fetch();
|
||||||
},
|
},
|
||||||
removeFilter(index) {
|
removeFilter(index) {
|
||||||
console.log("index ==> ", index);
|
// console.log("index ==> ", index);
|
||||||
this.$delete(this.query.filters, index)
|
this.$delete(this.query.filters, index)
|
||||||
this.$forceUpdate();
|
this.$forceUpdate();
|
||||||
},
|
},
|
||||||
filterChange(value) {
|
filterChange(value) {
|
||||||
console.log("value ==> " , value);
|
// console.log("value ==> " , value);
|
||||||
|
|
||||||
this.query.filters[value.index] = value;
|
this.query.filters[value.index] = value;
|
||||||
},
|
},
|
||||||
@@ -339,7 +339,7 @@ export default {
|
|||||||
}
|
}
|
||||||
this.data = data.rows;
|
this.data = data.rows;
|
||||||
this.query = data.query
|
this.query = data.query
|
||||||
console.log("this.query ==> ", this.query);
|
// console.log("this.query ==> ", this.query);
|
||||||
this.$emit('fetch', data)
|
this.$emit('fetch', data)
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
this.$message.error('خطا در دریافت اطلاعات');
|
this.$message.error('خطا در دریافت اطلاعات');
|
||||||
@@ -398,7 +398,7 @@ export default {
|
|||||||
return this.cols.filter(item => item.filtered)
|
return this.cols.filter(item => item.filtered)
|
||||||
},
|
},
|
||||||
visibleCols() {
|
visibleCols() {
|
||||||
console.log(" ==> " , this.cols.filter(item => item.show));
|
// console.log(" ==> " , this.cols.filter(item => item.show));
|
||||||
return this.cols.filter(item => item.show)
|
return this.cols.filter(item => item.show)
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -204,7 +204,7 @@
|
|||||||
noThings() {
|
noThings() {
|
||||||
},
|
},
|
||||||
onSearch(value) {
|
onSearch(value) {
|
||||||
console.log(value);
|
// console.log(value);
|
||||||
this.query.search = value;
|
this.query.search = value;
|
||||||
if (value) {
|
if (value) {
|
||||||
this.fetch();
|
this.fetch();
|
||||||
|
|||||||
@@ -80,7 +80,7 @@ const menu_items = [
|
|||||||
url: '/adv/malicious',
|
url: '/adv/malicious',
|
||||||
name: 'advMalicious',
|
name: 'advMalicious',
|
||||||
slug: 'adv-malicious',
|
slug: 'adv-malicious',
|
||||||
i18n: 'لیست آگهی های مخرب',
|
i18n: 'لیست آگهی های مخرب',ّ
|
||||||
permission_id: 'bad_adv.manage'
|
permission_id: 'bad_adv.manage'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -31,6 +31,14 @@ export default [
|
|||||||
i18n: "اطلاعات پرسنلی",
|
i18n: "اطلاعات پرسنلی",
|
||||||
permissionId:'personnel'
|
permissionId:'personnel'
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
url: "/contract",
|
||||||
|
name: "contract",
|
||||||
|
slug: "contract",
|
||||||
|
icon: "AlignJustifyIcon",
|
||||||
|
i18n: "قرارداد ها",
|
||||||
|
permissionId:'personnel.contract.show'
|
||||||
|
},
|
||||||
{
|
{
|
||||||
url: "/permission",
|
url: "/permission",
|
||||||
name: "permission",
|
name: "permission",
|
||||||
|
|||||||
+31
-24
@@ -90,6 +90,24 @@ const router = new Router({
|
|||||||
parent: 'main'
|
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',
|
path: '/users',
|
||||||
name: 'users',
|
name: 'users',
|
||||||
@@ -108,15 +126,6 @@ const router = new Router({
|
|||||||
parent: 'main'
|
parent: 'main'
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
|
||||||
path: '/register/personnel',
|
|
||||||
name: 'register-personnel',
|
|
||||||
component: () => import('./views/register/RegisterPersonnel.vue'),
|
|
||||||
meta: {
|
|
||||||
rule: 'editor',
|
|
||||||
parent: 'main'
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
path: '/permission',
|
path: '/permission',
|
||||||
name: 'permission',
|
name: 'permission',
|
||||||
@@ -160,25 +169,23 @@ router.afterEach((to) => {
|
|||||||
})
|
})
|
||||||
|
|
||||||
router.beforeEach(async (to, from, next) => {
|
router.beforeEach(async (to, from, next) => {
|
||||||
// return next();
|
// return next();
|
||||||
let isLogin = sessionStorage.getItem('accessToken');
|
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);
|
//console.log("to.path ==> ", to.path);
|
||||||
if (
|
if (
|
||||||
to.path === "/register/form" ||
|
to.path === "/register/form" ||
|
||||||
to.path === "/auth/login" ||
|
to.path === "/auth/login" ||
|
||||||
to.path === "/auth/register" ||
|
to.path === "/auth/register" ||
|
||||||
to.path === "/pages/error-404" ||
|
to.path === "/pages/error-404" ||
|
||||||
to.path === "/pages/error-403" ||
|
to.path === "/pages/error-403" ||
|
||||||
to.path === "/auth/forgot-password"
|
to.path === "/auth/forgot-password"
|
||||||
) {
|
) {
|
||||||
/* if (isLogin) {
|
/* if (isLogin) {
|
||||||
router.push({path: '/'});
|
router.push({path: '/'});
|
||||||
}*/
|
}*/
|
||||||
return next();
|
return next();
|
||||||
}
|
} else if (!isLogin) {
|
||||||
|
|
||||||
else if (!isLogin) {
|
|
||||||
router.push({path: '/auth/login'});
|
router.push({path: '/auth/login'});
|
||||||
return;
|
return;
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
@@ -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
|
||||||
|
}
|
||||||
@@ -18,6 +18,7 @@ import actions from './actions'
|
|||||||
|
|
||||||
Vue.use(Vuex)
|
Vue.use(Vuex)
|
||||||
|
|
||||||
|
// unknown
|
||||||
// import moduleTodo from './todo/moduleTodo.js'
|
// import moduleTodo from './todo/moduleTodo.js'
|
||||||
// import moduleCalendar from './calendar/moduleCalendar.js'
|
// import moduleCalendar from './calendar/moduleCalendar.js'
|
||||||
// import moduleChat from './chat/moduleChat.js'
|
// import moduleChat from './chat/moduleChat.js'
|
||||||
@@ -44,6 +45,11 @@ import points from './point/points'
|
|||||||
import transaction from './transaction/transaction'
|
import transaction from './transaction/transaction'
|
||||||
import price from './price/price'
|
import price from './price/price'
|
||||||
import route from './route'
|
import route from './route'
|
||||||
|
// unknown
|
||||||
|
|
||||||
|
// sedmed known store
|
||||||
|
import contract from './contract/index'
|
||||||
|
// sedmed known store
|
||||||
|
|
||||||
export default new Vuex.Store({
|
export default new Vuex.Store({
|
||||||
getters,
|
getters,
|
||||||
@@ -73,6 +79,10 @@ export default new Vuex.Store({
|
|||||||
variantAdd:variantAdd,
|
variantAdd:variantAdd,
|
||||||
advModel:advModel,
|
advModel:advModel,
|
||||||
route:route,
|
route:route,
|
||||||
|
|
||||||
|
// sedmed known store
|
||||||
|
contract,
|
||||||
|
// sedmed known store
|
||||||
},
|
},
|
||||||
strict: process.env.NODE_ENV !== 'production'
|
strict: process.env.NODE_ENV !== 'production'
|
||||||
})
|
})
|
||||||
|
|||||||
@@ -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;
|
||||||
@@ -0,0 +1,79 @@
|
|||||||
|
<template>
|
||||||
|
<a-card>
|
||||||
|
<x-table ref="personelTbl" class="mt-4" v-if="contractTypes && work_units" :key="changeModel"
|
||||||
|
:model="model">
|
||||||
|
<template slot="gender" slot-scope="text,record">
|
||||||
|
{{text.record.personnel.proposal.gender_str}}
|
||||||
|
</template>
|
||||||
|
<template slot="work_unit" slot-scope="text,record">
|
||||||
|
{{findWorkUnit(text.record.work_unit)}}
|
||||||
|
</template>
|
||||||
|
</x-table>
|
||||||
|
</a-card>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import model from './conractModel'
|
||||||
|
import XTable from "@/components/new-x-table/XTable";
|
||||||
|
import axios from "@/axios";
|
||||||
|
export default {
|
||||||
|
name: "list",
|
||||||
|
data(){
|
||||||
|
return{
|
||||||
|
model,
|
||||||
|
contractTypes: undefined,
|
||||||
|
work_units: undefined,
|
||||||
|
changeModel: 0,
|
||||||
|
}
|
||||||
|
},
|
||||||
|
components: {
|
||||||
|
XTable
|
||||||
|
},
|
||||||
|
async created(){
|
||||||
|
await this.getTypes()
|
||||||
|
await this.getUnits()
|
||||||
|
console.log(this.model.cols,'modelllllllllllllllll')
|
||||||
|
let help = this.model.cols.findIndex(x=> x.dataIndex == 'type_str')
|
||||||
|
if (help > -1){
|
||||||
|
console.log('daosdkajsk',this.model.cols[help].filterItems)
|
||||||
|
this.model.cols[help].filterItems = this.contractTypes
|
||||||
|
}
|
||||||
|
help = this.model.cols.findIndex(x=> x.dataIndex == 'work_unit')
|
||||||
|
if (help > -1){
|
||||||
|
console.log('daosdkajsk',this.model.cols[help].filterItems)
|
||||||
|
let units = {}
|
||||||
|
this.work_units.map((x) => {units[x.id] = x.value})
|
||||||
|
this.model.cols[help].filterItems = units
|
||||||
|
}
|
||||||
|
this.changeModel++
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
//get contract types
|
||||||
|
async getTypes() {
|
||||||
|
try {
|
||||||
|
const {data} = await axios.get('/personnel/type')
|
||||||
|
this.contractTypes = data
|
||||||
|
} catch (e) {
|
||||||
|
throw e
|
||||||
|
}
|
||||||
|
},
|
||||||
|
async getUnits() {
|
||||||
|
try {
|
||||||
|
let {data} = await axios.get('/personnel/unit')
|
||||||
|
this.work_units = data
|
||||||
|
} catch (e) {
|
||||||
|
throw e
|
||||||
|
}
|
||||||
|
},
|
||||||
|
//get work unit
|
||||||
|
findWorkUnit(id){
|
||||||
|
const unit = this.work_units.filter(x => x.id == id)
|
||||||
|
if (unit[0]) return unit[0].value
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style scoped>
|
||||||
|
|
||||||
|
</style>
|
||||||
@@ -1,8 +1,8 @@
|
|||||||
import XTbl, {Xtc} from '../../components/new-x-table/index';
|
import XTbl, {Xtc} from '../../components/new-x-table/index';
|
||||||
|
|
||||||
const tbl = new XTbl('contractTerminationCurrentMonth/table', 'لیست پرسنل');
|
const tbl = new XTbl('contractTerminationCurrentMonth/table', 'لیست پرسنل');
|
||||||
tbl.add(new Xtc('personnel.personel_id', 'کد پرسنلی').hidden().filterText());
|
tbl.add(new Xtc('contract.personel_id', 'کد پرسنلی').hidden().filterText());
|
||||||
tbl.add(new Xtc('personnel.name', 'نام و نام خانوادگی').filterText())
|
tbl.add(new Xtc('contract.name', 'نام و نام خانوادگی').filterText())
|
||||||
tbl.add(new Xtc('start_atj', 'تاریخ شروع قرارداد').filterDate().filterKey('start_at'))
|
tbl.add(new Xtc('start_atj', 'تاریخ شروع قرارداد').filterDate().filterKey('start_at'))
|
||||||
tbl.add(new Xtc('end_atj', 'تاریخ اتمام قرارداد').filterDate().filterKey('end_at'))
|
tbl.add(new Xtc('end_atj', 'تاریخ اتمام قرارداد').filterDate().filterKey('end_at'))
|
||||||
tbl.add(new Xtc('reason_termination', 'علت فسخ قرارداد').filterText())
|
tbl.add(new Xtc('reason_termination', 'علت فسخ قرارداد').filterText())
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
import XTbl, {Xtc} from '../../components/new-x-table/index';
|
import XTbl, {Xtc} from '../../components/new-x-table/index';
|
||||||
|
|
||||||
const tbl = new XTbl('contractTerminationPastMonth/table', 'لیست پرسنل');
|
const tbl = new XTbl('contractTerminationPastMonth/table', 'لیست پرسنل');
|
||||||
tbl.add(new Xtc('personnel.personel_id', 'کد پرسنلی').hidden().filterText());
|
tbl.add(new Xtc('contract.personel_id', 'کد پرسنلی').hidden().filterText());
|
||||||
tbl.add(new Xtc('personnel.name', 'نام و نام خانوادگی').filterText())
|
tbl.add(new Xtc('contract.name', 'نام و نام خانوادگی').filterText())
|
||||||
tbl.add(new Xtc('start_atj', 'تاریخ شروع قرارداد').filterDate().filterKey('start_at'))
|
tbl.add(new Xtc('start_atj', 'تاریخ شروع قرارداد').filterDate().filterKey('start_at'))
|
||||||
tbl.add(new Xtc('end_atj', 'تاریخ اتمام قرارداد').filterDate().filterKey('end_at'))
|
tbl.add(new Xtc('end_atj', 'تاریخ اتمام قرارداد').filterDate().filterKey('end_at'))
|
||||||
tbl.add(new Xtc('reason_termination', 'علت فسخ قرارداد').filterText())
|
tbl.add(new Xtc('reason_termination', 'علت فسخ قرارداد').filterText())
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
import XTbl, {Xtc} from '../../components/new-x-table/index';
|
import XTbl, {Xtc} from '../../components/new-x-table/index';
|
||||||
|
|
||||||
const tbl = new XTbl('personelContactEndCurrentMonth/table', 'لیست پرسنل');
|
const tbl = new XTbl('personelContactEndCurrentMonth/table', 'لیست پرسنل');
|
||||||
tbl.add(new Xtc('personnel.personel_id', 'کد پرسنلی').filterText());
|
tbl.add(new Xtc('contract.personel_id', 'کد پرسنلی').filterText());
|
||||||
tbl.add(new Xtc('personnel.name', 'نام و نام خانوادگی').filterText())
|
tbl.add(new Xtc('contract.name', 'نام و نام خانوادگی').filterText())
|
||||||
tbl.add(new Xtc('start_atj', 'تاریخ شروع قرارداد').filterDate().filterKey('start_at'))
|
tbl.add(new Xtc('start_atj', 'تاریخ شروع قرارداد').filterDate().filterKey('start_at'))
|
||||||
tbl.add(new Xtc('end_atj', 'تاریخ اتمام قرارداد').filterDate().filterKey('end_at'))
|
tbl.add(new Xtc('end_atj', 'تاریخ اتمام قرارداد').filterDate().filterKey('end_at'))
|
||||||
tbl.add(new Xtc('date_work', 'مدت تصدی (روز)'))
|
tbl.add(new Xtc('date_work', 'مدت تصدی (روز)'))
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
import XTbl, {Xtc} from '../../components/new-x-table/index';
|
import XTbl, {Xtc} from '../../components/new-x-table/index';
|
||||||
|
|
||||||
const tbl = new XTbl('personelContactEndNextMonth/table', 'لیست پرسنل');
|
const tbl = new XTbl('personelContactEndNextMonth/table', 'لیست پرسنل');
|
||||||
tbl.add(new Xtc('personnel.personel_id', 'کد پرسنلی').noSort());
|
tbl.add(new Xtc('contract.personel_id', 'کد پرسنلی').noSort());
|
||||||
tbl.add(new Xtc('personnel.name', 'نام و نام خانوادگی').noSort())
|
tbl.add(new Xtc('contract.name', 'نام و نام خانوادگی').noSort())
|
||||||
tbl.add(new Xtc('start_atj', 'تاریخ شروع قرارداد').noSort())
|
tbl.add(new Xtc('start_atj', 'تاریخ شروع قرارداد').noSort())
|
||||||
tbl.add(new Xtc('end_atj', 'تاریخ اتمام قرارداد').noSort())
|
tbl.add(new Xtc('end_atj', 'تاریخ اتمام قرارداد').noSort())
|
||||||
tbl.add(new Xtc('date_work', 'مدت تصدی (روز)'))
|
tbl.add(new Xtc('date_work', 'مدت تصدی (روز)'))
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
import XTbl, {Xtc} from '../../components/new-x-table/index';
|
import XTbl, {Xtc} from '../../components/new-x-table/index';
|
||||||
|
|
||||||
const tbl = new XTbl('personelContactEndPastMonth/table', 'لیست پرسنل اتمام قرارداد در ماه گذشته');
|
const tbl = new XTbl('personelContactEndPastMonth/table', 'لیست پرسنل اتمام قرارداد در ماه گذشته');
|
||||||
tbl.add(new Xtc('personnel.personel_id', 'کد پرسنلی').filterText());
|
tbl.add(new Xtc('contract.personel_id', 'کد پرسنلی').filterText());
|
||||||
tbl.add(new Xtc('personnel.name', 'نام و نام خانوادگی').filterText())
|
tbl.add(new Xtc('contract.name', 'نام و نام خانوادگی').filterText())
|
||||||
tbl.add(new Xtc('start_atj', 'تاریخ شروع قرارداد').filterDate().filterKey('start_at'))
|
tbl.add(new Xtc('start_atj', 'تاریخ شروع قرارداد').filterDate().filterKey('start_at'))
|
||||||
tbl.add(new Xtc('end_atj', 'تاریخ اتمام قرارداد').filterDate().filterKey('end_at'))
|
tbl.add(new Xtc('end_atj', 'تاریخ اتمام قرارداد').filterDate().filterKey('end_at'))
|
||||||
tbl.add(new Xtc('date_work', 'مدت تصدی (روز)'))
|
tbl.add(new Xtc('date_work', 'مدت تصدی (روز)'))
|
||||||
|
|||||||
@@ -14,6 +14,15 @@
|
|||||||
مشاهده و ویرایش اطلاعات
|
مشاهده و ویرایش اطلاعات
|
||||||
</a-button>
|
</a-button>
|
||||||
</template>
|
</template>
|
||||||
|
<template slot="gender" slot-scope="text,record">
|
||||||
|
{{text.record.proposal.gender_str}}
|
||||||
|
</template>
|
||||||
|
<template slot="birth_date" slot-scope="text,record">
|
||||||
|
{{text.record.birth_date | jdate}}
|
||||||
|
</template>
|
||||||
|
<template slot="work_unit" slot-scope="text,record">
|
||||||
|
{{findWorkUnit(text.record.contract[0].work_unit)}}
|
||||||
|
</template>
|
||||||
</x-table>
|
</x-table>
|
||||||
<a-modal :maskClosable="false" :forceRender="true" width="90%" v-model="showPersonalModal"
|
<a-modal :maskClosable="false" :forceRender="true" width="90%" v-model="showPersonalModal"
|
||||||
title="ویرایش اطلاعات پرسنلی">
|
title="ویرایش اطلاعات پرسنلی">
|
||||||
@@ -471,7 +480,7 @@
|
|||||||
<a-list :locale="{emptyText:'رکوردی وجود ندارد.'}" bordered item-layout="horizontal">
|
<a-list :locale="{emptyText:'رکوردی وجود ندارد.'}" bordered item-layout="horizontal">
|
||||||
<a-list-item class="grid grid-cols-3" v-for="(item,index) in training" :key="index">
|
<a-list-item class="grid grid-cols-3" v-for="(item,index) in training" :key="index">
|
||||||
<div>
|
<div>
|
||||||
<a-button v-if="item.file" target="_blank" :href="item.file.storage" class="mr-3">دانلود پیوست
|
<a-button v-if="item.file" target="_blank" type="primary" :href="item.file.storage" class="mr-3">دانلود پیوست
|
||||||
</a-button>
|
</a-button>
|
||||||
<a-tooltip placement="bottomRight">
|
<a-tooltip placement="bottomRight">
|
||||||
<template slot="title">
|
<template slot="title">
|
||||||
@@ -556,7 +565,7 @@
|
|||||||
@click="removetermination(index)">لغو فسخ قرارداد
|
@click="removetermination(index)">لغو فسخ قرارداد
|
||||||
</a-button>
|
</a-button>
|
||||||
<a-button :disabled="!$getAccess('personnel.contract')" v-if="item.file" class="ml-3"
|
<a-button :disabled="!$getAccess('personnel.contract')" v-if="item.file" class="ml-3"
|
||||||
target="_blank" :href="item.file.storage">دانلود پیوست
|
target="_blank" type="primary" :href="item.file.storage">دانلود پیوست
|
||||||
</a-button>
|
</a-button>
|
||||||
</div>
|
</div>
|
||||||
<div class="mt-5">
|
<div class="mt-5">
|
||||||
@@ -600,31 +609,31 @@
|
|||||||
<a @click="showContractId=true">نوع 1</a>
|
<a @click="showContractId=true">نوع 1</a>
|
||||||
</a-menu-item>
|
</a-menu-item>
|
||||||
<a-menu-item key="2">
|
<a-menu-item key="2">
|
||||||
<a :href="`/back/public/api/personnel/print?id=${item.id}&type=2`" target="_blank">نوع 2</a>
|
<a :href="`/back/public/api/contract/print?id=${item.id}&type=2`" target="_blank">نوع 2</a>
|
||||||
</a-menu-item>
|
</a-menu-item>
|
||||||
<a-menu-item key="3">
|
<a-menu-item key="3">
|
||||||
<a :href="`/back/public/api/personnel/print?id=${item.id}&type=3`" target="_blank">نوع 3</a>
|
<a :href="`/back/public/api/contract/print?id=${item.id}&type=3`" target="_blank">نوع 3</a>
|
||||||
</a-menu-item>
|
</a-menu-item>
|
||||||
<a-menu-item key="4">
|
<a-menu-item key="4">
|
||||||
<a :href="`back/public/api/personnel/print?id=${item.id}&type=4`" target="_blank">نوع 4</a>
|
<a :href="`back/public/api/contract/print?id=${item.id}&type=4`" target="_blank">نوع 4</a>
|
||||||
</a-menu-item>
|
</a-menu-item>
|
||||||
<a-menu-item key="5">
|
<a-menu-item key="5">
|
||||||
<a :href="`/back/public/api/personnel/print?id=${item.id}&type=5`" target="_blank">نوع 5</a>
|
<a :href="`/back/public/api/contract/print?id=${item.id}&type=5`" target="_blank">نوع 5</a>
|
||||||
</a-menu-item>
|
</a-menu-item>
|
||||||
<a-menu-item key="6">
|
<a-menu-item key="6">
|
||||||
<a :href="`/back/public/api/personnel/print?id=${item.id}&type=6`" target="_blank">نوع 6</a>
|
<a :href="`/back/public/api/contract/print?id=${item.id}&type=6`" target="_blank">نوع 6</a>
|
||||||
</a-menu-item>
|
</a-menu-item>
|
||||||
<a-menu-item key="7">
|
<a-menu-item key="7">
|
||||||
<a :href="`/back/public/api/personnel/print?id=${item.id}&type=7`" target="_blank">نوع 7</a>
|
<a :href="`/back/public/api/contract/print?id=${item.id}&type=7`" target="_blank">نوع 7</a>
|
||||||
</a-menu-item>
|
</a-menu-item>
|
||||||
<a-menu-item key="8">
|
<a-menu-item key="8">
|
||||||
<a :href="`/back/public/api/personnel/print?id=${item.id}&type=8`" target="_blank">نوع 8</a>
|
<a :href="`/back/public/api/contract/print?id=${item.id}&type=8`" target="_blank">نوع 8</a>
|
||||||
</a-menu-item>
|
</a-menu-item>
|
||||||
<a-menu-item key="9">
|
<a-menu-item key="9">
|
||||||
<a :href="`/back/public/api/personnel/print?id=${item.id}&type=9`" target="_blank">نوع 9</a>
|
<a :href="`/back/public/api/contract/print?id=${item.id}&type=9`" target="_blank">نوع 9</a>
|
||||||
</a-menu-item>
|
</a-menu-item>
|
||||||
<a-menu-item key="10">
|
<a-menu-item key="10">
|
||||||
<a :href="`/back/public/api/personnel/print?id=${item.id}&type=10`" target="_blank">نوع 10</a>
|
<a :href="`/back/public/api/contract/print?id=${item.id}&type=10`" target="_blank">نوع 10</a>
|
||||||
</a-menu-item>
|
</a-menu-item>
|
||||||
<!– <a-menu-item key="7">
|
<!– <a-menu-item key="7">
|
||||||
<a href="222" target="_blank">نوع سوم</a>
|
<a href="222" target="_blank">نوع سوم</a>
|
||||||
@@ -799,7 +808,7 @@
|
|||||||
<a-list-item class="grid grid-cols-3" v-for="(item,index) in writ" :key="index">
|
<a-list-item class="grid grid-cols-3" v-for="(item,index) in writ" :key="index">
|
||||||
<div>
|
<div>
|
||||||
<a-tooltip placement="bottomRight">
|
<a-tooltip placement="bottomRight">
|
||||||
<a-button v-if="item.file" target="_blank" :href="item.file.storage" class="mr-3">دانلود
|
<a-button v-if="item.file" target="_blank" type="primary" :href="item.file.storage" class="mr-3">دانلود
|
||||||
پیوست
|
پیوست
|
||||||
</a-button>
|
</a-button>
|
||||||
<template slot="title">
|
<template slot="title">
|
||||||
@@ -1319,13 +1328,13 @@ export default {
|
|||||||
},
|
},
|
||||||
checkPermission(index) {
|
checkPermission(index) {
|
||||||
const steps = {
|
const steps = {
|
||||||
1: 'personnel.basic.update',
|
1: 'contract.basic.update',
|
||||||
3: 'personnel.train',
|
3: 'contract.train',
|
||||||
4: 'personnel.contract',
|
4: 'contract.contract',
|
||||||
5: 'personnel.intro',
|
5: 'contract.intro',
|
||||||
6: 'personnel.delivery',
|
6: 'contract.delivery',
|
||||||
7: 'personnel.function',
|
7: 'contract.function',
|
||||||
8: 'personnel.rule'
|
8: 'contract.rule'
|
||||||
}
|
}
|
||||||
return !this.$getAccess(steps[index])
|
return !this.$getAccess(steps[index])
|
||||||
},
|
},
|
||||||
@@ -1930,6 +1939,7 @@ export default {
|
|||||||
try {
|
try {
|
||||||
const {data} = await axios.get('/personnel/type')
|
const {data} = await axios.get('/personnel/type')
|
||||||
this.contractTypes = data
|
this.contractTypes = data
|
||||||
|
await this.$store.commit('personnel/setContractTypes',data)
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
throw e
|
throw e
|
||||||
}
|
}
|
||||||
@@ -1937,6 +1947,7 @@ export default {
|
|||||||
async getUnits() {
|
async getUnits() {
|
||||||
try {
|
try {
|
||||||
let {data} = await axios.get('/personnel/unit')
|
let {data} = await axios.get('/personnel/unit')
|
||||||
|
await this.$store.commit('personnel/setUnits',data)
|
||||||
data.push
|
data.push
|
||||||
({
|
({
|
||||||
id: "new",
|
id: "new",
|
||||||
@@ -1951,8 +1962,7 @@ export default {
|
|||||||
if (id == "new") {
|
if (id == "new") {
|
||||||
this.showName = true
|
this.showName = true
|
||||||
}
|
}
|
||||||
}
|
},
|
||||||
|
|
||||||
},
|
},
|
||||||
beforeCreate() {
|
beforeCreate() {
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -5,6 +5,13 @@ tbl.add(new Xtc('name', 'نام و نام خانوادگی').filterText());
|
|||||||
tbl.add(new Xtc('personel_id', 'کد پرسنلی').filterText())
|
tbl.add(new Xtc('personel_id', 'کد پرسنلی').filterText())
|
||||||
tbl.add(new Xtc('insurance_no', 'شماره بیمه').filterText())
|
tbl.add(new Xtc('insurance_no', 'شماره بیمه').filterText())
|
||||||
tbl.add(new Xtc('ncode', 'کد ملی').filterText())
|
tbl.add(new Xtc('ncode', 'کد ملی').filterText())
|
||||||
|
|
||||||
|
tbl.add(new Xtc('proposal.mobile', 'شماره تلفن').filterText().hidden())
|
||||||
|
tbl.add(new Xtc('proposal.iden_place', 'محل صدور').filterText().hidden())
|
||||||
|
tbl.add(new Xtc('proposal.birth_place', 'محل تولد').filterText().hidden())
|
||||||
|
tbl.add(new Xtc('birth_date', 'تاریخ تولد').filterDate().filterKey('birth_date').hidden().renderSlot('birth_date'))
|
||||||
|
tbl.add(new Xtc('proposal.gender', 'جنسیت').filterSelect({1: 'مرد', 2: 'زن'}).filterKey('proposal.gender').hidden().renderSlot('gender'))
|
||||||
|
|
||||||
tbl.add(new Xtc('caj', 'ثبت نام').filterDate().filterKey('created_at'))
|
tbl.add(new Xtc('caj', 'ثبت نام').filterDate().filterKey('created_at'))
|
||||||
tbl.add(new Xtc('uaj', 'به روز رسانی').filterDate().filterKey('updated_at'))
|
tbl.add(new Xtc('uaj', 'به روز رسانی').filterDate().filterKey('updated_at'))
|
||||||
tbl.add(new Xtc('operator', 'عملیات').renderSlot('operator').noSort())
|
tbl.add(new Xtc('operator', 'عملیات').renderSlot('operator').noSort())
|
||||||
|
|||||||
@@ -715,9 +715,9 @@
|
|||||||
</div>
|
</div>
|
||||||
</a-card>
|
</a-card>
|
||||||
<a-card title="اطلاعات خانوادگی" class="mt-5">
|
<a-card title="اطلاعات خانوادگی" class="mt-5">
|
||||||
<a slot="extra" @click.prevent="AddFamily()" :disabled="!$getAccess('personnel.basic.family.create')">افزودن اطلاعات خانوادگی</a>
|
<a slot="extra" @click.prevent="AddFamily()" :disabled="!$getAccess('contract.basic.family.create')">افزودن اطلاعات خانوادگی</a>
|
||||||
<template v-for="(item,index) in personalDetails['family']" >
|
<template v-for="(item,index) in personalDetails['family']" >
|
||||||
<a-button :disabled="!$getAccess('personnel.basic.family.delete')" type="danger" @click="handleRemoveFamily(item,index)">حذف</a-button>
|
<a-button :disabled="!$getAccess('contract.basic.family.delete')" type="danger" @click="handleRemoveFamily(item,index)">حذف</a-button>
|
||||||
<div class="grid sm:grid-cols-1 md:grid-cols-3 md:gap-3 lg:grid-cols-3 lg:gap-3">
|
<div class="grid sm:grid-cols-1 md:grid-cols-3 md:gap-3 lg:grid-cols-3 lg:gap-3">
|
||||||
<a-form-item style="display: none">
|
<a-form-item style="display: none">
|
||||||
<input type="hidden" class="ant-input" autocomplete="off" v-decorator="[`personal_details.family[${index}].id`]"/>
|
<input type="hidden" class="ant-input" autocomplete="off" v-decorator="[`personal_details.family[${index}].id`]"/>
|
||||||
@@ -760,9 +760,9 @@
|
|||||||
</a-card>
|
</a-card>
|
||||||
|
|
||||||
<a-card title="اطلاعات تحصیلی" class="mt-5">
|
<a-card title="اطلاعات تحصیلی" class="mt-5">
|
||||||
<a :disabled="!$getAccess('personnel.basic.education.create')" slot="extra" @click.prevent="AddEducation()">افزودن سابقه تحصیلی</a>
|
<a :disabled="!$getAccess('contract.basic.education.create')" slot="extra" @click.prevent="AddEducation()">افزودن سابقه تحصیلی</a>
|
||||||
<template v-for="(item,index) in personalDetails['education']">
|
<template v-for="(item,index) in personalDetails['education']">
|
||||||
<a-button :disabled="!$getAccess('personnel.basic.education.delete')" type="danger" @click="handleRemoveEducation(item,index)">حذف</a-button>
|
<a-button :disabled="!$getAccess('contract.basic.education.delete')" type="danger" @click="handleRemoveEducation(item,index)">حذف</a-button>
|
||||||
<div class="grid sm:grid-cols-1 md:grid-cols-3 md:gap-3 lg:grid-cols-3 lg:gap-3">
|
<div class="grid sm:grid-cols-1 md:grid-cols-3 md:gap-3 lg:grid-cols-3 lg:gap-3">
|
||||||
<a-form-item style="display: none">
|
<a-form-item style="display: none">
|
||||||
<input type="hidden" class="ant-input" autocomplete="off" v-decorator="[`personal_details.education[${index}].id`]"/>
|
<input type="hidden" class="ant-input" autocomplete="off" v-decorator="[`personal_details.education[${index}].id`]"/>
|
||||||
@@ -805,9 +805,9 @@
|
|||||||
</a-card>
|
</a-card>
|
||||||
|
|
||||||
<a-card title="سوابق آموزشی" class="mt-5">
|
<a-card title="سوابق آموزشی" class="mt-5">
|
||||||
<a :disabled="!$getAccess('personnel.basic.train.create')" slot="extra" @click.prevent="AddTraning()">افزودن سابقه آموزشی </a>
|
<a :disabled="!$getAccess('contract.basic.train.create')" slot="extra" @click.prevent="AddTraning()">افزودن سابقه آموزشی </a>
|
||||||
<template v-for="(item,index) in personalDetails['traning']">
|
<template v-for="(item,index) in personalDetails['traning']">
|
||||||
<a-button :disabled="!$getAccess('personnel.basic.train.delete')" type="danger" @click="handleRemoveTraning(item,index)">حذف</a-button>
|
<a-button :disabled="!$getAccess('contract.basic.train.delete')" type="danger" @click="handleRemoveTraning(item,index)">حذف</a-button>
|
||||||
<div class="grid sm:grid-cols-1 md:grid-cols-3 md:gap-3 lg:grid-cols-3 lg:gap-3">
|
<div class="grid sm:grid-cols-1 md:grid-cols-3 md:gap-3 lg:grid-cols-3 lg:gap-3">
|
||||||
<a-form-item style="display: none">
|
<a-form-item style="display: none">
|
||||||
<input type="hidden" class="ant-input" autocomplete="off" v-decorator="[`personal_details.traning[${index}].id`]"/>
|
<input type="hidden" class="ant-input" autocomplete="off" v-decorator="[`personal_details.traning[${index}].id`]"/>
|
||||||
@@ -830,9 +830,9 @@
|
|||||||
</a-card>
|
</a-card>
|
||||||
|
|
||||||
<a-card title="سوابق کاری" class="mt-5">
|
<a-card title="سوابق کاری" class="mt-5">
|
||||||
<a :disabled="!$getAccess('personnel.basic.job.create')" slot="extra" @click.prevent="AddJobsHistory()">افزودن سابقه کاری</a>
|
<a :disabled="!$getAccess('contract.basic.job.create')" slot="extra" @click.prevent="AddJobsHistory()">افزودن سابقه کاری</a>
|
||||||
<template v-for="(item,index) in personalDetails['jobs_history']">
|
<template v-for="(item,index) in personalDetails['jobs_history']">
|
||||||
<a-button :disabled="!$getAccess('personnel.basic.job.delete')" type="danger" @click="handleRemoveJobsHistory(item,index)">حذف</a-button>
|
<a-button :disabled="!$getAccess('contract.basic.job.delete')" type="danger" @click="handleRemoveJobsHistory(item,index)">حذف</a-button>
|
||||||
<div class="grid sm:grid-cols-1 md:grid-cols-3 md:gap-3 lg:grid-cols-3 lg:gap-3">
|
<div class="grid sm:grid-cols-1 md:grid-cols-3 md:gap-3 lg:grid-cols-3 lg:gap-3">
|
||||||
<a-form-item style="display: none">
|
<a-form-item style="display: none">
|
||||||
<input type="hidden" class="ant-input" autocomplete="off" v-decorator="[`personal_details.jobs_history[${index}].id`]"/>
|
<input type="hidden" class="ant-input" autocomplete="off" v-decorator="[`personal_details.jobs_history[${index}].id`]"/>
|
||||||
|
|||||||
@@ -1186,7 +1186,7 @@ export default {
|
|||||||
this.getDate()
|
this.getDate()
|
||||||
},
|
},
|
||||||
LoginUser() {
|
LoginUser() {
|
||||||
this.$router.push('/register/personnel')
|
this.$router.push('/register/contract')
|
||||||
},
|
},
|
||||||
next() {
|
next() {
|
||||||
this.current++;
|
this.current++;
|
||||||
|
|||||||
Reference in New Issue
Block a user