vue3 字典表转换

140 阅读1分钟
    <el-form-item label="密级" prop="confidentialType">
      <el-select
        v-model="form.confidentialType"
        placeholder="请选择密级"
        clearable
      >
        <el-option
          v-for="dict in safe_level"
          :key="dict.value"
          :label="dict.label"
          :value="Number(dict.value)"
        />
      </el-select>
    </el-form-item>
    
    
    import { getDicts } from "@/api/system/dict/data";
 const { event_type, risk_level, safe_level, check_origin } = proxy.useDict(
          "event_type",
          "risk_level",
          "safe_level",
          "check_origin"
        );
    
    ["check_origin"].map((item) => {
          getDicts(item)
            .then((res) => {
              res.data.map((itm) => {
                weaknessVal[item + itm.dictValue] = itm.dictLabel;
                weaknessLab[itm.dictLabel] = itm.dictValue;
              });
            })
            .then(() => {
              if (route.query.id) {
                form.value.assetId = route.query.id;
                handleAdd();
              }
              getList();
            });
        });
        
        /** 查询列表 */
        function getList() {
          loading.value = true;
          tableList.value = [{}];
          getCheckResultList(queryParams.value).then((response) => {
            tableList.value = response.rows;
            tableList.value.map((item) => {
              item.checkOrigin = weaknessVal["check_origin" + item.checkOrigin];
            });
            total.value = response.total;
            loading.value = false;
          });
        }
             
             ** 提交按钮 */
    function submitForm() {
      proxy.$refs["formRef"].validate((valid) => {
        if (valid) {
          form.value.checkOrigin = weaknessLab[form.value.checkOrigin];
          if (form.value.id != undefined) {
            let params = { ...form.value };
            params.checkResult =
              heiNub.value +
              "条高危" +
              "," +
              midNub.value +
              "条中危" +
              "," +
              lowNub.value +
              "条低危";
            updateCheckResult(params).then((response) => {
              proxy.$modal.msgSuccess("修改成功");
              open.value = false;
              getList();
              reset();
            });
          } else {
            let params = { ...form.value };
            params.checkResult =
              heiNub.value +
              "条高危" +
              "," +
              midNub.value +
              "条中危" +
              "," +
              lowNub.value +
              "条低危";
            addCheckResult(params)
              .then((response) => {
                return analysisXml({ id: response.msg, ruleId: form.value.ruleId });
              })
              .then((res) => {
                proxy.$modal.msgSuccess("新增成功");
                open.value = false;
                getList();
                reset();
              });
          }
        }
      });
    }