|
@@ -4,21 +4,21 @@
|
|
|
<el-col :span="24" class="toolbar" style="padding-bottom: 0px;">
|
|
|
<el-form :inline="true">
|
|
|
<!-- <el-form-item label="财务核算成本 | 月份选择" style="margin-top:5px;"> -->
|
|
|
- <el-form-item label="月份选择" >
|
|
|
- <el-date-picker size="small" v-model="date" :editable="false" format="yyyy-MM" value-format="yyyy-MM" @change="changeMonth" :clearable="false" type="month" placeholder="选择月份" style="margin-right: 20px"></el-date-picker>
|
|
|
+ <el-form-item :label="this.$t('Selectmonth')" >
|
|
|
+ <el-date-picker size="small" v-model="date" :editable="false" format="yyyy-MM" value-format="yyyy-MM" @change="changeMonth" :clearable="false" type="month" :placeholder="$t('Selectmonth')" style="margin-right: 20px"></el-date-picker>
|
|
|
<el-link type="primary" :underline="false" @click="audits()" v-if="user.timeType.financeAudit == '1'">{{revaelse}}</el-link>
|
|
|
</el-form-item>
|
|
|
<!-- <el-radio-group v-model="radio" @change="switchList" style="margin-left:160px;margin-top:5px;"> -->
|
|
|
<el-radio-group size="small" v-model="radio" @change="switchList" style="margin-left:150px;margin-top:5px;">
|
|
|
- <el-radio-button label="全部人员" >全部人员({{allFinanceList.length}})</el-radio-button>
|
|
|
- <el-radio-button label="无项目工时人员">无项目工时人员({{noReportUserList.length}})</el-radio-button>
|
|
|
+ <el-radio-button :label="$t('lable.allStaff')" >{{$t('lable.allStaff')}}({{allFinanceList.length}})</el-radio-button>
|
|
|
+ <el-radio-button :label="$t('projectworker')">{{$t('projectworker')}}({{noReportUserList.length}})</el-radio-button>
|
|
|
</el-radio-group>
|
|
|
<el-form-item v-if="permissions.financialProportion" style="margin-left:5px;">
|
|
|
- <el-link type="primary" :underline="false" @click="showSettingDialog()" >分摊比例设置</el-link>
|
|
|
+ <el-link type="primary" :underline="false" @click="showSettingDialog()" >{{ $t('Apportionmentratesetting') }}</el-link>
|
|
|
</el-form-item>
|
|
|
|
|
|
<el-form-item style="float:right;" v-if="permissions.financialUpload">
|
|
|
- <el-link type="primary" :underline="false" @click="getTemplate()" >模板下载</el-link>
|
|
|
+ <el-link type="primary" :underline="false" @click="getTemplate()" >{{ $t('Downloadthetemplate') }}</el-link>
|
|
|
</el-form-item>
|
|
|
<!-- <el-form-item style="float:right;">
|
|
|
<el-upload ref="upload" action="#" :limit="1" :http-request="importFinance" :show-file-list="false">
|
|
@@ -26,48 +26,48 @@
|
|
|
</el-upload>
|
|
|
</el-form-item> -->
|
|
|
<el-form-item style="float:right;" v-if="permissions.financialUpload">
|
|
|
- <el-link type="primary" :underline="false" @click="importDialog = true;isUploading=false;">数据上传</el-link>
|
|
|
+ <el-link type="primary" :underline="false" @click="importDialog = true;isUploading=false;">{{ $t('Dataupload') }}</el-link>
|
|
|
</el-form-item>
|
|
|
<el-form-item style="float:right;" v-if="permissions.financialExport">
|
|
|
- <el-link type="primary" :underline="false" @click="exportDialog = true;exportMonth = date;">数据导出</el-link>
|
|
|
+ <el-link type="primary" :underline="false" @click="exportDialog = true;exportMonth = date;">{{ $t('Exportdata') }}</el-link>
|
|
|
</el-form-item>
|
|
|
<el-form-item style="float:right;" v-if="permissions.financialCustom">
|
|
|
- <el-link type="primary" :underline="false" @click="showItemDialog()">自定义薪资项</el-link>
|
|
|
+ <el-link type="primary" :underline="false" @click="showItemDialog()">{{ $t('Customizesalaryitems') }}</el-link>
|
|
|
</el-form-item>
|
|
|
<el-form-item style="float:right;" v-if="user.timeType.financeAudit == '1' && permissions.setFinanceAuditor">
|
|
|
- <el-link type="primary" :underline="false" @click="reviewerVisible = true">设置审核人</el-link>
|
|
|
+ <el-link type="primary" :underline="false" @click="reviewerVisible = true">{{ $t('Setupauditor') }}</el-link>
|
|
|
</el-form-item>
|
|
|
|
|
|
</el-form>
|
|
|
</el-col>
|
|
|
<!-- 上传记录 -->
|
|
|
- <el-dialog title="薪资上传记录" :visible.sync="xzImportVisible" width="1100px" :before-close="handleClose">
|
|
|
+ <el-dialog :title="$t('Salaryuploadrecord')" :visible.sync="xzImportVisible" width="1100px" :before-close="handleClose">
|
|
|
<div>
|
|
|
<el-table :data="xzList" style="width: 100%" :height="400">
|
|
|
- <el-table-column prop="userName" label="操作人"></el-table-column>
|
|
|
- <el-table-column prop="ymonth" label="所属月份"></el-table-column>
|
|
|
- <el-table-column prop="fileName" label="文件名">
|
|
|
+ <el-table-column prop="userName" :label="$t('other.operator')"></el-table-column>
|
|
|
+ <el-table-column prop="ymonth" :label="$t('BelongsIn')"></el-table-column>
|
|
|
+ <el-table-column prop="fileName" :label="$t('filename')">
|
|
|
<template slot-scope="scope">
|
|
|
<div>
|
|
|
<el-link type="primary" @click="downloadByA({name:scope.row.fileName,url:scope.row.serverName})"> {{scope.row.fileName}}</el-link>
|
|
|
</div>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
- <el-table-column prop="recoverReport" label="是否覆盖日报成本" width="150">
|
|
|
+ <el-table-column prop="recoverReport" :label="$t('Whetherdailycostiscovered')" width="150">
|
|
|
<template slot-scope="scope">
|
|
|
<div>
|
|
|
- {{scope.row.recoverReport == 1? '是' : '否'}}
|
|
|
+ {{scope.row.recoverReport == 1? $t('state.yes') : $t('state.no')}}
|
|
|
</div>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
- <el-table-column prop="recoverMonthcost" label="是否覆盖人员月成本" width="150">
|
|
|
+ <el-table-column prop="recoverMonthcost" :label="$t('Whethermonthlypersonnelcostiscovered')" width="150">
|
|
|
<template slot-scope="scope">
|
|
|
<div>
|
|
|
- {{scope.row.recoverMonthcost == 1? '是' : '否'}}
|
|
|
+ {{scope.row.recoverMonthcost == 1? $t('state.yes') : $t('state.no')}}
|
|
|
</div>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
- <el-table-column prop="indate" label="上传时间"></el-table-column>
|
|
|
+ <el-table-column prop="indate" :label="$t('Uploadtime')"></el-table-column>
|
|
|
<!-- <el-table-column prop="date" label="操作" v-if="(tabPosition == 1 || tabPosition == 0) && (reviewerRuleForm.auditorId == user.id || user.role == 1 || user.role == 2)">
|
|
|
<template slot-scope="scope">
|
|
|
<div>
|
|
@@ -84,43 +84,43 @@
|
|
|
<el-dialog :title="shenhe" :visible.sync="importVisible" width="1100px" :before-close="handleClose">
|
|
|
<div>
|
|
|
<el-radio-group v-model="tabPosition" style="margin-bottom: 20px;" @change="operationalData()">
|
|
|
- <el-radio-button label="1">已通过</el-radio-button>
|
|
|
- <el-radio-button label="0">待审核</el-radio-button>
|
|
|
- <el-radio-button label="2">已驳回</el-radio-button>
|
|
|
- <el-radio-button label="-1">已撤销</el-radio-button>
|
|
|
+ <el-radio-button label="1">{{ $t('state.alreadyPassed') }}</el-radio-button>
|
|
|
+ <el-radio-button label="0">{{ $t('state.WaitingAudit') }}</el-radio-button>
|
|
|
+ <el-radio-button label="2">{{ $t('state.rejected') }}</el-radio-button>
|
|
|
+ <el-radio-button label="-1">{{ $t('state.undone') }}</el-radio-button>
|
|
|
</el-radio-group>
|
|
|
|
|
|
<el-table :data="reviewLis" style="width: 100%" :height="400">
|
|
|
- <el-table-column prop="userName" label="操作人"></el-table-column>
|
|
|
- <el-table-column prop="ymonth" label="所属月份"></el-table-column>
|
|
|
- <el-table-column prop="fileName" label="文件名">
|
|
|
+ <el-table-column prop="userName" :label="$t('other.operator')"></el-table-column>
|
|
|
+ <el-table-column prop="ymonth" :label="$t('BelongsIn')"></el-table-column>
|
|
|
+ <el-table-column prop="fileName" :label="$t('filename')">
|
|
|
<template slot-scope="scope">
|
|
|
<div>
|
|
|
<el-link type="primary" @click="downloadByA({name:scope.row.fileName,url:scope.row.serverName})"> {{scope.row.fileName}}</el-link>
|
|
|
</div>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
- <el-table-column prop="recoverReport" label="是否覆盖日报成本" width="150">
|
|
|
+ <el-table-column prop="recoverReport" :label="$t('Whetherdailycostiscovered')" width="150">
|
|
|
<template slot-scope="scope">
|
|
|
<div>
|
|
|
- {{scope.row.recoverReport == 1? '是' : '否'}}
|
|
|
+ {{scope.row.recoverReport == 1? $t('state.yes') : $t('state.no')}}
|
|
|
</div>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
- <el-table-column prop="recoverMonthcost" label="是否覆盖人员月成本" width="150">
|
|
|
+ <el-table-column prop="recoverMonthcost" :label="$t('Whethermonthlypersonnelcostiscovered')" width="150">
|
|
|
<template slot-scope="scope">
|
|
|
<div>
|
|
|
- {{scope.row.recoverMonthcost == 1? '是' : '否'}}
|
|
|
+ {{scope.row.recoverMonthcost == 1? $t('state.yes') : $t('state.no')}}
|
|
|
</div>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
- <el-table-column prop="indate" label="上传时间"></el-table-column>
|
|
|
- <el-table-column prop="date" label="操作" v-if="(tabPosition == 1 || tabPosition == 0) && (reviewerRuleForm.auditorId == user.id)">
|
|
|
+ <el-table-column prop="indate" :label="$t('Uploadtime')"></el-table-column>
|
|
|
+ <el-table-column prop="date" :label="$t('operation')" v-if="(tabPosition == 1 || tabPosition == 0) && (reviewerRuleForm.auditorId == user.id)">
|
|
|
<template slot-scope="scope">
|
|
|
<div>
|
|
|
- <el-button type="primary" size="small" v-if="tabPosition == 0" @click="operationList(0, scope.row.id)">通过</el-button>
|
|
|
- <el-button type="warning" size="small" v-if="tabPosition == 0" @click="operationList(1, scope.row.id)">驳回</el-button>
|
|
|
- <el-button type="warning" size="small" v-if="tabPosition == 1" @click="operationList(2, scope.row.id)">撤销</el-button>
|
|
|
+ <el-button type="primary" size="small" v-if="tabPosition == 0" @click="operationList(0, scope.row.id)">{{ $t('btn.through') }}</el-button>
|
|
|
+ <el-button type="warning" size="small" v-if="tabPosition == 0" @click="operationList(1, scope.row.id)">{{ $t('btn.rejected') }}</el-button>
|
|
|
+ <el-button type="warning" size="small" v-if="tabPosition == 1" @click="operationList(2, scope.row.id)">{{ $t('btn.undo') }}</el-button>
|
|
|
</div>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
@@ -129,29 +129,29 @@
|
|
|
</el-dialog>
|
|
|
|
|
|
<!-- 设置审核人弹窗 -->
|
|
|
- <el-dialog title="设置审核人" :visible.sync="reviewerVisible" width="350px" :before-close="handleCloses">
|
|
|
+ <el-dialog :title="$t('Setupauditor')" :visible.sync="reviewerVisible" width="350px" :before-close="handleCloses">
|
|
|
<el-form :model="reviewerRuleForm" ref="reviewerRuleForm" label-width="100px" class="demo-ruleForm">
|
|
|
- <el-form-item label="选择审核人" prop="auditorId" :rules="{required: true, message: '审核人不能为空', trigger: 'blur'}">
|
|
|
- <el-select v-model="reviewerRuleForm.auditorId" clearable placeholder="请选择审核人" >
|
|
|
+ <el-form-item :label="$t('SelectionofAuditor')" prop="auditorId" :rules="{required: true, message: $t('reviewercannotbeempty'), trigger: 'blur'}">
|
|
|
+ <el-select v-model="reviewerRuleForm.auditorId" clearable :placeholder="$t('SelectionofAuditor')" >
|
|
|
<el-option v-for="(item, index) in people" :key="index" :label="item.name" :value="item.id"></el-option>
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
<el-form-item>
|
|
|
- <el-button type="primary" @click="submitreviewerRuleForm('reviewerRuleForm')">提交</el-button>
|
|
|
+ <el-button type="primary" @click="submitreviewerRuleForm('reviewerRuleForm')">{{ $t('btn.submit') }}</el-button>
|
|
|
</el-form-item>
|
|
|
</el-form>
|
|
|
</el-dialog>
|
|
|
|
|
|
|
|
|
- <el-dialog title="财务数据导出" v-if="exportDialog" :visible.sync="exportDialog" :close-on-click-modal="false" customClass="customWidth" width="400px">
|
|
|
+ <el-dialog :title="$t('Exportoffinancialdata')" v-if="exportDialog" :visible.sync="exportDialog" :close-on-click-modal="false" customClass="customWidth" width="400px">
|
|
|
<el-form ref="form3" >
|
|
|
- <el-form-item label="导出月份" >
|
|
|
+ <el-form-item :label="$t('Intheexport')" >
|
|
|
<!-- <div style="color:orange;">{{date}}</div> -->
|
|
|
- <el-date-picker v-model="exportMonth" type="month" placeholder="选择月份" format="yyyy-MM" value-format="yyyy-MM" style="width:280px;"></el-date-picker>
|
|
|
+ <el-date-picker v-model="exportMonth" type="month" :placeholder="$t('Selectmonth')" format="yyyy-MM" value-format="yyyy-MM" style="width:280px;"></el-date-picker>
|
|
|
</el-form-item>
|
|
|
</el-form>
|
|
|
<div slot="footer" class="dialog-footer">
|
|
|
- <el-button type="primary" style="width:100%;" :loading="isUploading" @click="exportFinance">导出</el-button>
|
|
|
+ <el-button type="primary" style="width:100%;" :loading="isUploading" @click="exportFinance">{{ $t('export.export') }}</el-button>
|
|
|
</div>
|
|
|
</el-dialog>
|
|
|
|
|
@@ -166,8 +166,8 @@
|
|
|
@selection-change="deleteSel"
|
|
|
:height="300" style="width: 100%;">
|
|
|
<el-table-column type="selection" width="80" fixed="left"></el-table-column>
|
|
|
- <el-table-column prop="jobNumber" v-if="user.timeType.financeJobnumEnabled==1" label="工号" sortable width="100" fixed="left"></el-table-column>
|
|
|
- <el-table-column prop="name" label="姓名" sortable width="150" fixed="left"></el-table-column>
|
|
|
+ <el-table-column prop="jobNumber" v-if="user.timeType.financeJobnumEnabled==1" :label="$t('Worknumber')" sortable width="100" fixed="left"></el-table-column>
|
|
|
+ <el-table-column prop="name" :label="$t('lable.name')" sortable width="150" fixed="left"></el-table-column>
|
|
|
<template v-if="user.timeType.isSecretSalary==0">
|
|
|
<el-table-column :prop="headerCols[index]" :label="item" sortable show-overflow-tooltip v-for="(item, index) in tblCols" :key="index" width="130px" align="right">
|
|
|
<template slot-scope="scope">
|
|
@@ -182,14 +182,14 @@
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
</template>
|
|
|
- <el-table-column prop="totalCost" width="150" align="right" label="总成本" fixed="right">
|
|
|
+ <el-table-column prop="totalCost" width="150" align="right" :label="$t('totalcost')" fixed="right">
|
|
|
<template slot-scope="scope" >
|
|
|
<div style="padding-right:5px;">{{user.timeType.isSecretSalary==0?scope.row.totalCost:'*'}}</div>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
</el-table>
|
|
|
<div style="padding:5px 0 0 10px" v-if="permissions.financialUpload">
|
|
|
- <el-button @click="deleteUsers" size="mini" type="primary" :disabled="deleteSelList.length == 0">批量删除</el-button>
|
|
|
+ <el-button @click="deleteUsers" size="mini" type="primary" :disabled="deleteSelList.length == 0">{{ $t('Batchdelete') }}</el-button>
|
|
|
</div>
|
|
|
|
|
|
<el-form :inline="true" >
|
|
@@ -198,14 +198,14 @@
|
|
|
<!-- <el-button type="primary" :underline="false" size="small" @click="assignNoProUser=false;assignToProject();" style="margin-left:10px;">分摊已填工时人员成本</el-button>
|
|
|
<el-button type="primary" :underline="false" size="small" @click="assignNoProUser=true;assignToProject();" style="margin-left:10px;">分摊全部人员成本</el-button> -->
|
|
|
<el-radio-group size="small" v-model="costListRadio" @change="switchCostList" style="margin-left:5px;margin-top:5px;">
|
|
|
- <el-radio-button label="1" >分摊已填工时人员成本</el-radio-button>
|
|
|
- <el-radio-button label="2">分摊全部人员成本</el-radio-button>
|
|
|
+ <el-radio-button label="1" >{{ $t('Apportionmentofpersonnelcosts') }}</el-radio-button>
|
|
|
+ <el-radio-button label="2">{{ $t('Spreadallpersonnelcosts') }}</el-radio-button>
|
|
|
</el-radio-group>
|
|
|
|
|
|
</el-form-item>
|
|
|
|
|
|
<el-form-item style="float:right;margin-right:20px;" v-if="permissions.financialShare">
|
|
|
- <el-link type="primary" :underline="false" @click="exportFinanceDialog=true">导出分摊数据</el-link>
|
|
|
+ <el-link type="primary" :underline="false" @click="exportFinanceDialog=true">{{ $t('ExportingtheAllocationData') }}</el-link>
|
|
|
</el-form-item>
|
|
|
|
|
|
<!-- <el-form-item style="float:right;margin-right:30px;" v-if="hasNoProjectUsers">
|
|
@@ -220,63 +220,63 @@
|
|
|
<!--新增界面-->
|
|
|
<el-dialog :title="title" v-if="addFormVisible" :visible.sync="addFormVisible" :close-on-click-modal="false" customClass="customWidth" width="600px">
|
|
|
<el-form ref="form1" :model="addForm" :rules="rules" label-width="100px">
|
|
|
- <el-form-item label="项目编号" >
|
|
|
- <el-input v-model="addForm.code" placeholder="请输入项目编号" clearable></el-input>
|
|
|
+ <el-form-item :label="$t('Itemno')" >
|
|
|
+ <el-input v-model="addForm.code" :placeholder="$t('Pleaseentertheprojectnumber')" clearable></el-input>
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="项目名称" prop="name">
|
|
|
- <el-input v-model="addForm.name" placeholder="请输入项目名称" clearable></el-input>
|
|
|
+ <el-form-item :label="$t('headerTop.projectName')" prop="name">
|
|
|
+ <el-input v-model="addForm.name" :placeholder="$t('Pleaseenteraprojectname')" clearable></el-input>
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="全部参与者">
|
|
|
- <el-select v-model="addForm.userId" multiple filterable placeholder="请选择参与者" style="width:100%;" @change="changeParticipator">
|
|
|
+ <el-form-item :label="$t('Allparticipants')">
|
|
|
+ <el-select v-model="addForm.userId" multiple filterable :placeholder="$t('Pleaseselectparticipants')" style="width:100%;" @change="changeParticipator">
|
|
|
<el-option v-for="item in users" :key="item.id" :label="item.name" :value="item.id"></el-option>
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="主要负责人" >
|
|
|
- <el-select v-model="addForm.inchargerId" :disabled="addForm.userId.length==0" filterable placeholder="请选择负责人" style="width:100%;" @change="changeIncharger">
|
|
|
+ <el-form-item :label="$t('Principalpersoninharge')" >
|
|
|
+ <el-select v-model="addForm.inchargerId" :disabled="addForm.userId.length==0" filterable :placeholder="$t('Pleaseselectthepersonincharge')" style="width:100%;" @change="changeIncharger">
|
|
|
<el-option v-for="item in participator" :key="item.id" :label="item.name" :value="item.id"></el-option>
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
|
|
|
</el-form>
|
|
|
<div slot="footer" class="dialog-footer">
|
|
|
- <el-button @click.native="addFormVisible = false">取消</el-button>
|
|
|
- <el-button type="primary" @click="submitInsert" :loading="addLoading">提交</el-button>
|
|
|
+ <el-button @click.native="addFormVisible = false">{{ $t('btn.cancel') }}</el-button>
|
|
|
+ <el-button type="primary" @click="submitInsert" :loading="addLoading">{{ $t('btn.submit') }}</el-button>
|
|
|
</div>
|
|
|
</el-dialog>
|
|
|
|
|
|
<!--用户详细信息弹出框-->
|
|
|
- <el-dialog title="查看详情" v-if="userDetailVisible" :visible.sync="userDetailVisible" :close-on-click-modal="false" customClass="customWidth" width="400px">
|
|
|
- <div class="line"><span>姓名</span><span>{{userDetail.name}}</span></div>
|
|
|
- <div class="line"><span>工号</span><span>{{userDetail.jobNumber}}</span></div>
|
|
|
- <div class="line"><span>手机号码</span><span>{{userDetail.phone}}</span></div>
|
|
|
- <div class="line"><span>部门</span><span>{{userDetail.departmentName}}</span></div>
|
|
|
- <div class="line"><span>成本</span><span>{{userDetail.cost}}元/小时</span></div>
|
|
|
+ <el-dialog :title="$t('Checkthedetails')" v-if="userDetailVisible" :visible.sync="userDetailVisible" :close-on-click-modal="false" customClass="customWidth" width="400px">
|
|
|
+ <div class="line"><span>{{ $t('lable.name') }}</span><span>{{userDetail.name}}</span></div>
|
|
|
+ <div class="line"><span>{{ $t('Worknumber') }}</span><span>{{userDetail.jobNumber}}</span></div>
|
|
|
+ <div class="line"><span>{{ $t('lable.phone') }}</span><span>{{userDetail.phone}}</span></div>
|
|
|
+ <div class="line"><span>{{ $t('lable.department') }}</span><span>{{userDetail.departmentName}}</span></div>
|
|
|
+ <div class="line"><span>{{ $t('costof') }}</span><span>{{userDetail.cost}}{{$t('Yuananhour')}}</span></div>
|
|
|
<div slot="footer" class="dialog-footer">
|
|
|
- <el-button type="primary" @click="userDetailVisible = false" >确定</el-button>
|
|
|
+ <el-button type="primary" @click="userDetailVisible = false" >{{ $t('btn.determine') }}</el-button>
|
|
|
</div>
|
|
|
</el-dialog>
|
|
|
|
|
|
<!--导入时的设置界面 -->
|
|
|
- <el-dialog title="财务数据导入" v-if="importDialog" :visible.sync="importDialog" :close-on-click-modal="false" customClass="customWidth" width="500px">
|
|
|
+ <el-dialog :title="$t('Financialdataimport')" v-if="importDialog" :visible.sync="importDialog" :close-on-click-modal="false" customClass="customWidth" width="500px">
|
|
|
<el-form ref="form3" :model="importParam" >
|
|
|
- <el-form-item label="导入月份" >
|
|
|
+ <el-form-item :label="$t('Itheimport')" >
|
|
|
<!-- <div style="color:orange;">{{date}}</div> -->
|
|
|
- <el-date-picker v-model="date" type="month" placeholder="选择月份" format="yyyy-MM" value-format="yyyy-MM"></el-date-picker>
|
|
|
+ <el-date-picker v-model="date" type="month" placeholder="$t('Selectmonth')" format="yyyy-MM" value-format="yyyy-MM"></el-date-picker>
|
|
|
</el-form-item>
|
|
|
<el-form-item prop="syncHistoryReport" >
|
|
|
- <el-checkbox label="重新计算该月已填日报成本" v-model="importParam.syncHistoryReport"></el-checkbox>
|
|
|
+ <el-checkbox :label="$t('Recalculatereportedcostsforthemonth')" v-model="importParam.syncHistoryReport"></el-checkbox>
|
|
|
</el-form-item>
|
|
|
<el-form-item prop="syncUserCost" >
|
|
|
- <el-checkbox label="同步到组织架构中员工月薪成本" v-model="importParam.syncUserCost" ></el-checkbox>
|
|
|
+ <el-checkbox :label="$t('Synchronizeemployeemonthlycosttorganizationalstructure')" v-model="importParam.syncUserCost" ></el-checkbox>
|
|
|
</el-form-item>
|
|
|
</el-form>
|
|
|
<div slot="footer" class="dialog-footer">
|
|
|
<el-link v-if="user.timeType.financeAudit == '0'"
|
|
|
style="float:left;"
|
|
|
- type="primary" :underline="false" @click="xzjl(),xzImportVisible = true">查看导入历史记录</el-link>
|
|
|
+ type="primary" :underline="false" @click="xzjl(),xzImportVisible = true">{{ $t('Viewtheimporthistory') }}</el-link>
|
|
|
|
|
|
<el-upload ref="upload" action="#" :limit="1" :http-request="importFinance" :show-file-list="false" >
|
|
|
- <el-button type="primary" style="width:100%;" :loading="isUploading" >选择文件并开始导入</el-button>
|
|
|
+ <el-button type="primary" style="width:100%;" :loading="isUploading" >{{ $t('Selectthefilendstartimporting') }}</el-button>
|
|
|
</el-upload>
|
|
|
</div>
|
|
|
</el-dialog>
|
|
@@ -310,101 +310,102 @@
|
|
|
</div>
|
|
|
</el-dialog> -->
|
|
|
|
|
|
- <el-dialog title="自定义薪资项" show-header="false" v-if="itemDialog" :visible.sync="itemDialog" :close-on-click-modal="false" customClass="customWidth" width="500px" top="20px">
|
|
|
+ <el-dialog :title="$t('Customizesalaryitems')" show-header="false" v-if="itemDialog" :visible.sync="itemDialog" :close-on-click-modal="false" customClass="customWidth" width="500px" top="20px">
|
|
|
<div style="margin-left:30px;">
|
|
|
<!-- 111 -->
|
|
|
- <p><el-input size="medium" v-model.trim="customCols.monthCost" placeholder="请输入自定义薪资项名称" style="width:200px;margin-right:20px" maxlength="8"></el-input>
|
|
|
+ <p><el-input size="medium" v-model.trim="customCols.monthCost" :placeholder="$t('Pleaseenteracustomsalaryitemname')" style="width:200px;margin-right:20px" maxlength="8"></el-input>
|
|
|
<template v-if="customCols.monthCost != null && customCols.monthCost != ''">
|
|
|
- 计入总成本
|
|
|
- <el-radio size="medium" v-model="customCols.monthCostCalculate" :label="1" style="margin-right:10px;margin-left:10px">是</el-radio>
|
|
|
- <el-radio size="medium" v-model="customCols.monthCostCalculate" :label="0">否</el-radio>
|
|
|
+ {{ $t('Addttotalcost') }}
|
|
|
+ <el-radio size="medium" v-model="customCols.monthCostCalculate" :label="1" style="margin-right:10px;margin-left:10px">{{ $t('state.yes') }}</el-radio>
|
|
|
+ <el-radio size="medium" v-model="customCols.monthCostCalculate" :label="0">{{ $t('state.no') }}</el-radio>
|
|
|
</template>
|
|
|
</p>
|
|
|
- <p><el-input size="medium" v-model.trim="customCols.bonus" placeholder="请输入自定义薪资项名称" style="width:200px;margin-right:20px" maxlength="8"></el-input>
|
|
|
+ <p><el-input size="medium" v-model.trim="customCols.bonus" :placeholder="$t('Pleaseenteracustomsalaryitemname')" style="width:200px;margin-right:20px" maxlength="8"></el-input>
|
|
|
<template v-if="customCols.bonus != null && customCols.bonus != ''">
|
|
|
- 计入总成本
|
|
|
- <el-radio size="medium" v-model="customCols.bonusCalculate" :label="1" style="margin-right:10px;margin-left:10px">是</el-radio>
|
|
|
- <el-radio size="medium" v-model="customCols.bonusCalculate" :label="0">否</el-radio>
|
|
|
+ {{ $t('Addttotalcost') }}
|
|
|
+ <el-radio size="medium" v-model="customCols.bonusCalculate" :label="1" style="margin-right:10px;margin-left:10px">{{ $t('state.yes') }}</el-radio>
|
|
|
+ <el-radio size="medium" v-model="customCols.bonusCalculate" :label="0">{{ $t('state.no') }}</el-radio>
|
|
|
</template>
|
|
|
</p>
|
|
|
- <p><el-input size="medium" v-model.trim="customCols.allowance" placeholder="请输入自定义薪资项名称" style="width:200px;margin-right:20px" maxlength="8"></el-input>
|
|
|
+ <p><el-input size="medium" v-model.trim="customCols.allowance" :placeholder="$t('Pleaseenteracustomsalaryitemname')" style="width:200px;margin-right:20px" maxlength="8"></el-input>
|
|
|
<template v-if="customCols.allowance != null && customCols.allowance != ''">
|
|
|
- 计入总成本
|
|
|
- <el-radio size="medium" v-model="customCols.allowanceCalculate" :label="1" style="margin-right:10px;margin-left:10px">是</el-radio>
|
|
|
- <el-radio size="medium" v-model="customCols.allowanceCalculate" :label="0">否</el-radio>
|
|
|
+ {{ $t('Addttotalcost') }}
|
|
|
+ <el-radio size="medium" v-model="customCols.allowanceCalculate" :label="1" style="margin-right:10px;margin-left:10px">{{ $t('state.yes') }}</el-radio>
|
|
|
+ <el-radio size="medium" v-model="customCols.allowanceCalculate" :label="0">{{ $t('state.no') }}</el-radio>
|
|
|
</template>
|
|
|
</p>
|
|
|
- <p><el-input size="medium" v-model.trim="customCols.insuranceOld" placeholder="请输入自定义薪资项名称" style="width:200px;margin-right:20px" maxlength="8"></el-input>
|
|
|
+ <p><el-input size="medium" v-model.trim="customCols.insuranceOld" :placeholder="$t('Pleaseenteracustomsalaryitemname')" style="width:200px;margin-right:20px" maxlength="8"></el-input>
|
|
|
<template v-if="customCols.insuranceOld != null && customCols.insuranceOld != ''">
|
|
|
- 计入总成本
|
|
|
- <el-radio size="medium" v-model="customCols.insuranceOldCalculate" :label="1" style="margin-right:10px;margin-left:10px">是</el-radio>
|
|
|
- <el-radio size="medium" v-model="customCols.insuranceOldCalculate" :label="0">否</el-radio>
|
|
|
+ {{ $t('Addttotalcost') }}
|
|
|
+ <el-radio size="medium" v-model="customCols.insuranceOldCalculate" :label="1" style="margin-right:10px;margin-left:10px">{{ $t('state.yes') }}</el-radio>
|
|
|
+ <el-radio size="medium" v-model="customCols.insuranceOldCalculate" :label="0">{{ $t('state.no') }}</el-radio>
|
|
|
</template>
|
|
|
</p>
|
|
|
- <p><el-input size="medium" v-model.trim="customCols.insuranceMedical" placeholder="请输入自定义薪资项名称" style="width:200px;margin-right:20px" maxlength="8"></el-input>
|
|
|
+ <p><el-input size="medium" v-model.trim="customCols.insuranceMedical" :placeholder="$t('Pleaseenteracustomsalaryitemname')" style="width:200px;margin-right:20px" maxlength="8"></el-input>
|
|
|
<template v-if="customCols.insuranceMedical != null && customCols.insuranceMedical != ''">
|
|
|
- 计入总成本
|
|
|
- <el-radio size="medium" v-model="customCols.insuranceMedicalCalculate" :label="1" style="margin-right:10px;margin-left:10px">是</el-radio>
|
|
|
- <el-radio size="medium" v-model="customCols.insuranceMedicalCalculate" :label="0">否</el-radio>
|
|
|
+ {{ $t('Addttotalcost') }}
|
|
|
+ <el-radio size="medium" v-model="customCols.insuranceMedicalCalculate" :label="1" style="margin-right:10px;margin-left:10px">{{ $t('state.yes') }}</el-radio>
|
|
|
+ <el-radio size="medium" v-model="customCols.insuranceMedicalCalculate" :label="0">{{ $t('state.no') }}</el-radio>
|
|
|
</template>
|
|
|
</p>
|
|
|
- <p><el-input size="medium" v-model.trim="customCols.insuranceLosejob" placeholder="请输入自定义薪资项名称" style="width:200px;margin-right:20px" maxlength="8"></el-input>
|
|
|
+ <p><el-input size="medium" v-model.trim="customCols.insuranceLosejob" :placeholder="$t('Pleaseenteracustomsalaryitemname')" style="width:200px;margin-right:20px" maxlength="8"></el-input>
|
|
|
<template v-if="customCols.insuranceLosejob != null && customCols.insuranceLosejob != ''">
|
|
|
- 计入总成本
|
|
|
- <el-radio size="medium" v-model="customCols.insuranceLosejobCalculate" :label="1" style="margin-right:10px;margin-left:10px">是</el-radio>
|
|
|
- <el-radio size="medium" v-model="customCols.insuranceLosejobCalculate" :label="0">否</el-radio>
|
|
|
+ {{ $t('Addttotalcost') }}
|
|
|
+ <el-radio size="medium" v-model="customCols.insuranceLosejobCalculate" :label="1" style="margin-right:10px;margin-left:10px">{{ $t('state.yes') }}</el-radio>
|
|
|
+ <el-radio size="medium" v-model="customCols.insuranceLosejobCalculate" :label="0">{{ $t('state.no') }}</el-radio>
|
|
|
</template>
|
|
|
</p>
|
|
|
- <p><el-input size="medium" v-model.trim="customCols.insuranceInjury" placeholder="请输入自定义薪资项名称" style="width:200px;margin-right:20px" maxlength="8"></el-input>
|
|
|
+ <p><el-input size="medium" v-model.trim="customCols.insuranceInjury" :placeholder="$t('Pleaseenteracustomsalaryitemname')" style="width:200px;margin-right:20px" maxlength="8"></el-input>
|
|
|
<template v-if="customCols.insuranceInjury != null && customCols.insuranceInjury != ''">
|
|
|
- 计入总成本
|
|
|
- <el-radio size="medium" v-model="customCols.insuranceInjuryCalculate" :label="1" style="margin-right:10px;margin-left:10px">是</el-radio>
|
|
|
- <el-radio size="medium" v-model="customCols.insuranceInjuryCalculate" :label="0">否</el-radio>
|
|
|
+ {{ $t('Addttotalcost') }}
|
|
|
+ <el-radio size="medium" v-model="customCols.insuranceInjuryCalculate" :label="1" style="margin-right:10px;margin-left:10px">{{ $t('state.yes') }}</el-radio>
|
|
|
+ <el-radio size="medium" v-model="customCols.insuranceInjuryCalculate" :label="0">{{ $t('state.no') }}</el-radio>
|
|
|
</template>
|
|
|
</p>
|
|
|
- <p><el-input size="medium" v-model.trim="customCols.houseFund" placeholder="请输入自定义薪资项名称" style="width:200px;margin-right:20px" maxlength="8"></el-input>
|
|
|
+ <p><el-input size="medium" v-model.trim="customCols.houseFund" :placeholder="$t('Pleaseenteracustomsalaryitemname')" style="width:200px;margin-right:20px" maxlength="8"></el-input>
|
|
|
<template v-if="customCols.houseFund != null && customCols.houseFund != ''">
|
|
|
- 计入总成本
|
|
|
- <el-radio size="medium" v-model="customCols.houseFundCalculate" :label="1" style="margin-right:10px;margin-left:10px">是</el-radio>
|
|
|
- <el-radio size="medium" v-model="customCols.houseFundCalculate" :label="0">否</el-radio>
|
|
|
+ {{ $t('Addttotalcost') }}
|
|
|
+ <el-radio size="medium" v-model="customCols.houseFundCalculate" :label="1" style="margin-right:10px;margin-left:10px">{{ $t('state.yes') }}</el-radio>
|
|
|
+ <el-radio size="medium" v-model="customCols.houseFundCalculate" :label="0">{{ $t('state.no') }}</el-radio>
|
|
|
</template>
|
|
|
</p>
|
|
|
- <p><el-input size="medium" v-model.trim="customCols.field1" placeholder="请输入自定义薪资项1名称" style="width:200px;margin-right:20px" maxlength="8"></el-input>
|
|
|
+ <p><el-input size="medium" v-model.trim="customCols.field1" :placeholder="$t('Pleaseenterthenameofcustomsalaryitem1')" style="width:200px;margin-right:20px" maxlength="8"></el-input>
|
|
|
<template v-if="customCols.field1 != null && customCols.field1 != ''">
|
|
|
- 计入总成本
|
|
|
- <el-radio size="medium" v-model="customCols.field1Calculate" :label="1" style="margin-right:10px;margin-left:10px">是</el-radio>
|
|
|
- <el-radio size="medium" v-model="customCols.field1Calculate" :label="0">否</el-radio>
|
|
|
+ {{ $t('Addttotalcost') }}
|
|
|
+ <el-radio size="medium" v-model="customCols.field1Calculate" :label="1" style="margin-right:10px;margin-left:10px">{{ $t('state.yes') }}</el-radio>
|
|
|
+ <el-radio size="medium" v-model="customCols.field1Calculate" :label="0">{{ $t('state.no') }}</el-radio>
|
|
|
</template>
|
|
|
</p>
|
|
|
- <p><el-input size="medium" v-model.trim="customCols.field2" placeholder="请输入自定义薪资项2名称" style="width:200px;margin-right:20px" maxlength="8"></el-input>
|
|
|
+ <p><el-input size="medium" v-model.trim="customCols.field2" :placeholder="$t('Pleaseenterthenameofcustomsalaryitem2')" style="width:200px;margin-right:20px" maxlength="8"></el-input>
|
|
|
<template v-if="customCols.field2 != null && customCols.field2 != ''">
|
|
|
- 计入总成本
|
|
|
- <el-radio size="medium" v-model="customCols.field2Calculate" :label="1" style="margin-right:10px;margin-left:10px">是</el-radio>
|
|
|
- <el-radio size="medium" v-model="customCols.field2Calculate" :label="0">否</el-radio>
|
|
|
+ {{ $t('Addttotalcost') }}
|
|
|
+ <el-radio size="medium" v-model="customCols.field2Calculate" :label="1" style="margin-right:10px;margin-left:10px">{{ $t('state.yes') }}</el-radio>
|
|
|
+ <el-radio size="medium" v-model="customCols.field2Calculate" :label="0">{{ $t('state.no') }}</el-radio>
|
|
|
</template>
|
|
|
</p>
|
|
|
- <p><el-input size="medium" v-model.trim="customCols.field3" placeholder="请输入自定义薪资项3名称" style="width:200px;margin-right:20px" maxlength="8"></el-input>
|
|
|
+ <p><el-input size="medium" v-model.trim="customCols.field3" :placeholder="$t('Pleaseenterthenameofcustomsalaryitem3')" style="width:200px;margin-right:20px" maxlength="8"></el-input>
|
|
|
<template v-if="customCols.field3 != null && customCols.field3 != ''">
|
|
|
- 计入总成本
|
|
|
- <el-radio size="medium" v-model="customCols.field3Calculate" :label="1" style="margin-right:10px;margin-left:10px">是</el-radio>
|
|
|
- <el-radio size="medium" v-model="customCols.field3Calculate" :label="0">否</el-radio>
|
|
|
+ {{ $t('Addttotalcost') }}
|
|
|
+ <el-radio size="medium" v-model="customCols.field3Calculate" :label="1" style="margin-right:10px;margin-left:10px">{{ $t('state.yes') }}</el-radio>
|
|
|
+ <el-radio size="medium" v-model="customCols.field3Calculate" :label="0">{{ $t('state.no') }}</el-radio>
|
|
|
</template>
|
|
|
</p>
|
|
|
</div>
|
|
|
<div slot="footer" class="dialog-footer">
|
|
|
- <el-button type="primary" @click="itemDialog = false" >关闭</el-button>
|
|
|
- <el-button type="primary" @click="saveItems()" >保存</el-button>
|
|
|
+ <el-button type="primary" @click="itemDialog = false" >{{ $t('Shutdown') }}</el-button>
|
|
|
+ <el-button type="primary" @click="saveItems()" >{{ $t('save') }}</el-button>
|
|
|
</div>
|
|
|
</el-dialog>
|
|
|
|
|
|
- <el-dialog :title="date+'月 无项目工时人员分摊比例设置'" show-header="false" v-if="settingDialog" :visible.sync="settingDialog"
|
|
|
+ <el-dialog :title="date+$t('weekDay.month')+' ' + $t('Noallocationratioofprojectworkinghoursisset')" show-header="false" v-if="settingDialog" :visible.sync="settingDialog"
|
|
|
:close-on-click-modal="false" customClass="customWidth" width="1200px">
|
|
|
<div>
|
|
|
<div>
|
|
|
- <el-button :disabled="multipleSelection.length==0" @click="setPercent(true, null)">批量设置比例</el-button>
|
|
|
- <el-button :disabled="projectCols.length==0 || userCostSettingList.length == 0" @click="getLastMonthSetting">使用上月比例设置</el-button>
|
|
|
- <el-button @click="showSelectProjectDialog">{{date}} 月待分摊项目设置</el-button>
|
|
|
- <el-button @click="intoAmortizationRatio">导入分摊比例</el-button>
|
|
|
+ <el-button :disabled="multipleSelection.length==0" @click="setPercent(true, null)">{{ $t('BatchSettingProportion') }}</el-button>
|
|
|
+ <el-button :disabled="projectCols.length==0 || userCostSettingList.length == 0" @click="getLastMonthSetting">{{ $t('UselastmonthscaleSettings') }}</el-button>
|
|
|
+ <!-- <el-button @click="showSelectProjectDialog">{{date}} 月待分摊项目设置</el-button> -->
|
|
|
+ <el-button @click="showSelectProjectDialog">{{date}}{{ $t('Monthlyprojecttobeapportioned') }}</el-button>
|
|
|
+ <el-button @click="intoAmortizationRatio">{{ $t('Importallocationratio') }}</el-button>
|
|
|
</div>
|
|
|
<el-table :data="userCostSettingList" highlight-current-row v-loading="costSettingLoading"
|
|
|
ref="settingTable" @selection-change="handleSelectionChange"
|