wangting
2025-01-16 18c43123b51a1688ab4ae01fe3d171c7d92e619b
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
import {verifyNull, verifySlash} from "@/util/validate";
 
export default {
  async getDictList(val,that) {
    for (let code of val) {
      if (!verifyNull(code.dictData) && code.type == "select") {
        if (
          verifySlash(code.dictCode) &&
          Object.prototype.hasOwnProperty.call(code, "dictCode")
        ) {
          const res = await getlistByCode(code.dictCode);
          if (res.success) {
            const dic = res.data;
            code.dictData = dic.map((d) => {
              return {
                label: d.name,
                key: d.code,
                value: d.id,
              };
            });
          }
        } else {
          that.getDicts(code.dictCode)
            .then((res) => {
              if (res.success) {
                const dic = res.obj.datas;
                code.dictData = dic.map((d) => {
                  return {
                    label: d.name,
                    key: d.code,
                    value: d.code,
                  };
                });
              }
            })
            .catch(() => {
              that.$message.error(` 数据字典${code.dictCode}错误`);
            });
        }
      }
      if (code.type == "refer") {
        if (code.referConfig && code.referConfig.useFormKey) {
          if (verifyNull(code.referConfig.formValuesKey)) {
            code.referConfig.formValuesKey = "ruleForm";
          }
          code.referConfig.formValues = that[code.referConfig.formValuesKey];
        }
        code.referConfigTemp = {
          title: code.label,
          showProp:
            code.showProp || code.referConfig.showProp || code.prop + "Name",
          prop: code.prop,
          propMap: code.propMap || {},
          placeholder: code.placeholder
            ? code.placeholder
            : ` 请选择` + code.label,
          options: code.referConfig,
        };
      }
    }
    that.formTemplateData = val;
  },
  setReferValue(data,that) {
    if (data.prop) {
      that.ruleForm[data.prop] = data.value || "";
      that.ruleForm[data.showProp] = data.text || "";
      if (data.propMap) {
        //说明需要映射
        for (let key in data.propMap) {
          let mapFields = data.propMap[key].split(",");
          let value = [];
          data.rawData.forEach((_item) => {
            var temp;
            if (!_item.extendData) {
              _item.extendData = {};
            }
            if (mapFields.length == 1) {
              var mapField = mapFields[0];
              temp = _item[mapField] || _item["extendData"][mapField];
            } else {
              //有多个
              var mutiTemp = [];
              mapFields.forEach((_itemField) => {
                mutiTemp.push(
                  _item[_itemField] || _item["extendData"][_itemField]
                );
              });
              temp = mutiTemp.join(" ");
            }
            if (temp != null && temp != "") {
              value.push(temp);
            }
          });
          that.ruleForm[key] = value.join(",");
        }
      }
    }
  },
}