黄何裕
2024-07-30 1995e710dcf70e635c4edaa8173f8b66cd67d499
src/views/system/contract/score/index.vue
@@ -17,8 +17,8 @@
          type="daterange" range-separator="-" start-placeholder="开始日期" end-placeholder="结束日期"></el-date-picker>
      </el-form-item>
      <el-form-item>
        <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
        <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
        <el-button type="primary" icon="el-icon-search" size="small" @click="handleQuery">搜索</el-button>
        <el-button icon="el-icon-refresh" size="small" @click="resetQuery">重置</el-button>
      </el-form-item>
    </el-form>
@@ -59,7 +59,7 @@
        </template>
      </el-table-column>
      <el-table-column label="审核人" align="center" prop="auditingUser" />
      <el-table-column label="操作" align="center" fixed="right" class-name="small-padding fixed-width">
      <el-table-column label="操作" align="center" fixed="right" class-name="small-padding fixed-width" width="230px">
        <template slot-scope="scope">
          <el-button size="mini" type="text" icon="el-icon-view" @click="handleView(scope.row)">详情</el-button>
          <el-button size="mini" type="text" icon="el-icon-s-check" @click="handleAuditing(scope.row)"
@@ -99,8 +99,8 @@
        </el-form-item>
      </el-form>
      <div slot="footer" class="dialog-footer">
        <el-button type="primary" @click="submitAuditing">确 定</el-button>
        <el-button @click="closeAuditing">取 消</el-button>
        <el-button type="primary" @click="submitAuditing">确 定</el-button>
      </div>
    </el-dialog>
@@ -123,12 +123,12 @@
                    <template slot-scope="{ data }">
                      <el-tooltip class="item" :disabled="data.label.length < 16 && !data.deductCategory" effect="dark"
                        :content="
                          data.label.length < 16 ?
                            data.deductCategory ?
                                data.deductCategory == '分数乘以数量' ? '扣' + data.calcFraction  + '分*数量 ' : data.deductCategory == '除以数量后乘以分数' ? '扣' + data.calcFraction + '分/' +  data.calcUnit + '小时' : '扣' + data.calcFraction + '分' :
                                '' :
                            (data.deductCategory ?
                                data.label + ' ' + (data.deductCategory == '分数乘以数量' ? '扣' + data.calcFraction  + '分*数量 ' : data.deductCategory == '除以数量后乘以分数' ? '扣' + data.calcFraction + '分/' +  data.calcUnit + '小时' : '扣' + data.calcFraction + '分') :
                          data.label.length < 16 ?
                            data.deductCategory ?
                                data.deductCategory == '分数乘以数量' ? '扣' + data.calcFraction  + '分*数量 ' : data.deductCategory == '除以数量后乘以分数' ? '扣' + data.calcFraction + '分/' +  data.calcUnit + '小时' : '扣' + data.calcFraction + '分' :
                                '' :
                            (data.deductCategory ?
                                data.label + ' ' + (data.deductCategory == '分数乘以数量' ? '扣' + data.calcFraction  + '分*数量 ' : data.deductCategory == '除以数量后乘以分数' ? '扣' + data.calcFraction + '分/' +  data.calcUnit + '小时' : '扣' + data.calcFraction + '分') :
                                data.label)"
                        placement="left">
                        <span>{{ data.label }}</span>
@@ -151,8 +151,8 @@
        </el-form-item>
      </el-form>
      <div slot="footer" class="dialog-footer">
        <el-button type="primary" @click="submitForm">确 定</el-button>
        <el-button @click="cancel">取 消</el-button>
        <el-button type="primary" @click="submitForm">确 定</el-button>
      </div>
    </el-dialog>
@@ -289,6 +289,7 @@
      let item = this.$refs['cascader'].getCheckedNodes()[0].data;
      this.calcObj = item;
      this.form.contractId = item.contractId;
      this.form.ruleName = item.ruleName + " / " + item.label;
      this.form.deductCategory = item.deductCategory == '分数乘以数量' ? '扣' + item.calcFraction  + '分*数量 ' : item.deductCategory == '除以数量后乘以分数' ? '扣' + item.calcFraction + '分/' +  item.calcUnit + '小时' : '扣' + item.calcFraction + '分';
      if (item.deductCategory == "扣指定分数") {
        this.needNum = false;
@@ -315,6 +316,24 @@
    handleChangeUnit(value) {
      getRuleListByUnitId(value).then((res) => {
        this.options = this.getTreeData(res.data);
        // 手动树形结构
        if (this.options) {
          let groupedList = {};
          this.options.forEach(item => {
            if (!groupedList[item.ruleName]) {
              groupedList[item.ruleName] = {
                value: 0,
                children: [],
                label: item.ruleName,
                ruleName: item.ruleName,
                contractId: item.contractId
              };
            }
            groupedList[item.ruleName].children.push(item);
          });
          let result = Object.values(groupedList);
          this.options = result;
        }
      })
    },
    getTreeData(data) {
@@ -518,4 +537,4 @@
.el-cascader-node {
  max-width: 300px;
}
</style>
</style>