This commit is contained in:
sedmedgh
2022-02-26 18:44:50 +03:30
parent 9849f1f089
commit 1c8fac78d0
19 changed files with 256 additions and 71 deletions
+1 -1
View File
@@ -40,7 +40,7 @@ a:active,
a:visited,
a:hover,
a {
color: rgba(var(--vs-primary), 1);
color: rgba(#fff, 1);
}
// quill editor
+4 -4
View File
@@ -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)
}
},
+1 -1
View File
@@ -204,7 +204,7 @@
noThings() {
},
onSearch(value) {
console.log(value);
// console.log(value);
this.query.search = value;
if (value) {
this.fetch();
@@ -80,7 +80,7 @@ const menu_items = [
url: '/adv/malicious',
name: 'advMalicious',
slug: 'adv-malicious',
i18n: 'لیست آگهی های مخرب',
i18n: 'لیست آگهی های مخرب',ّ
permission_id: 'bad_adv.manage'
},
{
@@ -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",
+31 -24
View File
@@ -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 {
+23
View File
@@ -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
}
+10
View File
@@ -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'
})
+41
View File
@@ -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;
+79
View File
@@ -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';
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())
@@ -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())
@@ -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', 'مدت تصدی (روز)'))
@@ -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', 'مدت تصدی (روز)'))
@@ -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', 'مدت تصدی (روز)'))
+31 -21
View File
@@ -14,6 +14,15 @@
مشاهده و ویرایش اطلاعات
</a-button>
</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>
<a-modal :maskClosable="false" :forceRender="true" width="90%" v-model="showPersonalModal"
title="ویرایش اطلاعات پرسنلی">
@@ -471,7 +480,7 @@
<a-list :locale="{emptyText:'رکوردی وجود ندارد.'}" bordered item-layout="horizontal">
<a-list-item class="grid grid-cols-3" v-for="(item,index) in training" :key="index">
<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-tooltip placement="bottomRight">
<template slot="title">
@@ -556,7 +565,7 @@
@click="removetermination(index)">لغو فسخ قرارداد
</a-button>
<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>
</div>
<div class="mt-5">
@@ -600,31 +609,31 @@
<a @click="showContractId=true">نوع 1</a>
</a-menu-item>
<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 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 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 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 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 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 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 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 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>
&lt;!&ndash; <a-menu-item key="7">
<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">
<div>
<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>
<template slot="title">
@@ -1319,13 +1328,13 @@ export default {
},
checkPermission(index) {
const steps = {
1: 'personnel.basic.update',
3: 'personnel.train',
4: 'personnel.contract',
5: 'personnel.intro',
6: 'personnel.delivery',
7: 'personnel.function',
8: 'personnel.rule'
1: 'contract.basic.update',
3: 'contract.train',
4: 'contract.contract',
5: 'contract.intro',
6: 'contract.delivery',
7: 'contract.function',
8: 'contract.rule'
}
return !this.$getAccess(steps[index])
},
@@ -1930,6 +1939,7 @@ export default {
try {
const {data} = await axios.get('/personnel/type')
this.contractTypes = data
await this.$store.commit('personnel/setContractTypes',data)
} catch (e) {
throw e
}
@@ -1937,6 +1947,7 @@ export default {
async getUnits() {
try {
let {data} = await axios.get('/personnel/unit')
await this.$store.commit('personnel/setUnits',data)
data.push
({
id: "new",
@@ -1951,8 +1962,7 @@ export default {
if (id == "new") {
this.showName = true
}
}
},
},
beforeCreate() {
},
+7
View File
@@ -5,6 +5,13 @@ tbl.add(new Xtc('name', 'نام و نام خانوادگی').filterText());
tbl.add(new Xtc('personel_id', 'کد پرسنلی').filterText())
tbl.add(new Xtc('insurance_no', 'شماره بیمه').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('uaj', 'به روز رسانی').filterDate().filterKey('updated_at'))
tbl.add(new Xtc('operator', 'عملیات').renderSlot('operator').noSort())
+8 -8
View File
@@ -715,9 +715,9 @@
</div>
</a-card>
<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']" >
<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">
<a-form-item style="display: none">
<input type="hidden" class="ant-input" autocomplete="off" v-decorator="[`personal_details.family[${index}].id`]"/>
@@ -760,9 +760,9 @@
</a-card>
<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']">
<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">
<a-form-item style="display: none">
<input type="hidden" class="ant-input" autocomplete="off" v-decorator="[`personal_details.education[${index}].id`]"/>
@@ -805,9 +805,9 @@
</a-card>
<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']">
<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">
<a-form-item style="display: none">
<input type="hidden" class="ant-input" autocomplete="off" v-decorator="[`personal_details.traning[${index}].id`]"/>
@@ -830,9 +830,9 @@
</a-card>
<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']">
<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">
<a-form-item style="display: none">
<input type="hidden" class="ant-input" autocomplete="off" v-decorator="[`personal_details.jobs_history[${index}].id`]"/>
+1 -1
View File
@@ -1186,7 +1186,7 @@ export default {
this.getDate()
},
LoginUser() {
this.$router.push('/register/personnel')
this.$router.push('/register/contract')
},
next() {
this.current++;