|
|
@@ -63,26 +63,14 @@
|
|
|
v-model:value="formData[record.model]"/>
|
|
|
|
|
|
<!-- 单选框 -->
|
|
|
- <a-radio-group v-else-if="record.type === 'radio'" :options="!record.options.dynamic
|
|
|
- ? record.options.options
|
|
|
- : record.options.dynamicOptions ?
|
|
|
- record.options.dynamicOptions :
|
|
|
- (dynamicData[record.options.dynamicKey]
|
|
|
- ? dynamicData[record.options.dynamicKey]
|
|
|
- : [])
|
|
|
- " :disabled="disabled || record.options.disabled"
|
|
|
+ <a-radio-group v-else-if="record.type === 'radio'" :options="computedOptions"
|
|
|
+ :disabled="disabled || record.options.disabled"
|
|
|
:placeholder="(disabled || record.options.disabled) ? '' : record.options.placeholder"
|
|
|
@change="handleChange($event.target.value, record.model, record)"
|
|
|
v-model:value="formData[record.model]"/>
|
|
|
<!-- 多选框 -->
|
|
|
- <a-checkbox-group v-else-if="record.type === 'checkbox'" :options="!record.options.dynamic
|
|
|
- ? record.options.options
|
|
|
- : record.options.dynamicOptions ?
|
|
|
- record.options.dynamicOptions :
|
|
|
- (dynamicData[record.options.dynamicKey]
|
|
|
- ? dynamicData[record.options.dynamicKey]
|
|
|
- : [])
|
|
|
- " :disabled="disabled || record.options.disabled"
|
|
|
+ <a-checkbox-group v-else-if="record.type === 'checkbox'" :options="computedOptions"
|
|
|
+ :disabled="disabled || record.options.disabled"
|
|
|
:placeholder="(disabled || record.options.disabled) ? '' : record.options.placeholder"
|
|
|
@change="handleChange($event, record.model, record)" v-model:value="formData[record.model]"/>
|
|
|
|
|
|
@@ -113,21 +101,8 @@
|
|
|
: false
|
|
|
" :formatter="value => record.options.thousandth == true && value != '' ?
|
|
|
`${value}`.replace(/\B(?=(\d{3})+(?!\d))/g, ',') : value" :allowClear="record.options.clearable"
|
|
|
- tree-node-filter-prop="label" :dynamicData="dynamicData" :treeData="!record.options.dynamic
|
|
|
- ? record.options.options
|
|
|
- : record.options.dynamicOptions ?
|
|
|
- record.options.dynamicOptions :
|
|
|
- (dynamicData[record.options.dynamicKey]
|
|
|
- ? dynamicData[record.options.dynamicKey]
|
|
|
- : [])
|
|
|
- " :options="!record.options.dynamic
|
|
|
- ? record.options.options
|
|
|
- : record.options.dynamicOptions ?
|
|
|
- record.options.dynamicOptions :
|
|
|
- (dynamicData[record.options.dynamicKey]
|
|
|
- ? dynamicData[record.options.dynamicKey]
|
|
|
- : [])
|
|
|
- " :mode="record.options.multiple ? 'multiple' : ''" @change="handleChange($event, record.model, record)"
|
|
|
+ tree-node-filter-prop="label" :dynamicData="dynamicData" :treeData="computedOptions"
|
|
|
+ :options="computedOptions" :mode="record.options.multiple ? 'multiple' : ''" @change="handleChange($event, record.model, record)"
|
|
|
:is="componentItem" v-model:value="formData[record.model]"
|
|
|
:placeholder="(disabled || record.options.disabled) ? '' : record.options.placeholder"></component>
|
|
|
</a-form-item>
|
|
|
@@ -186,14 +161,7 @@
|
|
|
<!-- html -->
|
|
|
<div :id="record.key" v-else-if="record.type === 'html'" v-html="record.options.defaultValue"></div>
|
|
|
<!-- 弹出框 -->
|
|
|
- <PopUpQuery v-else-if="record.type === 'popUpSelect'" :options="!record.options.dynamic
|
|
|
- ? record.options.options
|
|
|
- : record.options.dynamicOptions ?
|
|
|
- record.options.dynamicOptions :
|
|
|
- (dynamicData[record.options.dynamicKey]
|
|
|
- ? dynamicData[record.options.dynamicKey]
|
|
|
- : [])
|
|
|
- " :dynamicData="dynamicData" :disabled="disabled || record.options.disabled" :readonly="record.options.readonly"
|
|
|
+ <PopUpQuery v-else-if="record.type === 'popUpSelect'" :options="computedOptions" :dynamicData="dynamicData" :disabled="disabled || record.options.disabled" :readonly="record.options.readonly"
|
|
|
:placeholder="(disabled || record.options.disabled) ? '' : record.options.placeholder"
|
|
|
@change="handleChange"
|
|
|
:formConfig="formConfig" :record="record" :formData="formData"
|
|
|
@@ -229,7 +197,7 @@ import {getDynamicData} from "/@/api/flow/formApi.js";
|
|
|
|
|
|
import {getRulesFunc} from "../../packages/core/contant";
|
|
|
import {useFlowStore} from '/@/store/modules/flow';
|
|
|
-
|
|
|
+import { PROVINCE_CITY_DISTRICT } from '/@/views/flow/stFormDesign/province-city-district.js';
|
|
|
export default {
|
|
|
name: "StFormItem",
|
|
|
props: {
|
|
|
@@ -285,6 +253,19 @@ export default {
|
|
|
}
|
|
|
},
|
|
|
computed: {
|
|
|
+ computedOptions() {
|
|
|
+ if (this.record.options.area==true){
|
|
|
+ return PROVINCE_CITY_DISTRICT
|
|
|
+ } else if (!this.record.options.dynamic) {
|
|
|
+ return this.record.options.options || [];
|
|
|
+ } else if (this.record.options.dynamicOptions) {
|
|
|
+ return this.record.options.dynamicOptions;
|
|
|
+ } else if (this.dynamicData[this.record.options.dynamicKey]) {
|
|
|
+ return this.dynamicData[this.record.options.dynamicKey];
|
|
|
+ } else {
|
|
|
+ return [];
|
|
|
+ }
|
|
|
+ },
|
|
|
customList() {
|
|
|
if (window.$customComponentList) {
|
|
|
return window.$customComponentList.map((item) => item.type);
|