|
@@ -10,7 +10,7 @@
|
|
|
</el-button>
|
|
|
<el-table :data="tableData" style="width: 100%">
|
|
|
<el-table-column align="center" label="序号" type="index" width="50"/>
|
|
|
- <el-table-column align="center" prop="conditionNotes" label="条件名称">
|
|
|
+ <el-table-column align="center" prop="conditionName" label="条件名称">
|
|
|
<template slot-scope="scope">
|
|
|
<el-input
|
|
|
v-model="scope.row.conditionName"
|
|
@@ -19,22 +19,23 @@
|
|
|
></el-input>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
- <el-table-column align="center" prop="conditionNotes" label="描述条件">
|
|
|
- <template slot-scope="scope">
|
|
|
- <el-input
|
|
|
- v-model="scope.row.conditionNotes"
|
|
|
- size="normal"
|
|
|
- clearable
|
|
|
- ></el-input>
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
+
|
|
|
+ <!-- <el-table-column align="center" prop="conditionNotes" label="描述条件">-->
|
|
|
+ <!-- <template slot-scope="scope">-->
|
|
|
+ <!-- <el-input-->
|
|
|
+ <!-- v-model="scope.row.conditionNotes"-->
|
|
|
+ <!-- size="normal"-->
|
|
|
+ <!-- clearable-->
|
|
|
+ <!-- ></el-input>-->
|
|
|
+ <!-- </template>-->
|
|
|
+ <!-- </el-table-column>-->
|
|
|
<el-table-column
|
|
|
align="center"
|
|
|
prop="conditionField"
|
|
|
label="条件字段"
|
|
|
width="100">
|
|
|
<template slot-scope="scope">
|
|
|
- <el-select v-model="scope.row.conditionField" placeholder="请选择条件字段" clearable filterable>
|
|
|
+ <el-select v-model="scope.row.conditionField" placeholder="请选择条件字段" filterable>
|
|
|
<el-option
|
|
|
v-for="item in fieldList"
|
|
|
:key="item.fieldName"
|
|
@@ -53,79 +54,79 @@
|
|
|
|
|
|
<el-table-column align="center" prop="conditionType" label="条件类型">
|
|
|
<template slot-scope="scope">
|
|
|
- <el-select v-model="scope.row.conditionType" clearable filterable>
|
|
|
+ <el-select v-model="scope.row.conditionType" filterable>
|
|
|
<el-option v-for="item in conditionTypeOptions" :key="item.value" :label="item.label" :value="item.value">
|
|
|
</el-option>
|
|
|
</el-select>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
|
|
|
- <el-table-column align="center" prop="componentType" label="显示类型">
|
|
|
- <template slot-scope="scope">
|
|
|
- <el-select v-model="scope.row.componentType" clearable filterable>
|
|
|
- <el-option
|
|
|
- v-for="item in componentTypeOptions"
|
|
|
- :key="item.value"
|
|
|
- :label="item.label"
|
|
|
- :value="item.value"
|
|
|
- >
|
|
|
- </el-option>
|
|
|
- </el-select>
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- <el-table-column align="center" prop="componentSize" label="尺寸">
|
|
|
- <template slot-scope="scope">
|
|
|
- <el-select v-model="scope.row.componentSize" clearable filterable>
|
|
|
- <el-option
|
|
|
- v-for="item in componentSizeOptions"
|
|
|
- :key="item.value"
|
|
|
- :label="item.label"
|
|
|
- :value="item.value"
|
|
|
- >
|
|
|
- </el-option>
|
|
|
- </el-select>
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- <el-table-column align="center" prop="componentIcon" label="图标">
|
|
|
- <template slot-scope="scope">
|
|
|
- <el-popover
|
|
|
- placement="bottom-start"
|
|
|
- width="460"
|
|
|
- trigger="click"
|
|
|
- @show="$refs['iconSelect'].reset()"
|
|
|
- >
|
|
|
- <IconSelect
|
|
|
- ref="iconSelect"
|
|
|
- @selected="
|
|
|
- (name) => {
|
|
|
- selected(name, scope.row);
|
|
|
- }
|
|
|
- "
|
|
|
- :active-icon="scope.row.componentIcon"
|
|
|
- />
|
|
|
- <el-input
|
|
|
- slot="reference"
|
|
|
- v-model="scope.row.componentIcon"
|
|
|
- placeholder="点击选择图标"
|
|
|
- readonly
|
|
|
- >
|
|
|
- <svg-icon
|
|
|
- v-if="scope.row.componentIcon"
|
|
|
- slot="prefix"
|
|
|
- :icon-class="scope.row.componentIcon"
|
|
|
- style="width: 25px"
|
|
|
- />
|
|
|
- <i v-else slot="prefix" class="el-icon-search el-input__icon"/>
|
|
|
- </el-input>
|
|
|
- </el-popover>
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
+
|
|
|
+
|
|
|
+ <!-- <el-table-column align="center" prop="componentType" label="显示类型">-->
|
|
|
+ <!-- <template slot-scope="scope">-->
|
|
|
+ <!-- <el-select v-model="scope.row.componentType" clearable filterable>-->
|
|
|
+ <!-- <el-option-->
|
|
|
+ <!-- v-for="item in componentTypeOptions"-->
|
|
|
+ <!-- :key="item.value"-->
|
|
|
+ <!-- :label="item.label"-->
|
|
|
+ <!-- :value="item.value">-->
|
|
|
+ <!-- </el-option>-->
|
|
|
+ <!-- </el-select>-->
|
|
|
+ <!-- </template>-->
|
|
|
+ <!-- </el-table-column>-->
|
|
|
+ <!-- <el-table-column align="center" prop="componentSize" label="尺寸">-->
|
|
|
+ <!-- <template slot-scope="scope">-->
|
|
|
+ <!-- <el-select v-model="scope.row.componentSize" clearable filterable>-->
|
|
|
+ <!-- <el-option-->
|
|
|
+ <!-- v-for="item in componentSizeOptions"-->
|
|
|
+ <!-- :key="item.value"-->
|
|
|
+ <!-- :label="item.label"-->
|
|
|
+ <!-- :value="item.value"-->
|
|
|
+ <!-- >-->
|
|
|
+ <!-- </el-option>-->
|
|
|
+ <!-- </el-select>-->
|
|
|
+ <!-- </template>-->
|
|
|
+ <!-- </el-table-column>-->
|
|
|
+ <!-- <el-table-column align="center" prop="componentIcon" label="图标">-->
|
|
|
+ <!-- <template slot-scope="scope">-->
|
|
|
+ <!-- <el-popover-->
|
|
|
+ <!-- placement="bottom-start"-->
|
|
|
+ <!-- width="460"-->
|
|
|
+ <!-- trigger="click"-->
|
|
|
+ <!-- @show="$refs['iconSelect'].reset()"-->
|
|
|
+ <!-- >-->
|
|
|
+ <!-- <IconSelect-->
|
|
|
+ <!-- ref="iconSelect"-->
|
|
|
+ <!-- @selected="-->
|
|
|
+ <!-- (name) => {-->
|
|
|
+ <!-- selected(name, scope.row);-->
|
|
|
+ <!-- }-->
|
|
|
+ <!-- "-->
|
|
|
+ <!-- :active-icon="scope.row.componentIcon"-->
|
|
|
+ <!-- />-->
|
|
|
+ <!-- <el-input-->
|
|
|
+ <!-- slot="reference"-->
|
|
|
+ <!-- v-model="scope.row.componentIcon"-->
|
|
|
+ <!-- placeholder="点击选择图标"-->
|
|
|
+ <!-- readonly-->
|
|
|
+ <!-- >-->
|
|
|
+ <!-- <svg-icon-->
|
|
|
+ <!-- v-if="scope.row.componentIcon"-->
|
|
|
+ <!-- slot="prefix"-->
|
|
|
+ <!-- :icon-class="scope.row.componentIcon"-->
|
|
|
+ <!-- style="width: 25px"-->
|
|
|
+ <!-- />-->
|
|
|
+ <!-- <i v-else slot="prefix" class="el-icon-search el-input__icon"/>-->
|
|
|
+ <!-- </el-input>-->
|
|
|
+ <!-- </el-popover>-->
|
|
|
+ <!-- </template>-->
|
|
|
+ <!-- </el-table-column>-->
|
|
|
|
|
|
<el-table-column align="center" prop="conditionDefaultValue" label="默认值">
|
|
|
<template slot-scope="scope">
|
|
|
- <!-- handleDisabled(scope.row)
|
|
|
- :disabled="tableData[scope.$index].componentType='input'"-->
|
|
|
- <el-input v-model="scope.row.conditionDefaultValue"></el-input>
|
|
|
+ <el-input v-model="scope.row.conditionDefaultValue"
|
|
|
+ :disabled="scope.row.conditionType!='button' && scope.row.conditionType!='radio'"></el-input>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
<el-table-column align="center" prop="sort" label="展示顺序">
|
|
@@ -151,15 +152,47 @@
|
|
|
</el-table-column>
|
|
|
</el-table>
|
|
|
<!-- 查询条件更多设置弹窗 -->
|
|
|
- <el-dialog :title="settings.title" :visible.sync="settings.open" width="400px" append-to-body fullscreen>
|
|
|
- <el-input
|
|
|
- type="textarea"
|
|
|
- :rows="8"
|
|
|
- placeholder="请输入当前下拉框数据来源sql语句,例如SELECT custom_name AS label, custom_no AS `value`, id AS id FROM customer"
|
|
|
- v-model="tableData[settings.dataIndex].conditionDatasource">
|
|
|
- </el-input>
|
|
|
+ <el-dialog :title="settings.title" :visible.sync="settings.open" width="400px" append-to-body>
|
|
|
<!-- 下拉框数据来源(字典、表数据)设置label、value -->
|
|
|
<!-- 时间范围(选择到年、月、日 时、分、秒) -->
|
|
|
+ <el-form label-width="100px">
|
|
|
+
|
|
|
+ <el-form-item label="条件描述">
|
|
|
+ <el-input v-model="tableData[settings.dataIndex].conditionNotes" type="text"
|
|
|
+ placeholder="描述例句(请输入姓名、请输入编号...)"/>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="显示类型">
|
|
|
+ <el-select v-model="tableData[settings.dataIndex].componentType" clearable filterable>
|
|
|
+ <el-option v-for="item in componentTypeOptions" :key="item.value" :label="item.label"
|
|
|
+ :value="item.value"/>
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="显示尺寸">
|
|
|
+ <el-select v-model="tableData[settings.dataIndex].componentSize" clearable filterable>
|
|
|
+ <el-option v-for="item in componentSizeOptions" :key="item.value" :label="item.label" :value="item.value"/>
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+
|
|
|
+ <el-form-item label="显示图标">
|
|
|
+ <el-popover placement="bottom-start" width="460" trigger="click" @show="$refs['iconSelect'].reset()">
|
|
|
+ <IconSelect ref="iconSelect" @selected="(name) => selected(name, settings.row)"
|
|
|
+ :active-icon="tableData[settings.dataIndex].componentIcon"/>
|
|
|
+
|
|
|
+
|
|
|
+ <el-input slot="reference" v-model="tableData[settings.dataIndex].componentIcon"
|
|
|
+ placeholder="点击选择图标" readonly>
|
|
|
+ <svg-icon v-if="tableData[settings.dataIndex].componentIcon" slot="prefix"
|
|
|
+ :icon-class="tableData[settings.dataIndex].componentIcon"
|
|
|
+ style="width: 25px"/>
|
|
|
+ <i v-else slot="prefix" class="el-icon-search el-input__icon"/>
|
|
|
+ </el-input>
|
|
|
+ </el-popover>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="下拉sql" v-show="tableData[settings.dataIndex].conditionType=='select'">
|
|
|
+ <el-input v-model="tableData[settings.dataIndex].conditionDatasource" type="textarea" :rows="8"
|
|
|
+ placeholder="请输入当前下拉框数据来源sql语句,例如:SELECT custom_name AS `label`, custom_no AS `value`, id AS id FROM {DBNAME}.customer"/>
|
|
|
+ </el-form-item>
|
|
|
+ </el-form>
|
|
|
</el-dialog>
|
|
|
</div>
|
|
|
</template>
|
|
@@ -179,6 +212,7 @@ export default {
|
|
|
data() {
|
|
|
return {
|
|
|
settings: {
|
|
|
+ row: {},
|
|
|
title: "",
|
|
|
open: false,
|
|
|
dataIndex: 0,
|
|
@@ -314,6 +348,7 @@ export default {
|
|
|
// console.log(scope.$index)
|
|
|
// 设置当前选择查询条件的sql语句
|
|
|
this.settings.dataIndex = scope.$index;
|
|
|
+ this.settings.row = scope.row;
|
|
|
this.settings.open = true
|
|
|
this.settings.title = "设置条件-" + scope.row.conditionName
|
|
|
},
|
|
@@ -329,7 +364,6 @@ export default {
|
|
|
},
|
|
|
// 选择图标
|
|
|
selected(name, row) {
|
|
|
- console.log(name, row);
|
|
|
row.componentIcon = name;
|
|
|
// this.btnGroupFormData.btnIcon = name;
|
|
|
},
|
|
@@ -344,7 +378,7 @@ export default {
|
|
|
conditionDefaultValue: "", //按钮值
|
|
|
sort: this.tableData.length + 1, //排序
|
|
|
componentType: "primary", //显示类型
|
|
|
- componentsSize: "default", //尺寸
|
|
|
+ componentSize: "default", //尺寸
|
|
|
componentIcon: "", //图标
|
|
|
});
|
|
|
},
|