mirror of
https://gitee.com/anji-plus/report.git
synced 2026-03-20 09:38:35 +08:00
Update index.vue
This commit is contained in:
@@ -6,224 +6,103 @@
|
||||
!-->
|
||||
<template>
|
||||
<div class="app-container">
|
||||
<el-form>
|
||||
<el-form v-permission="'resultsetManage:query'">
|
||||
<!-- 搜索 -->
|
||||
<el-row :gutter="10">
|
||||
<el-col :xs="24"
|
||||
:sm="20"
|
||||
:md="6"
|
||||
:lg="6"
|
||||
:xl="6">
|
||||
<el-form-item label="数据集编码"
|
||||
label-width="120px">
|
||||
<el-input v-model.trim="query.setCode"
|
||||
size="mini"
|
||||
clearable
|
||||
placeholder="数据集编码"
|
||||
class="filter-item" />
|
||||
<el-col :xs="24" :sm="20" :md="6" :lg="6" :xl="6">
|
||||
<el-form-item label="数据集编码" label-width="120px">
|
||||
<el-input v-model.trim="query.setCode" size="mini" clearable placeholder="数据集编码" class="filter-item" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :xs="24"
|
||||
:sm="20"
|
||||
:md="6"
|
||||
:lg="6"
|
||||
:xl="6">
|
||||
<el-form-item label="数据集名称"
|
||||
label-width="120px">
|
||||
<el-input v-model.trim="query.setName"
|
||||
size="mini"
|
||||
clearable
|
||||
placeholder="数据源名称"
|
||||
class="filter-item" />
|
||||
<el-col :xs="24" :sm="20" :md="6" :lg="6" :xl="6">
|
||||
<el-form-item label="数据集名称" label-width="120px">
|
||||
<el-input v-model.trim="query.setName" size="mini" clearable placeholder="数据源名称" class="filter-item" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :xs="24"
|
||||
:sm="20"
|
||||
:md="4"
|
||||
:lg="4"
|
||||
:xl="4" class="query">
|
||||
<el-button type="primary"
|
||||
size="mini"
|
||||
@click="search('form')">查询</el-button>
|
||||
<el-button type="danger"
|
||||
size="mini"
|
||||
@click="reset('form')">重置</el-button>
|
||||
<el-col :xs="24" :sm="20" :md="4" :lg="4" :xl="4" class="query">
|
||||
<el-button type="primary" size="mini" @click="search('form')">查询</el-button>
|
||||
<el-button type="danger" size="mini" @click="reset('form')">重置</el-button>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</el-form>
|
||||
<el-button type="primary"
|
||||
size="mini"
|
||||
@click="addOrEditDataSet()">+ 新增</el-button>
|
||||
<el-button type="primary" size="mini" @click="addOrEditDataSet()" v-permission="'resultsetManage:insert'">+ 新增</el-button>
|
||||
|
||||
<!--表格渲染-->
|
||||
<el-table ref="table"
|
||||
v-loading="listLoading"
|
||||
border
|
||||
:data="data"
|
||||
size="small"
|
||||
class="mt10"
|
||||
style="width: 100%">
|
||||
<el-table-column align="center"
|
||||
label="序号"
|
||||
type="index"
|
||||
min-width="40" />
|
||||
<el-table-column prop="setName"
|
||||
label="数据集名称" />
|
||||
<el-table-column prop="setCode"
|
||||
label="数据集编码" />
|
||||
<el-table-column prop="setDesc"
|
||||
label="描述" />
|
||||
<el-table ref="table" v-loading="listLoading" border :data="data" size="small" class="mt10" style="width: 100%">
|
||||
<el-table-column align="center" label="序号" type="index" min-width="40" />
|
||||
<el-table-column prop="setName" label="数据集名称" />
|
||||
<el-table-column prop="setCode" label="数据集编码" />
|
||||
<el-table-column prop="setDesc" label="描述" />
|
||||
<el-table-column label="折叠列">
|
||||
<template slot-scope="scope">
|
||||
<el-button @click="isShowCaseResult(scope.row)">查看</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="createBy"
|
||||
width="100"
|
||||
label="创建人" />
|
||||
<el-table-column prop="createTime"
|
||||
width="140"
|
||||
label="创建人" />
|
||||
<el-table-column prop="updateBy"
|
||||
width="100"
|
||||
label="更新人" />
|
||||
<el-table-column prop="updateTime"
|
||||
width="140"
|
||||
label="更新时间" />
|
||||
<el-table-column label="操作"
|
||||
width="120px"
|
||||
align="center">
|
||||
<el-table-column prop="createBy" width="100" label="创建人" />
|
||||
<el-table-column prop="createTime" width="140" label="创建人" />
|
||||
<el-table-column prop="updateBy" width="100" label="更新人" />
|
||||
<el-table-column prop="updateTime" width="140" label="更新时间" />
|
||||
<el-table-column label="操作" width="120px" align="center">
|
||||
<template slot-scope="scope">
|
||||
<el-button size="mini"
|
||||
type="text"
|
||||
@click="addOrEditDataSet(scope.row)">编辑</el-button>
|
||||
<el-button size="mini" type="text" @click="addOrEditDataSet(scope.row)" v-permission="'resultsetManage:update'">编辑</el-button>
|
||||
<!-- <el-popconfirm :title="'确定删除' + scope.row.setName + '吗?'"
|
||||
@onConfirm="delect(scope.row)"> -->
|
||||
<el-button slot="reference"
|
||||
type="text"
|
||||
@click="delect(scope.row)">删除</el-button>
|
||||
<el-button slot="reference" type="text" @click="delect(scope.row)" v-permission="'resultsetManage:delete'">删除</el-button>
|
||||
<!-- </el-popconfirm> -->
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<!--分页组件-->
|
||||
<div class="block">
|
||||
<el-pagination :total="totalCount"
|
||||
:page-sizes="[10, 20, 50, 100]"
|
||||
:page-size="params.pageSize"
|
||||
:current-page="params.pageNumber"
|
||||
layout="total, sizes, prev, pager, next, jumper"
|
||||
@size-change="handleSizeChange"
|
||||
@current-change="handleCurrentChange" />
|
||||
<el-pagination :total="totalCount" :page-sizes="[10, 20, 50, 100]" :page-size="params.pageSize" :current-page="params.pageNumber" layout="total, sizes, prev, pager, next, jumper" @size-change="handleSizeChange" @current-change="handleCurrentChange" />
|
||||
</div>
|
||||
|
||||
<!--表单组件-->
|
||||
<el-dialog :visible.sync="dialogFormVisible"
|
||||
:title="dialogFormVisibleTitle"
|
||||
:close-on-click-modal="false"
|
||||
:close-on-press-escape="false"
|
||||
:before-close="handleClose"
|
||||
width="65%">
|
||||
<el-form ref="form"
|
||||
:model="formData"
|
||||
:rules="formRules"
|
||||
size="small"
|
||||
label-width="130px">
|
||||
<el-dialog :visible.sync="dialogFormVisible" :title="dialogFormVisibleTitle" :close-on-click-modal="false" :close-on-press-escape="false" :before-close="handleClose" width="65%">
|
||||
<el-form ref="form" :model="formData" :rules="formRules" size="small" label-width="130px">
|
||||
<el-row :gutter="10">
|
||||
<el-col :xs="24"
|
||||
:sm="20"
|
||||
:md="6"
|
||||
:lg="6"
|
||||
:xl="6">
|
||||
<el-form-item label="数据源"
|
||||
prop="sourceCode">
|
||||
<el-select v-model.trim="formData.sourceCode"
|
||||
class="organisation"
|
||||
size="mini"
|
||||
@change="changeSource">
|
||||
<el-option v-for="item in sourceList"
|
||||
:key="item.sourceName"
|
||||
:label="item.sourceName"
|
||||
:value="item.sourceCode" />
|
||||
<el-col :xs="24" :sm="20" :md="6" :lg="6" :xl="6">
|
||||
<el-form-item label="数据源" prop="sourceCode">
|
||||
<el-select v-model.trim="formData.sourceCode" class="organisation" size="mini" @change="changeSource">
|
||||
<el-option v-for="item in sourceList" :key="item.sourceName" :label="item.sourceName" :value="item.sourceCode" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :xs="24"
|
||||
:sm="20"
|
||||
:md="8"
|
||||
:lg="8"
|
||||
:xl="8">
|
||||
<el-form-item label="数据集编码"
|
||||
prop="setCode">
|
||||
<el-input :disabled="updataDisabled" v-model.trim="formData.setCode"
|
||||
size="mini" />
|
||||
<el-col :xs="24" :sm="20" :md="8" :lg="8" :xl="8">
|
||||
<el-form-item label="数据集编码" prop="setCode">
|
||||
<el-input :disabled="updataDisabled" v-model.trim="formData.setCode" size="mini" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :xs="24"
|
||||
:sm="20"
|
||||
:md="8"
|
||||
:lg="8"
|
||||
:xl="8">
|
||||
<el-form-item label="数据集名称"
|
||||
prop="setName">
|
||||
<el-input v-model.trim="formData.setName"
|
||||
size="mini" />
|
||||
<el-col :xs="24" :sm="20" :md="8" :lg="8" :xl="8">
|
||||
<el-form-item label="数据集名称" prop="setName">
|
||||
<el-input v-model.trim="formData.setName" size="mini" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :xs="24"
|
||||
:sm="20"
|
||||
:md="22"
|
||||
:lg="22"
|
||||
:xl="22">
|
||||
<el-col :xs="24" :sm="20" :md="22" :lg="22" :xl="22">
|
||||
<el-form-item label="数据集描述">
|
||||
<el-input v-model.trim="formData.setDesc"
|
||||
size="mini" />
|
||||
<el-input v-model.trim="formData.setDesc" size="mini" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
||||
<el-col :xs="24"
|
||||
:sm="20"
|
||||
:md="22"
|
||||
:lg="22"
|
||||
:xl="22"
|
||||
class="code-mirror-form">
|
||||
<el-col :xs="24" :sm="20" :md="22" :lg="22" :xl="22" class="code-mirror-form">
|
||||
<el-form-item label="查询SQL或请求体">
|
||||
<div class="codemirror">
|
||||
<codemirror v-model.trim="formData.dynSentence"
|
||||
:options="optionsSql"
|
||||
style="height: 190px" />
|
||||
<codemirror v-model.trim="formData.dynSentence" :options="optionsSql" style="height: 190px" />
|
||||
</div>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row :gutter="10">
|
||||
<el-col :xs="24"
|
||||
:sm="20"
|
||||
:md="22"
|
||||
:lg="22"
|
||||
:xl="22">
|
||||
<el-form label-width="100px"
|
||||
class="demo-ruleForm">
|
||||
<el-tabs v-model.trim="tabsActiveName"
|
||||
type="card"
|
||||
@tab-click="handleClickTabs">
|
||||
<el-tab-pane label="查询参数"
|
||||
name="first">
|
||||
<el-button v-if="tableData.length == 0"
|
||||
type="text"
|
||||
size="small"
|
||||
@click="addRow()">添加</el-button>
|
||||
<el-table :data="tableData"
|
||||
border
|
||||
style="width: 100%">
|
||||
<el-table-column align="center"
|
||||
label="序号"
|
||||
type="index"
|
||||
min-width="40" />
|
||||
<el-col :xs="24" :sm="20" :md="22" :lg="22" :xl="22">
|
||||
<el-form label-width="100px" class="demo-ruleForm">
|
||||
<el-tabs v-model.trim="tabsActiveName" type="card" @tab-click="handleClickTabs">
|
||||
<el-tab-pane label="查询参数" name="first">
|
||||
<el-button v-if="tableData.length == 0" type="text" size="small" @click="addRow()">添加</el-button>
|
||||
<el-table :data="tableData" border style="width: 100%">
|
||||
<el-table-column align="center" label="序号" type="index" min-width="40" />
|
||||
<el-table-column label="参数名">
|
||||
<template slot-scope="scope">
|
||||
<el-input v-model.trim="tableData[scope.$index].paramName"
|
||||
:disabled="tableData[scope.$index].paramName == 'pageSize' || tableData[scope.$index].paramName == 'pageNumber'" />
|
||||
<el-input v-model.trim="tableData[scope.$index].paramName" :disabled="tableData[scope.$index].paramName == 'pageSize' || tableData[scope.$index].paramName == 'pageNumber'" />
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="描述">
|
||||
@@ -241,14 +120,10 @@
|
||||
<el-input v-model.trim="tableData[scope.$index].sampleItem" />
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="校验"
|
||||
width="220">
|
||||
<el-table-column label="校验" width="220">
|
||||
<template slot-scope="scope">
|
||||
<el-checkbox v-model="tableData[scope.$index].mandatory"
|
||||
@change="Mandatory(scope.$index)">必选</el-checkbox>
|
||||
<el-button type="primary"
|
||||
icon="el-icon-plus"
|
||||
@click="permissionClick(scope.row, scope.$index)"> 高级规则 </el-button>
|
||||
<el-checkbox v-model="tableData[scope.$index].mandatory" @change="Mandatory(scope.$index)">必选</el-checkbox>
|
||||
<el-button type="primary" icon="el-icon-plus" @click="permissionClick(scope.row, scope.$index)"> 高级规则 </el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<!-- <el-table-column :label="$t('btn.operationCol')"
|
||||
@@ -263,65 +138,34 @@
|
||||
</template>
|
||||
</el-table-column> -->
|
||||
</el-table>
|
||||
<el-checkbox v-model="isShowPagination"
|
||||
@change="changePagination">加入分页参数</el-checkbox>
|
||||
<el-checkbox v-model="isShowPagination" @change="changePagination">加入分页参数</el-checkbox>
|
||||
</el-tab-pane>
|
||||
<el-tab-pane label="数据转换"
|
||||
name="second">
|
||||
<el-tab-pane label="数据转换" name="second">
|
||||
<template>
|
||||
<div class="filterWrapper">
|
||||
<div class="filterTable">
|
||||
<div v-for="(item, index) in itemFilterList"
|
||||
:key="index"
|
||||
class="filterBox">
|
||||
<div v-for="(item, index) in itemFilterList" :key="index" class="filterBox">
|
||||
<div class="box">
|
||||
<Dictionary v-model="item.transformType"
|
||||
:updata-dict="item.transformType"
|
||||
:dict-key="'TRANSFORM_TYPE'" />
|
||||
<el-button type="text"
|
||||
class="reduceFilter"
|
||||
icon="el-icon-close"
|
||||
@click="reduceFilter(item)" />
|
||||
<el-button v-if="item.transformType == 'js' || item.transformType == 'dict'"
|
||||
type="text"
|
||||
class="editor"
|
||||
icon="el-icon-edit"
|
||||
@click="filterScriptBtn(item)" />
|
||||
<Dictionary v-model="item.transformType" :updata-dict="item.transformType" :dict-key="'TRANSFORM_TYPE'" />
|
||||
<el-button type="text" class="reduceFilter" icon="el-icon-close" @click="reduceFilter(item)" />
|
||||
<el-button v-if="item.transformType == 'js' || item.transformType == 'dict'" type="text" class="editor" icon="el-icon-edit" @click="filterScriptBtn(item)" />
|
||||
</div>
|
||||
<el-button type="text"
|
||||
class="font-icon-right"
|
||||
icon="el-icon-right" />
|
||||
<el-button type="text" class="font-icon-right" icon="el-icon-right" />
|
||||
</div>
|
||||
<el-dialog :title="dialogTitle"
|
||||
:visible.sync="dialogSwitchVisible"
|
||||
width="60%"
|
||||
min-height="400px"
|
||||
append-to-body>
|
||||
<el-dialog :title="dialogTitle" :visible.sync="dialogSwitchVisible" width="60%" min-height="400px" append-to-body>
|
||||
<div v-if="isItemFilterType.transformType == 'js'">
|
||||
<div class="codemirror">
|
||||
<!-- //自定义高级规则? -->
|
||||
<codemirror v-model.trim="transformScript"
|
||||
:options="optionsJavascript"
|
||||
style="height: 210px;overflow: hidden;" />
|
||||
<codemirror v-model.trim="transformScript" :options="optionsJavascript" style="height: 210px;overflow: hidden;" />
|
||||
</div>
|
||||
</div>
|
||||
<div v-else>
|
||||
<div v-for="(item, index) in tableData2"
|
||||
:key="index">
|
||||
<div v-for="(item, index) in tableData2" :key="index">
|
||||
<label>字典项名称:</label>
|
||||
<el-input v-model.trim="item.name"
|
||||
size="small"
|
||||
style="width: 25%" />
|
||||
<el-button type="danger"
|
||||
size="small"
|
||||
plain
|
||||
icon="el-icon-delete"
|
||||
@click="delAllDict(index, tableData2)" />
|
||||
<el-table :data="item.children"
|
||||
border
|
||||
style="width: 80%">
|
||||
<el-table-column label="key"
|
||||
width="180">
|
||||
<el-input v-model.trim="item.name" size="small" style="width: 25%" />
|
||||
<el-button type="danger" size="small" plain icon="el-icon-delete" @click="delAllDict(index, tableData2)" />
|
||||
<el-table :data="item.children" border style="width: 80%">
|
||||
<el-table-column label="key" width="180">
|
||||
<template slot-scope="scope">
|
||||
<el-input v-model.trim="item.children[scope.$index].name" />
|
||||
</template>
|
||||
@@ -331,54 +175,33 @@
|
||||
<el-input v-model.trim="item.children[scope.$index].value" />
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="操作"
|
||||
width="150px"
|
||||
align="center">
|
||||
<el-table-column label="操作" width="150px" align="center">
|
||||
<template slot-scope="scope">
|
||||
<el-button type="success"
|
||||
circle
|
||||
plain
|
||||
icon="el-icon-plus"
|
||||
@click="addDict(scope.$index, item.children)" />
|
||||
<el-button type="success" circle plain icon="el-icon-plus" @click="addDict(scope.$index, item.children)" />
|
||||
|
||||
<el-button type="danger"
|
||||
circle
|
||||
plain
|
||||
icon="el-icon-delete"
|
||||
@click="delDict(scope.$index, item.children)" />
|
||||
<el-button type="danger" circle plain icon="el-icon-delete" @click="delDict(scope.$index, item.children)" />
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
</div>
|
||||
<el-button type="success"
|
||||
@click="addAllDict()">新增</el-button>
|
||||
<el-button type="success" @click="addAllDict()">新增</el-button>
|
||||
</div>
|
||||
<span slot="footer"
|
||||
class="dialog-footer">
|
||||
<span slot="footer" class="dialog-footer">
|
||||
<el-button @click="dialogSwitchVisible = false">取消</el-button>
|
||||
<el-button type="primary"
|
||||
@click="filterScriptConfirm">保存</el-button>
|
||||
<el-button type="primary" @click="filterScriptConfirm">保存</el-button>
|
||||
</span>
|
||||
</el-dialog>
|
||||
<!-- //添加数据转换 -->
|
||||
<div class="addFilter"
|
||||
disabled="true"
|
||||
@click="addFilter">
|
||||
<div class="addFilter" disabled="true" @click="addFilter">
|
||||
<i class="el-icon-plus" /><span>新增</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
</el-tab-pane>
|
||||
<el-tab-pane label="测试预览"
|
||||
name="third">
|
||||
<el-tab-pane label="测试预览" name="third">
|
||||
<div style="max-height: 400px; overflow: auto">
|
||||
<vue-json-editor v-model="cols"
|
||||
:show-btns="false"
|
||||
:mode="'code'"
|
||||
lang="zh"
|
||||
@json-change="onJsonChange"
|
||||
@json-save="onJsonSave" />
|
||||
<vue-json-editor v-model="cols" :show-btns="false" :mode="'code'" lang="zh" @json-change="onJsonChange" @json-save="onJsonSave" />
|
||||
</div>
|
||||
</el-tab-pane>
|
||||
</el-tabs>
|
||||
@@ -386,54 +209,44 @@
|
||||
</el-col>
|
||||
</el-row>
|
||||
</el-form>
|
||||
<div slot="footer"
|
||||
class="dialog-footer">
|
||||
<div slot="footer" class="dialog-footer">
|
||||
<!-- <el-button type="warning" @click="test">测试</el-button> -->
|
||||
<el-button @click="dialogFormVisible = false">取消</el-button>
|
||||
<el-button type="primary"
|
||||
@click="submit('form')">保存</el-button>
|
||||
<el-button type="primary" @click="submit('form')">保存</el-button>
|
||||
</div>
|
||||
</el-dialog>
|
||||
<el-dialog :title="title"
|
||||
:visible.sync="dialogPermissionVisible"
|
||||
width="60%">
|
||||
<el-dialog :title="title" :visible.sync="dialogPermissionVisible" width="60%">
|
||||
<div class="codemirror">
|
||||
<!-- //自定义高级规则? -->
|
||||
<codemirror v-model.trim="validationRules"
|
||||
:options="optionsJavascript"
|
||||
style="height: 210px;overflow: hidden;" />
|
||||
<codemirror v-model.trim="validationRules" :options="optionsJavascript" style="height: 210px;overflow: hidden;" />
|
||||
</div>
|
||||
<span slot="footer"
|
||||
class="dialog-footer">
|
||||
<el-button type="warning"
|
||||
@click="testResultset">测试</el-button>
|
||||
<span slot="footer" class="dialog-footer">
|
||||
<el-button type="warning" @click="testResultset">测试</el-button>
|
||||
|
||||
<el-button type="primary"
|
||||
@click="dialogValidationRules">保存</el-button>
|
||||
<el-button type="primary" @click="dialogValidationRules">保存</el-button>
|
||||
<el-button @click="dialogPermissionVisible = false">关闭</el-button>
|
||||
</span>
|
||||
</el-dialog>
|
||||
<el-dialog :title="caseResultTitle"
|
||||
:visible.sync="dialogCaseResult"
|
||||
width="70%">
|
||||
<vue-json-editor v-model="caseResultContent"
|
||||
:show-btns="false"
|
||||
:mode="'code'"
|
||||
lang="zh"
|
||||
class="my-editor"
|
||||
@json-change="onJsonChange"
|
||||
@json-save="onJsonSave" />
|
||||
<span slot="footer"
|
||||
class="dialog-footer">
|
||||
<el-button type="primary"
|
||||
@click="dialogCaseResult = false">关闭</el-button>
|
||||
<el-dialog :title="caseResultTitle" :visible.sync="dialogCaseResult" width="70%">
|
||||
<vue-json-editor v-model="caseResultContent" :show-btns="false" :mode="'code'" lang="zh" class="my-editor" @json-change="onJsonChange" @json-save="onJsonSave" />
|
||||
<span slot="footer" class="dialog-footer">
|
||||
<el-button type="primary" @click="dialogCaseResult = false">关闭</el-button>
|
||||
</span>
|
||||
</el-dialog>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { queryAllDataSourceSet, verificationSet, testTransformSet, dataSetPreview, addDataSet, editDataSet, deleteDataSet, dataSetPageList } from '@/api/report'
|
||||
import {
|
||||
queryAllDataSourceSet,
|
||||
verificationSet,
|
||||
testTransformSet,
|
||||
dataSetPreview,
|
||||
addDataSet,
|
||||
editDataSet,
|
||||
deleteDataSet,
|
||||
dataSetPageList,
|
||||
} from '@/api/report'
|
||||
import Dictionary from '@/components/Dictionary/index'
|
||||
import { codemirror } from 'vue-codemirror' // 引入codeMirror全局实例
|
||||
import 'codemirror/mode/sql/sql.js'
|
||||
@@ -447,7 +260,7 @@ export default {
|
||||
|
||||
dicts: ['pricing_method'],
|
||||
|
||||
data () {
|
||||
data() {
|
||||
return {
|
||||
data: [],
|
||||
listLoading: true,
|
||||
@@ -518,9 +331,15 @@ export default {
|
||||
sort: 'update_time',
|
||||
},
|
||||
formRules: {
|
||||
setName: [{ required: true, message: '数据集名称必填', trigger: 'blur' }],
|
||||
setCode: [{ required: true, message: '数据集编码必填', trigger: 'blur' }],
|
||||
sourceCode: [{ required: true, message: '数据源必选', trigger: 'change' }],
|
||||
setName: [
|
||||
{ required: true, message: '数据集名称必填', trigger: 'blur' },
|
||||
],
|
||||
setCode: [
|
||||
{ required: true, message: '数据集编码必填', trigger: 'blur' },
|
||||
],
|
||||
sourceCode: [
|
||||
{ required: true, message: '数据源必选', trigger: 'change' },
|
||||
],
|
||||
},
|
||||
sourceList: [],
|
||||
validationRules: '',
|
||||
@@ -551,41 +370,41 @@ export default {
|
||||
testMassageCode: null,
|
||||
query: {
|
||||
setName: '',
|
||||
setCode: ''
|
||||
}
|
||||
setCode: '',
|
||||
},
|
||||
}
|
||||
},
|
||||
watch: {},
|
||||
// 在生命周期 beforeCreate里面改变this指向
|
||||
beforeCreate: function () { },
|
||||
mounted () {
|
||||
beforeCreate: function () {},
|
||||
mounted() {
|
||||
this.queryByPage()
|
||||
},
|
||||
created () {
|
||||
created() {
|
||||
this.getAllDataSourceSet()
|
||||
},
|
||||
methods: {
|
||||
// 查询
|
||||
search () {
|
||||
search() {
|
||||
this.params.pageNumber = 1
|
||||
this.queryByPage()
|
||||
},
|
||||
// 重置
|
||||
reset (formName) {
|
||||
reset(formName) {
|
||||
// this.$refs[formName].resetFields()
|
||||
this.query.setName = ''
|
||||
this.query.setCode = ''
|
||||
this.params.pageNumber = 1
|
||||
this.queryByPage()
|
||||
},
|
||||
async queryByPage () {
|
||||
async queryByPage() {
|
||||
let params = {
|
||||
page: this.params.pageNumber,
|
||||
size: this.params.pageSize,
|
||||
sort: "update_time",
|
||||
order: "DESC",
|
||||
sort: 'update_time',
|
||||
order: 'DESC',
|
||||
pageNumber: this.params.pageNumber,
|
||||
pageSize: this.params.pageSize
|
||||
pageSize: this.params.pageSize,
|
||||
}
|
||||
const res = await dataSetPageList(params)
|
||||
if (res.code != '200') return
|
||||
@@ -596,26 +415,26 @@ export default {
|
||||
this.listLoading = false
|
||||
},
|
||||
|
||||
handleSizeChange (val) {
|
||||
handleSizeChange(val) {
|
||||
this.params.pageSize = val
|
||||
this.queryByPage()
|
||||
},
|
||||
handleCurrentChange (val) {
|
||||
handleCurrentChange(val) {
|
||||
this.params.pageNumber = val
|
||||
this.queryByPage()
|
||||
},
|
||||
|
||||
onJsonChange (value) { },
|
||||
onJsonSave (value) { },
|
||||
handleClose (done) {
|
||||
onJsonChange(value) {},
|
||||
onJsonSave(value) {},
|
||||
handleClose(done) {
|
||||
this.dialogFormVisible = false
|
||||
},
|
||||
isShowCaseResult (item) {
|
||||
isShowCaseResult(item) {
|
||||
this.dialogCaseResult = true
|
||||
this.caseResultTitle = item.setName
|
||||
this.caseResultContent = JSON.parse(item.caseResult)
|
||||
},
|
||||
delect (row) {
|
||||
delect(row) {
|
||||
this.$confirm('确定删除?', '提示', {
|
||||
confirmButtonText: '确定',
|
||||
cancelButtonText: '取消',
|
||||
@@ -640,7 +459,7 @@ export default {
|
||||
})
|
||||
},
|
||||
// 编辑数据集,获取单条数据详情
|
||||
addOrEditDataSet (row) {
|
||||
addOrEditDataSet(row) {
|
||||
this.dialogFormVisible = true
|
||||
this.tabsActiveName = 'first'
|
||||
this.testMassageCode = null
|
||||
@@ -649,11 +468,17 @@ export default {
|
||||
this.dialogFormVisibleTitle = '编辑数据集'
|
||||
dataSetPreview(row).then((data) => {
|
||||
this.formData = data.data
|
||||
if (data.data.dataSetParamDtoList != null || data.data.dataSetParamDtoList.length > 0) {
|
||||
if (
|
||||
data.data.dataSetParamDtoList != null ||
|
||||
data.data.dataSetParamDtoList.length > 0
|
||||
) {
|
||||
this.tableData = data.data.dataSetParamDtoList
|
||||
var count = 0
|
||||
this.tableData.find((value, i) => {
|
||||
if (value.paramName === 'pageNumber' || value.paramName === 'pageSize') {
|
||||
if (
|
||||
value.paramName === 'pageNumber' ||
|
||||
value.paramName === 'pageSize'
|
||||
) {
|
||||
count++
|
||||
}
|
||||
if (value.requiredFlag == 1) {
|
||||
@@ -707,13 +532,13 @@ export default {
|
||||
}
|
||||
},
|
||||
// 获取数据源下拉
|
||||
async getAllDataSourceSet () {
|
||||
async getAllDataSourceSet() {
|
||||
const { code, data } = await queryAllDataSourceSet()
|
||||
if (code != '200') return
|
||||
this.sourceList = data
|
||||
},
|
||||
// 测试预览
|
||||
async handleClickTabs (tab, event) {
|
||||
async handleClickTabs(tab, event) {
|
||||
if (tab.paneName == 'third') {
|
||||
const params = {
|
||||
sourceCode: this.formData.sourceCode,
|
||||
@@ -728,7 +553,7 @@ export default {
|
||||
}
|
||||
},
|
||||
// 必选
|
||||
Mandatory (val) {
|
||||
Mandatory(val) {
|
||||
if (!this.tableData[val].mandatory) {
|
||||
this.tableData[val].requiredFlag = 0
|
||||
} else {
|
||||
@@ -736,7 +561,7 @@ export default {
|
||||
}
|
||||
},
|
||||
// 分页参数增加列
|
||||
changePagination () {
|
||||
changePagination() {
|
||||
if (this.isShowPagination) {
|
||||
this.tableData.push(
|
||||
{
|
||||
@@ -773,7 +598,7 @@ export default {
|
||||
}
|
||||
},
|
||||
// js 脚本编辑
|
||||
async filterScriptBtn (item) {
|
||||
async filterScriptBtn(item) {
|
||||
console.log(item)
|
||||
this.isItemFilterType = item
|
||||
this.dialogSwitchVisible = true
|
||||
@@ -783,7 +608,9 @@ export default {
|
||||
//自定义脚本内容
|
||||
return data;
|
||||
}`
|
||||
this.transformScript = item.transformScript ? item.transformScript : fnCont
|
||||
this.transformScript = item.transformScript
|
||||
? item.transformScript
|
||||
: fnCont
|
||||
} else if (item.transformType == 'dict') {
|
||||
// this.dialogTitle = '字典翻译'
|
||||
// this.itemFilterScriptId = item.itemFilterSort
|
||||
@@ -807,7 +634,7 @@ export default {
|
||||
}
|
||||
},
|
||||
// js 脚本编辑确定
|
||||
filterScriptConfirm () {
|
||||
filterScriptConfirm() {
|
||||
const arr = this.toObject(this.tableData2)
|
||||
this.itemFilterList.forEach((el, index) => {
|
||||
if (el.transformType == 'dict') {
|
||||
@@ -818,7 +645,7 @@ export default {
|
||||
})
|
||||
this.dialogSwitchVisible = false
|
||||
},
|
||||
addFilter () {
|
||||
addFilter() {
|
||||
let obj = {}
|
||||
this.tableData2 = []
|
||||
if (this.itemFilterList.length == 0) {
|
||||
@@ -837,7 +664,7 @@ export default {
|
||||
this.itemFilterList.push(obj)
|
||||
},
|
||||
// 删除filter
|
||||
reduceFilter (item) {
|
||||
reduceFilter(item) {
|
||||
if (this.itemFilterList.length > 1) {
|
||||
var index = this.itemFilterList.indexOf(item)
|
||||
if (index > -1) {
|
||||
@@ -846,7 +673,7 @@ export default {
|
||||
}
|
||||
},
|
||||
// --查询参数-----------------///////////////////////////////////////////////////////////////////////
|
||||
permissionClick (row, index) {
|
||||
permissionClick(row, index) {
|
||||
this.title = '自定义高级规则'
|
||||
if (this.isRowData.sampleItem != '') {
|
||||
this.isRowData = row
|
||||
@@ -854,28 +681,30 @@ export default {
|
||||
//自定义脚本内容
|
||||
return true;
|
||||
}`
|
||||
this.validationRules = row.validationRules ? row.validationRules : fnCont
|
||||
this.validationRules = row.validationRules
|
||||
? row.validationRules
|
||||
: fnCont
|
||||
this.dialogPermissionVisible = true
|
||||
}
|
||||
},
|
||||
dialogValidationRules () {
|
||||
dialogValidationRules() {
|
||||
this.isRowData.validationRules = this.validationRules
|
||||
this.dialogPermissionVisible = false
|
||||
},
|
||||
// 字典项 增删改
|
||||
addAllDict () {
|
||||
addAllDict() {
|
||||
this.tableData2.push({
|
||||
name: '',
|
||||
children: [{ name: '', value: '' }],
|
||||
})
|
||||
},
|
||||
addDict (index, item) {
|
||||
addDict(index, item) {
|
||||
item.push({ name: '', value: '' })
|
||||
},
|
||||
delAllDict (index, rows) {
|
||||
delAllDict(index, rows) {
|
||||
rows.splice(index, 1)
|
||||
},
|
||||
delDict (index, rows) {
|
||||
delDict(index, rows) {
|
||||
if (index == 0) {
|
||||
this.$message.error('至少保留一条')
|
||||
return
|
||||
@@ -884,20 +713,20 @@ export default {
|
||||
},
|
||||
// -------------------------------------------------------------------------------
|
||||
// 数据源下拉切换
|
||||
changeSource () { },
|
||||
changeSource() {},
|
||||
// 自定义高级规则
|
||||
testResultset () {
|
||||
testResultset() {
|
||||
this.isRowData.validationRules = this.validationRules
|
||||
verificationSet(this.isRowData).then((data) => {
|
||||
// console.log(data)
|
||||
})
|
||||
},
|
||||
// 删除
|
||||
cutOutRow (index, rows) {
|
||||
cutOutRow(index, rows) {
|
||||
rows.splice(index, 1)
|
||||
},
|
||||
// 追加
|
||||
addRow (index, row) {
|
||||
addRow(index, row) {
|
||||
this.tableData.push({
|
||||
paramName: '',
|
||||
paramDesc: '',
|
||||
@@ -911,7 +740,7 @@ export default {
|
||||
}`,
|
||||
})
|
||||
},
|
||||
async submit (formName) {
|
||||
async submit(formName) {
|
||||
this.$refs[formName].validate(async (valid, obj) => {
|
||||
if (valid) {
|
||||
if (this.testMassageCode == 200) {
|
||||
@@ -937,7 +766,7 @@ export default {
|
||||
}
|
||||
})
|
||||
},
|
||||
toObject (val) {
|
||||
toObject(val) {
|
||||
const objfirst = {}
|
||||
const objSecond = {}
|
||||
val.forEach((el) => {
|
||||
@@ -1089,7 +918,7 @@ export default {
|
||||
overflow-y: auto;
|
||||
padding: 10px;
|
||||
}
|
||||
.query{
|
||||
.query {
|
||||
margin-top: 5px;
|
||||
}
|
||||
</style>
|
||||
|
||||
Reference in New Issue
Block a user