Browse Source

11

dev-用户反馈
jiangyy 3 years ago
parent
commit
8495528a52
  1. 190
      src/views/modules/cpts/base/cpts/edit.vue
  2. 30
      src/views/modules/shequzhili/tuceng/anquan/xuncha/index.vue

190
src/views/modules/cpts/base/cpts/edit.vue

@ -1,41 +1,34 @@
<template> <template>
<div> <div>
<div class="dialog-h-content scroll-h"> <div class="dialog-h-content scroll-h">
<el-form <el-form v-if="iniLoaded"
v-if="iniLoaded"
ref="ref_form" ref="ref_form"
:model="fmData" :model="fmData"
:inline="true" :inline="true"
:disabled="formType === 'watch'" :disabled="formType === 'watch'"
class="m-fm" class="m-fm"
:class="{ 'z-div': editParamsDiv, 'z-watch': formType === 'watch' }" :class="{ 'z-div': editParamsDiv, 'z-watch': formType === 'watch' }">
>
<div class="list"> <div class="list">
<el-form-item <el-form-item v-for="item in editParams"
v-for="item in editParams"
class="item" class="item"
label-width="140px" label-width="140px"
style="display: block" style="display: block"
:key="'edit' + item.keyName" :key="'edit' + item.keyName"
:label="item.field" :label="item.field"
:prop="item.keyName" :prop="item.keyName"
:rules="item.rules || []" :rules="item.rules || []">
>
<template v-if="item.type == 'switch'"> <template v-if="item.type == 'switch'">
<el-switch <el-switch v-model="fmData[item.keyName]"
v-model="fmData[item.keyName]"
size="small" size="small"
:active-text="item.activeText || ''" :active-text="item.activeText || ''"
:inactive-text="item.inactiveText || ''" :inactive-text="item.inactiveText || ''"
:active-value="item.activeValue || true" :active-value="item.activeValue || true"
:inactive-value="item.inactiveValue || false" :inactive-value="item.inactiveValue || false">
>
</el-switch> </el-switch>
</template> </template>
<template v-if="item.type == 'input'"> <template v-if="item.type == 'input'">
<el-input <el-input v-if="
v-if="
formType == 'add' || (formType == 'edit' && !item.editDisable) formType == 'add' || (formType == 'edit' && !item.editDisable)
" "
v-model="fmData[item.keyName]" v-model="fmData[item.keyName]"
@ -44,18 +37,18 @@
clearable clearable
show-word-limit show-word-limit
:maxlength="item.maxlength || ''" :maxlength="item.maxlength || ''"
:placeholder="item.placeholder || '请输入'" :placeholder="item.placeholder || '请输入'">
>
</el-input> </el-input>
<div class="item-show" v-else> <div class="item-show"
v-else>
{{ fmData[item.keyName] || "--" }} {{ fmData[item.keyName] || "--" }}
<span v-if="item.attach">{{item.attach}}</span>
</div> </div>
</template> </template>
<template v-if="item.type == 'textarea'"> <template v-if="item.type == 'textarea'">
<el-input <el-input v-if="
v-if="
formType == 'add' || (formType == 'edit' && !item.editDisable) formType == 'add' || (formType == 'edit' && !item.editDisable)
" "
v-model="fmData[item.keyName]" v-model="fmData[item.keyName]"
@ -66,18 +59,17 @@
show-word-limit show-word-limit
:rows="3" :rows="3"
:maxlength="item.maxlength || ''" :maxlength="item.maxlength || ''"
:placeholder="item.placeholder || '请输入'" :placeholder="item.placeholder || '请输入'">
>
</el-input> </el-input>
<div class="item-show" v-else> <div class="item-show"
v-else>
{{ fmData[item.keyName] || "--" }} {{ fmData[item.keyName] || "--" }}
</div> </div>
</template> </template>
<template v-if="item.type == 'date'"> <template v-if="item.type == 'date'">
<el-date-picker <el-date-picker v-if="
v-if="
formType == 'add' || (formType == 'edit' && !item.editDisable) formType == 'add' || (formType == 'edit' && !item.editDisable)
" "
v-model="fmData[item.keyName]" v-model="fmData[item.keyName]"
@ -87,18 +79,17 @@
clearable clearable
show-word-limit show-word-limit
:value-format="item.format || 'yyyy-MM-dd'" :value-format="item.format || 'yyyy-MM-dd'"
:placeholder="item.placeholder || '请输入'" :placeholder="item.placeholder || '请输入'">
>
</el-date-picker> </el-date-picker>
<div class="item-show" v-else> <div class="item-show"
v-else>
{{ fmData[item.keyName] || "--" }} {{ fmData[item.keyName] || "--" }}
</div> </div>
</template> </template>
<template v-if="item.type == 'number'"> <template v-if="item.type == 'number'">
<el-input-number <el-input-number v-if="
v-if="
formType == 'add' || (formType == 'edit' && !item.editDisable) formType == 'add' || (formType == 'edit' && !item.editDisable)
" "
v-model="fmData[item.keyName]" v-model="fmData[item.keyName]"
@ -109,18 +100,17 @@
:step="item.step || 1" :step="item.step || 1"
:min="item.min || 0" :min="item.min || 0"
:max="item.max || 999999999999" :max="item.max || 999999999999"
:placeholder="item.placeholder || '请输入'" :placeholder="item.placeholder || '请输入'">
>
</el-input-number> </el-input-number>
<span class="item-show" v-else> <span class="item-show"
v-else>
{{ fmData[item.keyName] || "--" }} {{ fmData[item.keyName] || "--" }}
</span> </span>
<span v-if="item.unitName">{{ item.unitName }}</span> <span v-if="item.unitName">{{ item.unitName }}</span>
</template> </template>
<template v-else-if="item.type == 'select'"> <template v-else-if="item.type == 'select'">
<el-select <el-select v-model="fmData[item.keyName]"
v-model="fmData[item.keyName]"
:placeholder="item.placeholder || '请选择'" :placeholder="item.placeholder || '请选择'"
size="small" size="small"
clearable clearable
@ -130,62 +120,48 @@
:allowCreate="item.allowCreate || false" :allowCreate="item.allowCreate || false"
:collapse-tags="item.collapseTags || false" :collapse-tags="item.collapseTags || false"
default-first-option default-first-option
@change="(e) => handleChangeSelect(e, item)" @change="(e) => handleChangeSelect(e, item)">
>
<template v-if="item.optionType == 'group'"> <template v-if="item.optionType == 'group'">
<el-option-group <el-option-group v-for="group in item.optionList"
v-for="group in item.optionList"
:key="group.label" :key="group.label"
:label="group.label" :label="group.label">
> <el-option v-for="subItem in group.optionList"
<el-option
v-for="subItem in group.optionList"
:key="subItem.value" :key="subItem.value"
:label="subItem.label" :label="subItem.label"
:value="subItem.value" :value="subItem.value">
>
</el-option> </el-option>
</el-option-group> </el-option-group>
</template> </template>
<template v-else> <template v-else>
<el-option <el-option v-for="(subItem, subIndex) in item.optionList"
v-for="(subItem, subIndex) in item.optionList"
:key="subItem.value + subIndex" :key="subItem.value + subIndex"
:label="subItem.label" :label="subItem.label"
:value="subItem.value" :value="subItem.value">
>
</el-option> </el-option>
</template> </template>
</el-select> </el-select>
</template> </template>
<template v-else-if="item.type == 'rich-text'"> <template v-else-if="item.type == 'rich-text'">
<div <div v-if="
v-if="
formType == 'add' || (formType == 'edit' && !item.editDisable) formType == 'add' || (formType == 'edit' && !item.editDisable)
" "
class="item-rich-text" class="item-rich-text">
> <Tinymce :ref="'richText' + item.keyName"
<Tinymce
:ref="'richText' + item.keyName"
v-model="fmData[item.keyName]" v-model="fmData[item.keyName]"
:customerId="customerId" :customerId="customerId"
:placeholder="item.placeholder || '请输入'" :placeholder="item.placeholder || '请输入'"
:height="500" :height="500" />
/>
</div> </div>
<div <div v-else
v-else
class="item-rich-text z-show" class="item-rich-text z-show"
@click="handleClickHtmlNode" @click="handleClickHtmlNode">
>
<div v-html="fmData[item.keyName]"></div> <div v-html="fmData[item.keyName]"></div>
</div> </div>
</template> </template>
<template v-else-if="item.type == 'cascader'"> <template v-else-if="item.type == 'cascader'">
<el-cascader <el-cascader v-model="fmData[item.keyName]"
v-model="fmData[item.keyName]"
:placeholder="item.placeholder || '请选择'" :placeholder="item.placeholder || '请选择'"
:options="item.optionList" :options="item.optionList"
:props="item.optionProps || {}" :props="item.optionProps || {}"
@ -194,14 +170,12 @@
size="small" size="small"
clearable clearable
class="item-select" class="item-select"
@change="(e) => handleChangeCascader(e, item)" @change="(e) => handleChangeCascader(e, item)">
>
</el-cascader> </el-cascader>
</template> </template>
<template v-else-if="item.type == 'upload'"> <template v-else-if="item.type == 'upload'">
<el-upload <el-upload :headers="$getElUploadHeaders()"
:headers="$getElUploadHeaders()"
v-if=" v-if="
formType == 'add' || (formType == 'edit' && !item.editDisable) formType == 'add' || (formType == 'edit' && !item.editDisable)
" "
@ -218,56 +192,46 @@
:on-error="(res, file) => handleImgError(res, file, item)" :on-error="(res, file) => handleImgError(res, file, item)"
:on-remove="(res) => handleImgRemove(res, item)" :on-remove="(res) => handleImgRemove(res, item)"
:on-exceed="(res) => handleImgExceed(res, item)" :on-exceed="(res) => handleImgExceed(res, item)"
:before-upload="(file) => beforeImgUpload(file, item)" :before-upload="(file) => beforeImgUpload(file, item)">
>
<a><i class="el-icon-plus"></i> 点击上传</a> <a><i class="el-icon-plus"></i> 点击上传</a>
</el-upload> </el-upload>
<el-image <el-image v-else-if="fmData[item.keyName].length > 0"
v-else-if="fmData[item.keyName].length > 0"
style="width: 100px; height: 100px" style="width: 100px; height: 100px"
:src="fmData[item.keyName][0].url" :src="fmData[item.keyName][0].url"
fit="cover" fit="cover"
:preview-src-list="fmData[item.keyName].map((item) => item.url)" :preview-src-list="fmData[item.keyName].map((item) => item.url)"></el-image>
></el-image>
<span v-else>--</span> <span v-else>--</span>
</template> </template>
<template v-else-if="item.type == 'address'"> <template v-else-if="item.type == 'address'">
<div class="address-item"> <div class="address-item">
<el-input <el-input class="address-item-input"
class="address-item-input"
:placeholder="item.placeholder || '请输入所在地址'" :placeholder="item.placeholder || '请输入所在地址'"
v-model="fmData[item.keyName]" v-model="fmData[item.keyName]"
:maxlength="item.maxlength || ''" :maxlength="item.maxlength || ''"
show-word-limit show-word-limit
size="small" size="small">
>
</el-input> </el-input>
<el-button <el-button style="margin-left: 10px"
style="margin-left: 10px"
type="default" type="default"
size="small" size="small"
ref="mapSearch" ref="mapSearch"
@click="handleSearchMap(item)" @click="handleSearchMap(item)">查询</el-button>
>查询</el-button <div id="app"
> class="div_map"></div>
<div id="app" class="div_map"></div> <div style="margin-top: 10px"
<div style="margin-top: 10px" v-show="false"> v-show="false">
<span>经度</span> <span>经度</span>
<el-input <el-input class="address-item-input2"
class="address-item-input2"
maxlength="50" maxlength="50"
placeholder="请输入经度" placeholder="请输入经度"
v-model="fmData[item.supKeys[0]]" v-model="fmData[item.supKeys[0]]">
>
</el-input> </el-input>
<span style="margin-left: 20px">纬度</span> <span style="margin-left: 20px">纬度</span>
<el-input <el-input class="address-item-input2"
class="address-item-input2"
maxlength="50" maxlength="50"
placeholder="请输入纬度" placeholder="请输入纬度"
v-model="fmData[item.supKeys[1]]" v-model="fmData[item.supKeys[1]]">
>
</el-input> </el-input>
</div> </div>
</div> </div>
@ -276,52 +240,44 @@
</div> </div>
</el-form> </el-form>
<div class="div_btn resi-btns" v-if="!formBtnFixed"> <div class="div_btn resi-btns"
<el-button size="small" @click="handleCancle">{{ v-if="!formBtnFixed">
<el-button size="small"
@click="handleCancle">{{
editConfig.cancelBtnName || "取消" editConfig.cancelBtnName || "取消"
}}</el-button> }}</el-button>
<el-button <el-button v-if="formType != 'watch'"
v-if="formType != 'watch'"
type="primary" type="primary"
size="small" size="small"
:disabled="btnDisable" :disabled="btnDisable"
@click="handleComfirm" @click="handleComfirm">{{ editConfig.confirmBtnName || "确定" }}</el-button>
>{{ editConfig.confirmBtnName || "确定" }}</el-button <slot name="operateSup"
>
<slot
name="operateSup"
v-bind:id="formId" v-bind:id="formId"
v-bind:info="fmData" v-bind:info="fmData"
v-bind:formType="formType" v-bind:formType="formType"></slot>
></slot>
</div> </div>
<slot <slot name="bottomSup"
name="bottomSup"
v-bind:id="formId" v-bind:id="formId"
v-bind:info="fmData" v-bind:info="fmData"
v-bind:formType="formType" v-bind:formType="formType"></slot>
></slot>
</div> </div>
<div class="div_btn resi-btns" v-if="formBtnFixed"> <div class="div_btn resi-btns"
<el-button size="small" @click="handleCancle">{{ v-if="formBtnFixed">
<el-button size="small"
@click="handleCancle">{{
editConfig.cancelBtnName || "取消" editConfig.cancelBtnName || "取消"
}}</el-button> }}</el-button>
<el-button <el-button v-if="formType != 'watch'"
v-if="formType != 'watch'"
type="primary" type="primary"
size="small" size="small"
:disabled="btnDisable" :disabled="btnDisable"
@click="handleComfirm" @click="handleComfirm">{{ editConfig.confirmBtnName || "确定" }}</el-button>
>{{ editConfig.confirmBtnName || "确定" }}</el-button <slot name="operateSup"
>
<slot
name="operateSup"
v-bind:id="formId" v-bind:id="formId"
v-bind:info="fmData" v-bind:info="fmData"
v-bind:formType="formType" v-bind:formType="formType"></slot>
></slot>
</div> </div>
</div> </div>
</template> </template>

30
src/views/modules/shequzhili/tuceng/anquan/xuncha/index.vue

@ -204,16 +204,30 @@ export default {
}, },
], ],
}, },
// {
// field: "",
// keyName: "scale",
// type: "select",
// optionUrl: "/sys/dict/data/dictlist",
// optionUrlParams: {
// dictType: "scale",
// },
// optionList: [],
// editDisabled: false,
// rules: [
// {
// required: true,
// message: "",
// trigger: "blur",
// },
// ],
// },
{ {
field: "规模", field: "规模",
keyName: "scale", keyName: "scaleTotal",
type: "select", type: "input",
optionUrl: "/sys/dict/data/dictlist", attach: '人',
optionUrlParams: {
dictType: "scale",
},
optionList: [],
editDisabled: false,
rules: [ rules: [
{ {
required: true, required: true,

Loading…
Cancel
Save