浏览代码

提交翻译文件(财务核算成本)

Lijy 2 年之前
父节点
当前提交
35089b1109

+ 56 - 2
fhKeeper/formulahousekeeper/timesheet/src/i18n/en.json

@@ -52,7 +52,9 @@
     "completed": "completed",
     "tried": "tried",
     "untrial": "untrial",
-    "undone": "undone"
+    "undone": "undone",
+    "yes": "yes",
+    "no": "no"
   },
   "time": {
     "dueDate": "Due date",
@@ -362,5 +364,57 @@
   "details": "Details",
   "yourdecisiontorevoke": "Please enter the reason for your decision to withdraw",
   "enterapassrating": "Please enter a pass rating",
-  "Revocationofsuccess": "Undo succeeded"
+  "Revocationofsuccess": "Undo succeeded",
+  "Selectmonth": "select month",
+  "projectworker": "Personnel without project hours",
+  "Apportionmentratesetting": "Apportionment ratio settings",
+  "Downloadthetemplate": "Template download",
+  "Dataupload": "data upload",
+  "Exportdata": "Data output",
+  "Customizesalaryitems": "custom salary item",
+  "Setupauditor": "Set up moderators",
+  "Salaryuploadrecord": "Salary upload record",
+  "BelongsIn": "month",
+  "filename": "file name",
+  "Whetherdailycostiscovered": "Whether to cover daily costs",
+  "Whethermonthlypersonnelcostiscovered": "Whether to cover the monthly cost of personnel",
+  "Uploadtime": "Upload time",
+  "SelectionofAuditor": "Select reviewer",
+  "reviewercannotbeempty": "Reviewer cannot be empty",
+  "Exportoffinancialdata": "Financial data export",
+  "Intheexport": "export month",
+  "Worknumber": "Job number",
+  "totalcost": "total cost",
+  "Batchdelete": "batch deletion",
+  "Apportionmentofpersonnelcosts": "Allocate staff costs for hours filled",
+  "Spreadallpersonnelcosts": "Allocate all personnel costs",
+  "ExportingtheAllocationData": "Export apportionment data",
+  "Itemno": "Item Number",
+  "Pleaseentertheprojectnumber": "Please enter item number",
+  "Pleaseenteraprojectname": "Please enter a project name",
+  "Allparticipants": "all participants",
+  "Pleaseselectparticipants": "Please select a participant",
+  "Principalpersoninharge": "main in-charge",
+  "Pleaseselectthepersonincharge": "Please select the person in charge",
+  "Checkthedetails": "check the details",
+  "Yuananhour": "RMB/hour",
+  "costof": "cost",
+  "Financialdataimport": "Financial data import",
+  "Itheimport": "import month",
+  "Recalculatereportedcostsforthemonth": "Recalculate the filled daily cost for the month",
+  "Synchronizeemployeemonthlycosttorganizationalstructure": "Synchronized to the employee monthly salary cost in the organizational structure",
+  "Viewtheimporthistory": "View import history",
+  "Selectthefilendstartimporting": "Select file and start importing",
+  "Pleaseenteracustomsalaryitemname": "Please enter a custom salary item name",
+  "Addttotalcost": "Included in total cost",
+  "Pleaseenterthenameofcustomsalaryitem1": "Please enter a custom salary item 1 name",
+  "Pleaseenterthenameofcustomsalaryitem2": "Please enter a custom salary item 2 name",
+  "Pleaseenterthenameofcustomsalaryitem3": "Please enter a custom salary item 3 name",
+  "Shutdown": "closure",
+  "save": "save",
+  "Noallocationratioofprojectworkinghoursisset": "No project working hours staff apportionment ratio setting",
+  "BatchSettingProportion": "Batch setting ratio",
+  "UselastmonthscaleSettings": "Use previous month scale settings",
+  "Importallocationratio": "Import apportionment ratio",
+  "Monthlyprojecttobeapportioned": "Monthly apportionment project settings"
 }

+ 56 - 2
fhKeeper/formulahousekeeper/timesheet/src/i18n/zh.json

@@ -52,7 +52,9 @@
     "completed": "已完成",
     "tried": "已审",
     "untrial": "未审",
-    "undone": "已撤销"
+    "undone": "已撤销",
+    "yes": "是",
+    "no": "否"
   },
   "time": {
     "dueDate": "到期日期",
@@ -362,5 +364,57 @@
   "details": "详情",
   "yourdecisiontorevoke": "请输入您决定撤销的原因",
   "enterapassrating": "请输入通过评价",
-  "Revocationofsuccess": "撤销成功"
+  "Revocationofsuccess": "撤销成功",
+  "Selectmonth": "选择月份",
+  "projectworker": "无项目工时人员",
+  "Apportionmentratesetting": "分摊比例设置",
+  "Downloadthetemplate": "模板下载",
+  "Dataupload": "数据上传",
+  "Exportdata": "数据导出",
+  "Customizesalaryitems": "自定义薪资项",
+  "Setupauditor": "设置审核人",
+  "Salaryuploadrecord": "薪资上传记录",
+  "BelongsIn": "所属月份",
+  "filename": "文件名",
+  "Whetherdailycostiscovered": "是否覆盖日报成本",
+  "Whethermonthlypersonnelcostiscovered": "是否覆盖人员月成本",
+  "Uploadtime": "上传时间",
+  "SelectionofAuditor": "选择审核人",
+  "reviewercannotbeempty": "审核人不能为空",
+  "Exportoffinancialdata": "财务数据导出",
+  "Intheexport": "导出月份",
+  "Worknumber": "工号",
+  "totalcost": "总成本",
+  "Batchdelete": "批量删除",
+  "Apportionmentofpersonnelcosts": "分摊已填工时人员成本",
+  "Spreadallpersonnelcosts": "分摊全部人员成本",
+  "ExportingtheAllocationData": "导出分摊数据",
+  "Itemno": "项目编号",
+  "Pleaseentertheprojectnumber": "请输入项目编号",
+  "Pleaseenteraprojectname": "请输入项目名称",
+  "Allparticipants": "全部参与者",
+  "Pleaseselectparticipants": "请选择参与者",
+  "Principalpersoninharge": "主要负责人",
+  "Pleaseselectthepersonincharge": "请选择负责人",
+  "Checkthedetails": "查看详情",
+  "costof": "成本",
+  "Yuananhour": "元/小时",
+  "Financialdataimport": "财务数据导入",
+  "Itheimport": "导入月份",
+  "Recalculatereportedcostsforthemonth": "重新计算该月已填日报成本",
+  "Synchronizeemployeemonthlycosttorganizationalstructure": "同步到组织架构中员工月薪成本",
+  "Viewtheimporthistory": "查看导入历史记录",
+  "Selectthefilendstartimporting": "选择文件并开始导入",
+  "Pleaseenteracustomsalaryitemname": "请输入自定义薪资项名称",
+  "Addttotalcost": "计入总成本",
+  "Pleaseenterthenameofcustomsalaryitem1": "请输入自定义薪资项1名称",
+  "Pleaseenterthenameofcustomsalaryitem2": "请输入自定义薪资项2名称",
+  "Pleaseenterthenameofcustomsalaryitem3": "请输入自定义薪资项3名称",
+  "Shutdown": "关闭",
+  "save": "保存",
+  "Noallocationratioofprojectworkinghoursisset": "无项目工时人员分摊比例设置",
+  "BatchSettingProportion": "批量设置比例",
+  "UselastmonthscaleSettings": "使用上月比例设置",
+  "Monthlyprojecttobeapportioned": "月待分摊项目设置",
+  "Importallocationratio": "导入分摊比例"
 }

+ 127 - 126
fhKeeper/formulahousekeeper/timesheet/src/views/project/finance.vue

@@ -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"