ZhangXianQiang
2024-03-21 27c87cc797f4fc9b0744ed8c44b58dbe4ff3a63c
src/views/system/default-auditing/index.vue
@@ -86,8 +86,14 @@
    <el-table v-loading="loading" :data="auditingList" @selection-change="handleSelectionChange">
      <el-table-column type="selection" width="55" align="center" />
      <el-table-column label="违约单位" align="center" prop="unitName" width="180"/>
      <el-table-column label="违约规则" align="center" prop="defaultRuleName"width="120" />
      <el-table-column label="违约扣分" align="center" prop="score"width="120" />
      <el-table-column label="考核名" align="center" prop="checkPublishId" width="180">
        <template slot-scope="scope">
          <div v-if="scope.row.checkPublishId === 5">视频考核</div>
        </template>
      </el-table-column>
      <el-table-column label="违约规则" align="center" prop="defaultRuleName" width="180" />
      <el-table-column label="违约扣分" align="center" prop="score" width="120" />
      <el-table-column label="创建人" align="center" prop="createBy" />
      <el-table-column label="审核人" align="center" prop="auditingUserName" />
      <el-table-column label="审核状态" align="center" prop="auditingStatus" />
      <el-table-column label="审核说明" align="center" prop="remark" width="180"/>
@@ -100,6 +106,7 @@
            type="text"
            icon="el-icon-s-check"
            @click="handleAuditing(scope.row)"
            v-hasPermi="['default:audit']"
          >审核</el-button>
<!--          <el-button-->
<!--            size="mini"-->
@@ -132,6 +139,7 @@
        <el-form-item label="违约单位">
          <el-input v-model="auditingForm.unitName" disabled/>
        </el-form-item>
        <el-form-item label="违约规则">
          <el-input v-model="auditingForm.defaultRuleName" disabled/>
        </el-form-item>
@@ -151,6 +159,68 @@
        <el-button @click="closeAuditing">取 消</el-button>
      </div>
    </el-dialog>
    <!-- 新增或修改 -->
    <el-dialog title="违约审核" :visible.sync="open" width="700px"append-to-body>
      <el-form ref="auditingForm" :model="auditingForm" :rules="auditingRules" label-width="80px">
        <el-form-item label="违约单位" prop="unitName">
          <el-select v-model="form.unitNameList" placeholder="违约单位">
            <el-option
              v-for="item in unitNameList"
              :key="item.id"
              :label="item.value"
              :value="item.id">
            </el-option>
          </el-select>
        </el-form-item>
        <el-form-item label="考核名" prop="examineId">
          <el-select v-model="form.examineId" placeholder="考核名" >
            <el-option
              v-for="item in examineList"
              :key="item.id"
              :label="item.value"
              :value="item.id">
            </el-option>
          </el-select>
        </el-form-item>
        <el-form-item label="违约规则" prop="tempRuleFormList">
          <div class="row-warp">
            <div class="row" v-for="(form) in tempRuleFormList">
              <div class="row-left">
                <div>规则</div>
                <div class="block">
                  <span class="demonstration"></span>
                  <el-cascader
                    v-model="value"
                    :options="options"
                    :props = "props"
                    @change="handleChange"></el-cascader>
                </div>
              </div>
              <div class="row-right">
                <div>数量</div>
                <div class="margin-5">
                  <el-input type="number" v-model="form.weight"/>
                </div>
              </div>
              <div class="item-op">
                <el-button @click="removeRule(form)" type="danger" icon="el-icon-delete" circle></el-button>
              </div>
            </div>
            <div style="margin-top: 25px">
              <el-button type="success" @click="nextAdd" size="mini" plain>添加</el-button>
            </div>
          </div>
        </el-form-item>
        <el-form-item label="违约扣分"  style="width: 20%">
          <el-input v-model="auditingForm.score"></el-input>
        </el-form-item>
      </el-form>
      <div slot="footer" class="dialog-footer">
        <el-button type="primary" @click="submitAuditing">确 定</el-button>
        <el-button @click="cancel">取 消</el-button>
      </div>
    </el-dialog>
  </div>
</template>
@@ -162,9 +232,37 @@
  name: "Auditing",
  data() {
    return {
      options: [{
        value: 'city',
        label: '前端感知源治理工作',
        children: [{
          value: 'fushun',
          label: '时钟同步',
        }, {
          value: 'rong',
          label: 'OSD标识未修复',
        }, {
          value: 'rong',
          label: '一机一档不合格',
        }
        ]
      },
      ],
      auditingOpen: false,
      auditingForm: {},
      unitList: [],
      unitNameList: [
        {id:2 , value:"成都x运维"}
        ],
      // 考核模板
      examineList: [
        {id:1 , value:"车辆考核"},
        {id:2 , value:"视频考核"}
      ],
      // 临时规则表单
      tempRuleForm: {},
      // 临时规则表单列表
      tempRuleFormList: [{"ruleId": null, "adjustCoefficient": null}],
      // 遮罩层
      loading: true,
      // 选中数组
@@ -183,6 +281,7 @@
      title: "",
      // 是否显示弹出层
      open: false,
      auditOpen: false,
      // 逻辑删除时间范围
      daterangeAuditingTime: [],
      // 逻辑删除时间范围
@@ -212,6 +311,9 @@
    this.getUnitSelect();
  },
  methods: {
    handleChange(value) {
      console.log(value);
    },
    // 提交审核
    submitAuditing() {
      this.$refs["auditingForm"].validate(valid => {
@@ -239,6 +341,8 @@
      this.auditingForm = {};
      this.auditingOpen = false;
    },
    getUnitSelect() {
      // 运维单位下拉列表
      unitSelect().then((res) => {
@@ -265,6 +369,7 @@
    // 取消按钮
    cancel() {
      this.open = false;
      this.auditOpen = false;
      this.reset();
    },
    // 表单重置
@@ -304,7 +409,7 @@
    handleAdd() {
      this.reset();
      this.open = true;
      this.title = "添加违规审核";
      this.title = "添加违规记录";
    },
    /** 修改按钮操作 */
    handleUpdate(row) {
@@ -355,3 +460,30 @@
  }
};
</script>
<style scoped>
.margin-5 {
  margin-left: 5px;
}
.row-warp {
  display: flex;
  flex-direction: column;
}
.row {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  margin: 5px 0;
}
.row-left {
  flex: 1;
  display: flex;
  flex-direction: row;
}
.row-right {
  flex: 1;
  display: flex;
  flex-direction: row;
}
</style>