|
|
|
@ -1,274 +1,250 @@ |
|
|
|
<template> |
|
|
|
<div> |
|
|
|
<div class="g-cpt"> |
|
|
|
<el-form |
|
|
|
v-if="iniLoaded" |
|
|
|
ref="ref_form" |
|
|
|
:model="fmData" |
|
|
|
:inline="true" |
|
|
|
:disabled="formType === 'watch'" |
|
|
|
class="m-fm" |
|
|
|
:class="{ |
|
|
|
'z-div': editParamsDiv, |
|
|
|
'z-watch': formType === 'watch', |
|
|
|
}" |
|
|
|
> |
|
|
|
<div |
|
|
|
class="list" |
|
|
|
:key="'list' + listIndex" |
|
|
|
v-for="(list, listIndex) in editParams" |
|
|
|
> |
|
|
|
<el-form-item |
|
|
|
v-for="item in list" |
|
|
|
class="item" |
|
|
|
label-width="100px" |
|
|
|
style="display: block" |
|
|
|
:key="'edit' + item.keyName" |
|
|
|
:label="item.field" |
|
|
|
:prop="item.keyName" |
|
|
|
:rules="item.rules || []" |
|
|
|
> |
|
|
|
<template v-if="item.type == 'switch'"> |
|
|
|
<el-switch |
|
|
|
v-model="fmData[item.keyName]" |
|
|
|
size="small" |
|
|
|
:active-text="item.activeText || ''" |
|
|
|
:inactive-text="item.inactiveText || ''" |
|
|
|
:active-value="item.activeValue || true" |
|
|
|
:inactive-value="item.inactiveValue || false" |
|
|
|
> |
|
|
|
</el-switch> |
|
|
|
</template> |
|
|
|
|
|
|
|
<template v-else-if="item.type == 'input'"> |
|
|
|
<el-input |
|
|
|
v-if=" |
|
|
|
formType == 'add' || |
|
|
|
(formType == 'edit' && !item.editDisable) |
|
|
|
" |
|
|
|
v-model="fmData[item.keyName]" |
|
|
|
class="item-input" |
|
|
|
size="small" |
|
|
|
clearable |
|
|
|
show-word-limit |
|
|
|
:maxlength="item.maxlength || ''" |
|
|
|
:placeholder="item.placeholder || '请输入'" |
|
|
|
> |
|
|
|
</el-input> |
|
|
|
|
|
|
|
<div class="item-show" v-else> |
|
|
|
{{ fmData[item.keyName] || "--" }} |
|
|
|
<span v-if="item.attach">{{ |
|
|
|
item.attach |
|
|
|
}}</span> |
|
|
|
</div> |
|
|
|
</template> |
|
|
|
|
|
|
|
<template v-else-if="item.type == 'textarea'"> |
|
|
|
<el-input |
|
|
|
v-if=" |
|
|
|
formType == 'add' || |
|
|
|
(formType == 'edit' && !item.editDisable) |
|
|
|
" |
|
|
|
v-model="fmData[item.keyName]" |
|
|
|
type="textarea" |
|
|
|
class="item-input" |
|
|
|
size="small" |
|
|
|
clearable |
|
|
|
show-word-limit |
|
|
|
:rows="3" |
|
|
|
:maxlength="item.maxlength || ''" |
|
|
|
:placeholder="item.placeholder || '请输入'" |
|
|
|
> |
|
|
|
</el-input> |
|
|
|
|
|
|
|
<div class="item-show" v-else> |
|
|
|
{{ fmData[item.keyName] || "--" }} |
|
|
|
</div> |
|
|
|
</template> |
|
|
|
|
|
|
|
<template v-else-if="item.type == 'date'"> |
|
|
|
<el-date-picker |
|
|
|
v-if=" |
|
|
|
formType == 'add' || |
|
|
|
(formType == 'edit' && !item.editDisable) |
|
|
|
" |
|
|
|
v-model="fmData[item.keyName]" |
|
|
|
:picker-options="item.pickerOptions" |
|
|
|
class="item-input" |
|
|
|
size="small" |
|
|
|
clearable |
|
|
|
show-word-limit |
|
|
|
:value-format="item.format || 'yyyy-MM-dd'" |
|
|
|
:placeholder="item.placeholder || '请输入'" |
|
|
|
> |
|
|
|
</el-date-picker> |
|
|
|
|
|
|
|
<div class="item-show" v-else> |
|
|
|
{{ fmData[item.keyName] || "--" }} |
|
|
|
</div> |
|
|
|
</template> |
|
|
|
|
|
|
|
<template v-else-if="item.type == 'number'"> |
|
|
|
<el-input-number |
|
|
|
v-if=" |
|
|
|
formType == 'add' || |
|
|
|
(formType == 'edit' && !item.editDisable) |
|
|
|
" |
|
|
|
v-model="fmData[item.keyName]" |
|
|
|
class="item-number" |
|
|
|
size="small" |
|
|
|
clearable |
|
|
|
:precision="item.precision || 0" |
|
|
|
:step="item.step || 1" |
|
|
|
:min="item.min || 0" |
|
|
|
:max="item.max || 999999999999" |
|
|
|
:placeholder="item.placeholder || '请输入'" |
|
|
|
> |
|
|
|
</el-input-number> |
|
|
|
<span class="item-show" v-else> |
|
|
|
{{ fmData[item.keyName] || "--" }} |
|
|
|
</span> |
|
|
|
<span v-if="item.unitName" |
|
|
|
>({{ item.unitName }})</span |
|
|
|
> |
|
|
|
</template> |
|
|
|
|
|
|
|
<template v-else-if="item.type == 'select'"> |
|
|
|
<el-select |
|
|
|
v-model="fmData[item.keyName]" |
|
|
|
:placeholder="item.placeholder || '请选择'" |
|
|
|
size="small" |
|
|
|
clearable |
|
|
|
class="item-select" |
|
|
|
:multiple="item.multiple || false" |
|
|
|
:filterable="item.filterable || false" |
|
|
|
:allowCreate="item.allowCreate || false" |
|
|
|
:collapse-tags="item.collapseTags || false" |
|
|
|
default-first-option |
|
|
|
@change="(e) => handleChangeSelect(e, item)" |
|
|
|
> |
|
|
|
<template v-if="item.optionType == 'group'"> |
|
|
|
<el-option-group |
|
|
|
v-for="group in item.optionList" |
|
|
|
:key="group.label" |
|
|
|
:label="group.label" |
|
|
|
> |
|
|
|
<el-option |
|
|
|
v-for="subItem in group.optionList" |
|
|
|
:key="subItem.value" |
|
|
|
:label="subItem.label" |
|
|
|
:value="subItem.value" |
|
|
|
> |
|
|
|
</el-option> |
|
|
|
</el-option-group> |
|
|
|
</template> |
|
|
|
<template v-else> |
|
|
|
<el-option |
|
|
|
v-for="( |
|
|
|
subItem, subIndex |
|
|
|
) in item.optionList" |
|
|
|
:key="subItem.value + subIndex" |
|
|
|
:label="subItem.label" |
|
|
|
:value="subItem.value" |
|
|
|
> |
|
|
|
</el-option> |
|
|
|
</template> |
|
|
|
</el-select> |
|
|
|
</template> |
|
|
|
|
|
|
|
<template v-else-if="item.type == 'rich-text'"> |
|
|
|
<div |
|
|
|
v-if=" |
|
|
|
formType == 'add' || |
|
|
|
(formType == 'edit' && !item.editDisable) |
|
|
|
" |
|
|
|
class="item-rich-text" |
|
|
|
> |
|
|
|
<Tinymce |
|
|
|
:ref="'richText' + item.keyName" |
|
|
|
v-model="fmData[item.keyName]" |
|
|
|
:customerId="customerId" |
|
|
|
:placeholder="item.placeholder || '请输入'" |
|
|
|
:height="500" |
|
|
|
/> |
|
|
|
</div> |
|
|
|
<div |
|
|
|
v-else |
|
|
|
class="item-rich-text z-show" |
|
|
|
@click="handleClickHtmlNode" |
|
|
|
> |
|
|
|
<div v-html="fmData[item.keyName]"></div> |
|
|
|
</div> |
|
|
|
</template> |
|
|
|
|
|
|
|
<template v-else-if="item.type == 'cascader'"> |
|
|
|
<el-cascader |
|
|
|
v-model="fmData[item.keyName]" |
|
|
|
:placeholder="item.placeholder || '请选择'" |
|
|
|
:options="item.optionList" |
|
|
|
:props="item.optionProps || {}" |
|
|
|
:show-all-levels="false" |
|
|
|
:collapse-tags="item.collapseTags || false" |
|
|
|
size="small" |
|
|
|
clearable |
|
|
|
class="item-select" |
|
|
|
@change="(e) => handleChangeCascader(e, item)" |
|
|
|
> |
|
|
|
</el-cascader> |
|
|
|
</template> |
|
|
|
|
|
|
|
<template v-else-if="item.type == 'upload'"> |
|
|
|
<el-upload |
|
|
|
:headers="$getElUploadHeaders()" |
|
|
|
v-if=" |
|
|
|
formType == 'add' || |
|
|
|
(formType == 'edit' && !item.editDisable) |
|
|
|
" |
|
|
|
ref="upload" |
|
|
|
class="avatar-uploader" |
|
|
|
:class="{ |
|
|
|
'z-full': |
|
|
|
fmData[item.keyName].length >= |
|
|
|
item.limit, |
|
|
|
}" |
|
|
|
:action="item.uploadUrl || uploadUrl" |
|
|
|
:data="{ customerId: customerId }" |
|
|
|
:show-file-list="true" |
|
|
|
:list-type="item.listType || 'picture'" |
|
|
|
:limit="item.limit || 100" |
|
|
|
:file-list="fmData[item.keyName]" |
|
|
|
:on-success=" |
|
|
|
(res, file) => |
|
|
|
handleImgSuccess(res, file, item) |
|
|
|
" |
|
|
|
:on-error=" |
|
|
|
(res, file) => |
|
|
|
handleImgError(res, file, item) |
|
|
|
" |
|
|
|
:on-remove="(res) => handleImgRemove(res, item)" |
|
|
|
:on-exceed="(res) => handleImgExceed(res, item)" |
|
|
|
:before-upload=" |
|
|
|
(file) => beforeImgUpload(file, item) |
|
|
|
" |
|
|
|
> |
|
|
|
<a><i class="el-icon-plus"></i> 点击上传</a> |
|
|
|
</el-upload> |
|
|
|
<el-image |
|
|
|
v-else-if="fmData[item.keyName].length > 0" |
|
|
|
style="width: 100px; height: 100px" |
|
|
|
:src="fmData[item.keyName][0].url" |
|
|
|
fit="cover" |
|
|
|
:preview-src-list=" |
|
|
|
fmData[item.keyName].map((item) => item.url) |
|
|
|
" |
|
|
|
></el-image> |
|
|
|
<span v-else>--</span> |
|
|
|
</template> |
|
|
|
|
|
|
|
<template v-else-if="item.type == 'address'"> |
|
|
|
<div class="address-item"> |
|
|
|
<!-- <el-input class="address-item-input" |
|
|
|
<div> |
|
|
|
<div class="g-cpt"> |
|
|
|
<el-form |
|
|
|
v-if="iniLoaded" |
|
|
|
ref="ref_form" |
|
|
|
:model="fmData" |
|
|
|
:inline="true" |
|
|
|
:disabled="formType === 'watch'" |
|
|
|
class="m-fm" |
|
|
|
:class="{ |
|
|
|
'z-div': editParamsDiv, |
|
|
|
'z-watch': formType === 'watch', |
|
|
|
}" |
|
|
|
> |
|
|
|
<div |
|
|
|
class="list" |
|
|
|
:key="'list' + listIndex" |
|
|
|
v-for="(list, listIndex) in editParams" |
|
|
|
> |
|
|
|
<el-form-item |
|
|
|
v-for="item in list" |
|
|
|
class="item" |
|
|
|
label-width="100px" |
|
|
|
style="display: block" |
|
|
|
:key="'edit' + item.keyName" |
|
|
|
:label="item.field" |
|
|
|
:prop="item.keyName" |
|
|
|
:rules="item.rules || []" |
|
|
|
> |
|
|
|
<template v-if="item.type == 'switch'"> |
|
|
|
<el-switch |
|
|
|
v-model="fmData[item.keyName]" |
|
|
|
size="small" |
|
|
|
:active-text="item.activeText || ''" |
|
|
|
:inactive-text="item.inactiveText || ''" |
|
|
|
:active-value="item.activeValue || true" |
|
|
|
:inactive-value="item.inactiveValue || false" |
|
|
|
> |
|
|
|
</el-switch> |
|
|
|
</template> |
|
|
|
|
|
|
|
<template v-else-if="item.type == 'input'"> |
|
|
|
<el-input |
|
|
|
v-if=" |
|
|
|
formType == 'add' || (formType == 'edit' && !item.editDisable) |
|
|
|
" |
|
|
|
v-model="fmData[item.keyName]" |
|
|
|
class="item-input" |
|
|
|
size="small" |
|
|
|
clearable |
|
|
|
show-word-limit |
|
|
|
:maxlength="item.maxlength || ''" |
|
|
|
:placeholder="item.placeholder || '请输入'" |
|
|
|
> |
|
|
|
</el-input> |
|
|
|
|
|
|
|
<div class="item-show" v-else> |
|
|
|
{{ fmData[item.keyName] || "--" }} |
|
|
|
<span v-if="item.attach">{{ item.attach }}</span> |
|
|
|
</div> |
|
|
|
</template> |
|
|
|
|
|
|
|
<template v-else-if="item.type == 'textarea'"> |
|
|
|
<el-input |
|
|
|
v-if=" |
|
|
|
formType == 'add' || (formType == 'edit' && !item.editDisable) |
|
|
|
" |
|
|
|
v-model="fmData[item.keyName]" |
|
|
|
type="textarea" |
|
|
|
class="item-input" |
|
|
|
size="small" |
|
|
|
clearable |
|
|
|
show-word-limit |
|
|
|
:rows="3" |
|
|
|
:maxlength="item.maxlength || ''" |
|
|
|
:placeholder="item.placeholder || '请输入'" |
|
|
|
> |
|
|
|
</el-input> |
|
|
|
|
|
|
|
<div class="item-show" v-else> |
|
|
|
{{ fmData[item.keyName] || "--" }} |
|
|
|
</div> |
|
|
|
</template> |
|
|
|
|
|
|
|
<template v-else-if="item.type == 'date'"> |
|
|
|
<el-date-picker |
|
|
|
v-if=" |
|
|
|
formType == 'add' || (formType == 'edit' && !item.editDisable) |
|
|
|
" |
|
|
|
v-model="fmData[item.keyName]" |
|
|
|
:picker-options="item.pickerOptions" |
|
|
|
class="item-input" |
|
|
|
size="small" |
|
|
|
clearable |
|
|
|
show-word-limit |
|
|
|
:value-format="item.format || 'yyyy-MM-dd'" |
|
|
|
:placeholder="item.placeholder || '请输入'" |
|
|
|
> |
|
|
|
</el-date-picker> |
|
|
|
|
|
|
|
<div class="item-show" v-else> |
|
|
|
{{ fmData[item.keyName] || "--" }} |
|
|
|
</div> |
|
|
|
</template> |
|
|
|
|
|
|
|
<template v-else-if="item.type == 'number'"> |
|
|
|
<el-input-number |
|
|
|
v-if=" |
|
|
|
formType == 'add' || (formType == 'edit' && !item.editDisable) |
|
|
|
" |
|
|
|
v-model="fmData[item.keyName]" |
|
|
|
class="item-number" |
|
|
|
size="small" |
|
|
|
clearable |
|
|
|
:precision="item.precision || 0" |
|
|
|
:step="item.step || 1" |
|
|
|
:min="item.min || 0" |
|
|
|
:max="item.max || 999999999999" |
|
|
|
:placeholder="item.placeholder || '请输入'" |
|
|
|
> |
|
|
|
</el-input-number> |
|
|
|
<span class="item-show" v-else> |
|
|
|
{{ fmData[item.keyName] || "--" }} |
|
|
|
</span> |
|
|
|
<span v-if="item.unitName">({{ item.unitName }})</span> |
|
|
|
</template> |
|
|
|
|
|
|
|
<template v-else-if="item.type == 'select'"> |
|
|
|
<el-select |
|
|
|
v-model="fmData[item.keyName]" |
|
|
|
:placeholder="item.placeholder || '请选择'" |
|
|
|
size="small" |
|
|
|
clearable |
|
|
|
class="item-select" |
|
|
|
:multiple="item.multiple || false" |
|
|
|
:filterable="item.filterable || false" |
|
|
|
:allowCreate="item.allowCreate || false" |
|
|
|
:collapse-tags="item.collapseTags || false" |
|
|
|
default-first-option |
|
|
|
@change="(e) => handleChangeSelect(e, item)" |
|
|
|
> |
|
|
|
<template v-if="item.optionType == 'group'"> |
|
|
|
<el-option-group |
|
|
|
v-for="group in item.optionList" |
|
|
|
:key="group.label" |
|
|
|
:label="group.label" |
|
|
|
> |
|
|
|
<el-option |
|
|
|
v-for="subItem in group.optionList" |
|
|
|
:key="subItem.value" |
|
|
|
:label="subItem.label" |
|
|
|
:value="subItem.value" |
|
|
|
> |
|
|
|
</el-option> |
|
|
|
</el-option-group> |
|
|
|
</template> |
|
|
|
<template v-else> |
|
|
|
<el-option |
|
|
|
v-for="(subItem, subIndex) in item.optionList" |
|
|
|
:key="subItem.value + subIndex" |
|
|
|
:label="subItem.label" |
|
|
|
:value="subItem.value" |
|
|
|
> |
|
|
|
</el-option> |
|
|
|
</template> |
|
|
|
</el-select> |
|
|
|
</template> |
|
|
|
|
|
|
|
<template v-else-if="item.type == 'rich-text'"> |
|
|
|
<div |
|
|
|
v-if=" |
|
|
|
formType == 'add' || (formType == 'edit' && !item.editDisable) |
|
|
|
" |
|
|
|
class="item-rich-text" |
|
|
|
> |
|
|
|
<Tinymce |
|
|
|
:ref="'richText' + item.keyName" |
|
|
|
v-model="fmData[item.keyName]" |
|
|
|
:customerId="customerId" |
|
|
|
:placeholder="item.placeholder || '请输入'" |
|
|
|
:height="500" |
|
|
|
/> |
|
|
|
</div> |
|
|
|
<div |
|
|
|
v-else |
|
|
|
class="item-rich-text z-show" |
|
|
|
@click="handleClickHtmlNode" |
|
|
|
> |
|
|
|
<div v-html="fmData[item.keyName]"></div> |
|
|
|
</div> |
|
|
|
</template> |
|
|
|
|
|
|
|
<template v-else-if="item.type == 'cascader'"> |
|
|
|
<el-cascader |
|
|
|
v-model="fmData[item.keyName]" |
|
|
|
:placeholder="item.placeholder || '请选择'" |
|
|
|
:options="item.optionList" |
|
|
|
:props="item.optionProps || {}" |
|
|
|
:show-all-levels="false" |
|
|
|
:collapse-tags="item.collapseTags || false" |
|
|
|
size="small" |
|
|
|
clearable |
|
|
|
class="item-select" |
|
|
|
@change="(e) => handleChangeCascader(e, item)" |
|
|
|
> |
|
|
|
</el-cascader> |
|
|
|
</template> |
|
|
|
|
|
|
|
<template v-else-if="item.type == 'upload'"> |
|
|
|
<el-upload |
|
|
|
:headers="$getElUploadHeaders()" |
|
|
|
v-if=" |
|
|
|
formType == 'add' || (formType == 'edit' && !item.editDisable) |
|
|
|
" |
|
|
|
ref="upload" |
|
|
|
class="avatar-uploader" |
|
|
|
:class="{ |
|
|
|
'z-full': fmData[item.keyName].length >= item.limit, |
|
|
|
}" |
|
|
|
:action="item.uploadUrl || uploadUrl" |
|
|
|
:data="{ customerId: customerId }" |
|
|
|
:show-file-list="true" |
|
|
|
:list-type="item.listType || 'picture'" |
|
|
|
:limit="item.limit || 100" |
|
|
|
:file-list="fmData[item.keyName]" |
|
|
|
:on-success="(res, file) => handleImgSuccess(res, file, item)" |
|
|
|
:on-error="(res, file) => handleImgError(res, file, item)" |
|
|
|
:on-remove="(res) => handleImgRemove(res, item)" |
|
|
|
:on-exceed="(res) => handleImgExceed(res, item)" |
|
|
|
:before-upload="(file) => beforeImgUpload(file, item)" |
|
|
|
> |
|
|
|
<a><i class="el-icon-plus"></i> 点击上传</a> |
|
|
|
</el-upload> |
|
|
|
<el-image |
|
|
|
v-else-if="fmData[item.keyName].length > 0" |
|
|
|
style="width: 100px; height: 100px" |
|
|
|
:src="fmData[item.keyName][0].url" |
|
|
|
fit="cover" |
|
|
|
:preview-src-list="fmData[item.keyName].map((item) => item.url)" |
|
|
|
></el-image> |
|
|
|
<span v-else>--</span> |
|
|
|
</template> |
|
|
|
|
|
|
|
<template v-else-if="item.type == 'address'"> |
|
|
|
<div class="address-item"> |
|
|
|
<!-- <el-input class="address-item-input" |
|
|
|
:placeholder="item.placeholder || '请输入所在地址'" |
|
|
|
v-model="fmData[item.keyName]" |
|
|
|
:maxlength="item.maxlength || ''" |
|
|
|
@ -280,116 +256,115 @@ |
|
|
|
size="small" |
|
|
|
ref="mapSearch" |
|
|
|
@click="handleSearchMap(item)">查询</el-button> --> |
|
|
|
<el-select |
|
|
|
v-if=" |
|
|
|
formType == 'add' || |
|
|
|
(formType == 'edit' && !item.editDisable) |
|
|
|
" |
|
|
|
v-model="searchAddressKeyword || fmData.location" |
|
|
|
filterable |
|
|
|
class="item-input" |
|
|
|
size="small" |
|
|
|
remote |
|
|
|
:reserve-keyword="true" |
|
|
|
placeholder="请输入关键词搜索" |
|
|
|
:remote-method="remoteMethod" |
|
|
|
:loading="loading" |
|
|
|
> |
|
|
|
<el-option |
|
|
|
v-for="subitem in searchAddressOptions" |
|
|
|
@click.native=" |
|
|
|
handleClickKey(subitem, item) |
|
|
|
" |
|
|
|
:key="subitem.value" |
|
|
|
:label="subitem.label" |
|
|
|
:value="subitem.value" |
|
|
|
> |
|
|
|
</el-option> |
|
|
|
</el-select> |
|
|
|
|
|
|
|
<div class="item-show" v-else> |
|
|
|
{{ fmData[item.keyName] || "--" }} |
|
|
|
</div> |
|
|
|
<el-input |
|
|
|
v-if="formType == 'add'||formType=='edit'" |
|
|
|
v-show="false" |
|
|
|
v-model="fmData[item.keyName]" |
|
|
|
class="item-input" |
|
|
|
size="small" |
|
|
|
clearable |
|
|
|
show-word-limit |
|
|
|
:maxlength="item.maxlength || ''" |
|
|
|
:placeholder="item.placeholder || '请输入'" |
|
|
|
> |
|
|
|
</el-input> |
|
|
|
<div id="map" class="div_map"></div> |
|
|
|
</div> |
|
|
|
</template> |
|
|
|
</el-form-item> |
|
|
|
</div> |
|
|
|
</el-form> |
|
|
|
|
|
|
|
<div class="m-operate" v-if="!formBtnFixed"> |
|
|
|
<el-button |
|
|
|
size="small" |
|
|
|
class="diy-button--white" |
|
|
|
@click="handleCancle" |
|
|
|
>{{ editConfig.cancelBtnName || "取消" }}</el-button |
|
|
|
> |
|
|
|
<el-button |
|
|
|
v-if="formType != 'watch'" |
|
|
|
type="primary" |
|
|
|
size="small" |
|
|
|
class="diy-button--blue" |
|
|
|
:disabled="btnDisable" |
|
|
|
@click="handleComfirm" |
|
|
|
>{{ editConfig.confirmBtnName || "保存" }}</el-button |
|
|
|
> |
|
|
|
|
|
|
|
<slot |
|
|
|
name="operateSup" |
|
|
|
v-bind:id="formId" |
|
|
|
v-bind:info="fmData" |
|
|
|
v-bind:formType="formType" |
|
|
|
></slot> |
|
|
|
|
|
|
|
</div> |
|
|
|
<el-select |
|
|
|
v-if=" |
|
|
|
formType == 'add' || |
|
|
|
(formType == 'edit' && !item.editDisable) |
|
|
|
" |
|
|
|
v-model="searchAddressKeyword || fmData.location" |
|
|
|
filterable |
|
|
|
class="item-input" |
|
|
|
size="small" |
|
|
|
remote |
|
|
|
:reserve-keyword="true" |
|
|
|
placeholder="请输入关键词搜索" |
|
|
|
:remote-method="remoteMethod" |
|
|
|
:loading="loading" |
|
|
|
> |
|
|
|
<el-option |
|
|
|
v-for="subitem in searchAddressOptions" |
|
|
|
@click.native="handleClickKey(subitem, item)" |
|
|
|
:key="subitem.value" |
|
|
|
:label="subitem.label" |
|
|
|
:value="subitem.value" |
|
|
|
> |
|
|
|
</el-option> |
|
|
|
</el-select> |
|
|
|
|
|
|
|
<div class="item-show" v-else> |
|
|
|
{{ fmData[item.keyName] || "--" }} |
|
|
|
</div> |
|
|
|
<el-input |
|
|
|
v-if="formType == 'add' || formType == 'edit'" |
|
|
|
v-show="false" |
|
|
|
v-model="fmData[item.keyName]" |
|
|
|
class="item-input" |
|
|
|
size="small" |
|
|
|
clearable |
|
|
|
show-word-limit |
|
|
|
:maxlength="item.maxlength || ''" |
|
|
|
:placeholder="item.placeholder || '请输入'" |
|
|
|
> |
|
|
|
</el-input> |
|
|
|
<div id="map" class="div_map"></div> |
|
|
|
</div> |
|
|
|
</template> |
|
|
|
</el-form-item> |
|
|
|
</div> |
|
|
|
</el-form> |
|
|
|
|
|
|
|
<div class="m-operate" v-if="!formBtnFixed"> |
|
|
|
<el-button |
|
|
|
size="small" |
|
|
|
class="diy-button--white" |
|
|
|
@click="handleCancle" |
|
|
|
>{{ editConfig.cancelBtnName || "取消" }}</el-button |
|
|
|
> |
|
|
|
<el-button |
|
|
|
v-if="formType != 'watch'" |
|
|
|
type="primary" |
|
|
|
size="small" |
|
|
|
class="diy-button--blue" |
|
|
|
:disabled="btnDisable" |
|
|
|
@click="handleComfirm" |
|
|
|
>{{ editConfig.confirmBtnName || "保存" }}</el-button |
|
|
|
> |
|
|
|
|
|
|
|
<slot |
|
|
|
name="operateSup" |
|
|
|
v-bind:id="formId" |
|
|
|
v-bind:info="fmData" |
|
|
|
v-bind:formType="formType" |
|
|
|
></slot> |
|
|
|
</div> |
|
|
|
<slot |
|
|
|
name="bottomSup" |
|
|
|
v-bind:id="formId" |
|
|
|
v-bind:info="fmData" |
|
|
|
v-bind:formType="formType" |
|
|
|
></slot> |
|
|
|
|
|
|
|
</div> |
|
|
|
name="bottomSup" |
|
|
|
v-bind:id="formId" |
|
|
|
v-bind:info="fmData" |
|
|
|
v-bind:formType="formType" |
|
|
|
></slot> |
|
|
|
</div> |
|
|
|
<el-row> |
|
|
|
<el-col span="24" align="right"> |
|
|
|
<el-button type="" size="small" style="margin-right:78px" @click="handleCancle">关闭</el-button> |
|
|
|
</el-col> |
|
|
|
</el-row> |
|
|
|
<div class="m-operate" v-if="formBtnFixed"> |
|
|
|
<el-button |
|
|
|
size="small" |
|
|
|
class="diy-button--white" |
|
|
|
@click="handleCancle" |
|
|
|
>{{ editConfig.cancelBtnName || "取消" }}</el-button |
|
|
|
> |
|
|
|
<el-button |
|
|
|
v-if="formType != 'watch'" |
|
|
|
size="small" |
|
|
|
class="diy-button--blue" |
|
|
|
:disabled="btnDisable" |
|
|
|
@click="handleComfirm" |
|
|
|
>{{ editConfig.confirmBtnName || "保存" }}</el-button |
|
|
|
> |
|
|
|
<slot |
|
|
|
name="operateSup" |
|
|
|
v-bind:id="formId" |
|
|
|
v-bind:info="fmData" |
|
|
|
v-bind:formType="formType" |
|
|
|
></slot> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
<el-col span="24" align="right"> |
|
|
|
<el-button |
|
|
|
class="diy-button--white" |
|
|
|
size="small" |
|
|
|
style="margin-right: 78px" |
|
|
|
@click="handleCancle" |
|
|
|
>关闭</el-button |
|
|
|
> |
|
|
|
</el-col> |
|
|
|
</el-row> |
|
|
|
<div class="m-operate" v-if="formBtnFixed"> |
|
|
|
<el-button size="small" class="diy-button--white" @click="handleCancle">{{ |
|
|
|
editConfig.cancelBtnName || "取消" |
|
|
|
}}</el-button> |
|
|
|
<el-button |
|
|
|
v-if="formType != 'watch'" |
|
|
|
size="small" |
|
|
|
class="diy-button--blue" |
|
|
|
:disabled="btnDisable" |
|
|
|
@click="handleComfirm" |
|
|
|
>{{ editConfig.confirmBtnName || "保存" }}</el-button |
|
|
|
> |
|
|
|
<slot |
|
|
|
name="operateSup" |
|
|
|
v-bind:id="formId" |
|
|
|
v-bind:info="fmData" |
|
|
|
v-bind:formType="formType" |
|
|
|
></slot> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
</template> |
|
|
|
|
|
|
|
<script> |
|
|
|
@ -874,12 +849,11 @@ export default { |
|
|
|
.validate(this.fmData) |
|
|
|
.then(() => { |
|
|
|
this.submit(); |
|
|
|
if(this.formType!='add')return |
|
|
|
setTimeout(() => { |
|
|
|
nextTick(500) |
|
|
|
this.formId = this.$parent.$parent.tableData[0].id |
|
|
|
}, 500); |
|
|
|
|
|
|
|
if (this.formType != "add") return; |
|
|
|
setTimeout(() => { |
|
|
|
nextTick(500); |
|
|
|
this.formId = this.$parent.$parent.tableData[0].id; |
|
|
|
}, 500); |
|
|
|
}) |
|
|
|
.catch(({ err, fields }) => { |
|
|
|
console.log("--------------", err, fields); |
|
|
|
|