|
@@ -16,9 +16,24 @@
|
|
|
size="small"
|
|
|
v-if="detailData.status == 1"
|
|
|
class="el-button--small-yh "
|
|
|
+ :disabled="form.status > 0"
|
|
|
@click.stop="openEdit"
|
|
|
>编辑
|
|
|
</el-button>
|
|
|
+ <el-dropdown style="margin-right: 8px;margin-left: 8px;">
|
|
|
+ <el-button type="primary" size="small">
|
|
|
+ 审核处理<i class="el-icon-arrow-down el-icon--right"></i>
|
|
|
+ </el-button>
|
|
|
+ <el-dropdown-menu slot="dropdown">
|
|
|
+ <el-dropdown-item
|
|
|
+ :disabled="form.status > 0"
|
|
|
+ @click.native="pleaseCheck"
|
|
|
+ >请核数据</el-dropdown-item
|
|
|
+ >
|
|
|
+ <el-dropdown-item disabled>审核进度</el-dropdown-item>
|
|
|
+ <el-dropdown-item disabled>撤销请核</el-dropdown-item>
|
|
|
+ </el-dropdown-menu>
|
|
|
+ </el-dropdown>
|
|
|
<el-button
|
|
|
class="el-button--small-yh"
|
|
|
type="primary"
|
|
@@ -470,6 +485,18 @@
|
|
|
@change="salaryAdd(crudForm)"
|
|
|
/>
|
|
|
</template>
|
|
|
+
|
|
|
+ <template
|
|
|
+ slot="customWorkloadSalaryForm"
|
|
|
+ slot-scope="{ column, disabled }"
|
|
|
+ >
|
|
|
+ <el-input
|
|
|
+ :disabled="disabled"
|
|
|
+ :placeholder="'请输入 ' + column.label"
|
|
|
+ v-model="crudForm.customWorkloadSalary"
|
|
|
+ @change="salaryAdd(crudForm)"
|
|
|
+ />
|
|
|
+ </template>
|
|
|
<template slot="workloadSalaryForm" slot-scope="{ column, disabled }">
|
|
|
<el-input
|
|
|
:disabled="disabled"
|
|
@@ -636,6 +663,30 @@
|
|
|
</p>
|
|
|
</el-dialog>
|
|
|
</basic-container>
|
|
|
+ <containerTitle title="导入附件记录"></containerTitle>
|
|
|
+ <basic-container>
|
|
|
+ <avue-crud
|
|
|
+ :data="annexData"
|
|
|
+ :option="annexOption"
|
|
|
+ :page.sync="annexPage"
|
|
|
+ :table-loading="annexLoading"
|
|
|
+ @current-change="currentannexChange"
|
|
|
+ @size-change="sizeannexChange"
|
|
|
+ @saveColumn="saveannexColumn"
|
|
|
+ @refresh-change="refreshannexChange"
|
|
|
+ :cell-style="cellStyle"
|
|
|
+ >
|
|
|
+ <template slot-scope="{ row, index }" slot="menu">
|
|
|
+ <el-button
|
|
|
+ type="text"
|
|
|
+ size="small"
|
|
|
+ @click.stop="rowDownload(row, index)"
|
|
|
+ >
|
|
|
+ 下载
|
|
|
+ </el-button>
|
|
|
+ </template>
|
|
|
+ </avue-crud>
|
|
|
+ </basic-container>
|
|
|
</div>
|
|
|
</div>
|
|
|
</template>
|
|
@@ -646,7 +697,9 @@ import {
|
|
|
detail,
|
|
|
submit,
|
|
|
delItem,
|
|
|
- itemDetail
|
|
|
+ itemAnnex,
|
|
|
+ itemDetail,
|
|
|
+ pleaseCheck
|
|
|
} from "@/api/salaryManagement/primarySchool";
|
|
|
import { numCal } from "@/util/calculate";
|
|
|
import { optionList } from "./js/optionList";
|
|
@@ -654,6 +707,7 @@ export default {
|
|
|
name: "detailsPage",
|
|
|
data() {
|
|
|
return {
|
|
|
+ annexLoading: false,
|
|
|
crudForm: {},
|
|
|
excelBox: false,
|
|
|
loading: false,
|
|
@@ -740,7 +794,7 @@ export default {
|
|
|
trigger: "blur"
|
|
|
}
|
|
|
],
|
|
|
- span: 4,
|
|
|
+ span: 6,
|
|
|
change: ({ value }) => {
|
|
|
if (value) {
|
|
|
this.optionList.column.forEach(e => {
|
|
@@ -764,7 +818,7 @@ export default {
|
|
|
label: "dictValue",
|
|
|
value: "dictKey"
|
|
|
},
|
|
|
- span: 4,
|
|
|
+ span: 6,
|
|
|
rules: [
|
|
|
{
|
|
|
required: true,
|
|
@@ -791,20 +845,110 @@ export default {
|
|
|
{
|
|
|
label: "人数",
|
|
|
prop: "personNumber",
|
|
|
- span: 4,
|
|
|
+ span: 6,
|
|
|
+ disabled: true
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: "状态",
|
|
|
+ prop: "status",
|
|
|
+ type: "select",
|
|
|
+ span: 6,
|
|
|
+ props: {
|
|
|
+ label: "name",
|
|
|
+ value: "code"
|
|
|
+ },
|
|
|
+ dicData: [
|
|
|
+ {
|
|
|
+ name: "录入",
|
|
|
+ code: 0
|
|
|
+ },
|
|
|
+ {
|
|
|
+ name: "申请审批",
|
|
|
+ code: 1
|
|
|
+ },
|
|
|
+ {
|
|
|
+ name: "审批中",
|
|
|
+ code: 2
|
|
|
+ },
|
|
|
+ {
|
|
|
+ name: "审批通过",
|
|
|
+ code: 3
|
|
|
+ }
|
|
|
+ ],
|
|
|
disabled: true
|
|
|
},
|
|
|
{
|
|
|
label: "备注",
|
|
|
prop: "remarks",
|
|
|
type: "textarea",
|
|
|
- span: 12,
|
|
|
+ span: 24,
|
|
|
minRows: 2
|
|
|
}
|
|
|
]
|
|
|
},
|
|
|
optionList: optionList,
|
|
|
- exportUrl: "/api/blade-school/salaryitem/export/template"
|
|
|
+ exportUrl: "/api/blade-school/salaryitem/export/template",
|
|
|
+ annexData: [],
|
|
|
+ annexOption: {
|
|
|
+ align: "center",
|
|
|
+ menuAlign: "center",
|
|
|
+ addBtn: false,
|
|
|
+ border: true,
|
|
|
+ index: true,
|
|
|
+ viewBtn: false,
|
|
|
+ editBtn: false,
|
|
|
+ delBtn: false,
|
|
|
+ stripe: true,
|
|
|
+ menuWidth: 100,
|
|
|
+ column: [
|
|
|
+ {
|
|
|
+ label: "文件类型",
|
|
|
+ prop: "fileType",
|
|
|
+ overHidden: true
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: "文件名",
|
|
|
+ prop: "cname",
|
|
|
+ overHidden: true
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: "创建时间",
|
|
|
+ prop: "createTime",
|
|
|
+ overHidden: true
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: "创建人",
|
|
|
+ prop: "createName",
|
|
|
+ overHidden: true
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: "备注",
|
|
|
+ prop: "remarks",
|
|
|
+ overHidden: true
|
|
|
+ }
|
|
|
+ ]
|
|
|
+ },
|
|
|
+ annexPage: {
|
|
|
+ pageSize: 10,
|
|
|
+ currentPage: 1,
|
|
|
+ total: 0,
|
|
|
+ pageSizes: [
|
|
|
+ 10,
|
|
|
+ 20,
|
|
|
+ 30,
|
|
|
+ 40,
|
|
|
+ 50,
|
|
|
+ 100,
|
|
|
+ 150,
|
|
|
+ 200,
|
|
|
+ 250,
|
|
|
+ 300,
|
|
|
+ 350,
|
|
|
+ 400,
|
|
|
+ 450,
|
|
|
+ 500
|
|
|
+ ]
|
|
|
+ }
|
|
|
};
|
|
|
},
|
|
|
props: {
|
|
@@ -819,7 +963,7 @@ export default {
|
|
|
if (this.detailData.status == 1) {
|
|
|
this.option.disabled = true;
|
|
|
}
|
|
|
- this.optionList.height = window.innerHeight - 400;
|
|
|
+ this.optionList.height = window.innerHeight - 500;
|
|
|
},
|
|
|
methods: {
|
|
|
cellStyle() {
|
|
@@ -850,6 +994,7 @@ export default {
|
|
|
detail(id).then(res => {
|
|
|
this.form = res.data.data;
|
|
|
this.getItemDetail();
|
|
|
+ this.getitemAnnex();
|
|
|
});
|
|
|
},
|
|
|
getItemDetail() {
|
|
@@ -867,6 +1012,20 @@ export default {
|
|
|
this.loading = false;
|
|
|
});
|
|
|
},
|
|
|
+ getitemAnnex() {
|
|
|
+ const data = {
|
|
|
+ pid: this.form.id
|
|
|
+ };
|
|
|
+ this.annexLoading = true;
|
|
|
+ itemAnnex(this.annexPage.currentPage, this.annexPage.pageSize, data)
|
|
|
+ .then(res => {
|
|
|
+ this.annexData = res.data.data.records;
|
|
|
+ this.annexPage.total = res.data.data.total;
|
|
|
+ })
|
|
|
+ .finally(() => {
|
|
|
+ this.annexLoading = false;
|
|
|
+ });
|
|
|
+ },
|
|
|
rowSave(row, done, loading) {
|
|
|
if (!row.cname) {
|
|
|
loading();
|
|
@@ -961,6 +1120,9 @@ export default {
|
|
|
}
|
|
|
});
|
|
|
},
|
|
|
+ rowDownload(row) {
|
|
|
+ window.open(`${row.url}?${this.website.tokenHeader}=${getToken()}`);
|
|
|
+ },
|
|
|
searchChange(params, done) {
|
|
|
this.getItemDetail();
|
|
|
done();
|
|
@@ -977,10 +1139,23 @@ export default {
|
|
|
refreshChange() {
|
|
|
this.getItemDetail();
|
|
|
},
|
|
|
+ currentannexChange(val) {
|
|
|
+ this.annexPage.currentPage = val;
|
|
|
+ this.getitemAnnex();
|
|
|
+ },
|
|
|
+ sizeannexChange(val) {
|
|
|
+ this.annexPage.currentPage = 1;
|
|
|
+ this.annexPage.pageSize = val;
|
|
|
+ this.getitemAnnex();
|
|
|
+ },
|
|
|
+ refreshannexChange() {
|
|
|
+ this.getitemAnnex();
|
|
|
+ },
|
|
|
uploadAfter(res, done, loading, column) {
|
|
|
this.excelBox = false;
|
|
|
// this.$message.success("导入成功!");
|
|
|
this.getItemDetail();
|
|
|
+ this.getitemAnnex();
|
|
|
done();
|
|
|
},
|
|
|
//修改提交触发
|
|
@@ -1078,7 +1253,9 @@ export default {
|
|
|
numCal(row.performanceAward);
|
|
|
// 2. 工作量工资 = V51(工作量工资)+Y51(暑假pad课课时费)
|
|
|
row.workloadSalary =
|
|
|
- numCal(row.momthWorkloadSalary) + numCal(row.vacationOvertimePay);
|
|
|
+ numCal(row.momthWorkloadSalary) +
|
|
|
+ numCal(row.vacationOvertimePay) +
|
|
|
+ numCal(row.customWorkloadSalary);
|
|
|
// 3. 奖励工资 = AD46(突出贡献奖) 无 +AE46(教学成绩优胜奖)+AF46(教学成绩进步奖) 无 +AG46(荣誉奖) 无 +AH46(领导干部奖励奖)+AI46(下学期教学成绩奖) 下学期绩效 +AJ46(中考奖励) 无
|
|
|
row.awardSalary =
|
|
|
numCal(row.winningPrize) +
|
|
@@ -1220,6 +1397,30 @@ export default {
|
|
|
}
|
|
|
});
|
|
|
},
|
|
|
+ // 请核
|
|
|
+ pleaseCheck() {
|
|
|
+ this.$confirm("您确定提交此次申请吗?", {
|
|
|
+ confirmButtonText: "确定",
|
|
|
+ cancelButtonText: "取消",
|
|
|
+ type: "warning"
|
|
|
+ }).then(() => {
|
|
|
+ const data = {
|
|
|
+ id: this.form.id,
|
|
|
+ checkType: "xsgz",
|
|
|
+ url: "/salaryManagement/primarySchool/index",
|
|
|
+ pageStatus: "this.$store.getters.domSaleStatus",
|
|
|
+ pageLabel: "小学部",
|
|
|
+ checkFlag: 2
|
|
|
+ };
|
|
|
+ pleaseCheck(data).then(res => {
|
|
|
+ this.$message.success("请核成功");
|
|
|
+ if (this.detailData.status == 1) {
|
|
|
+ this.option.disabled = true;
|
|
|
+ }
|
|
|
+ this.getDetail(this.form.id);
|
|
|
+ });
|
|
|
+ });
|
|
|
+ },
|
|
|
//返回列表
|
|
|
backToList() {
|
|
|
if (this.form.id) {
|
|
@@ -1438,6 +1639,55 @@ export default {
|
|
|
"excelFile"
|
|
|
).disabled = false;
|
|
|
break;
|
|
|
+ case "24":
|
|
|
+ this.exportUrl = "/api/blade-school/salaryitem/export/leadExcel";
|
|
|
+ this.findObject(this.excelOption.column, "excelFile").action =
|
|
|
+ "/api/blade-school/salaryitem/import/leadExcel";
|
|
|
+ this.findObject(
|
|
|
+ this.excelOption.column,
|
|
|
+ "excelFile"
|
|
|
+ ).disabled = false;
|
|
|
+ break;
|
|
|
+ case "25":
|
|
|
+ this.exportUrl =
|
|
|
+ "/api/blade-school/salaryitem/export/teamLeaderExcel";
|
|
|
+ this.findObject(this.excelOption.column, "excelFile").action =
|
|
|
+ "/api/blade-school/salaryitem/import/teamLeaderExcel";
|
|
|
+ this.findObject(
|
|
|
+ this.excelOption.column,
|
|
|
+ "excelFile"
|
|
|
+ ).disabled = false;
|
|
|
+ break;
|
|
|
+ case "26":
|
|
|
+ this.exportUrl =
|
|
|
+ "/api/blade-school/salaryitem/export/prepareLessonsExcel";
|
|
|
+ this.findObject(this.excelOption.column, "excelFile").action =
|
|
|
+ "/api/blade-school/salaryitem/import/prepareLessonsExcel";
|
|
|
+ this.findObject(
|
|
|
+ this.excelOption.column,
|
|
|
+ "excelFile"
|
|
|
+ ).disabled = false;
|
|
|
+ break;
|
|
|
+ case "27":
|
|
|
+ this.exportUrl =
|
|
|
+ "/api/blade-school/salaryitem/export/eomNumberExcel";
|
|
|
+ this.findObject(this.excelOption.column, "excelFile").action =
|
|
|
+ "/api/blade-school/salaryitem/import/eomNumberExcel";
|
|
|
+ this.findObject(
|
|
|
+ this.excelOption.column,
|
|
|
+ "excelFile"
|
|
|
+ ).disabled = false;
|
|
|
+ break;
|
|
|
+ case "28":
|
|
|
+ this.exportUrl =
|
|
|
+ "/api/blade-school/salaryitem/export/teachingExcel";
|
|
|
+ this.findObject(this.excelOption.column, "excelFile").action =
|
|
|
+ "/api/blade-school/salaryitem/import/teachingExcel";
|
|
|
+ this.findObject(
|
|
|
+ this.excelOption.column,
|
|
|
+ "excelFile"
|
|
|
+ ).disabled = false;
|
|
|
+ break;
|
|
|
default:
|
|
|
this.findObject(
|
|
|
this.excelOption.column,
|
|
@@ -1461,7 +1711,7 @@ export default {
|
|
|
</style>
|
|
|
<style lang="scss" scoped>
|
|
|
.trading-form ::v-deep .el-form-item {
|
|
|
- margin-bottom: 0px !important;
|
|
|
+ margin-bottom: 4px !important;
|
|
|
}
|
|
|
::v-deep .el-form-item__error {
|
|
|
display: none !important;
|