From a3094611deac91e0ec35bcfe3f3fdd3bdf993466 Mon Sep 17 00:00:00 2001
From: haoxuan <haoxuan>
Date: 星期五, 26 四月 2024 16:18:40 +0800
Subject: [PATCH] 考勤统计模块 增加月份对应的星期的数据处理+对应考勤统计的样式调整
---
src/views/employeeSalary/salaryPlan/components/addDialog.vue | 149 +++++++++++++++++++++++++++++++++++++------------
1 files changed, 112 insertions(+), 37 deletions(-)
diff --git a/src/views/employeeSalary/salaryPlan/components/addDialog.vue b/src/views/employeeSalary/salaryPlan/components/addDialog.vue
index 17dd835..d78d102 100644
--- a/src/views/employeeSalary/salaryPlan/components/addDialog.vue
+++ b/src/views/employeeSalary/salaryPlan/components/addDialog.vue
@@ -65,9 +65,22 @@
>
</el-input> -->
<div class="formula-input" v-html="form.salaryFormulaHtml"></div>
- <el-button class="formula-btn" type="text" @click="checkFormula()"
- >妫�鏌ュ叕寮�</el-button
- >
+ <div class="formula-btn-right">
+ <el-button
+ class="formula-btn-t"
+ type="text"
+ :disabled="form.salaryFormulaHtml.length > 0 ? false : true"
+ @click="deleteFormula()"
+ >娓呴櫎</el-button
+ >
+ <el-button
+ class="formula-btn"
+ :disabled="form.salaryFormulaHtml.length > 0 ? false : true"
+ type="text"
+ @click="checkFormula()"
+ >妫�鏌ュ叕寮�</el-button
+ >
+ </div>
</el-form-item>
<div class="formula-error">
<span v-if="form.error == 1" class="color_blue">
@@ -213,7 +226,7 @@
salaryFormulaHtml: "",
error: "",
purchaseTypeList: [1],
- cycle: '1',
+ cycle: "1",
},
activeName: 1,
formulaName: [
@@ -341,6 +354,55 @@
tabClickBottom(activeName) {
this.activeName = activeName;
},
+ formInfo() {
+ if (this.islook) {
+ this.form = {
+ name: "",
+ workTypes: [],
+ salaryType: "",
+ salaryFormula: "",
+ salaryFormulaHtml: "",
+ error: "",
+ purchaseTypeList: [1],
+ cycle: "1",
+ };
+ this.$nextTick(() => {
+ this.$refs["form"].resetFields();
+ if (this.editRow.id) {
+ this.form = JSON.parse(JSON.stringify(this.editRow));
+ let salaryFormula = this.form.salaryFormula
+ ? this.form.salaryFormula
+ : "";
+ this.form.salaryFormulaHtml = "";
+ this.form.salaryFormula = "";
+ this.form.purchaseTypeList = [1];
+ let arr = salaryFormula ? salaryFormula.split("锛�") : [];
+ this.getSalaryFormulaHtml(arr);
+ }
+ });
+ }
+ },
+ getSalaryFormulaHtml(arr) {
+ let formulaNameArr = this.formulaName
+ .concat(this.formulaNameTwo)
+ .concat(this.formulaSymbol);
+ if (arr.length > 0) {
+ for (let i in arr) {
+ for (let j in formulaNameArr) {
+ let reg2 =
+ /(^[1-9]([0-9]+)?(\.[0-9]{1,2})?$)|(^(0){1}$)|(^[0-9]\.[0-9]([0-9])?$)/;
+ if (reg2.test(arr[i])) {
+ this.formulaClick(
+ { name: "甯搁噺鏁板瓧", type: 3, width: 2 },
+ arr[i]
+ );
+ } else if (formulaNameArr[j].name == arr[i]) {
+ this.formulaClick(formulaNameArr[j]);
+ }
+ }
+ }
+ }
+ },
// 鐐瑰嚮鐢熶骇鏁版嵁鍜岃�冨嫟鍙婅ˉ璐存暟鎹� 璧嬪�艰璐瑰叕寮忓畾涔�
formulaClick(item, value) {
let string = "";
@@ -360,13 +422,24 @@
this.form.salaryFormulaHtml = this.form.salaryFormulaHtml + string;
this.$forceUpdate();
},
+ deleteFormula() {
+ let salaryFormula = this.form.salaryFormula
+ ? this.form.salaryFormula
+ : "";
+ let arr = salaryFormula.split("锛�");
+ arr = arr.splice(0, arr.length - 1);
+ arr = arr.splice(0, arr.length - 1);
+ this.form.salaryFormulaHtml = "";
+ this.form.salaryFormula = "";
+ this.getSalaryFormulaHtml(arr);
+ },
checkFormula() {
if (this.form.salaryFormula) {
let string = true;
- let isString = '+-*/';
+ let isString = "+-*/";
let arr = this.form.salaryFormula.split("锛�");
- arr=arr.splice(0,arr.length-1)
- for (let i=0;i<arr.length;i++) {
+ arr = arr.splice(0, arr.length - 1);
+ for (let i = 0; i < arr.length; i++) {
if (arr[i] != "") {
// 闄ゆ暟涓嶈兘涓�0, 绗﹀彿閭h竟闇�瑕佹湁鍊�
if (isString.indexOf(arr[i]) != -1 || arr[i] == "(") {
@@ -391,7 +464,7 @@
}
} else if (arr[i] == ")") {
if (i < arr.length - 1) {
- if (isString.indexOf(arr[i+1]) == -1) {
+ if (isString.indexOf(arr[i + 1]) == -1) {
string = false;
break;
}
@@ -414,9 +487,9 @@
}
if (!string) {
- this.form.error = 2;
+ this.$set(this.form, "error", 2);
} else {
- this.form.error = 1;
+ this.$set(this.form, "error", 1);
}
}
},
@@ -424,7 +497,7 @@
if (type == 1) {
this.form.purchaseTypeList = form.purchaseTypeList;
} else if (type == 2) {
- this.form.cycle = form.cycle+'';
+ this.form.cycle = form.cycle + "";
} else if (type == 3) {
this.formulaClick(
{
@@ -470,26 +543,6 @@
this.unitList = res.data;
});
},
- formInfo() {
- if (this.islook) {
- this.form = {
- name: "",
- workTypes: [],
- salaryType: "",
- salaryFormula: "",
- salaryFormulaHtml: "",
- error: "",
- purchaseTypeList: [1],
- cycle: '1',
- };
- this.$nextTick(() => {
- this.$refs["form"].resetFields();
- if (this.editRow.id) {
- this.form = JSON.parse(JSON.stringify(this.editRow));
- }
- });
- }
- },
getSelectDataList() {
getWorkTypeList({
page: 0,
@@ -511,14 +564,29 @@
submitForm(formName) {
this.$refs[formName].validate((valid) => {
if (valid) {
+ this.checkFormula();
+ if (this.form.error == 2) {
+ this.$message.error("璇锋鏌ヨ璐瑰叕寮忓畾涔夛紒");
+ return true;
+ }
let form = JSON.parse(JSON.stringify(this.form));
let arr = form.salaryFormula.split("锛�");
- arr=arr.splice(0,arr.length-1)
- form.salaryFormula=arr.join("锛�")
+ arr = arr.splice(0, arr.length - 1);
+ form.salaryFormula = arr.join("锛�");
if (form.purchaseTypeList.length == 0) {
this.$message.error("璇风偣鍑婚噹绾ゆ暟閲忛厤缃敓涓濇爣鍑嗭紒");
return true;
}
+ let workTypes = [];
+ if (form.workTypes && form.workTypes.length > 0) {
+ for (let i in form.workTypes) {
+ workTypes.push({
+ workName: form.workTypes[i].label,
+ id: form.workTypes[i].value,
+ });
+ }
+ }
+ form.workTypes = workTypes;
saveSalaryPlan(form).then((res) => {
if (res.code == 200) {
this.$message({
@@ -596,7 +664,7 @@
}
}
.formula-input {
- width: calc(100% - 100px);
+ width: calc(100% - 90px);
height: 100px;
padding: 10px 10px;
overflow-y: auto;
@@ -604,12 +672,19 @@
border: 1px solid #e4e7ed;
cursor: not-allowed;
float: left;
- margin-right: 20px;
}
- .formula-btn {
+ .formula-btn-right {
+ width: 60px;
float: left;
- margin-top: 80px;
+ position: relative;
+ .formula-btn-t {
+ margin-left: 10px;
+ }
+ .formula-btn {
+ margin-top: 40px;
+ }
}
+
.formula-error {
width: calc(100% - 110px);
line-height: 28px;
--
Gitblit v1.8.0