|
|
@@ -6,7 +6,131 @@
|
|
|
size="mini"
|
|
|
ref="form"
|
|
|
>
|
|
|
- <el-form-item label="纬度标签">
|
|
|
+ <template v-if="curEdit.type !== 'Cp' && curEdit.type !== 'pareto'">
|
|
|
+ <el-form-item label="纬度标签">
|
|
|
+ <div
|
|
|
+ slot="label"
|
|
|
+ style="
|
|
|
+ display: flex;
|
|
|
+ align-items: center;
|
|
|
+ justify-content: space-between;
|
|
|
+ "
|
|
|
+ >
|
|
|
+ <span>纬度标签</span>
|
|
|
+ <el-tooltip
|
|
|
+ content="添加纬度"
|
|
|
+ placement="bottom-start"
|
|
|
+ v-if="curEdit.type === 'scatter' || curEdit.type === 'radar'"
|
|
|
+ >
|
|
|
+ <i
|
|
|
+ @click="
|
|
|
+ formLabelAlign.Xdata.push({ lable: '', data: [], id: '' })
|
|
|
+ "
|
|
|
+ class="el-icon-circle-plus-outline"
|
|
|
+ style="font-size: 20px"
|
|
|
+ ></i>
|
|
|
+ </el-tooltip>
|
|
|
+ </div>
|
|
|
+ <template v-for="(item, ind) in formLabelAlign.Xdata">
|
|
|
+ <div class="attributeItemData">
|
|
|
+ <el-select
|
|
|
+ style="margin: 5px 0"
|
|
|
+ :key="ind + 'select'"
|
|
|
+ v-model="formLabelAlign.Xdata[ind].id"
|
|
|
+ placeholder="请先进行数据配置"
|
|
|
+ :disabled="disabled"
|
|
|
+ @change="handleXdata('init')"
|
|
|
+ >
|
|
|
+ <el-option
|
|
|
+ v-for="item in selectData"
|
|
|
+ :label="item.label"
|
|
|
+ :value="item.id"
|
|
|
+ :key="item.id"
|
|
|
+ ></el-option>
|
|
|
+ </el-select>
|
|
|
+ <el-tooltip
|
|
|
+ v-if="curEdit.type === 'scatter' || curEdit.type === 'radar'"
|
|
|
+ :content="
|
|
|
+ formLabelAlign.Xdata.length <= 1
|
|
|
+ ? '该指标不可删除,最少存在一组指标'
|
|
|
+ : '删除该指标'
|
|
|
+ "
|
|
|
+ placement="bottom-start"
|
|
|
+ >
|
|
|
+ <el-button
|
|
|
+ type="text"
|
|
|
+ :disabled="formLabelAlign.Xdata.length <= 1"
|
|
|
+ @click="removeXdata(ind, 'init')"
|
|
|
+ >
|
|
|
+ <i
|
|
|
+ class="el-icon-delete"
|
|
|
+ style="font-size: 16px; color: red; padding: 0 0 0 10px"
|
|
|
+ ></i
|
|
|
+ ></el-button>
|
|
|
+ </el-tooltip>
|
|
|
+ </div>
|
|
|
+ </template>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="指标值">
|
|
|
+ <div
|
|
|
+ slot="label"
|
|
|
+ style="
|
|
|
+ display: flex;
|
|
|
+ align-items: center;
|
|
|
+ justify-content: space-between;
|
|
|
+ "
|
|
|
+ >
|
|
|
+ <span>指标值</span>
|
|
|
+ <el-tooltip content="添加指标值" placement="bottom-start">
|
|
|
+ <i
|
|
|
+ @click="handleMetrics('init')"
|
|
|
+ class="el-icon-circle-plus-outline"
|
|
|
+ style="font-size: 20px"
|
|
|
+ ></i>
|
|
|
+ </el-tooltip>
|
|
|
+ </div>
|
|
|
+ <template v-for="(item, ind) in formLabelAlign.Ydata">
|
|
|
+ <div class="attributeItemData">
|
|
|
+ <el-select
|
|
|
+ style="margin: 5px 0"
|
|
|
+ :key="ind + 'select' + 'zhibiao'"
|
|
|
+ v-model="formLabelAlign.Ydata[ind].id"
|
|
|
+ placeholder="请先进行数据配置"
|
|
|
+ :disabled="disabled"
|
|
|
+ @change="handleYdata(ind, 'init')"
|
|
|
+ >
|
|
|
+ <el-option
|
|
|
+ v-for="item in selectData"
|
|
|
+ :label="item.label"
|
|
|
+ :value="item.id"
|
|
|
+ :key="item.id"
|
|
|
+ ></el-option>
|
|
|
+ </el-select>
|
|
|
+ <el-tooltip
|
|
|
+ :content="
|
|
|
+ formLabelAlign.Ydata.length <= 1
|
|
|
+ ? '该指标不可删除,最少存在一组指标'
|
|
|
+ : '删除该指标'
|
|
|
+ "
|
|
|
+ placement="bottom-start"
|
|
|
+ >
|
|
|
+ <el-button
|
|
|
+ type="text"
|
|
|
+ :disabled="formLabelAlign.Ydata.length <= 1"
|
|
|
+ @click="removeYdata(ind, 'init')"
|
|
|
+ >
|
|
|
+ <i
|
|
|
+ class="el-icon-delete"
|
|
|
+ style="font-size: 16px; color: red; padding: 0 0 0 10px"
|
|
|
+ ></i
|
|
|
+ ></el-button>
|
|
|
+ </el-tooltip>
|
|
|
+ </div>
|
|
|
+ </template>
|
|
|
+ </el-form-item>
|
|
|
+ </template>
|
|
|
+
|
|
|
+ <el-form-item v-if="curEdit.type === 'pareto'" label="柱纬度标签">
|
|
|
<div
|
|
|
slot="label"
|
|
|
style="
|
|
|
@@ -15,30 +139,268 @@
|
|
|
justify-content: space-between;
|
|
|
"
|
|
|
>
|
|
|
- <span>纬度标签</span>
|
|
|
- <el-tooltip
|
|
|
- content="添加纬度"
|
|
|
- placement="bottom-start"
|
|
|
- v-if="curEdit.type === 'scatter' || curEdit.type === 'radar'"
|
|
|
- >
|
|
|
+ <span>柱纬度标签</span>
|
|
|
+ <el-tooltip content="添加纬度" placement="bottom-start">
|
|
|
<i
|
|
|
@click="
|
|
|
- formLabelAlign.Xdata.push({ lable: '', data: [], id: '' })
|
|
|
+ formLabelAlign.BarXdata.push({ lable: '', data: [], id: '' })
|
|
|
"
|
|
|
class="el-icon-circle-plus-outline"
|
|
|
style="font-size: 20px"
|
|
|
></i>
|
|
|
</el-tooltip>
|
|
|
</div>
|
|
|
- <template v-for="(item, ind) in formLabelAlign.Xdata">
|
|
|
+ <template v-for="(item, ind) in formLabelAlign.BarXdata">
|
|
|
<div class="attributeItemData">
|
|
|
<el-select
|
|
|
style="margin: 5px 0"
|
|
|
:key="ind + 'select'"
|
|
|
- v-model="formLabelAlign.Xdata[ind].id"
|
|
|
+ v-model="formLabelAlign.BarXdata[ind].id"
|
|
|
placeholder="请先进行数据配置"
|
|
|
:disabled="disabled"
|
|
|
- @change="handleXdata"
|
|
|
+ @change="handleXdata('bar')"
|
|
|
+ >
|
|
|
+ <el-option
|
|
|
+ v-for="item in selectData"
|
|
|
+ :label="item.label"
|
|
|
+ :value="item.id"
|
|
|
+ :key="item.id"
|
|
|
+ ></el-option>
|
|
|
+ </el-select>
|
|
|
+ <el-tooltip
|
|
|
+ :content="
|
|
|
+ formLabelAlign.BarXdata.length <= 1
|
|
|
+ ? '该指标不可删除,最少存在一组指标'
|
|
|
+ : '删除该指标'
|
|
|
+ "
|
|
|
+ placement="bottom-start"
|
|
|
+ >
|
|
|
+ <el-button
|
|
|
+ type="text"
|
|
|
+ :disabled="formLabelAlign.BarXdata.length <= 1"
|
|
|
+ @click="removeXdata(ind, 'bar')"
|
|
|
+ >
|
|
|
+ <i
|
|
|
+ class="el-icon-delete"
|
|
|
+ style="font-size: 16px; color: red; padding: 0 0 0 10px"
|
|
|
+ ></i
|
|
|
+ ></el-button>
|
|
|
+ </el-tooltip>
|
|
|
+ </div>
|
|
|
+ </template>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item v-if="curEdit.type === 'pareto'" label="柱指标值">
|
|
|
+ <div
|
|
|
+ slot="label"
|
|
|
+ style="
|
|
|
+ display: flex;
|
|
|
+ align-items: center;
|
|
|
+ justify-content: space-between;
|
|
|
+ "
|
|
|
+ >
|
|
|
+ <span>柱指标值</span>
|
|
|
+ <el-tooltip content="添加柱指标值" placement="bottom-start">
|
|
|
+ <i
|
|
|
+ @click="handleMetrics('bar')"
|
|
|
+ class="el-icon-circle-plus-outline"
|
|
|
+ style="font-size: 20px"
|
|
|
+ ></i>
|
|
|
+ </el-tooltip>
|
|
|
+ </div>
|
|
|
+ <template v-for="(item, ind) in formLabelAlign.BarYdata">
|
|
|
+ <div class="attributeItemData">
|
|
|
+ <el-select
|
|
|
+ style="margin: 5px 0"
|
|
|
+ :key="ind + 'select' + 'zhibiao'"
|
|
|
+ v-model="formLabelAlign.BarYdata[ind].id"
|
|
|
+ placeholder="请先进行数据配置"
|
|
|
+ :disabled="disabled"
|
|
|
+ @change="handleYdata(ind, 'bar')"
|
|
|
+ >
|
|
|
+ <el-option
|
|
|
+ v-for="item in selectData"
|
|
|
+ :label="item.label"
|
|
|
+ :value="item.id"
|
|
|
+ :key="item.id"
|
|
|
+ ></el-option>
|
|
|
+ </el-select>
|
|
|
+ <el-tooltip
|
|
|
+ :content="
|
|
|
+ formLabelAlign.BarYdata.length <= 1
|
|
|
+ ? '该指标不可删除,最少存在一组指标'
|
|
|
+ : '删除该指标'
|
|
|
+ "
|
|
|
+ placement="bottom-start"
|
|
|
+ >
|
|
|
+ <el-button
|
|
|
+ type="text"
|
|
|
+ :disabled="formLabelAlign.BarYdata.length <= 1"
|
|
|
+ @click="removeYdata(ind, 'bar')"
|
|
|
+ >
|
|
|
+ <i
|
|
|
+ class="el-icon-delete"
|
|
|
+ style="font-size: 16px; color: red; padding: 0 0 0 10px"
|
|
|
+ ></i
|
|
|
+ ></el-button>
|
|
|
+ </el-tooltip>
|
|
|
+ </div>
|
|
|
+ </template>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item
|
|
|
+ v-if="curEdit.type === 'pareto' || curEdit.type === 'Cp'"
|
|
|
+ label="线纬度标签"
|
|
|
+ >
|
|
|
+ <div
|
|
|
+ slot="label"
|
|
|
+ style="
|
|
|
+ display: flex;
|
|
|
+ align-items: center;
|
|
|
+ justify-content: space-between;
|
|
|
+ "
|
|
|
+ >
|
|
|
+ <span>线纬度标签</span>
|
|
|
+ <el-tooltip content="添加纬度" placement="bottom-start">
|
|
|
+ <i
|
|
|
+ @click="
|
|
|
+ formLabelAlign.LineXdata.push({ lable: '', data: [], id: '' })
|
|
|
+ "
|
|
|
+ class="el-icon-circle-plus-outline"
|
|
|
+ style="font-size: 20px"
|
|
|
+ ></i>
|
|
|
+ </el-tooltip>
|
|
|
+ </div>
|
|
|
+ <template v-for="(item, ind) in formLabelAlign.LineXdata">
|
|
|
+ <div class="attributeItemData">
|
|
|
+ <el-select
|
|
|
+ style="margin: 5px 0"
|
|
|
+ :key="ind + 'select'"
|
|
|
+ v-model="formLabelAlign.LineXdata[ind].id"
|
|
|
+ placeholder="请先进行数据配置"
|
|
|
+ :disabled="disabled"
|
|
|
+ @change="handleXdata('line')"
|
|
|
+ >
|
|
|
+ <el-option
|
|
|
+ v-for="item in selectData"
|
|
|
+ :label="item.label"
|
|
|
+ :value="item.id"
|
|
|
+ :key="item.id"
|
|
|
+ ></el-option>
|
|
|
+ </el-select>
|
|
|
+ <el-tooltip
|
|
|
+ :content="
|
|
|
+ formLabelAlign.LineXdata.length <= 1
|
|
|
+ ? '该指标不可删除,最少存在一组指标'
|
|
|
+ : '删除该指标'
|
|
|
+ "
|
|
|
+ placement="bottom-start"
|
|
|
+ >
|
|
|
+ <el-button
|
|
|
+ type="text"
|
|
|
+ :disabled="formLabelAlign.LineXdata.length <= 1"
|
|
|
+ @click="removeXdata(ind, 'line')"
|
|
|
+ >
|
|
|
+ <i
|
|
|
+ class="el-icon-delete"
|
|
|
+ style="font-size: 16px; color: red; padding: 0 0 0 10px"
|
|
|
+ ></i
|
|
|
+ ></el-button>
|
|
|
+ </el-tooltip>
|
|
|
+ </div>
|
|
|
+ </template>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item
|
|
|
+ v-if="curEdit.type === 'pareto' || curEdit.type === 'Cp'"
|
|
|
+ label="线指标值"
|
|
|
+ >
|
|
|
+ <div
|
|
|
+ slot="label"
|
|
|
+ style="
|
|
|
+ display: flex;
|
|
|
+ align-items: center;
|
|
|
+ justify-content: space-between;
|
|
|
+ "
|
|
|
+ >
|
|
|
+ <span>线指标值</span>
|
|
|
+ <el-tooltip content="添加线指标值" placement="bottom-start">
|
|
|
+ <i
|
|
|
+ @click="handleMetrics('line')"
|
|
|
+ class="el-icon-circle-plus-outline"
|
|
|
+ style="font-size: 20px"
|
|
|
+ ></i>
|
|
|
+ </el-tooltip>
|
|
|
+ </div>
|
|
|
+ <template v-for="(item, ind) in formLabelAlign.LineYdata">
|
|
|
+ <div class="attributeItemData">
|
|
|
+ <el-select
|
|
|
+ style="margin: 5px 0"
|
|
|
+ :key="ind + 'select' + 'zhibiao'"
|
|
|
+ v-model="formLabelAlign.LineYdata[ind].id"
|
|
|
+ placeholder="请先进行数据配置"
|
|
|
+ :disabled="disabled"
|
|
|
+ @change="handleYdata(ind, 'line')"
|
|
|
+ >
|
|
|
+ <el-option
|
|
|
+ v-for="item in selectData"
|
|
|
+ :label="item.label"
|
|
|
+ :value="item.id"
|
|
|
+ :key="item.id"
|
|
|
+ ></el-option>
|
|
|
+ </el-select>
|
|
|
+ <el-tooltip
|
|
|
+ :content="
|
|
|
+ formLabelAlign.LineYdata.length <= 1
|
|
|
+ ? '该指标不可删除,最少存在一组指标'
|
|
|
+ : '删除该指标'
|
|
|
+ "
|
|
|
+ placement="bottom-start"
|
|
|
+ >
|
|
|
+ <el-button
|
|
|
+ type="text"
|
|
|
+ :disabled="formLabelAlign.LineYdata.length <= 1"
|
|
|
+ @click="removeYdata(ind, 'line')"
|
|
|
+ >
|
|
|
+ <i
|
|
|
+ class="el-icon-delete"
|
|
|
+ style="font-size: 16px; color: red; padding: 0 0 0 10px"
|
|
|
+ ></i
|
|
|
+ ></el-button>
|
|
|
+ </el-tooltip>
|
|
|
+ </div>
|
|
|
+ </template>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item v-if="curEdit.type === 'Cp'" label="点纬度标签">
|
|
|
+ <div
|
|
|
+ slot="label"
|
|
|
+ style="
|
|
|
+ display: flex;
|
|
|
+ align-items: center;
|
|
|
+ justify-content: space-between;
|
|
|
+ "
|
|
|
+ >
|
|
|
+ <span>点纬度标签</span>
|
|
|
+ <el-tooltip content="添加纬度" placement="bottom-start">
|
|
|
+ <i
|
|
|
+ @click="
|
|
|
+ formLabelAlign.ScatterXdata.push({
|
|
|
+ lable: '',
|
|
|
+ data: [],
|
|
|
+ id: '',
|
|
|
+ })
|
|
|
+ "
|
|
|
+ class="el-icon-circle-plus-outline"
|
|
|
+ style="font-size: 20px"
|
|
|
+ ></i>
|
|
|
+ </el-tooltip>
|
|
|
+ </div>
|
|
|
+ <template v-for="(item, ind) in formLabelAlign.ScatterXdata">
|
|
|
+ <div class="attributeItemData">
|
|
|
+ <el-select
|
|
|
+ style="margin: 5px 0"
|
|
|
+ :key="ind + 'select'"
|
|
|
+ v-model="formLabelAlign.ScatterXdata[ind].id"
|
|
|
+ placeholder="请先进行数据配置"
|
|
|
+ :disabled="disabled"
|
|
|
+ @change="handleXdata('scatter')"
|
|
|
>
|
|
|
<el-option
|
|
|
v-for="item in selectData"
|
|
|
@@ -48,9 +410,8 @@
|
|
|
></el-option>
|
|
|
</el-select>
|
|
|
<el-tooltip
|
|
|
- v-if="curEdit.type === 'scatter' || curEdit.type === 'radar'"
|
|
|
:content="
|
|
|
- formLabelAlign.Xdata.length <= 1
|
|
|
+ formLabelAlign.ScatterXdata.length <= 1
|
|
|
? '该指标不可删除,最少存在一组指标'
|
|
|
: '删除该指标'
|
|
|
"
|
|
|
@@ -58,8 +419,8 @@
|
|
|
>
|
|
|
<el-button
|
|
|
type="text"
|
|
|
- :disabled="formLabelAlign.Xdata.length <= 1"
|
|
|
- @click="removeXdata(ind)"
|
|
|
+ :disabled="formLabelAlign.ScatterXdata.length <= 1"
|
|
|
+ @click="removeXdata(ind, 'scatter')"
|
|
|
>
|
|
|
<i
|
|
|
class="el-icon-delete"
|
|
|
@@ -70,7 +431,7 @@
|
|
|
</div>
|
|
|
</template>
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="指标值">
|
|
|
+ <el-form-item v-if="curEdit.type === 'Cp'" label="点指标值">
|
|
|
<div
|
|
|
slot="label"
|
|
|
style="
|
|
|
@@ -79,24 +440,24 @@
|
|
|
justify-content: space-between;
|
|
|
"
|
|
|
>
|
|
|
- <span>指标值</span>
|
|
|
- <el-tooltip content="添加指标值" placement="bottom-start">
|
|
|
+ <span>点指标值</span>
|
|
|
+ <el-tooltip content="添加点指标值" placement="bottom-start">
|
|
|
<i
|
|
|
- @click="handleMetrics"
|
|
|
+ @click="handleMetrics('scatter')"
|
|
|
class="el-icon-circle-plus-outline"
|
|
|
style="font-size: 20px"
|
|
|
></i>
|
|
|
</el-tooltip>
|
|
|
</div>
|
|
|
- <template v-for="(item, ind) in formLabelAlign.Ydata">
|
|
|
+ <template v-for="(item, ind) in formLabelAlign.ScatterYdata">
|
|
|
<div class="attributeItemData">
|
|
|
<el-select
|
|
|
style="margin: 5px 0"
|
|
|
:key="ind + 'select' + 'zhibiao'"
|
|
|
- v-model="formLabelAlign.Ydata[ind].id"
|
|
|
+ v-model="formLabelAlign.ScatterYdata[ind].id"
|
|
|
placeholder="请先进行数据配置"
|
|
|
:disabled="disabled"
|
|
|
- @change="handleYdata(ind)"
|
|
|
+ @change="handleYdata(ind, 'scatter')"
|
|
|
>
|
|
|
<el-option
|
|
|
v-for="item in selectData"
|
|
|
@@ -107,7 +468,7 @@
|
|
|
</el-select>
|
|
|
<el-tooltip
|
|
|
:content="
|
|
|
- formLabelAlign.Ydata.length <= 1
|
|
|
+ formLabelAlign.ScatterYdata.length <= 1
|
|
|
? '该指标不可删除,最少存在一组指标'
|
|
|
: '删除该指标'
|
|
|
"
|
|
|
@@ -115,8 +476,8 @@
|
|
|
>
|
|
|
<el-button
|
|
|
type="text"
|
|
|
- :disabled="formLabelAlign.Ydata.length <= 1"
|
|
|
- @click="removeYdata(ind)"
|
|
|
+ :disabled="formLabelAlign.ScatterYdata.length <= 1"
|
|
|
+ @click="removeYdata(ind, 'scatter')"
|
|
|
>
|
|
|
<i
|
|
|
class="el-icon-delete"
|
|
|
@@ -279,6 +640,48 @@ export default {
|
|
|
},
|
|
|
],
|
|
|
formLabelAlign: {
|
|
|
+ ScatterXdata: [
|
|
|
+ {
|
|
|
+ label: "",
|
|
|
+ data: [],
|
|
|
+ id: "",
|
|
|
+ },
|
|
|
+ ],
|
|
|
+ ScatterYdata: [
|
|
|
+ {
|
|
|
+ label: "",
|
|
|
+ data: [],
|
|
|
+ id: "",
|
|
|
+ },
|
|
|
+ ],
|
|
|
+ LineXdata: [
|
|
|
+ {
|
|
|
+ label: "",
|
|
|
+ data: [],
|
|
|
+ id: "",
|
|
|
+ },
|
|
|
+ ],
|
|
|
+ LineYdata: [
|
|
|
+ {
|
|
|
+ label: "",
|
|
|
+ data: [],
|
|
|
+ id: "",
|
|
|
+ },
|
|
|
+ ],
|
|
|
+ BarXdata: [
|
|
|
+ {
|
|
|
+ label: "",
|
|
|
+ data: [],
|
|
|
+ id: "",
|
|
|
+ },
|
|
|
+ ],
|
|
|
+ BarYdata: [
|
|
|
+ {
|
|
|
+ label: "",
|
|
|
+ data: [],
|
|
|
+ id: "",
|
|
|
+ },
|
|
|
+ ],
|
|
|
Xdata: [
|
|
|
{
|
|
|
label: "",
|
|
|
@@ -337,33 +740,113 @@ export default {
|
|
|
this.changeData();
|
|
|
},
|
|
|
methods: {
|
|
|
- handleMetrics() {
|
|
|
- this.formLabelAlign.Ydata.push({ lable: "", data: [], id: "" });
|
|
|
- this.formFilterAlign.push({
|
|
|
- filters: [],
|
|
|
- filterType1: "",
|
|
|
- number1: null,
|
|
|
- filterType2: "",
|
|
|
- number2: null,
|
|
|
- radio: null,
|
|
|
- });
|
|
|
- },
|
|
|
...mapMutations("dragChart", [
|
|
|
"updateChart",
|
|
|
"setCurEdit",
|
|
|
"setFormFilterAlignData",
|
|
|
]),
|
|
|
+ handleMetrics(type) {
|
|
|
+ switch (type) {
|
|
|
+ case "init":
|
|
|
+ this.formLabelAlign.Ydata.push({ lable: "", data: [], id: "" });
|
|
|
+ this.formFilterAlign.push({
|
|
|
+ filters: [],
|
|
|
+ filterType1: "",
|
|
|
+ number1: null,
|
|
|
+ filterType2: "",
|
|
|
+ number2: null,
|
|
|
+ radio: null,
|
|
|
+ });
|
|
|
+ break;
|
|
|
+ case "bar":
|
|
|
+ this.formLabelAlign.BarYdata.push({ lable: "", data: [], id: "" });
|
|
|
+ this.formFilterAlign.push({
|
|
|
+ filters: [],
|
|
|
+ filterType1: "",
|
|
|
+ number1: null,
|
|
|
+ filterType2: "",
|
|
|
+ number2: null,
|
|
|
+ radio: null,
|
|
|
+ });
|
|
|
+ break;
|
|
|
+ case "line":
|
|
|
+ this.formLabelAlign.LineYdata.push({ lable: "", data: [], id: "" });
|
|
|
+ this.formFilterAlign.push({
|
|
|
+ filters: [],
|
|
|
+ filterType1: "",
|
|
|
+ number1: null,
|
|
|
+ filterType2: "",
|
|
|
+ number2: null,
|
|
|
+ radio: null,
|
|
|
+ });
|
|
|
+ break;
|
|
|
+ case "scatter":
|
|
|
+ this.formLabelAlign.ScatterYdata.push({
|
|
|
+ lable: "",
|
|
|
+ data: [],
|
|
|
+ id: "",
|
|
|
+ });
|
|
|
+ this.formFilterAlign.push({
|
|
|
+ filters: [],
|
|
|
+ filterType1: "",
|
|
|
+ number1: null,
|
|
|
+ filterType2: "",
|
|
|
+ number2: null,
|
|
|
+ radio: null,
|
|
|
+ });
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ },
|
|
|
//纬度轴 处理整合数据
|
|
|
- handleXdata() {
|
|
|
- this.formLabelAlign.Xdata = this.updateAxisData(
|
|
|
- this.formLabelAlign.Xdata
|
|
|
- );
|
|
|
+ handleXdata(type) {
|
|
|
+ switch (type) {
|
|
|
+ case "init":
|
|
|
+ this.formLabelAlign.Xdata = this.updateAxisData(
|
|
|
+ this.formLabelAlign.Xdata
|
|
|
+ );
|
|
|
+ break;
|
|
|
+ case "bar":
|
|
|
+ this.formLabelAlign.BarXdata = this.updateAxisData(
|
|
|
+ this.formLabelAlign.BarXdata
|
|
|
+ );
|
|
|
+ break;
|
|
|
+ case "line":
|
|
|
+ this.formLabelAlign.LineXdata = this.updateAxisData(
|
|
|
+ this.formLabelAlign.LineXdata
|
|
|
+ );
|
|
|
+ break;
|
|
|
+ case "scatter":
|
|
|
+ this.formLabelAlign.ScatterXdata = this.updateAxisData(
|
|
|
+ this.formLabelAlign.ScatterXdata
|
|
|
+ );
|
|
|
+ break;
|
|
|
+ }
|
|
|
},
|
|
|
//指标值 处理整合数据
|
|
|
- handleYdata(ind) {
|
|
|
- this.formLabelAlign.Ydata = this.updateAxisData(
|
|
|
- this.formLabelAlign.Ydata
|
|
|
- );
|
|
|
+ handleYdata(ind, type) {
|
|
|
+ switch (type) {
|
|
|
+ case "init":
|
|
|
+ this.formLabelAlign.Ydata = this.updateAxisData(
|
|
|
+ this.formLabelAlign.Ydata
|
|
|
+ );
|
|
|
+ break;
|
|
|
+ case "bar":
|
|
|
+ this.formLabelAlign.BarYdata = this.updateAxisData(
|
|
|
+ this.formLabelAlign.BarYdata
|
|
|
+ );
|
|
|
+ break;
|
|
|
+ case "line":
|
|
|
+ this.formLabelAlign.LineYdata = this.updateAxisData(
|
|
|
+ this.formLabelAlign.LineYdata
|
|
|
+ );
|
|
|
+ break;
|
|
|
+ case "scatter":
|
|
|
+ this.formLabelAlign.ScatterYdata = this.updateAxisData(
|
|
|
+ this.formLabelAlign.ScatterYdata
|
|
|
+ );
|
|
|
+ break;
|
|
|
+ }
|
|
|
+
|
|
|
this.formFilterAlign.forEach((item, index) => {
|
|
|
if (ind === index) {
|
|
|
{
|
|
|
@@ -424,6 +907,66 @@ export default {
|
|
|
id: "",
|
|
|
},
|
|
|
],
|
|
|
+ BarXdata:
|
|
|
+ this.curEdit.BarXdata.length > 0
|
|
|
+ ? this.curEdit.BarXdata
|
|
|
+ : [
|
|
|
+ {
|
|
|
+ label: "",
|
|
|
+ data: [],
|
|
|
+ id: "",
|
|
|
+ },
|
|
|
+ ],
|
|
|
+ BarYdata:
|
|
|
+ this.curEdit.BarYdata.length > 0
|
|
|
+ ? this.curEdit.BarYdata
|
|
|
+ : [
|
|
|
+ {
|
|
|
+ label: "",
|
|
|
+ data: [],
|
|
|
+ id: "",
|
|
|
+ },
|
|
|
+ ],
|
|
|
+ LineXdata:
|
|
|
+ this.curEdit.LineXdata.length > 0
|
|
|
+ ? this.curEdit.LineXdata
|
|
|
+ : [
|
|
|
+ {
|
|
|
+ label: "",
|
|
|
+ data: [],
|
|
|
+ id: "",
|
|
|
+ },
|
|
|
+ ],
|
|
|
+ LineYdata:
|
|
|
+ this.curEdit.LineYdata.length > 0
|
|
|
+ ? this.curEdit.LineYdata
|
|
|
+ : [
|
|
|
+ {
|
|
|
+ label: "",
|
|
|
+ data: [],
|
|
|
+ id: "",
|
|
|
+ },
|
|
|
+ ],
|
|
|
+ ScatterXdata:
|
|
|
+ this.curEdit.ScatterXdata.length > 0
|
|
|
+ ? this.curEdit.ScatterXdata
|
|
|
+ : [
|
|
|
+ {
|
|
|
+ label: "",
|
|
|
+ data: [],
|
|
|
+ id: "",
|
|
|
+ },
|
|
|
+ ],
|
|
|
+ ScatterYdata:
|
|
|
+ this.curEdit.ScatterYdata.length > 0
|
|
|
+ ? this.curEdit.ScatterYdata
|
|
|
+ : [
|
|
|
+ {
|
|
|
+ label: "",
|
|
|
+ data: [],
|
|
|
+ id: "",
|
|
|
+ },
|
|
|
+ ],
|
|
|
});
|
|
|
// 查找是否存在数据
|
|
|
const index = this.curEdit.formFilterAlignData.findIndex(
|
|
|
@@ -527,11 +1070,37 @@ export default {
|
|
|
formFilterAlignData: this.formFilterAlign,
|
|
|
}); // 更新图表
|
|
|
},
|
|
|
- removeYdata(index) {
|
|
|
- this.formLabelAlign.Ydata.splice(index, 1); // 删除当前项
|
|
|
+ removeYdata(index, type) {
|
|
|
+ switch (type) {
|
|
|
+ case "init":
|
|
|
+ this.formLabelAlign.Ydata.splice(index, 1); // 删除当前项
|
|
|
+ break;
|
|
|
+ case "bar":
|
|
|
+ this.formLabelAlign.BarYdata.splice(index, 1); // 删除当前项
|
|
|
+ break;
|
|
|
+ case "line":
|
|
|
+ this.formLabelAlign.LineYdata.splice(index, 1); // 删除当前项
|
|
|
+ break;
|
|
|
+ case "scatter":
|
|
|
+ this.formLabelAlign.ScatterYdata.splice(index, 1); // 删除当前项
|
|
|
+ break;
|
|
|
+ }
|
|
|
},
|
|
|
- removeXdata(index) {
|
|
|
- this.formLabelAlign.Xdata.splice(index, 1); // 删除当前项
|
|
|
+ removeXdata(index, type) {
|
|
|
+ switch (type) {
|
|
|
+ case "init":
|
|
|
+ this.formLabelAlign.Xdata.splice(index, 1); // 删除当前项
|
|
|
+ break;
|
|
|
+ case "bar":
|
|
|
+ this.formLabelAlign.BarXdata.splice(index, 1); // 删除当前项
|
|
|
+ break;
|
|
|
+ case "line":
|
|
|
+ this.formLabelAlign.LineXdata.splice(index, 1); // 删除当前项
|
|
|
+ break;
|
|
|
+ case "scatter":
|
|
|
+ this.formLabelAlign.ScatterXdata.splice(index, 1); // 删除当前项
|
|
|
+ break;
|
|
|
+ }
|
|
|
},
|
|
|
},
|
|
|
};
|