|
|
@@ -536,42 +536,49 @@
|
|
536
|
536
|
</div>
|
|
537
|
537
|
</el-form-item>
|
|
538
|
538
|
|
|
539
|
|
- <template
|
|
540
|
|
- v-for="(detail, index) in (indicatorDialog.form.personnelMonthlyAssessmentIndicatorRewardPunishmentDetailList || [])"
|
|
541
|
|
- :key="index">
|
|
542
|
|
- <div style="display: flex; align-items: center; gap: 10px; margin-bottom: 10px;">
|
|
543
|
|
- <h4 style="margin-left: 80px;">明细{{ index + 1 }}</h4>
|
|
544
|
|
- <el-button type="danger" size="small" @click="removeRewardPunishmentDetail(index)">删除</el-button>
|
|
545
|
|
- </div>
|
|
546
|
|
- <el-form-item label="检查部门">
|
|
547
|
|
- <div style="display: flex; align-items: center; gap: 10px; width: 100%;">
|
|
548
|
|
- <el-select v-model="detail.qcDeptType" placeholder="请选择" style="width: 200px;">
|
|
549
|
|
- <el-option v-for="item in base_performance_indicator_qc_dept_type" :key="item.value" :label="item.label"
|
|
550
|
|
- :value="item.value" />
|
|
551
|
|
- </el-select>
|
|
552
|
|
- </div>
|
|
553
|
|
- </el-form-item>
|
|
554
|
|
- <el-form-item v-if="indicatorDialog.form.score > 0" label="奖励明细">
|
|
555
|
|
- <el-input v-model="detail.rewardPunishmentDetail" type="textarea" :rows="2" />
|
|
556
|
|
- </el-form-item>
|
|
557
|
|
- <el-form-item v-if="indicatorDialog.form.score > 0" label="奖励">
|
|
558
|
|
- <div style="display: flex; align-items: center; gap: 10px;">
|
|
559
|
|
- <el-input-number v-model="detail.amount" :min="0" :precision="2" style="width: 200px;"
|
|
560
|
|
- @change="updateTotal" />
|
|
561
|
|
- <span>元</span>
|
|
562
|
|
- </div>
|
|
563
|
|
- </el-form-item>
|
|
564
|
|
- <el-form-item v-if="indicatorDialog.form.score < 0" label="惩罚明细">
|
|
565
|
|
- <el-input v-model="detail.rewardPunishmentDetail" type="textarea" :rows="2" />
|
|
566
|
|
- </el-form-item>
|
|
567
|
|
- <el-form-item v-if="indicatorDialog.form.score < 0" label="扣罚">
|
|
568
|
|
- <div style="display: flex; align-items: center; gap: 10px;">
|
|
569
|
|
- <el-input-number v-model="detail.amount" :min="0" :precision="2" style="width: 200px;"
|
|
570
|
|
- @change="updateTotal" />
|
|
571
|
|
- <span>元</span>
|
|
572
|
|
- </div>
|
|
573
|
|
- </el-form-item>
|
|
574
|
|
- </template>
|
|
|
539
|
+ <el-form-item label="记录明细">
|
|
|
540
|
+ <el-table :data="indicatorDialog.form.personnelMonthlyAssessmentIndicatorRewardPunishmentDetailList" border max-height="400" >
|
|
|
541
|
+ <el-table-column label="序号" type="index" width="60" align="center" />
|
|
|
542
|
+ <el-table-column label="日期" width="180">
|
|
|
543
|
+ <template #default="scope">
|
|
|
544
|
+ <el-date-picker v-model="scope.row.date" type="date" value-format="YYYY-MM-DD" placeholder="选择日期" style="width: 100%" />
|
|
|
545
|
+ </template>
|
|
|
546
|
+ </el-table-column>
|
|
|
547
|
+ <el-table-column label="检查部门" >
|
|
|
548
|
+ <template #default="scope">
|
|
|
549
|
+ <el-select v-model="scope.row.qcDeptType" placeholder="请选择" clearable>
|
|
|
550
|
+ <el-option v-for="item in base_performance_indicator_qc_dept_type" :key="item.value" :label="item.label" :value="item.value" />
|
|
|
551
|
+ </el-select>
|
|
|
552
|
+ </template>
|
|
|
553
|
+ </el-table-column>
|
|
|
554
|
+ <el-table-column label="扣罚明细" v-if="indicatorDialog.form.score < 0">
|
|
|
555
|
+ <template #default="scope">
|
|
|
556
|
+ <el-input v-model="scope.row.rewardPunishmentDetail" type="textarea" :rows="1" placeholder="请输入扣罚明细" />
|
|
|
557
|
+ </template>
|
|
|
558
|
+ </el-table-column>
|
|
|
559
|
+ <el-table-column label="扣罚(元)" v-if="indicatorDialog.form.score < 0">
|
|
|
560
|
+ <template #default="scope">
|
|
|
561
|
+ <el-input-number v-model="scope.row.amount" :max="0" :precision="2" style="width: 170px;" @change="updateTotal" />
|
|
|
562
|
+ </template>
|
|
|
563
|
+ </el-table-column>
|
|
|
564
|
+ <el-table-column label="奖励明细" v-if="indicatorDialog.form.score > 0">
|
|
|
565
|
+ <template #default="scope">
|
|
|
566
|
+ <el-input v-model="scope.row.rewardPunishmentDetail" type="textarea" :rows="1" placeholder="请输入奖励明细" />
|
|
|
567
|
+ </template>
|
|
|
568
|
+ </el-table-column>
|
|
|
569
|
+ <el-table-column label="奖励(元)" v-if="indicatorDialog.form.score > 0">
|
|
|
570
|
+ <template #default="scope">
|
|
|
571
|
+ <el-input-number v-model="scope.row.amount" :min="0" :precision="2" style="width: 170px;" @change="updateTotal" />
|
|
|
572
|
+ </template>
|
|
|
573
|
+ </el-table-column>
|
|
|
574
|
+ <el-table-column label="操作"align="center">
|
|
|
575
|
+ <template #default="scope">
|
|
|
576
|
+ <el-button type="danger" link icon="Delete" @click="removeRewardPunishmentDetail(scope.$index)" />
|
|
|
577
|
+ </template>
|
|
|
578
|
+ </el-table-column>
|
|
|
579
|
+ </el-table>
|
|
|
580
|
+
|
|
|
581
|
+ </el-form-item>
|
|
575
|
582
|
</el-form>
|
|
576
|
583
|
|
|
577
|
584
|
<template #footer>
|
|
|
@@ -843,6 +850,7 @@ function transformIndicatorTree(treeData) {
|
|
843
|
850
|
|
|
844
|
851
|
function onIndicatorCascaderChange(value) {
|
|
845
|
852
|
const selected = findIndicatorById(indicatorDialog.cascaderOptions, value)
|
|
|
853
|
+
|
|
846
|
854
|
if (selected) {
|
|
847
|
855
|
indicatorDialog.form = {
|
|
848
|
856
|
...selected,
|
|
|
@@ -1420,12 +1428,18 @@ const updateTotal = () => {
|
|
1420
|
1428
|
return
|
|
1421
|
1429
|
}
|
|
1422
|
1430
|
const targetCount = indicatorDialog.form.occurCount
|
|
|
1431
|
+ const today = `${new Date().getFullYear()}-${String(new Date().getMonth() + 1).padStart(2, '0')}-${String(new Date().getDate()).padStart(2, '0')}`
|
|
1423
|
1432
|
if (list.length < targetCount) {
|
|
1424
|
1433
|
for (let i = list.length; i < targetCount; i++) {
|
|
|
1434
|
+ const isCoreIndicator = indicatorDialog.form.categoryNameOne === '核心指标'
|
|
|
1435
|
+ const defaultAmount = isCoreIndicator
|
|
|
1436
|
+ ? (indicatorDialog.form.score * 100)
|
|
|
1437
|
+ : (indicatorDialog.form.score * 50)
|
|
1425
|
1438
|
list.push({
|
|
|
1439
|
+ date: today,
|
|
1426
|
1440
|
qcDeptType: '',
|
|
1427
|
1441
|
rewardPunishmentDetail: '',
|
|
1428
|
|
- amount: 0
|
|
|
1442
|
+ amount: defaultAmount
|
|
1429
|
1443
|
})
|
|
1430
|
1444
|
}
|
|
1431
|
1445
|
}
|