Commit d88c3781 authored by miaojiale's avatar miaojiale

修改

parent ebd48e90
...@@ -10,209 +10,204 @@ ...@@ -10,209 +10,204 @@
:style="formStyle" :style="formStyle"
@submit.native.prevent="handleSearch()" @submit.native.prevent="handleSearch()"
> >
<el-col <div v-for="(item, index) in forms" :key="index">
v-for="(item, index) in forms" <template v-if="!item.hidden">
v-if="!item.hidden" <el-form-item
:key="index" v-if="item.type != 'btn'"
:xs="item.xs ? item.xs : 24" :label="item.label ? item.label + (item.hiddenColon ? '' : ':') : ''"
:sm="item.sm ? item.sm : 12" :prop="item.prop"
:md="item.md ? item.md : 8" :rules="item.rules"
:lg="item.lg ? item.lg : 8" :label-width="item.labelWidth || '110px'"
:xl="item.xl ? item.xl : 6"
>
<el-form-item
v-if="item.type != 'btn'"
:label="item.label ? item.label + (item.hiddenColon ? '' : ':') : ''"
:prop="item.prop"
:rules="item.rules"
:label-width="item.labelWidth || '110px'"
>
<!-- 输入框 -->
<el-input
v-if="item.type === 'input'"
:id="item.id ? item.id : ''"
v-model="form[item.prop]"
:readonly="item.readonly"
:disabled="item.disabled"
clearable=""
:placeholder="item.placeholder"
@focus="item.focusFunc ? item.focusFunc($event) : {}"
@change="item.func ? item.func($event) : {}"
> >
<span v-if="item.unit" :slot="item.slot ? item.slot : 'append'"> <!-- 输入框 -->
{{ item.unit }}
</span>
</el-input>
<template v-if="item.type === 'textarea'">
<el-input <el-input
v-if="item.type === 'input'"
:id="item.id ? item.id : ''"
v-model="form[item.prop]" v-model="form[item.prop]"
type="textarea" :readonly="item.readonly"
:disabled="item.disabled"
clearable=""
:placeholder="item.placeholder" :placeholder="item.placeholder"
:rows="item.rows" @focus="item.focusFunc ? item.focusFunc($event) : {}"
:autosize="item.autosize" @change="item.func ? item.func($event) : {}"
:minlength="item.minlength" >
:maxlength="item.maxlength" <span v-if="item.unit" :slot="item.slot ? item.slot : 'append'">
:show-word-limit="item.showLimit" {{ item.unit }}
></el-input> </span>
</template> </el-input>
<!-- 模糊查询输入 --> <template v-if="item.type === 'textarea'">
<el-autocomplete <el-input
v-else-if="item.type === 'autocomplete'" v-model="form[item.prop]"
v-model="form[item.prop]" type="textarea"
:popper-class="item.popperClass" :placeholder="item.placeholder"
style="width: 100%" :rows="item.rows"
:fetch-suggestions="item.func" :autosize="item.autosize"
:placeholder="item.placeholder" :minlength="item.minlength"
clearable :maxlength="item.maxlength"
@select="item.selectfun ? item.selectfun($event) : {}" :show-word-limit="item.showLimit"
> ></el-input>
<template slot-scope="{ item }">
<div class="name">{{ item.value }}</div>
<span class="description">{{ item.description }}</span>
</template> </template>
</el-autocomplete>
<!-- 模糊查询选择 --> <!-- 模糊查询输入 -->
<el-select <el-autocomplete
v-else-if="item.type === 'remote'" v-else-if="item.type === 'autocomplete'"
v-model="form[item.prop]" v-model="form[item.prop]"
filterable :popper-class="item.popperClass"
remote style="width: 100%"
reserve-keyword :fetch-suggestions="item.func"
:placeholder="item.placeholder" :placeholder="item.placeholder"
:remote-method="item.remoteFunc" clearable
> @select="item.selectfun ? item.selectfun($event) : {}"
<el-option >
v-for="(opt, optIndex) in item.opts" <template slot-scope="{ item }">
:key="optIndex" <div class="name">{{ item.value }}</div>
:label="opt.label" <span class="description">{{ item.description }}</span>
:value="item.isSelect ? opt.selectValue : opt.value" </template>
></el-option> </el-autocomplete>
</el-select>
<!-- 日期区间 --> <!-- 模糊查询选择 -->
<el-date-picker <el-select
v-else-if="item.type === 'daterange'" v-else-if="item.type === 'remote'"
v-model="form[item.prop]" v-model="form[item.prop]"
type="daterange" filterable
align="right" remote
unlink-panels reserve-keyword
range-separator="-" :placeholder="item.placeholder"
start-placeholder="开始日期" :remote-method="item.remoteFunc"
end-placeholder="结束日期" >
:picker-options="item.options" <el-option
:format="item.format" v-for="(opt, optIndex) in item.opts"
:value-format="item.valueFormat" :key="optIndex"
></el-date-picker> :label="opt.label"
:value="item.isSelect ? opt.selectValue : opt.value"
></el-option>
</el-select>
<!-- 日期 --> <!-- 日期区间 -->
<el-date-picker <el-date-picker
v-else-if="item.type === 'date'" v-else-if="item.type === 'daterange'"
v-model="form[item.prop]" v-model="form[item.prop]"
:type="item.dateType ? item.dateType : 'date'" type="daterange"
:placeholder="item.placeholder" align="right"
:picker-options="item.options" unlink-panels
:format="item.format" range-separator="-"
:value-format="item.valueFormat" start-placeholder="开始日期"
></el-date-picker> end-placeholder="结束日期"
:picker-options="item.options"
:format="item.format"
:value-format="item.valueFormat"
@change="handleSearch"
></el-date-picker>
<!-- 下拉框 --> <!-- 日期 -->
<el-select <el-date-picker
v-else-if="item.type === 'select'" v-else-if="item.type === 'date'"
v-model="form[item.prop]" v-model="form[item.prop]"
clearable :type="item.dateType ? item.dateType : 'date'"
filterable :placeholder="item.placeholder"
:disabled="item.disabled" :picker-options="item.options"
:placeholder="item.placeholder ? item.placeholder : '请选择'" :format="item.format"
@change="item.func ? item.func($event) : {}" :value-format="item.valueFormat"
> @change="handleSearch"
<el-option ></el-date-picker>
<!-- 下拉框 -->
<el-select
v-else-if="item.type === 'select'"
v-model="form[item.prop]"
clearable
filterable
:disabled="item.disabled"
:placeholder="item.placeholder ? item.placeholder : '请选择'"
@change="item.func ? item.func($event) : handleSearch()"
>
<el-option
v-for="(opt, optIndex) in item.opts"
:key="optIndex"
:label="opt.label"
:value="item.isSelect ? opt.selectValue : opt.value"
></el-option>
</el-select>
<!-- 单选框 -->
<el-radio
v-for="(opt, optIndex) in item.opts" v-for="(opt, optIndex) in item.opts"
v-else-if="item.type === 'radio'"
:key="optIndex" :key="optIndex"
:label="opt.label" v-model="form[item.prop]"
:value="item.isSelect ? opt.selectValue : opt.value" :class="item.class"
></el-option> :label="opt.value"
</el-select> @change="item.func ? item.func($event) : {}"
>{{ opt.label }}</el-radio
<!-- 单选框 --> >
<el-radio
v-for="(opt, optIndex) in item.opts"
v-else-if="item.type === 'radio'"
:key="optIndex"
v-model="form[item.prop]"
:class="item.class"
:label="opt.value"
@change="item.func ? item.func($event) : {}"
>{{ opt.label }}</el-radio
>
<!-- 级联 --> <!-- 级联 -->
<el-cascader <el-cascader
v-else-if="item.type === 'cascader'" v-else-if="item.type === 'cascader'"
v-model="form[item.prop]" v-model="form[item.prop]"
:style="'width:' + item.width" :style="'width:' + item.width"
:options="item.list" :options="item.list"
:change-on-select="item.changeSelect" :change-on-select="item.changeSelect"
:show-all-levels="item.showLevel" :show-all-levels="item.showLevel"
></el-cascader> ></el-cascader>
<!-- 文字 --> <!-- 文字 -->
<span v-else-if="item.type === 'text'">{{ <span v-else-if="item.type === 'text'">{{
item.text ? item.text : form[item.prop] item.text ? item.text : form[item.prop]
}}</span> }}</span>
<!-- 数字输入框 --> <!-- 数字输入框 -->
<el-input-number <el-input-number
v-else-if="item.type === 'number'" v-else-if="item.type === 'number'"
v-model="form[item.prop]" v-model="form[item.prop]"
:controls="false" :controls="false"
:min="item.min || 0" :min="item.min || 0"
:precision="item.precision" :precision="item.precision"
:disabled="item.disabled || disabled" :disabled="item.disabled || disabled"
/> />
<!-- 图标 --> <!-- 图标 -->
<span v-else-if="item.type === 'svg'"> <span v-else-if="item.type === 'svg'">
<svg-icon <svg-icon
:style="item.style" :style="item.style"
:icon-class="item.iconClass" :icon-class="item.iconClass"
class="form-svg" class="form-svg"
@click.native="clickSvg(item.func)" @click.native="clickSvg(item.func)"
></svg-icon> ></svg-icon>
</span> </span>
</el-form-item> </el-form-item>
<div v-if="item.type == 'btn'" class="flex"> <div v-if="item.type == 'btn'" class="flex">
<template v-for="(btn, index) in item.list"> <template v-for="(btn, index) in item.list">
<el-button <el-button
v-if="btn.btnType == 'button'" v-if="btn.btnType == 'button'"
:key="index" :key="index"
:type="btn.type" :type="btn.type"
:size="size" :size="size"
:icon="btn.icon" :icon="btn.icon"
:style="btn.style" :style="btn.style"
@click="btn.func(form)" @click="btn.func(form)"
>{{ btn.btnText }}</el-button >{{ btn.btnText }}</el-button
>
<div
v-if="btn.btnType == 'tobeModified'"
:key="index"
class="tobeModified"
:style="{ backgroundColor: modifiedFlag ? '#4E68FF' : '#fff' }"
@click="changeModified"
>
<i
:style="{ color: modifiedFlag ? '#fff' : '#d9d9d9' }"
class="el-icon-check"
></i>
<span :style="{ color: modifiedFlag ? '#fff' : '#000' }"
>待修改({{ btn.tobeModified }}</span
> >
</div> <div
</template> v-if="btn.btnType == 'tobeModified'"
</div> :key="index"
</el-col> class="tobeModified"
:style="{ backgroundColor: modifiedFlag ? '#4E68FF' : '#fff' }"
@click="changeModified"
>
<i
:style="{ color: modifiedFlag ? '#fff' : '#d9d9d9' }"
class="el-icon-check"
></i>
<span :style="{ color: modifiedFlag ? '#fff' : '#000' }"
>待修改({{ btn.tobeModified }}</span
>
</div>
</template>
</div></template
>
</div>
<el-col v-if="lists" :xs="24" :sm="24" :lg="24" style="padding-left: 120px"> <el-col v-if="lists" :xs="24" :sm="24" :lg="24" style="padding-left: 120px">
<el-button <el-button
...@@ -342,6 +337,8 @@ export default { ...@@ -342,6 +337,8 @@ export default {
<style lang="scss" scoped> <style lang="scss" scoped>
.el-form-self { .el-form-self {
display: flex;
flex-wrap: wrap;
width: 100%; width: 100%;
margin: 20px 0; margin: 20px 0;
overflow: hidden; overflow: hidden;
......
...@@ -328,9 +328,10 @@ export default { ...@@ -328,9 +328,10 @@ export default {
}, },
onSearch(form) { onSearch(form) {
console.log(form) console.log(form)
this.pageIndex = 1
sessionStorage.setItem("followQuery-form", JSON.stringify(form)) sessionStorage.setItem("followQuery-form", JSON.stringify(form))
this.formEdit = form this.formEdit = form
// this.handleSearch() this.handleSearch()
}, },
onClickSearch() { onClickSearch() {
this.pageIndex = 1 this.pageIndex = 1
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment