archive added
This commit is contained in:
@@ -99,4 +99,9 @@
|
||||
.has-error .vpd-input-group{
|
||||
border: 1px solid #f5222d;
|
||||
border-radius: 5px;
|
||||
}
|
||||
}
|
||||
.ant-tabs-ink-bar {
|
||||
left: auto !important;
|
||||
right: auto !important;
|
||||
transform-origin: 0 !important;
|
||||
}
|
||||
|
||||
@@ -118,7 +118,7 @@
|
||||
|
||||
.feather-icon{
|
||||
color: #565656;
|
||||
margin-right: 14px;
|
||||
margin-left: 14px;
|
||||
.feather{
|
||||
width: 20px;
|
||||
height:20px;
|
||||
|
||||
@@ -10,7 +10,7 @@ export default [
|
||||
},
|
||||
{
|
||||
url: '/config',
|
||||
icon: 'LayersIcon',
|
||||
icon: 'SlidersIcon',
|
||||
i18n: 'پیکربندی',
|
||||
slug: 'config',
|
||||
permissionId:'config'
|
||||
@@ -19,7 +19,7 @@ export default [
|
||||
url: "/proposal",
|
||||
name: "proposal",
|
||||
slug: "proposal",
|
||||
icon: "AlignJustifyIcon",
|
||||
icon: "FileTextIcon",
|
||||
i18n: "درخواست ها",
|
||||
permissionId:'request'
|
||||
},
|
||||
@@ -27,7 +27,7 @@ export default [
|
||||
url: "/personel",
|
||||
name: "personel",
|
||||
slug: "personel",
|
||||
icon: "AlignJustifyIcon",
|
||||
icon: "UsersIcon",
|
||||
i18n: "اطلاعات پرسنلی",
|
||||
permissionId:'personnel'
|
||||
},
|
||||
@@ -43,7 +43,7 @@ export default [
|
||||
url: "/permission",
|
||||
name: "permission",
|
||||
slug: "permission",
|
||||
icon: "AlignJustifyIcon",
|
||||
icon: "SettingsIcon",
|
||||
i18n: "سطح دسترسی",
|
||||
permissionId:'permission.show'
|
||||
},
|
||||
@@ -54,6 +54,14 @@ export default [
|
||||
icon: "UserIcon",
|
||||
i18n: "کاربران",
|
||||
permissionId:'user'
|
||||
},
|
||||
{
|
||||
url: "/restore",
|
||||
name: "restore",
|
||||
slug: "restore",
|
||||
icon: "ArchiveIcon",
|
||||
i18n: "بایگانی",
|
||||
permissionId:'archive'
|
||||
}
|
||||
]
|
||||
|
||||
|
||||
@@ -117,6 +117,15 @@ const router = new Router({
|
||||
parent: 'main'
|
||||
}
|
||||
},
|
||||
{
|
||||
path: '/restore',
|
||||
name: 'users',
|
||||
component: () => import('./views/restore/restore.vue'),
|
||||
meta: {
|
||||
rule: 'editor',
|
||||
parent: 'main'
|
||||
}
|
||||
},
|
||||
{
|
||||
path: '/register/users',
|
||||
name: 'register-users',
|
||||
|
||||
@@ -4,9 +4,9 @@
|
||||
<a-spin :spinning="showLoading" tip="در حال دریافت اطلاعات">
|
||||
<div class="spin-content">
|
||||
<a-card>
|
||||
<a-button @click="$router.push('/register/personnel')" :disabled="!$getAccess('personnel.create')">
|
||||
<!-- <a-button @click="$router.push('/register/personnel')" :disabled="!$getAccess('personnel.create')">
|
||||
ثبت پرسنل جدید
|
||||
</a-button>
|
||||
</a-button>-->
|
||||
<x-table ref="personelTbl" class="mt-4"
|
||||
:model="cols">
|
||||
<template slot="operator" slot-scope="text,record">
|
||||
@@ -149,7 +149,9 @@
|
||||
<input class="ant-input" autocomplete="off" v-decorator="['proposal.iden_place']"/>
|
||||
</a-form-item>
|
||||
<a-form-item label="محل تولد">
|
||||
<input class="ant-input" autocomplete="off" v-decorator="['proposal.birth_place']"/>
|
||||
<input class="ant-input" autocomplete="off" v-decorator="['proposal.birth_place',{rules: [{
|
||||
pattern: /^([\u0600-\u06FF\uFB8A\u067E\u0686\u06AF\u200C ])+$/,
|
||||
message: `محل صدور باید فارسی باشد `, }]}]"/>
|
||||
</a-form-item>
|
||||
<a-form-item label="ایمیل">
|
||||
<input class="ant-input" autocomplete="off" v-decorator="['proposal.email']"/>
|
||||
@@ -255,11 +257,11 @@
|
||||
</a-radio-group>
|
||||
</a-form-item>
|
||||
</div>
|
||||
|
||||
<div v-if="flags.marriage_sts == 2">
|
||||
<!-- v-if="flags.marriage_sts == 2"-->
|
||||
<div>
|
||||
<a-form-item label="تعداد فرزند">
|
||||
<input class="ant-input"
|
||||
v-decorator="['proposal.count_child',{rules: [{ required: true, message: 'لطفا مقدار را وارد کنید' },{ pattern: /^[0-9]+$/, message: 'فقط عدد مجاز است' }] }]"/>
|
||||
v-decorator="['proposal.count_child',{rules: [{ required: false, message: 'لطفا مقدار را وارد کنید' },{ pattern: /^[0-9]+$/, message: 'فقط عدد مجاز است' }] }]"/>
|
||||
</a-form-item>
|
||||
</div>
|
||||
<div v-if="flags.gender == 1">
|
||||
@@ -516,7 +518,8 @@
|
||||
<a-button :disabled="!$getAccess('personnel.train.create')" class="mt-4 ml-2"
|
||||
@click="showAddEducationalInformation=true;isAlertUpload = false">افزودن ردیف
|
||||
</a-button>
|
||||
<a-button type="primary" @click="savefromPersonel" class="mt-5" :disabled="checkPermission('2')">
|
||||
<a-button type="primary" @click="savefromPersonel" class="mt-5" :disabled="checkPermission('2')"
|
||||
v-if="training && training.length > 0">
|
||||
ویرایش
|
||||
</a-button>
|
||||
</a-tab-pane>
|
||||
@@ -666,7 +669,8 @@
|
||||
</a-list-item>
|
||||
</a-list>
|
||||
<a-button class="mt-3 ml-2" @click="showAddContract = true">افزودن ردیف</a-button>
|
||||
<a-button type="primary" @click="savefromPersonel" class="mt-5" :disabled="checkPermission('3')">
|
||||
<a-button type="primary" @click="savefromPersonel" class="mt-5" :disabled="checkPermission('3')"
|
||||
v-if="contract && contract.length > 0">
|
||||
ویرایش
|
||||
</a-button>
|
||||
</a-tab-pane>
|
||||
@@ -808,7 +812,8 @@
|
||||
<a-button class="ml-2" :disabled="!$getAccess('personnel.function.create')"
|
||||
@click="showAddPerformance=true">افزودن ردیف
|
||||
</a-button>
|
||||
<a-button type="primary" @click="savefromPersonel" class="mt-5" :disabled="checkPermission('6')">
|
||||
<a-button type="primary" @click="savefromPersonel" class="mt-5" :disabled="checkPermission('6')"
|
||||
v-if="estimate && estimate.length > 0">
|
||||
ویرایش
|
||||
</a-button>
|
||||
</a-tab-pane>
|
||||
@@ -845,7 +850,8 @@
|
||||
<a-button :disabled="!$getAccess('personnel.rule.create')" class="mt-4 ml-2"
|
||||
@click="showAddDocument=true;isAlertUpload = false">افزودن ردیف
|
||||
</a-button>
|
||||
<a-button type="primary" @click="savefromPersonel" class="mt-5" :disabled="checkPermission('7')">
|
||||
<a-button type="primary" @click="savefromPersonel" class="mt-5" :disabled="checkPermission('7')"
|
||||
v-if="writ && writ.length > 0">
|
||||
ویرایش
|
||||
</a-button>
|
||||
</a-tab-pane>
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
<a-switch default-checked class="mr-2"/>
|
||||
</a-form-item>
|
||||
</div>-->
|
||||
<x-table :model="cols" class="mt-3">
|
||||
<x-table :model="cols" ref="proposalTbl" class="mt-3">
|
||||
<template slot="operator" slot-scope="text,record">
|
||||
<a-dropdown>
|
||||
<a class="ant-dropdown-link" @click="e => e.preventDefault()">
|
||||
@@ -29,6 +29,12 @@
|
||||
<a-menu-item v-if="$getAccess('request.employment') && !text.record.employed">
|
||||
<a href="javascript:;" @click="showSetEmployeModal(text.record.id)">استخدام</a>
|
||||
</a-menu-item>
|
||||
<a-menu-item v-if="$getAccess('request.delete')">
|
||||
<a href="javascript:;" @click="deleteProposal(text.record.id)">حذف درخواست</a>
|
||||
</a-menu-item>
|
||||
<a-menu-item v-if="$getAccess('personnel.type') && text.record.employed">
|
||||
<a href="javascript:;" @click="showUpdateTypeModal(text.record.id)">تغییر نوع کاربری درخواست</a>
|
||||
</a-menu-item>
|
||||
</a-menu>
|
||||
</a-dropdown>
|
||||
</template>
|
||||
@@ -591,14 +597,40 @@
|
||||
</div>
|
||||
|
||||
</a-modal>
|
||||
|
||||
<a-modal force-render v-model="setEmployeModel" :closable="false" ok-text="بله" cancel-text="خیر" @ok="setEmploye">
|
||||
<template #title>
|
||||
<div class="flex justify-between">
|
||||
<a-icon type="alert-circle" style="color:#faad14"/>
|
||||
<div>
|
||||
آیا مطمئن به استخدام هستید ؟
|
||||
</div>
|
||||
<a-icon type="question-circle" style="color:#faad14"/>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<a-spin type="loading" :spinning="loading">
|
||||
<div>در صورتی که گزینه تایید را انتخاب نمایید فرد مورد نظر به عنوان پرسنل در سیستم ثبت می شود</div>
|
||||
<a-form :form="fromPersonel">
|
||||
<a-form-item label="نمایش برای نوع کاربری">
|
||||
<a-select v-decorator="['user_type',{ rules:[{ required: true, message: 'نوع کاربری را وارد نمایید' }] }]" style="width: 120px">
|
||||
<a-select-option v-for="item in userTypes" :value="item.id">
|
||||
{{ item.value }}
|
||||
</a-select-option>
|
||||
</a-select>
|
||||
</a-form-item>
|
||||
<a-form-item label="id" class="hidden">
|
||||
<a-innput v-decorator="['id',{ rules:[{ required: true, message: 'نوع کاربری را وارد نمایید' }] }]" />
|
||||
</a-form-item>
|
||||
</a-form>
|
||||
</a-spin>
|
||||
|
||||
</a-modal>
|
||||
<a-modal force-render v-model="updateType" :closable="false" ok-text="بله" cancel-text="خیر" @ok="updateTypeProposal">
|
||||
<template #title>
|
||||
<div class="flex justify-between">
|
||||
<a-icon type="alert-circle" style="color:#faad14"/>
|
||||
<div>
|
||||
آیا مطمئن به ویرایش هستید ؟
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
@@ -956,6 +988,7 @@ export default {
|
||||
fromMosahebe2: this.$form.createForm(this, {name: 'coordinated'}),
|
||||
fromPersonel: this.$form.createForm(this, {name: 'coordinated'}),
|
||||
setEmployeModel: false,
|
||||
updateType: false,
|
||||
loading: false,
|
||||
userTypes: [],
|
||||
}
|
||||
@@ -1111,12 +1144,51 @@ export default {
|
||||
this.$message.error('خطا در دریافت اطلاعات');
|
||||
});
|
||||
},
|
||||
async deleteProposal(id) {
|
||||
try {
|
||||
this.is_skeleton = true
|
||||
await axios.get(`proposal/delete/${id}`)
|
||||
this.$refs.proposalTbl.fetch()
|
||||
this.$ntSet()
|
||||
} catch (e) {
|
||||
this.$ntSetError()
|
||||
} finally {
|
||||
this.is_skeleton = false
|
||||
}
|
||||
},
|
||||
async updateTypeProposal(e) {
|
||||
e.preventDefault();
|
||||
this.fromPersonel.validateFields(async (err, values) => {
|
||||
try {
|
||||
if (!err) {
|
||||
this.loading = true
|
||||
await axios.get(`personnel/update/type/${values.id}/${values.user_type}`)
|
||||
this.setEmployeModel = false
|
||||
this.$refs.proposalTbl.fetch()
|
||||
this.$ntSet()
|
||||
}
|
||||
else{
|
||||
this.$message.error('انتخاب نوع کاربر الزامی است')
|
||||
}
|
||||
} catch ({message}) {
|
||||
this.$message.error('این کاربر قبلا استخدام شده است.')
|
||||
} finally {
|
||||
this.loading = false
|
||||
}
|
||||
})
|
||||
},
|
||||
showSetEmployeModal(id) {
|
||||
this.setEmployeModel = true
|
||||
this.fromPersonel.setFieldsValue({
|
||||
id
|
||||
})
|
||||
},
|
||||
showUpdateTypeModal(id) {
|
||||
this.updateType = true
|
||||
this.fromPersonel.setFieldsValue({
|
||||
id
|
||||
})
|
||||
},
|
||||
async setEmploye(e) {
|
||||
e.preventDefault();
|
||||
this.fromPersonel.validateFields(async (err, values) => {
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
<template>
|
||||
|
||||
<div class="mx-5">
|
||||
<div class="flex justify-center">
|
||||
<router-link to="/" class="flex justify-center">
|
||||
<img src="@/assets/images/logo.svg" width="150px" class="mt-10"/>
|
||||
</div>
|
||||
</router-link>
|
||||
<vx-card class="mx-auto mt-10">
|
||||
|
||||
<a-steps :current="current" v-show="current<2">
|
||||
@@ -139,17 +139,18 @@
|
||||
</a-radio-group>
|
||||
</a-form-item>
|
||||
<a-form-item label="شماره حساب بانک پاسارگاد">
|
||||
<input class="ant-input" autocomplete="off"
|
||||
v-decorator="['pasargad_bank_number',{initialValue: null},{ rules: [{pattern:/^[0-9]+$/,message:'مقدار وارد شده باید عددی باشد.'},] }]"/>
|
||||
<a-input-number class="w-full" autocomplete="off"
|
||||
v-decorator="['pasargad_bank_number',{initialValue: null}]"/>
|
||||
</a-form-item>
|
||||
|
||||
<a-form-item label="حقوق درخواستی">
|
||||
<input class="ant-input" autocomplete="off"
|
||||
v-decorator="['requested_salary',{initialValue: null,rules: [{ required: true, message: 'حقوق درخواستی را وارد نمایید' },{pattern:/^[0-9]+$/,message:'مقدار وارد شده باید عددی باشد.'}]}]"/>
|
||||
</a-form-item>
|
||||
<a-form-item label="تعداد فرزند" v-if="flags.marriage_sts == 2">
|
||||
<!-- v-if="flags.marriage_sts == 2"-->
|
||||
<a-form-item label="تعداد فرزند">
|
||||
<input class="ant-input"
|
||||
v-decorator="['count_child',{rules: [{ required: true, message: 'لطفا مقدار را وارد کنید' },{ pattern: /^[0-9]+$/,type: 'string', message: 'فقط عدد مجاز است' }] }]"/>
|
||||
v-decorator="['count_child',{rules: [{ required: false, message: 'لطفا مقدار را وارد کنید' },{ pattern: /^[0-9]+$/,type: 'string', message: 'فقط عدد مجاز است' }] }]"/>
|
||||
</a-form-item>
|
||||
|
||||
<a-form-item label="وضعیت نظام وظیفه" v-if="flags.gender == 1">
|
||||
@@ -170,7 +171,7 @@
|
||||
<div class="grid sm:grid-cols-1 md:grid-cols-4 lg:grid-cols-4 gap-4">
|
||||
<a-form-item label="شماره شناسنامه">
|
||||
<input class="ant-input" autocomplete="off"
|
||||
v-decorator="['iden_code',{initialValue: null,rules: [{ required: true, message: 'شماره شناسنامه را وارد نمایید' },{pattern:/^[0-9]+$/,message:'مقدار وارد شده باید عددی باشد.'}]}]"/>
|
||||
v-decorator="['iden_code',{rules: [{ required: true, message: 'شماره شناسنامه را وارد نمایید' },{pattern:/^[0-9]+$/,message:'مقدار وارد شده باید عددی باشد.'}]}]"/>
|
||||
</a-form-item>
|
||||
|
||||
<a-form-item label="سریال شناسنامه">
|
||||
@@ -180,8 +181,8 @@
|
||||
{{ item }}
|
||||
</a-select-option>
|
||||
</a-select>
|
||||
<input class="ant-input"
|
||||
v-decorator="['iden_no_right',{initialValue: null},{ rules: [{pattern:/^[0-9]+$/,message:'مقدار وارد شده باید عددی باشد.'},] }]"
|
||||
<a-input-number class="ant-input"
|
||||
v-decorator="['iden_no_right']"
|
||||
autocomplete="off" style="width: 77%;direction: rtl"/>
|
||||
</a-input-group>
|
||||
</a-form-item>
|
||||
@@ -200,12 +201,16 @@
|
||||
|
||||
<a-form-item label="محل صدور">
|
||||
<input class="ant-input" autocomplete="off"
|
||||
v-decorator="['iden_where',{initialValue: null,rules: [{ required: true, message: 'محل صدور را وارد نمایید' }]}]"/>
|
||||
v-decorator="['iden_where',{initialValue: null,rules: [{ required: true, message: 'محل صدور را وارد نمایید' },{
|
||||
pattern: /^([\u0600-\u06FF\uFB8A\u067E\u0686\u06AF\u200C ])+$/,
|
||||
message: `محل صدور باید فارسی باشد `, }]}]"/>
|
||||
</a-form-item>
|
||||
|
||||
<a-form-item label="محل تولد">
|
||||
<input class="ant-input" autocomplete="off"
|
||||
v-decorator="['birth_where',{initialValue: null,rules: [{ required: true, message: 'محل تولد را وارد نمایید' }]}]"/>
|
||||
v-decorator="['birth_where',{initialValue: null,rules: [{ required: true, message: 'محل تولد را وارد نمایید' },{
|
||||
pattern: /^([\u0600-\u06FF\uFB8A\u067E\u0686\u06AF\u200C ])+$/,
|
||||
message: `محل صدور باید فارسی باشد `, }]}]"/>
|
||||
</a-form-item>
|
||||
</div>
|
||||
</a-card>
|
||||
|
||||
@@ -151,8 +151,8 @@
|
||||
</a-radio-group>
|
||||
</a-form-item>
|
||||
<a-form-item label="شماره حساب بانک پاسارگاد">
|
||||
<input class="ant-input" autocomplete="off"
|
||||
v-decorator="['pasargad_bank_number',{initialValue: null},{ rules: [{pattern:/^[0-9]+$/,message:'مقدار وارد شده باید عددی باشد.'},] }]"/>
|
||||
<a-input-number class="w-full" autocomplete="off"
|
||||
v-decorator="['pasargad_bank_number',{initialValue: null}]"/>
|
||||
</a-form-item>
|
||||
|
||||
<a-form-item label="حقوق درخواستی">
|
||||
@@ -191,8 +191,8 @@
|
||||
{{ item }}
|
||||
</a-select-option>
|
||||
</a-select>
|
||||
<input class="ant-input"
|
||||
v-decorator="['iden_no_right',{initialValue: null},{ rules: [{pattern:/^[0-9]+$/,message:'مقدار وارد شده باید عددی باشد.'},] }]"
|
||||
<a-input-number class="ant-input"
|
||||
v-decorator="['iden_no_right']"
|
||||
autocomplete="off" style="width: 77%;direction: rtl"/>
|
||||
</a-input-group>
|
||||
</a-form-item>
|
||||
@@ -210,12 +210,16 @@
|
||||
|
||||
<a-form-item label="محل صدور">
|
||||
<input class="ant-input" autocomplete="off"
|
||||
v-decorator="['iden_where',{initialValue: null,rules: [{ required: true, message: 'محل صدور را وارد نمایید' }]}]"/>
|
||||
v-decorator="['iden_where',{initialValue: null,rules: [{ required: true, message: 'محل صدور را وارد نمایید' },{
|
||||
pattern: /^([\u0600-\u06FF\uFB8A\u067E\u0686\u06AF\u200C ])+$/,
|
||||
message: `محل صدور باید فارسی باشد `, }]}]"/>
|
||||
</a-form-item>
|
||||
|
||||
<a-form-item label="محل تولد">
|
||||
<input class="ant-input" autocomplete="off"
|
||||
v-decorator="['birth_where',{initialValue: null,rules: [{ required: true, message: 'محل تولد را وارد نمایید' }]}]"/>
|
||||
v-decorator="['birth_where',{initialValue: null,rules: [{ required: true, message: 'محل تولد را وارد نمایید' },{
|
||||
pattern: /^([\u0600-\u06FF\uFB8A\u067E\u0686\u06AF\u200C ])+$/,
|
||||
message: `محل صدور باید فارسی باشد `, }]}]"/>
|
||||
</a-form-item>
|
||||
</div>
|
||||
</a-card>
|
||||
|
||||
@@ -0,0 +1,12 @@
|
||||
import XTbl, {Xtc} from '../../components/new-x-table/index';
|
||||
|
||||
const tbl = new XTbl('/personnel/table/delete', 'لیست درخواست ها');
|
||||
tbl.add(new Xtc('id', 'شناسه').filterText());
|
||||
tbl.add(new Xtc('name', 'نام و نام خانوادگی').filterText());
|
||||
tbl.add(new Xtc('ncode', 'کد ملی').filterText())
|
||||
tbl.add(new Xtc('caj', 'ثبت نام').filterDate())
|
||||
tbl.add(new Xtc('uaj', 'به روز رسانی').filterDate().filterKey('updated_at'))
|
||||
tbl.add(new Xtc('id', 'عملیات').renderSlot('operator'))
|
||||
/*tbl.addOpt()*/
|
||||
|
||||
export default tbl;
|
||||
@@ -0,0 +1,12 @@
|
||||
import XTbl, {Xtc} from '../../components/new-x-table/index';
|
||||
|
||||
const tbl = new XTbl('/proposal/table/delete', 'لیست درخواست ها');
|
||||
tbl.add(new Xtc('id', 'شناسه').filterText());
|
||||
tbl.add(new Xtc('name', 'نام و نام خانوادگی').filterText());
|
||||
tbl.add(new Xtc('ncode', 'کد ملی').filterText())
|
||||
tbl.add(new Xtc('caj', 'ثبت نام').filterDate())
|
||||
tbl.add(new Xtc('uaj', 'به روز رسانی').filterDate().filterKey('updated_at'))
|
||||
tbl.add(new Xtc('id', 'عملیات').renderSlot('operator'))
|
||||
/*tbl.addOpt()*/
|
||||
|
||||
export default tbl;
|
||||
@@ -0,0 +1,159 @@
|
||||
<template>
|
||||
<a-card>
|
||||
|
||||
<vs-tabs alignment="center" v-model="tabs">
|
||||
<vs-tab label="بایگانی پرسنل">
|
||||
<x-table v-if="$getAccess('archive.personnel.show')" v-show="tabs == 0" :model="personnelCols" ref="personnelTbl" class="mt-3">
|
||||
<div slot="operator" slot-scope="text,record" class="grid grid-cols-1 md:grid-cols-1 gap-2">
|
||||
<!-- v-if="$getAccess('personnel.delete')"-->
|
||||
<a-popconfirm title="آیا می خواهید بازیافت کنید؟" v-if="$getAccess('archive.personnel.restore')"
|
||||
ok-text="بله"
|
||||
cancel-text="خیر"
|
||||
@confirm="restorePersonnel(text.record.id)"
|
||||
>
|
||||
<a-button type="primary">بازیافت اطلاعات</a-button>
|
||||
</a-popconfirm>
|
||||
<!-- <a-popconfirm title="آیا می خواهید حذف کنید؟" v-if="$getAccess('archive.personnel.destroy')"
|
||||
ok-text="بله"
|
||||
cancel-text="خیر"
|
||||
@confirm="deletePersonnel(text.record.id)"
|
||||
>
|
||||
<a-button type="danger">حذف اطلاعات</a-button>
|
||||
</a-popconfirm>-->
|
||||
</div>
|
||||
</x-table>
|
||||
</vs-tab>
|
||||
<vs-tab label="بایگانی درخواست ها">
|
||||
<x-table v-if="$getAccess('archive.proposal.show')" v-show="tabs == 1" :model="proposalCols" ref="proposalTbl" class="mt-3">
|
||||
<div slot="operator" slot-scope="text,record" class="grid grid-cols-1 md:grid-cols-1 gap-2">
|
||||
<a-popconfirm title="آیا می خواهید بازیافت کنید؟" v-if="$getAccess('archive.proposal.restore')"
|
||||
ok-text="بله"
|
||||
cancel-text="خیر"
|
||||
@confirm="restoreProposal(text.record.id)"
|
||||
>
|
||||
<a-button type="primary">بازیافت اطلاعات</a-button>
|
||||
</a-popconfirm>
|
||||
<!-- <a-popconfirm title="آیا می خواهید حذف کنید؟" v-if="$getAccess('archive.proposal.destroy')"
|
||||
ok-text="بله"
|
||||
cancel-text="خیر"
|
||||
@confirm="deleteProposal(text.record.id)"
|
||||
>
|
||||
<a-button type="danger">حذف اطلاعات</a-button>
|
||||
</a-popconfirm>-->
|
||||
</div>
|
||||
</x-table>
|
||||
</vs-tab>
|
||||
</vs-tabs>
|
||||
</a-card>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import personnelCols from './personelTbl';
|
||||
import proposalCols from './proposalTbl';
|
||||
import XTable from "@/components/new-x-table/XTable";
|
||||
import axios from "@/axios"
|
||||
|
||||
export default {
|
||||
components: {
|
||||
XTable
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
/* prsonalFileList: [],
|
||||
file_id: undefined,
|
||||
showMosahebeModal: false,
|
||||
showInformationModal: false,
|
||||
showAddMosahebeModal: false,
|
||||
personalInformation: {},
|
||||
personalDetails: {},*/
|
||||
personnelCols,
|
||||
proposalCols,
|
||||
tabs: 0,
|
||||
/* current: 0,
|
||||
fromMosahebe: this.$form.createForm(this, {name: 'coordinated'}),
|
||||
mosahebe: null,
|
||||
interview_at: null,
|
||||
row_id: null,
|
||||
interview: [],
|
||||
title_interview: ['دانش تخصصی', 'تحصیلات مرتبط', 'تجربه کاری مرتبط', 'رفتار و شخصیت عمومی', 'ویژگی های اختصاصی شغل'],
|
||||
is_skeleton: false,
|
||||
|
||||
// requestEditMode:false,
|
||||
editInterviewModel: false,
|
||||
editingInterviewIndex: undefined,
|
||||
mosahebeData: {},
|
||||
fromMosahebe0: this.$form.createForm(this, {name: 'coordinated'}),
|
||||
fromMosahebe1: this.$form.createForm(this, {name: 'coordinated'}),
|
||||
fromMosahebe2: this.$form.createForm(this, {name: 'coordinated'}),
|
||||
fromPersonel: this.$form.createForm(this, {name: 'coordinated'}),
|
||||
setEmployeModel: false,
|
||||
loading: false,
|
||||
userTypes: [],*/
|
||||
}
|
||||
},
|
||||
/* computed: {
|
||||
admin(){
|
||||
return JSON.parse(localStorage.userInfo).name
|
||||
}
|
||||
},*/
|
||||
methods: {
|
||||
async restorePersonnel(id) {
|
||||
try {
|
||||
this.is_skeleton = true
|
||||
await axios.get(`personnel/restore/${id}`)
|
||||
this.$refs.personnelTbl.fetch()
|
||||
this.$ntSet()
|
||||
} catch (e) {
|
||||
this.$ntSetError()
|
||||
} finally {
|
||||
this.is_skeleton = false
|
||||
}
|
||||
},
|
||||
|
||||
async deletePersonnel(id) {
|
||||
try {
|
||||
this.is_skeleton = true
|
||||
await axios.delete(`personnel/delete/${id}`)
|
||||
this.$refs.personnelTbl.fetch()
|
||||
this.$ntSet()
|
||||
} catch (e) {
|
||||
this.$ntSetError()
|
||||
} finally {
|
||||
this.is_skeleton = false
|
||||
}
|
||||
},
|
||||
async restoreProposal(id) {
|
||||
try {
|
||||
this.is_skeleton = true
|
||||
await axios.get(`proposal/restore/${id}`)
|
||||
this.$refs.proposalTbl.fetch()
|
||||
this.$ntSet()
|
||||
} catch (e) {
|
||||
this.$ntSetError()
|
||||
} finally {
|
||||
this.is_skeleton = false
|
||||
}
|
||||
},
|
||||
async deleteProposal(id) {
|
||||
try {
|
||||
this.is_skeleton = true
|
||||
await axios.delete(`proposal/${id}`)
|
||||
this.$refs.proposalTbl.fetch()
|
||||
this.$ntSet()
|
||||
} catch (e) {
|
||||
this.$ntSetError()
|
||||
} finally {
|
||||
this.is_skeleton = false
|
||||
}
|
||||
},
|
||||
|
||||
},
|
||||
async created() {
|
||||
// await this.getUserTypes()
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
|
||||
</style>
|
||||
Reference in New Issue
Block a user