Compare commits
2 Commits
74de4ef76c
...
3a7e373394
| Author | SHA1 | Date |
|---|---|---|
|
|
3a7e373394 | |
|
|
829acc5857 |
|
|
@ -13,12 +13,14 @@
|
|||
:row-key="rowKey"
|
||||
:height="tableHeight"
|
||||
@select="selected"
|
||||
@select-all="selectAll"
|
||||
>
|
||||
<el-table-column
|
||||
reserve-selection
|
||||
v-if="showSelection"
|
||||
type="selection"
|
||||
width="55"
|
||||
:selectable="selectable"
|
||||
/>
|
||||
<el-table-column v-if="showIndex" type="index" width="50" label="序号" />
|
||||
<template>
|
||||
|
|
@ -154,6 +156,10 @@ export default {
|
|||
type: String,
|
||||
default: "100%",
|
||||
},
|
||||
selectable:{
|
||||
type: Function,
|
||||
default: ()=>true,
|
||||
}
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
|
|
@ -192,6 +198,9 @@ export default {
|
|||
selected(arr, row) {
|
||||
this.$emit("selected", { arr, row });
|
||||
},
|
||||
selectAll(arr) {
|
||||
this.$emit("selectAll", arr);
|
||||
},
|
||||
},
|
||||
updated() {
|
||||
if (this.$refs.elTableRef && this.$refs.elTableRef.doLayout) {
|
||||
|
|
|
|||
|
|
@ -24,10 +24,12 @@
|
|||
:show-index="true"
|
||||
:table-height="tableHeight"
|
||||
:multiSelect="multiSelect"
|
||||
:selectable="selectable"
|
||||
@selection-change="handleSelectionChange"
|
||||
@size-change="handleSizeChange"
|
||||
@current-change="handleCurrentChange"
|
||||
@selected="selectRow"
|
||||
@selectAll="selectAll"
|
||||
rowKey="userId"
|
||||
:rowClick="
|
||||
(row) => {
|
||||
|
|
@ -95,6 +97,10 @@ export default {
|
|||
type: Boolean,
|
||||
default: true,
|
||||
},
|
||||
selectable: {
|
||||
type: Function,
|
||||
default: () => true,
|
||||
},
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
|
|
@ -126,6 +132,7 @@ export default {
|
|||
],
|
||||
userData: [],
|
||||
isInternalChange: false,
|
||||
selectAllData: [],
|
||||
};
|
||||
},
|
||||
emits: ["close", "confirm"],
|
||||
|
|
@ -151,9 +158,9 @@ export default {
|
|||
else
|
||||
this.$emit(
|
||||
"confirm",
|
||||
this.currentSelectedUser.map((ele, index) => ({
|
||||
userId: ele,
|
||||
nickName: this.currentSelectedUserName[index],
|
||||
this.selectedUsers.map((ele, index) => ({
|
||||
userId: ele.userId,
|
||||
nickName: ele.nickName,
|
||||
}))
|
||||
);
|
||||
|
||||
|
|
@ -175,32 +182,37 @@ export default {
|
|||
this.isInternalChange = false;
|
||||
});
|
||||
} else {
|
||||
this.selectedUsers = val;
|
||||
// this.selectedUsers = val;
|
||||
}
|
||||
},
|
||||
selectRow({ arr, row }) {
|
||||
|
||||
if (
|
||||
this.currentSelectedUser.filter((ele) => ele.userId == row.userId)
|
||||
.length
|
||||
) {
|
||||
this.currentSelectedUser = this.currentSelectedUser.filter(
|
||||
(ele) => ele != row.userId
|
||||
if (!row) return;
|
||||
if (this.selectedUsers.filter((ele) => ele.userId == row.userId).length) {
|
||||
this.selectedUsers = this.selectedUsers.filter(
|
||||
(ele) => ele.userId != row.userId
|
||||
);
|
||||
} else {
|
||||
this.currentSelectedUser.push(row.userId);
|
||||
this.selectedUsers.push({ userId: row.userId, nickName: row.nickName });
|
||||
}
|
||||
if (
|
||||
this.currentSelectedUserName.filter((ele) => ele == row.nickName).length
|
||||
) {
|
||||
this.currentSelectedUserName = this.currentSelectedUserName.filter(
|
||||
(ele) => ele != row.nickName
|
||||
);
|
||||
} else {
|
||||
this.currentSelectedUserName.push(row.nickName);
|
||||
}
|
||||
console.log(this.currentSelectedUserName,22);
|
||||
},
|
||||
selectAll(arr) {
|
||||
let filterArr = this.selectAllData.filter((ele) =>
|
||||
!arr.some((item) => item.userId == ele.userId)
|
||||
);
|
||||
console.log(filterArr,11);
|
||||
|
||||
arr.forEach((ele) => {
|
||||
if (
|
||||
!this.selectedUsers.filter((item) => item.userId == ele.userId).length
|
||||
)
|
||||
this.selectRow({ row: ele });
|
||||
});
|
||||
filterArr.forEach((ele) => {
|
||||
|
||||
this.selectRow({ row: ele});
|
||||
});
|
||||
|
||||
|
||||
},
|
||||
fetchUserList: async function () {
|
||||
const response = await systemApi.getUserList({
|
||||
|
|
@ -227,28 +239,6 @@ export default {
|
|||
},
|
||||
},
|
||||
watch: {
|
||||
// currentSelectedUser: {
|
||||
// handler(newVal) {
|
||||
// this.isInternalChange = true;
|
||||
// this.$nextTick(() => {
|
||||
// this.selectedUsers = newVal;
|
||||
// if (this.$refs.customTableRef) {
|
||||
// this.$refs.customTableRef.clearSelection();
|
||||
// newVal.forEach((user) => {
|
||||
// const row = this.userData.find(
|
||||
// (item) => item.userId === user.userId
|
||||
// );
|
||||
// if (row) {
|
||||
// this.$refs.customTableRef.toggleRowSelection(row, true);
|
||||
// }
|
||||
// });
|
||||
// }
|
||||
// this.isInternalChange = false;
|
||||
// });
|
||||
// },
|
||||
// immediate: true,
|
||||
// deep: true,
|
||||
// },
|
||||
currentSelectedUser: {
|
||||
handler(newVal) {
|
||||
this.$nextTick(() => {
|
||||
|
|
@ -263,16 +253,23 @@ export default {
|
|||
this.selectedUsers = [];
|
||||
this.$refs.customTableRef?.setCurrentRow();
|
||||
}
|
||||
} else {
|
||||
} else {
|
||||
if (!newVal.length) {
|
||||
this.selectedUsers = [];
|
||||
this.$refs.customTableRef?.clearSelection();
|
||||
} else {
|
||||
// this.$refs.customTableRef?.clearSelection();
|
||||
newVal.forEach((item) => {
|
||||
this.selectedUsers = [];
|
||||
newVal.forEach((item, index) => {
|
||||
this.selectedUsers.push({
|
||||
userId: item,
|
||||
nickName: this.currentSelectedUserName[index],
|
||||
});
|
||||
let row = this.userData.find((ele) => ele.userId == item);
|
||||
if (row)
|
||||
if (row) {
|
||||
this.selectAllData.push(row);
|
||||
this.$refs.customTableRef?.toggleRowSelection(row, true);
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
|
@ -293,9 +290,14 @@ export default {
|
|||
this.$refs.customTableRef?.setCurrentRow(row);
|
||||
}
|
||||
} else {
|
||||
this.selectAllData = [];
|
||||
this.currentSelectedUser.forEach((item) => {
|
||||
let row = newVal.find((ele) => ele.userId == item);
|
||||
if (row) this.$refs.customTableRef?.toggleRowSelection(row, true);
|
||||
if (row) {
|
||||
this.selectAllData.push(row);
|
||||
|
||||
this.$refs.customTableRef?.toggleRowSelection(row, true);
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
|
|
|
|||
|
|
@ -87,7 +87,21 @@ export default {
|
|||
},
|
||||
columns: [
|
||||
{ prop: "userName", label: "考核人员" },
|
||||
{ prop: "manageScore", label: "考核评分", sortable: "custom" },
|
||||
{
|
||||
prop: "score",
|
||||
label: "考核评分",
|
||||
sortable: "custom",
|
||||
type: "status",
|
||||
callback: (value, row) => {
|
||||
if (row.score) {
|
||||
return row.score;
|
||||
} else if (row.manageScore) {
|
||||
return row.manageScore;
|
||||
} else {
|
||||
return row.selfScore;
|
||||
}
|
||||
},
|
||||
},
|
||||
{
|
||||
prop: "examineStatus",
|
||||
label: "状态",
|
||||
|
|
@ -101,8 +115,10 @@ export default {
|
|||
return `<span style="color: ${color}">待个人自评/组长评分</span>`;
|
||||
} else if (row.examineStatusSelf == 0) {
|
||||
return `<span style="color: ${color}">待个人自评</span>`;
|
||||
} else if (row.examineStatus == 0) {
|
||||
return `<span style="color: ${color}">待组长评分</span>`;
|
||||
} else {
|
||||
return `<span style="color: ${color}">待组长评分评</span>`;
|
||||
return `<span style="color: ${color}">已完成</span>`;
|
||||
}
|
||||
},
|
||||
},
|
||||
|
|
@ -139,9 +155,17 @@ export default {
|
|||
this.getTaskUserList();
|
||||
},
|
||||
handleEdit(row, edit) {
|
||||
let score = "";
|
||||
if (row.score) {
|
||||
score = row.score;
|
||||
} else if (row.manageScore) {
|
||||
score = row.manageScore;
|
||||
} else {
|
||||
score = row.selfScore;
|
||||
}
|
||||
this.$router.push({
|
||||
path: "/projectBank/userScoreDetail",
|
||||
query: { taskId: row.taskId, examineId: row.id },
|
||||
query: { taskId: row.taskId, examineId: row.id, score },
|
||||
});
|
||||
},
|
||||
getTaskUserList() {
|
||||
|
|
@ -321,7 +345,7 @@ export default {
|
|||
::v-deep .el-tree-node__content {
|
||||
font-weight: bold;
|
||||
}
|
||||
::v-deep .is-current>.el-tree-node__content:first-child .el-tree-node__label {
|
||||
::v-deep .is-current > .el-tree-node__content:first-child .el-tree-node__label {
|
||||
color: #4096ff !important;
|
||||
}
|
||||
::v-deep .el-tree-node__content {
|
||||
|
|
|
|||
|
|
@ -45,19 +45,19 @@
|
|||
</div>
|
||||
</div>
|
||||
<div class="flex-row jcsb aic userBox headerBox">
|
||||
<div class="flex-row aic">
|
||||
<div class="flex-row aic" style="width: 200px">
|
||||
<i
|
||||
class="el-icon-user-solid"
|
||||
style="color: #4096ff; font-size: 24px; margin-right: 5px"
|
||||
></i
|
||||
>{{ userList.find((ele) => ele.id == examineId).userName }}
|
||||
>{{ (userList.find((ele) => ele.id == examineId) || {}).userName }}
|
||||
</div>
|
||||
<div class="totalBox aic" v-if="!isNormal">
|
||||
<div class="totalBox aic">
|
||||
<div>考核评分:</div>
|
||||
<div class="scoreTotal">{{ score }}</div>
|
||||
</div>
|
||||
</div>
|
||||
<el-tabs v-model="activeName" type="card">
|
||||
<el-tabs v-model="activeName">
|
||||
<el-tab-pane label="组长评估" name="first">
|
||||
<div class="tableBox">
|
||||
<div
|
||||
|
|
@ -141,7 +141,7 @@
|
|||
v-model="scope.row.score"
|
||||
:min="0"
|
||||
:max="10"
|
||||
:disabled="!isEdit"
|
||||
:disabled="true"
|
||||
style="width: 90%"
|
||||
show-stops
|
||||
show-tooltip
|
||||
|
|
@ -164,15 +164,17 @@
|
|||
:autosize="{ minRows: 4 }"
|
||||
placeholder="0/300"
|
||||
v-model="judgeContent"
|
||||
:readonly="!isEdit"
|
||||
:readonly="true"
|
||||
maxlength="300"
|
||||
show-word-limit
|
||||
>
|
||||
</el-input>
|
||||
</div>
|
||||
<div style="margin-top: 20px;font-weight: bold;">组长:{{ manageUserName }}</div>
|
||||
</div>
|
||||
</div></div
|
||||
></el-tab-pane>
|
||||
</div>
|
||||
</div></el-tab-pane
|
||||
>
|
||||
<el-tab-pane label="个人自评" name="second">
|
||||
<div class="tableBox">
|
||||
<div
|
||||
|
|
@ -257,7 +259,7 @@
|
|||
:min="0"
|
||||
:max="10"
|
||||
@change="updateScore(scope.row)"
|
||||
:disabled="!isEdit"
|
||||
:disabled="true"
|
||||
style="width: 90%"
|
||||
show-stops
|
||||
show-tooltip
|
||||
|
|
@ -269,24 +271,10 @@
|
|||
</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="自评总结" prop="score">
|
||||
<el-table-column label="自评总结" prop="score" width="150">
|
||||
<template slot-scope="scope">
|
||||
<div>
|
||||
<el-button
|
||||
v-if="isEdit"
|
||||
@click="handleEdit(scope.row)"
|
||||
type="text"
|
||||
size="mini"
|
||||
:class="{ hasEdit: !scope.row.remark }"
|
||||
style="font-weight: 600"
|
||||
>{{ scope.row.remark ? "查看" : "暂未评价" }}
|
||||
<i
|
||||
style="color: #4096ff; font-size: 14px"
|
||||
class="el-icon-edit el-icon--right"
|
||||
></i
|
||||
></el-button>
|
||||
<el-button
|
||||
v-if="!isEdit"
|
||||
@click="handleEdit(scope.row)"
|
||||
type="text"
|
||||
size="mini"
|
||||
|
|
@ -347,6 +335,7 @@ export default {
|
|||
judgeContent: "",
|
||||
score: "",
|
||||
activeName: "first",
|
||||
manageUserName: "",
|
||||
};
|
||||
},
|
||||
methods: {
|
||||
|
|
@ -355,7 +344,7 @@ export default {
|
|||
this.remark = row.remark;
|
||||
},
|
||||
|
||||
getTaskList() {
|
||||
getTaskList(first) {
|
||||
taskApi
|
||||
.getTaskList({
|
||||
pageNum: 1,
|
||||
|
|
@ -365,11 +354,11 @@ export default {
|
|||
this.taskList = res.rows;
|
||||
this.$nextTick(() => {
|
||||
this.examineTaskId = Number(this.$route.query.taskId);
|
||||
this.getUserList();
|
||||
this.getUserList(first);
|
||||
});
|
||||
});
|
||||
},
|
||||
getUserList() {
|
||||
getUserList(first) {
|
||||
if (!this.examineTaskId) return;
|
||||
taskApi
|
||||
.getTaskUserList({
|
||||
|
|
@ -380,7 +369,9 @@ export default {
|
|||
.then((res) => {
|
||||
this.userList = res.rows;
|
||||
this.$nextTick(() => {
|
||||
this.examineId = Number(this.$route.query.examineId);
|
||||
if (first !== 1) this.examineId = this.userList[0].id;
|
||||
else this.examineId = Number(this.$route.query.examineId);
|
||||
|
||||
this.getSocreDetail(0);
|
||||
this.getSocreDetail(1);
|
||||
});
|
||||
|
|
@ -406,12 +397,20 @@ export default {
|
|||
if (type == 0) this.tableData1 = Object.values(objData);
|
||||
else this.tableData2 = Object.values(objData);
|
||||
this.judgeContent = res.data.examineUser.judgeContent;
|
||||
this.score = res.data.examineUser.score||res.data.examineUser.manageScore;
|
||||
|
||||
this.manageUserName = res.data.examineUser.manageUserName;
|
||||
if (res.data.examineUser.score) {
|
||||
this.score = res.data.examineUser.score;
|
||||
} else if (res.data.examineUser.manageScore) {
|
||||
this.score = res.data.examineUser.manageScore;
|
||||
} else {
|
||||
this.score = res.data.examineUser.selfScore;
|
||||
}
|
||||
});
|
||||
},
|
||||
},
|
||||
created() {
|
||||
this.getTaskList();
|
||||
this.getTaskList(1);
|
||||
},
|
||||
};
|
||||
</script>
|
||||
|
|
@ -513,7 +512,7 @@ export default {
|
|||
padding: 20px;
|
||||
background-color: #f9f9f9;
|
||||
border-radius: 2px;
|
||||
font-size: 14px;
|
||||
font-size: 16px;
|
||||
}
|
||||
.block {
|
||||
width: 4px;
|
||||
|
|
@ -530,10 +529,10 @@ export default {
|
|||
z-index: 100;
|
||||
}
|
||||
.totalBox {
|
||||
width: 150px;
|
||||
width: 180px;
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
font-size: 14px;
|
||||
font-size: 16px;
|
||||
color: #333333;
|
||||
}
|
||||
.scoreTotal {
|
||||
|
|
@ -550,4 +549,17 @@ export default {
|
|||
::v-deep .el-table__header .el-table__cell {
|
||||
padding: 14px 30px;
|
||||
}
|
||||
::v-deep .el-tabs__item.is-active {
|
||||
color: #4096ff;
|
||||
}
|
||||
::v-deep .el-tabs__item {
|
||||
font-size: 18px;
|
||||
font-weight: bold;
|
||||
color: #999999;
|
||||
}
|
||||
::v-deep .el-tabs__active-bar {
|
||||
height: 3px;
|
||||
width: 32px !important;
|
||||
left: 20px;
|
||||
}
|
||||
</style>
|
||||
|
|
|
|||
|
|
@ -15,7 +15,7 @@
|
|||
</div>
|
||||
</div>
|
||||
<div class="flex-row jcsb aic userBox headerBox">
|
||||
<div class="flex-row aic">
|
||||
<div class="flex-row aic" style="width: 200px;">
|
||||
<i
|
||||
class="el-icon-user-solid"
|
||||
style="color: #4096ff; font-size: 24px; margin-right: 5px"
|
||||
|
|
@ -122,7 +122,7 @@
|
|||
</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="自评总结" prop="score" v-if="isNormal">
|
||||
<el-table-column class-name="editCell" label="自评总结" prop="score" v-if="isNormal" minWidth="140">
|
||||
<template slot-scope="scope">
|
||||
<div>
|
||||
<el-button
|
||||
|
|
@ -211,11 +211,11 @@ export default {
|
|||
remark: "",
|
||||
isEdit: "",
|
||||
headers: [
|
||||
{ label: "考核项", prop: "reviewItem", minWidth: 200 },
|
||||
{ label: "考核项", prop: "reviewItem", minWidth: 150 },
|
||||
{
|
||||
label: "评分标准",
|
||||
prop: "remarks",
|
||||
minWidth: 300,
|
||||
minWidth:this.$route.query.isNormal? 240:360,
|
||||
},
|
||||
],
|
||||
// 二维数组,每个子数组代表一个表格的数据
|
||||
|
|
@ -493,7 +493,7 @@ export default {
|
|||
padding: 20px;
|
||||
background-color: #f9f9f9;
|
||||
border-radius: 2px;
|
||||
font-size: 14px;
|
||||
font-size: 16px;
|
||||
}
|
||||
.block {
|
||||
width: 4px;
|
||||
|
|
@ -510,10 +510,10 @@ export default {
|
|||
z-index: 100;
|
||||
}
|
||||
.totalBox {
|
||||
width: 150px;
|
||||
width: 180px;
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
font-size: 14px;
|
||||
font-size: 16px;
|
||||
color: #333333;
|
||||
}
|
||||
.scoreTotal {
|
||||
|
|
@ -521,13 +521,24 @@ export default {
|
|||
font-weight: 700;
|
||||
color: #ff7d00;
|
||||
}
|
||||
::v-deep .sorceTableCell .cell {
|
||||
::v-deep .el-table__body .sorceTableCell .cell {
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
::v-deep .sorceTableCell.el-table__cell{
|
||||
padding-right: 10px !important;
|
||||
}
|
||||
::v-deep .el-table__body .el-table__cell {
|
||||
padding: 20px 40px;
|
||||
}
|
||||
::v-deep .el-table__header .el-table__cell {
|
||||
padding: 14px 30px;
|
||||
|
||||
}
|
||||
::v-deep .el-table__header .el-table__cell .cell{
|
||||
padding-left: 20px !important;
|
||||
}
|
||||
::v-deep .editCell{
|
||||
padding-right: 20px !important;
|
||||
|
||||
}
|
||||
</style>
|
||||
|
|
|
|||
|
|
@ -37,8 +37,10 @@
|
|||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div></div
|
||||
></el-tab-pane>
|
||||
</div>
|
||||
</div>
|
||||
<el-empty v-if="!taskList['0']" description="暂无数据"></el-empty>
|
||||
</el-tab-pane>
|
||||
<el-tab-pane label="已过期" name="已过期">
|
||||
<div class="assessment-container flex-row">
|
||||
<div v-for="item in taskList['2']" :key="item.id" class="taskBox">
|
||||
|
|
@ -75,8 +77,10 @@
|
|||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div></div
|
||||
></el-tab-pane>
|
||||
</div>
|
||||
</div>
|
||||
<el-empty v-if="!taskList['2']" description="暂无数据"></el-empty>
|
||||
</el-tab-pane>
|
||||
</el-tabs>
|
||||
</div>
|
||||
</template>
|
||||
|
|
@ -217,7 +221,7 @@ export default {
|
|||
::v-deep .el-tag--warning {
|
||||
color: #ea741e;
|
||||
}
|
||||
.waitBtn{
|
||||
.waitBtn {
|
||||
color: #999;
|
||||
}
|
||||
</style>
|
||||
|
|
|
|||
|
|
@ -37,7 +37,9 @@
|
|||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div></div
|
||||
</div>
|
||||
</div>
|
||||
<el-empty v-if="!taskList['0']" description="暂无数据"></el-empty
|
||||
></el-tab-pane>
|
||||
<el-tab-pane label="已过期" name="已过期">
|
||||
<div class="assessment-container flex-row">
|
||||
|
|
@ -75,8 +77,10 @@
|
|||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div></div
|
||||
></el-tab-pane>
|
||||
</div>
|
||||
</div>
|
||||
<el-empty v-if="!taskList['2']" description="暂无数据"></el-empty>
|
||||
</el-tab-pane>
|
||||
</el-tabs>
|
||||
</div>
|
||||
</template>
|
||||
|
|
@ -120,7 +124,7 @@ export default {
|
|||
},
|
||||
created() {
|
||||
console.log(123);
|
||||
|
||||
|
||||
this.getTaks();
|
||||
},
|
||||
};
|
||||
|
|
|
|||
|
|
@ -92,6 +92,7 @@
|
|||
:currentSelectedUserName="currentSelectedUserName"
|
||||
:showSelection="true"
|
||||
:highligt="false"
|
||||
:selectable="selectable"
|
||||
ref="selectUserRef"
|
||||
@confirm="handleUserConfirm"
|
||||
@close="handleUserClose"
|
||||
|
|
@ -681,8 +682,14 @@ export default {
|
|||
);
|
||||
});
|
||||
});
|
||||
console.log(this.scoreList, 11);
|
||||
},
|
||||
selectable(row,index){
|
||||
if(row.roles.find((ele)=>ele.roleName=='普通员工')){
|
||||
return true
|
||||
}else{
|
||||
return false
|
||||
}
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
this.getTaskList();
|
||||
|
|
|
|||
|
|
@ -249,10 +249,11 @@ export default {
|
|||
|
||||
this.logData.map((item) => {
|
||||
var ele = document.getElementById(item.date.split(" ")[0]);
|
||||
|
||||
if (ele) {
|
||||
if (item.state == -1) {
|
||||
ele.style = "background:#ecf5ff";
|
||||
} else if (item.state == 0) {
|
||||
} else if (item.state == 0||item.state == 1) {
|
||||
ele.style = `background:linear-gradient(to right, #409eff ${
|
||||
(item.workTime || 1) * 100
|
||||
}% , #ecf5ff ${(item.workTime || 1) * 100}%);color:${
|
||||
|
|
|
|||
Loading…
Reference in New Issue