{"remainingRequest":"D:\\jenkins\\workspace\\artfess-module\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\jenkins\\workspace\\artfess-module\\src\\components\\HtRadio.vue?vue&type=script&lang=js&","dependencies":[{"path":"D:\\jenkins\\workspace\\artfess-module\\src\\components\\HtRadio.vue","mtime":1675232038590},{"path":"D:\\jenkins\\workspace\\artfess-module\\node_modules\\babel-loader\\lib\\index.js","mtime":315532800000},{"path":"D:\\jenkins\\workspace\\artfess-module\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"D:\\jenkins\\workspace\\artfess-module\\node_modules\\vue-loader\\lib\\index.js","mtime":499162500000}],"contextDependencies":[],"result":["//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\r\nimport utils from \"@/utils.js\";\r\nimport service from \"@/service.js\";\r\nimport HtFieldTail from \"@/components/HtFieldTail.vue\";\r\n\r\nexport default {\r\n  name: \"ht-radio\",\r\n  props: {\r\n    validate: [String, Object],\r\n    value: [String, Number, Boolean],\r\n    name: String,\r\n    permission: {\r\n      type: String,\r\n      default: \"w\",\r\n      validator: function(value) {\r\n        return [\"b\", \"w\", \"r\", \"n\"].indexOf(value) !== -1;\r\n      }\r\n    },\r\n    options: Array,\r\n    optionLayout: {\r\n      type: String,\r\n      default: \"horizontal\",\r\n      validator: function(value) {\r\n        return [\"horizontal\", \"vertical\"].some(i => i == value);\r\n      }\r\n    },\r\n    props: {\r\n      type: Object,\r\n      default: function() {\r\n        return {\r\n          key: \"key\",\r\n          value: \"value\"\r\n        };\r\n      }\r\n    },\r\n    readonly: {\r\n      type: Boolean,\r\n      default: false\r\n    },\r\n    disabled: {\r\n      type: Boolean,\r\n      default: false\r\n    },\r\n    linkage: [Object, Array],\r\n    ganged: Object\r\n  },\r\n  components: {\r\n    HtFieldTail\r\n  },\r\n  data() {\r\n    return {\r\n      inputName: null,\r\n\t  writeable: true,\r\n      formatValue:\"\"\r\n    };\r\n  },\r\n  computed: {\r\n    inputVal: {\r\n      get: function() {\r\n        if(utils.isEmpty(this.value)){\r\n          return \"\";\r\n        }\r\n\r\n        if (\r\n          this.value !== null &&\r\n          this.value !== undefined &&\r\n          !this.inputWriteable && \r\n          this.options && \r\n          this.options.length > 0\r\n        ) {\r\n          this.formatValue = this.options.find(opt => opt[this.propKey] == this.value).value;\r\n        }\r\n        return this.value;\r\n      },\r\n      set: function(val) {\r\n        this.$emit(\"input\", val);\r\n      }\r\n    },\r\n    inputWriteable: function() {\r\n      return this.writeable ? utils.getWriteable(this.permission):this.writeable;\r\n    },\r\n    inputValidate: function() {\r\n      return utils.addRequiredOrNot(this.permission, this.validate, this);\r\n    },\r\n    propKey: function() {\r\n      if (this.props && this.props.key) {\r\n        return this.props.key;\r\n      }\r\n      return \"key\";\r\n    },\r\n    propValue: function() {\r\n      if (this.props && this.props.value) {\r\n        return this.props.value;\r\n      }\r\n      return \"value\";\r\n    }\r\n  },\r\n  mounted() {\r\n    const _me = this;\r\n    this.mountedLinkage();\r\n  },\r\n  created() {\r\n    this.inputName = this.name ? this.name : utils.getName();\r\n    this.$validator = this.$root.$validator;\r\n  },\r\n  methods: {\r\n    mountedLinkage(){\r\n      if (this.linkage) {\r\n        const exp = this.linkage;\r\n        //如果要联动的字段权限是只读“r”,则把联动配置里面要联动的字段权限“w”改为只读“r”\r\n        if (exp && exp.length > 0) {\r\n          const frmInst = utils.getOnlineFormInstance(this);\r\n          //表单所有字段的初始权限\r\n          if (frmInst && frmInst.permission) {\r\n            exp.forEach((item) => {\r\n              let effect = item.effect;\r\n              effect.forEach((effectItem) => {\r\n                let initPermission = utils.getValueByPath(frmInst,effectItem.target);\r\n                if (\r\n                  effectItem.target &&\r\n                  effectItem.target.indexOf(\"permission\") != -1 &&\r\n                  effectItem.value != \"n\" && initPermission == \"r\"\r\n                ) {\r\n                  effectItem.value =  initPermission;\r\n                }\r\n              });\r\n            });\r\n          }\r\n        }\r\n        service.linkageHandler(this, exp);\r\n      }\r\n    },\r\n    change( radioLabel ){\r\n      this.$emit(\"change\",radioLabel);\r\n    }\r\n  }\r\n};\r\n",null]}