|
|
|
@ -80,7 +80,6 @@ export default { |
|
|
|
searchUserSettingRecordList(params).then(({data})=>{ |
|
|
|
if (data && data.code === 0){ |
|
|
|
this.selectList = data.rows |
|
|
|
console.log(this.selectList) |
|
|
|
}else { |
|
|
|
this.$message.warning(data.msg) |
|
|
|
} |
|
|
|
@ -200,7 +199,6 @@ export default { |
|
|
|
moveSetting(index,direction){ |
|
|
|
let arr = [...this.tableList] |
|
|
|
let temp = arr[index+direction] |
|
|
|
console.log(temp) |
|
|
|
arr[index+direction] = arr[index] |
|
|
|
arr[index] = temp |
|
|
|
this.tableList = arr |
|
|
|
@ -375,8 +373,7 @@ export default { |
|
|
|
</div> |
|
|
|
<div style="display: flex;gap: 5px"> |
|
|
|
<div style="width: 85%;height: 400px" v-loading="loadingTableList" element-loading-text="加载中"> |
|
|
|
<!-- TODO 之后回来把filter去掉--> |
|
|
|
<el-table :data="tableList.filter(row => row.dataType !== 'D')" @select="selectRow" ref="settingTable" border height="100%" v-show="showSetting"> |
|
|
|
<el-table :data="tableList" @select="selectRow" ref="settingTable" border height="100%" v-show="showSetting"> |
|
|
|
<el-table-column |
|
|
|
type="selection" |
|
|
|
width="40" align="center"> |
|
|
|
@ -388,80 +385,56 @@ export default { |
|
|
|
</template> |
|
|
|
</el-table-column> |
|
|
|
<el-table-column label="属性名称" align="left" header-align="center" show-overflow-tooltip width="120" prop="fieldCaption"></el-table-column> |
|
|
|
<!-- <el-table-column label="条件" align="center" width="240">--> |
|
|
|
<!-- <template slot-scope="{row,$index}">--> |
|
|
|
<!-- <div v-if="row.dataType === 'D'" style="width: 100%">--> |
|
|
|
<!-- <el-date-picker--> |
|
|
|
<!-- v-model="row.formula"--> |
|
|
|
<!-- type="date"--> |
|
|
|
<!-- placeholder="选择日期"--> |
|
|
|
<!-- value-format="yyyy-MM-dd" style="width: 100%;"--> |
|
|
|
<!-- />--> |
|
|
|
<!-- </div>--> |
|
|
|
<!-- <div v-else>--> |
|
|
|
<!-- <el-input v-model="row.formula" clearable>--> |
|
|
|
<!-- <el-select slot="prepend" clearable v-model="row.symbol" style="width: 100px;cursor:pointer;">--> |
|
|
|
<!-- <!– <el-option value="eq" label="等于"></el-option>–>--> |
|
|
|
<!-- <!– <el-option value="gt" label="大于"></el-option>–>--> |
|
|
|
<!-- <!– <el-option value="ge" label="大于等于"></el-option>–>--> |
|
|
|
<!-- <!– <el-option value="lt" label="小于"></el-option>–>--> |
|
|
|
<!-- <!– <el-option value="le" label="小于等于"></el-option>–>--> |
|
|
|
<!-- <!– <el-option value="between" label="之间"></el-option>–>--> |
|
|
|
<!-- <!– <el-option value="in" label="或者"></el-option>–>--> |
|
|
|
<!-- <!– <el-option value="ne" label="不等于"></el-option>–>--> |
|
|
|
<!-- <!– <el-option value="like" label="LIKE"></el-option>–>--> |
|
|
|
<!-- </el-select>--> |
|
|
|
<!-- </el-input>--> |
|
|
|
<!-- </div>--> |
|
|
|
<!-- </template>--> |
|
|
|
<!-- </el-table-column>--> |
|
|
|
<el-table-column label="条件" align="center" width="240"> |
|
|
|
<el-table-column label="条件" align="center" header-align="center" width="240"> |
|
|
|
<template slot-scope="{row,$index}"> |
|
|
|
<!-- 情况一:日期类型 D --> |
|
|
|
<div v-if="row.dataType === 'D'"> |
|
|
|
<el-input v-model="row.formula" clearable> |
|
|
|
<el-date-picker |
|
|
|
v-model="row.formula" |
|
|
|
type="datetime" |
|
|
|
placeholder="选择日期" |
|
|
|
value-format="yyyy-MM-dd" |
|
|
|
style="width: 100%; margin-bottom: 5px;" |
|
|
|
/> |
|
|
|
<el-select v-model="row.symbol" style="width: 100px; cursor: pointer;" clearable> |
|
|
|
<el-option value="eq" label="等于"></el-option> |
|
|
|
<el-option value="gt" label="大于"></el-option> |
|
|
|
<el-option value="ge" label="大于等于"></el-option> |
|
|
|
<el-option value="lt" label="小于"></el-option> |
|
|
|
<el-option value="le" label="小于等于"></el-option> |
|
|
|
<el-option value="between" label="之间"></el-option> |
|
|
|
<el-option value="ne" label="不等于"></el-option> |
|
|
|
</el-select> |
|
|
|
</el-input> |
|
|
|
</div> |
|
|
|
<!-- 情况二:数字类型 N --> |
|
|
|
<div v-else-if="row.dataType === 'N'" style="width: 100%"> |
|
|
|
<el-input v-model="row.formula" style="width: 100%" type="number" clearable /> |
|
|
|
<el-select v-model="row.symbol" style="width: 100px; cursor: pointer; margin-top: 5px;" clearable> |
|
|
|
<div v-if="row.dataType === 'D'" style="display: flex; align-items: center;"> |
|
|
|
<el-select v-model="row.symbol" style="color:#f5f7fa; width: 82px; cursor: pointer;" clearable> |
|
|
|
<el-option value="eq" label="等于"></el-option> |
|
|
|
<el-option value="gt" label="大于"></el-option> |
|
|
|
<el-option value="ge" label="大于等于"></el-option> |
|
|
|
<el-option value="lt" label="小于"></el-option> |
|
|
|
<el-option value="le" label="小于等于"></el-option> |
|
|
|
<el-option value="between" label="之间"></el-option> |
|
|
|
<el-option value="in" label="或者"></el-option> |
|
|
|
<el-option value="ne" label="不等于"></el-option> |
|
|
|
</el-select> |
|
|
|
<el-date-picker |
|
|
|
v-model="row.formula" |
|
|
|
type="datetime" |
|
|
|
placeholder="选择日期时间" |
|
|
|
value-format="yyyy-MM-dd HH:mm:ss" style="margin-left: -1px; flex: 1;" |
|
|
|
/> |
|
|
|
</div> |
|
|
|
|
|
|
|
<div v-if="row.dataType === 'S'" style="display: flex; align-items: center;"> |
|
|
|
<el-select slot="prepend" clearable v-model="row.symbol" style="width: 80px; cursor: pointer;"> |
|
|
|
<el-option |
|
|
|
value="in" |
|
|
|
label="属于" |
|
|
|
v-if="(row.menuId === '102001' && row.fieldName === 'createBy') || |
|
|
|
(row.menuId === '102004' && row.fieldName === 'createBy') || |
|
|
|
(row.menuId === '107001' && row.fieldName === 'createBy') || |
|
|
|
(row.menuId === '103001' && row.fieldName === 'createBy')" |
|
|
|
/> |
|
|
|
<el-option value="eq" label="等于" v-else /> |
|
|
|
<el-option value="ne" label="不等于" v-else /> |
|
|
|
<el-option value="like" label="LIKE" v-else /> |
|
|
|
</el-select> |
|
|
|
<el-input v-model="row.formula" clearable style="margin-left: -1px; flex: 1;" /> |
|
|
|
</div> |
|
|
|
|
|
|
|
<!-- 情况三:字符串类型 S --> |
|
|
|
<div v-else-if="row.dataType === 'S'" style="width: 100%"> |
|
|
|
<el-input v-model="row.formula" clearable /> |
|
|
|
<el-select v-model="row.symbol" style="width: 100px; cursor: pointer; margin-top: 5px;" clearable> |
|
|
|
<div v-else-if="row.dataType === 'N'" style="display: flex; align-items: center;"> |
|
|
|
<el-select slot="prepend" clearable v-model="row.symbol" style="width: 80px; cursor: pointer;"> |
|
|
|
<el-option value="eq" label="等于"></el-option> |
|
|
|
<el-option value="gt" label="大于"></el-option> |
|
|
|
<el-option value="ge" label="大于等于"></el-option> |
|
|
|
<el-option value="lt" label="小于"></el-option> |
|
|
|
<el-option value="le" label="小于等于"></el-option> |
|
|
|
<el-option value="ne" label="不等于"></el-option> |
|
|
|
<el-option value="like" label="LIKE"></el-option> |
|
|
|
<el-option value="in" label="或者"></el-option> |
|
|
|
</el-select> |
|
|
|
<el-input v-model="row.formula" |
|
|
|
type="text" |
|
|
|
clearable style="margin-left: -1px; flex: 1;" |
|
|
|
oninput="this.value = this.value.replace(/[^0-9.]/g, '')" |
|
|
|
onafterpaste="this.value = this.value.replace(/[^0-9.]/g, '')" /> |
|
|
|
</div> |
|
|
|
</template> |
|
|
|
</el-table-column> |
|
|
|
@ -479,43 +452,60 @@ export default { |
|
|
|
<el-input-number v-model="row.orderSeq" clearable style="width: 100%;" :controls="false"></el-input-number> |
|
|
|
</template> |
|
|
|
</el-table-column> |
|
|
|
<el-table-column label="数据库字段" align="center" prop="originalField" show-overflow-tooltip width="120"></el-table-column> |
|
|
|
</el-table> |
|
|
|
<!-- TODO 暂时用filter,之后再处理--> |
|
|
|
<el-table :data="copyTableList.filter(row => row.dataType !== 'D')" border height="100%" v-show="!showSetting"> |
|
|
|
<el-table :data="copyTableList" border height="100%" v-show="!showSetting"> |
|
|
|
<el-table-column label="属性名称" align="left" header-align="center" show-overflow-tooltip width="120" prop="fieldCaption"></el-table-column> |
|
|
|
<el-table-column label="条件" align="center" header-align="center" width="240"> |
|
|
|
<template slot-scope="{row,$index}"> |
|
|
|
<el-input v-model="row.formula" clearable> |
|
|
|
<el-select slot="prepend" clearable v-model="row.symbol" style="width: 80px;cursor:pointer;"> |
|
|
|
<!-- <el-option value="eq" label="等于"></el-option> |
|
|
|
<el-option value="gt" label="大于"></el-option> |
|
|
|
<el-option value="ge" label="大于等于"></el-option> |
|
|
|
<el-option value="lt" label="小于"></el-option> |
|
|
|
<el-option value="le" label="小于等于"></el-option> |
|
|
|
<el-option value="between" label="之间"></el-option> |
|
|
|
<el-option value="in" label="或者"></el-option> |
|
|
|
<el-option value="ne" label="不等于"></el-option> |
|
|
|
<el-option value="like" label="LIKE"></el-option>--> |
|
|
|
<!-- 数字类型支持的条件 --> |
|
|
|
<el-option value="eq" label="等于" v-if="row.dataType === 'N' || row.dataType === 'D'"></el-option> |
|
|
|
<el-option value="gt" label="大于" v-if="row.dataType === 'N' || row.dataType === 'D'"></el-option> |
|
|
|
<el-option value="ge" label="大于等于" v-if="row.dataType === 'N' || row.dataType === 'D'"></el-option> |
|
|
|
<el-option value="lt" label="小于" v-if="row.dataType === 'N' || row.dataType === 'D'"></el-option> |
|
|
|
<el-option value="le" label="小于等于" v-if="row.dataType === 'N' || row.dataType === 'D'"></el-option> |
|
|
|
<el-option value="between" label="之间" v-if="row.dataType === 'N' || row.dataType === 'D'"></el-option> |
|
|
|
<div v-if="row.dataType === 'D'" style="display: flex; align-items: center;"> |
|
|
|
<el-select v-model="row.symbol" style="color:#f5f7fa; width: 82px; cursor: pointer;" clearable> |
|
|
|
<el-option value="eq" label="等于"></el-option> |
|
|
|
<el-option value="gt" label="大于"></el-option> |
|
|
|
<el-option value="ge" label="大于等于"></el-option> |
|
|
|
<el-option value="lt" label="小于"></el-option> |
|
|
|
<el-option value="le" label="小于等于"></el-option> |
|
|
|
<el-option value="ne" label="不等于"></el-option> |
|
|
|
</el-select> |
|
|
|
<el-date-picker |
|
|
|
v-model="row.formula" |
|
|
|
type="datetime" |
|
|
|
placeholder="选择日期时间" |
|
|
|
value-format="yyyy-MM-dd HH:mm:ss" style="margin-left: -1px; flex: 1;" |
|
|
|
/> |
|
|
|
</div> |
|
|
|
|
|
|
|
<!-- 字符串类型支持的条件 --> |
|
|
|
<el-option value="eq" label="等于" v-if="row.dataType === 'S'"></el-option> |
|
|
|
<el-option value="ne" label="不等于" v-if="row.dataType === 'S'"></el-option> |
|
|
|
<el-option value="like" label="LIKE" v-if="row.dataType === 'S'"></el-option> |
|
|
|
<el-option value="in" label="或者" v-if="row.dataType === 'S'"></el-option> |
|
|
|
<div v-if="row.dataType === 'S'" style="display: flex; align-items: center;"> |
|
|
|
<el-select slot="prepend" clearable v-model="row.symbol" style="width: 80px; cursor: pointer;"> |
|
|
|
<el-option |
|
|
|
value="in" |
|
|
|
label="属于" |
|
|
|
v-if="(row.menuId === '102001' && row.fieldName === 'createBy') || |
|
|
|
(row.menuId === '102004' && row.fieldName === 'createBy') || |
|
|
|
(row.menuId === '107001' && row.fieldName === 'createBy') || |
|
|
|
(row.menuId === '103001' && row.fieldName === 'createBy')" |
|
|
|
/> |
|
|
|
<el-option value="eq" label="等于" v-else /> |
|
|
|
<el-option value="ne" label="不等于" v-else /> |
|
|
|
<el-option value="like" label="LIKE" v-else /> |
|
|
|
</el-select> |
|
|
|
<el-input v-model="row.formula" clearable style="margin-left: -1px; flex: 1;" /> |
|
|
|
</div> |
|
|
|
|
|
|
|
<!-- 通用条件 --> |
|
|
|
<el-option value="ne" label="不等于" v-if="row.dataType !== 'S'"></el-option> |
|
|
|
<el-option value="in" label="或者" v-if="row.dataType === 'N'"></el-option> |
|
|
|
<div v-else-if="row.dataType === 'N'" style="display: flex; align-items: center;"> |
|
|
|
<el-select slot="prepend" clearable v-model="row.symbol" style="width: 80px; cursor: pointer;"> |
|
|
|
<el-option value="eq" label="等于"></el-option> |
|
|
|
<el-option value="gt" label="大于"></el-option> |
|
|
|
<el-option value="ge" label="大于等于"></el-option> |
|
|
|
<el-option value="lt" label="小于"></el-option> |
|
|
|
<el-option value="le" label="小于等于"></el-option> |
|
|
|
<el-option value="ne" label="不等于"></el-option> |
|
|
|
</el-select> |
|
|
|
</el-input> |
|
|
|
<el-input v-model="row.formula" |
|
|
|
type="text" |
|
|
|
clearable style="margin-left: -1px; flex: 1;" |
|
|
|
oninput="this.value = this.value.replace(/[^0-9.]/g, '')" |
|
|
|
onafterpaste="this.value = this.value.replace(/[^0-9.]/g, '')" /> |
|
|
|
</div> |
|
|
|
</template> |
|
|
|
</el-table-column> |
|
|
|
<el-table-column label="排序" align="center" prop="sortBy" show-overflow-tooltip width="140"> |
|
|
|
|