{"remainingRequest":"D:\\jenkins\\workspace\\artfess-module\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\jenkins\\workspace\\artfess-module\\src\\components\\HtCheckbox.vue?vue&type=script&lang=js&","dependencies":[{"path":"D:\\jenkins\\workspace\\artfess-module\\src\\components\\HtCheckbox.vue","mtime":1675232038543},{"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//\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-checkbox\",\r\n props: {\r\n validate: [String, Object],\r\n value: String,\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 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 options: Array,\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 min: Number,\r\n max: Number,\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 writeable: true,\r\n };\r\n },\r\n computed: {\r\n inputVal: {\r\n get: function() {\r\n if (\r\n utils.isEmpty(this.value) ||\r\n !this.options ||\r\n this.options.length == 0\r\n ) {\r\n return [];\r\n }\r\n if (this.value.constructor == String) {\r\n const ary = this.value.split(\",\");\r\n if (this.inputWriteable) {\r\n return ary;\r\n } else {\r\n let optionVals = [];\r\n ary.forEach(m => {\r\n optionVals.push(this.options.find(opt => opt.key === m).value);\r\n });\r\n return optionVals;\r\n }\r\n }\r\n },\r\n set: function(val) {}\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 },\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 handleCheckboxChange: function(m, n) {\r\n let vals = [...this.inputVal];\r\n const currentVal = n.currentTarget.value;\r\n if (m) {\r\n vals.push(currentVal);\r\n } else {\r\n vals.remove(currentVal);\r\n }\r\n vals = vals.filter(i => i !== \"\");\r\n this.$emit(\"input\", vals.join(\",\"));\r\n this.$emit(\"change\", m, n);\r\n }\r\n }\r\n};\r\n",null]}