Commit bb5c77fa by 莫晓莉

自定义常量的保存和回显,mico-excel保存和回显

parent ed06c877
......@@ -227,6 +227,15 @@ export function inputOutputFields(data) {
})
}
//获取表输出
export function tableFields(data) {
return request({
url: 'etlweb/trans/tableFields',
data,
method: 'post'
})
}
//启动
export function doRun(data) {
......@@ -253,6 +262,39 @@ export function drop(data) {
method: 'post'
})
}
// 获取扩展名
export function excelType(data) {
return request({
url: 'etlweb/system/excelType',
data,
method: 'post'
})
}
// 如果输出文件中已存在工作表
export function excelwritemethod(data) {
return request({
url: 'etlweb/system/excelwritemethod',
data,
method: 'post'
})
}
//获取字段类型
export function getValueMetaStore(data) {
return request({
url: 'etlweb/system/valueMeta',
data,
method: 'post'
})
}
//获取字段格式
export function getValueFormatStore(data) {
return request({
url: 'etlweb/system/valueFormat',
data,
method: 'post'
})
}
......
<template>
<div class="customConstant">
<el-dialog
title="自定义常量数据777"
:visible.sync="ConstantDialog"
width="800px"
:before-close="handleClose"
>
<el-form ref="form" :model="form" label-width="120px">
<el-form-item label="步骤名称:">
<el-input v-model="form.name"></el-input>
......@@ -177,6 +185,16 @@
<el-button type="primary" @click="addValuePush">确 定</el-button>
</span>
</el-dialog>
<span slot="footer" class="dialog-footer">
<el-button @click="ConstantDialog = false">取 消</el-button>
<el-button type="primary" @click="myConfirm"
>确 定</el-button
>
</span>
</el-dialog>
</div>
</template>
......@@ -217,6 +235,18 @@ export default {
};
},
watch:{
myForm(n, o) {
console.log("回显的表单数据===",n);
if(n){
var ny=JSON.parse(n.data);
var na=JSON.parse(n.fields);
this.data=ny;
this.tableData=na;
}
},
},
props:["ConstantDialog","saveOutputDialog","doubleClickCell","myForm"],
created() {
this.valueFormatFun();
......@@ -243,7 +273,8 @@ export default {
addValuePush(){
this.addValue = !this.addValue
if (this.dataStatus) {
this.data.push(this.ValueForm)
this.data.push(this.ValueForm);
}else{
}
......@@ -308,6 +339,22 @@ this.addValue = !this.addValue
this.fieldType = res;
});
},
// mxl=========================
myConfirm(){
this.myForm.fields=JSON.stringify(this.tableData);//查询字段
this.myForm.data=JSON.stringify(this.data);//更新字段
this.myForm.label=this.form.name;
console.log('弹窗数据===',this.myForm);
this.saveOutputDialog(this.myForm);
this.handleClose();//关闭弹窗
},
handleClose(){
this.$emit("update:ConstantDialog", false);
},
// mxl=========================
},
};
</script>
......
......@@ -721,7 +721,7 @@
</el-dialog>
<!-- 自定义常量数据-->
<el-dialog
<!-- <el-dialog
title="自定义常量数据"
:visible.sync="ConstantDialog"
width="800px"
......@@ -735,7 +735,10 @@
>确 定</el-button
>
</span>
</el-dialog>
</el-dialog> -->
<!-- 自定义常量数据弹窗 -->
<customConstant :ConstantDialog.sync="ConstantDialog" :saveOutputDialog="saveOutputDialog" :doubleClickCell="doubleClickCell" :myForm="myoutPutFormData" > </customConstant>
<!-- 生成随机数-->
<el-dialog
......@@ -836,7 +839,7 @@
ref="textFile"
:fileVisible.sync="fileVisible"
:saveOutputDialog="saveOutputDialog" :textFileForm="outPutFormData8"></textFileDialog>
<microDialog ref="mic" :microVisible.sync="microVisible" :saveOutputDialog="saveOutputDialog" :tableOutForm="outPutFormData9"></microDialog>
<microDialog ref="mic" :microVisible.sync="microVisible" :saveOutputDialog="saveOutputDialog" :microForm="outPutFormData9" :doubleClickCell="doubleClickCell"></microDialog>
<!-- 输出弹窗end================== -->
<trans-graph :transGraphVisible.sync="transGraphVisible" :getXmlVal="getXmlVal"></trans-graph>
......@@ -909,6 +912,7 @@ export default {
data() {
return {
myoutPutFormData:{},
outPutFormData1:{},
outPutFormData2:{},
outPutFormData3:{},
......@@ -968,13 +972,7 @@ export default {
fieldType: [],
fieldFormat: [],
fields: [
{
filemask: "",
name: "王小虎",
exclude_filemask: "",
file_required: "0",
include_subfolders: "1",
},
],
engine: [],
......@@ -1500,7 +1498,7 @@ this.form = {};
this.sqlVisible = !this.sqlVisible;
this.outPutFormData7 = this.showDataFunc();
return;
}else if (cell.ids == "step10") {
}else if (cell.ids == "step10" || cell.value.attributes.ctype.value == "TypeExitExcelWriterStep" ) {
//mico-Excel输出
this.microVisible = !this.microVisible;
this.outPutFormData9 = this.showDataFunc();
......
......@@ -12,27 +12,26 @@
<el-form-item label="步骤名称:">
<el-input v-model="stepName.name"></el-input>
</el-form-item>
</el-form>
</el-form>
<el-form ref="form" :model="microForm" label-width="250px">
<el-tabs v-model="activeName" type="border-card">
<el-tab-pane label="文件" name="handling">
<el-form ref="form" :model="form" label-width="250px">
<!-- <el-form ref="form" :model="microForm" label-width="250px"> -->
<el-form-item label="文件名:">
<el-row :gutter="10">
<el-col :span="20">
<el-input v-model="form.name"></el-input>
<el-input v-model="microForm.file_name"></el-input>
</el-col>
<el-col class="line" :span="3">
<el-button size="mini">浏览</el-button></el-col>
<el-button size="mini" @click="chooseFile('file_name')">浏览</el-button></el-col>
</el-row>
</el-form-item>
<el-form-item label="扩展名:">
<el-row :gutter="10">
<el-col :span="23">
<el-select v-model="form.region" style="width: 100%">
<el-option label="区域一" value="shanghai"></el-option>
<el-option label="区域二" value="beijing"></el-option>
<el-select v-model="microForm.file_extention" style="width: 100%">
<el-option v-for="(item,index) in extentionList" :key="index" :label="item.text" :value="item.value"></el-option>
</el-select>
</el-col>
</el-row>
......@@ -40,51 +39,50 @@
<el-form-item label="Stream XSLX data:">
<el-row :gutter="10">
<el-col :span="23">
<el-checkbox v-model="form.checked"></el-checkbox>
<el-checkbox v-model="microForm.file_stream_data" true-label='Y' false-label="N"></el-checkbox>
</el-col>
</el-row>
</el-form-item>
<el-form-item label="分割每...行数据:">
<el-row :gutter="10">
<el-col :span="23">
<el-input v-model="form.name"></el-input>
<el-input v-model="microForm.file_splitevery"></el-input>
</el-col>
</el-row>
</el-form-item>
<el-form-item label="文件名里包含步骤数:">
<el-row :gutter="10">
<el-col :span="23">
<el-checkbox v-model="form.checked"></el-checkbox>
<el-checkbox v-model="microForm.file_add_stepnr" true-label='Y' false-label="N"></el-checkbox>
</el-col>
</el-row>
</el-form-item>
<el-form-item label="文件名里包含日期:">
<el-row :gutter="10">
<el-col :span="23">
<el-checkbox v-model="form.checked"></el-checkbox>
<el-checkbox v-model="microForm.file_add_date" true-label='Y' false-label="N"></el-checkbox>
</el-col>
</el-row>
</el-form-item>
<el-form-item label="文件名里包含时间:">
<el-row :gutter="10">
<el-col :span="23">
<el-checkbox v-model="form.checked"></el-checkbox>
<el-checkbox v-model="microForm.file_add_time" true-label='Y' false-label="N"></el-checkbox>
</el-col>
</el-row>
</el-form-item>
<el-form-item label="指定日期时间格式:">
<el-row :gutter="10">
<el-col :span="23">
<el-checkbox v-model="form.checked"></el-checkbox>
<el-checkbox v-model="microForm.file_SpecifyFormat" true-label='Y' false-label="N"></el-checkbox>
</el-col>
</el-row>
</el-form-item>
<el-form-item label="时间日期格式:">
<el-row :gutter="10">
<el-col :span="23">
<el-select v-model="form.region" style="width: 100%">
<el-option label="区域一" value="shanghai"></el-option>
<el-option label="区域二" value="beijing"></el-option>
<el-select :disabled="microForm.file_SpecifyFormat=='Y'? false :true" v-model="microForm.region" style="width: 100%">
<el-option v-for="(item,index) in formatTimeList" :key="index" :label="item.name" :value="item.name"></el-option>
</el-select>
</el-col>
</el-row>
......@@ -92,9 +90,8 @@
<el-form-item label="如果输出文件中已存在工作表:">
<el-row :gutter="10">
<el-col :span="23">
<el-select v-model="form.region" style="width: 100%">
<el-option label="区域一" value="shanghai"></el-option>
<el-option label="区域二" value="beijing"></el-option>
<el-select v-model="microForm.if_sheet_exists" style="width: 100%">
<el-option v-for="(item,index) in workList" :key="index" :label="item.text" :value="item.value"></el-option>
</el-select>
</el-col>
</el-row>
......@@ -102,14 +99,14 @@
<el-form-item label="在接收到数据前不创建文件:">
<el-row :gutter="10">
<el-col :span="23">
<el-checkbox v-model="form.checked"></el-checkbox>
<el-checkbox v-model="microForm.do_not_open_newfile_init" true-label='Y' false-label="N"></el-checkbox>
</el-col>
</el-row>
</el-form-item>
<el-form-item label="结果中添加文件名:">
<el-row :gutter="10">
<el-col :span="23">
<el-checkbox v-model="form.checked"></el-checkbox>
<el-checkbox v-model="microForm.add_to_result_filenames" true-label='Y' false-label="N"></el-checkbox>
</el-col>
</el-row>
</el-form-item>
......@@ -118,67 +115,63 @@
<el-form-item label="使用模板创建新文件:">
<el-row :gutter="10">
<el-col :span="23">
<el-checkbox v-model="form.checked"></el-checkbox>
<el-checkbox v-model="microForm.template_enabled" true-label='Y' false-label="N"></el-checkbox>
</el-col>
</el-row>
</el-form-item>
<el-form-item label="文件名:">
<el-row :gutter="10">
<el-col :span="20">
<el-input v-model="form.name"></el-input>
<el-input v-model="microForm.template_filename" :disabled="microForm.template_enabled=='Y'? false:true"></el-input>
</el-col>
<el-col class="line" :span="3">
<el-button size="mini">浏览</el-button></el-col
<el-button size="mini" @click="chooseFile('template_filename')">浏览</el-button></el-col
>
</el-row>
</el-form-item>
<el-form-item label="使用模板创建新工作表:">
<el-row :gutter="10">
<el-col :span="23">
<el-checkbox v-model="form.checked"></el-checkbox>
<el-checkbox v-model="microForm.template_sheet_enabled" true-label='Y' false-label="N"></el-checkbox>
</el-col>
</el-row>
</el-form-item>
<el-form-item label="模板工作表:">
<el-row :gutter="10">
<el-col :span="23">
<el-input v-model="form.name"></el-input>
<el-input v-model="microForm.template_sheetname"></el-input>
</el-col>
</el-row>
</el-form-item>
</div>
</el-form>
<!-- </el-form> -->
</el-tab-pane>
<el-tab-pane label="工作表" name="oher ">
<el-form ref="form" :model="form" label-width="250px">
<!-- <el-form ref="form" :model="form" label-width="250px"> -->
<div style="position:relative;border:1px solid #b5b8c8;padding:15px 0;">
<div style="position:absolute;top:-15px;left:20px;color:#15428b;background-color:#fff;padding:5px 10px;">Sheet设置</div>
<el-form-item label="Sheet名称:">
<el-row :gutter="10">
<el-col :span="23">
<el-select v-model="form.region" style="width: 100%">
<el-option label="区域一" value="shanghai"></el-option>
<el-option label="区域二" value="beijing"></el-option>
</el-select>
<el-input v-model="microForm.sheetname"></el-input>
</el-col>
</el-row>
</el-form-item>
<el-form-item label="设为活动Sheet:">
<el-row :gutter="10">
<el-col :span="23">
<el-checkbox v-model="form.checked"></el-checkbox>
<el-checkbox v-model="microForm.makeSheetActive" true-label='Y' false-label="N"></el-checkbox>
</el-col>
</el-row>
</el-form-item>
<el-form-item label="如果输出文件中已存在工作表:">
<el-row :gutter="10">
<el-col :span="23">
<el-select v-model="form.region" style="width: 100%">
<el-option label="区域一" value="shanghai"></el-option>
<el-option label="区域二" value="beijing"></el-option>
<el-select v-model="microForm.if_sheet_exists" style="width: 100%">
<el-option v-for="(item,index) in workList" :key="index" :label="item.text" :value="item.value"></el-option>
</el-select>
</el-col>
</el-row>
......@@ -186,21 +179,21 @@
<el-form-item label="保护工作表:">
<el-row :gutter="10">
<el-col :span="23">
<el-checkbox v-model="form.checked"></el-checkbox>
<el-checkbox v-model="microForm.protect_sheet" true-label='Y' false-label="N"></el-checkbox>
</el-col>
</el-row>
</el-form-item>
<el-form-item label="保护人:">
<el-row :gutter="10">
<el-col :span="23">
<el-input v-model="form.name"></el-input>
<el-input v-model="microForm.protected_by"></el-input>
</el-col>
</el-row>
</el-form-item>
<el-form-item label="密码:">
<el-row :gutter="10">
<el-col :span="23">
<el-input v-model="form.name"></el-input>
<el-input v-model="microForm.password"></el-input>
</el-col>
</el-row>
</el-form-item>
......@@ -212,16 +205,15 @@
<el-form-item label="开始输出自单元格:">
<el-row :gutter="10">
<el-col :span="23">
<el-input v-model="form.name"></el-input>
<el-input v-model="microForm.startingCell"></el-input>
</el-col>
</el-row>
</el-form-item>
<el-form-item label="当输出记录时:">
<el-row :gutter="10">
<el-col :span="23">
<el-select v-model="form.region" style="width: 100%">
<el-option label="区域一" value="shanghai"></el-option>
<el-option label="区域二" value="beijing"></el-option>
<el-select v-model="microForm.rowWritingMethod" style="width: 100%">
<el-option v-for="(item,index) in workList" :key="index" :label="item.text" :value="item.value"></el-option>
</el-select>
</el-col>
</el-row>
......@@ -229,35 +221,35 @@
<el-form-item label="头部:">
<el-row :gutter="10">
<el-col :span="23">
<el-checkbox v-model="form.checked"></el-checkbox>
<el-checkbox v-model="microForm.header" true-label='Y' false-label="N"></el-checkbox>
</el-col>
</el-row>
</el-form-item>
<el-form-item label="尾部:">
<el-row :gutter="10">
<el-col :span="23">
<el-checkbox v-model="form.checked"></el-checkbox>
<el-checkbox v-model="microForm.footer" true-label='Y' false-label="N"></el-checkbox>
</el-col>
</el-row>
</el-form-item>
<el-form-item label="自动调整列大小:">
<el-row :gutter="10">
<el-col :span="23">
<el-checkbox v-model="form.checked"></el-checkbox>
<el-checkbox v-model="microForm.autosizecolums" true-label='Y' false-label="N"></el-checkbox>
</el-col>
</el-row>
</el-form-item>
<el-form-item label="强制公式重新计算:">
<el-row :gutter="10">
<el-col :span="23">
<el-checkbox v-model="form.checked"></el-checkbox>
<el-checkbox v-model="microForm.forceFormulaRecalculation" true-label='Y' false-label="N"></el-checkbox>
</el-col>
</el-row>
</el-form-item>
<el-form-item label="不改变现有单元格格式:">
<el-row :gutter="10">
<el-col :span="23">
<el-checkbox v-model="form.checked"></el-checkbox>
<el-checkbox v-model="microForm.leaveExistingStylesUnchanged"></el-checkbox>
</el-col>
</el-row>
</el-form-item>
......@@ -265,38 +257,38 @@
</div>
</el-form>
<!-- </el-form> -->
</el-tab-pane>
<el-tab-pane label="内容" name="word ">
<el-form ref="form" :model="form" label-width="250px">
<!-- <el-form ref="form" :model="form" label-width="250px"> -->
<div style="position:relative;border:1px solid #b5b8c8;padding:15px;margin-bottom:15px;">
<div style="position:absolute;top:-15px;left:20px;color:#15428b;background-color:#fff;padding:5px 10px;">写在已存在的工作表</div>
<el-form-item label="在表的末尾行开始写(追加行):">
<el-row :gutter="10">
<el-col :span="23">
<el-checkbox v-model="form.checked"></el-checkbox>
<el-checkbox v-model="microForm.appendLines" true-label='Y' false-label="N"></el-checkbox>
</el-col>
</el-row>
</el-form-item>
<el-form-item label="抵消行数:">
<el-row :gutter="10">
<el-col :span="23">
<el-input v-model="form.name"></el-input>
<el-input v-model="microForm.appendOffset"></el-input>
</el-col>
</el-row>
</el-form-item>
<el-form-item label="在写入文件前添加的空行数:">
<el-row :gutter="10">
<el-col :span="23">
<el-input v-model="form.name"></el-input>
<el-input v-model="microForm.appendEmpty"></el-input>
</el-col>
</el-row>
</el-form-item>
<el-form-item label="删除表头:">
<el-row :gutter="10">
<el-col :span="23">
<el-checkbox v-model="form.checked"></el-checkbox>
<el-checkbox v-model="microForm.appendOmitHeader" true-label='Y' false-label="N"></el-checkbox>
</el-col>
</el-row>
</el-form-item>
......@@ -304,98 +296,238 @@
<el-card class="box-card">
<div slot="header" class="clearfix">
<span>字段</span>
<el-button style="padding: 3px 0;margin-left:50px;" type="text" @click="fieldClick(true)">新增字段</el-button>
</div>
<el-table style="width: 100%" border :data="tableData">
<template v-for="(item,index) in tableHead">
<el-table-column :prop="item.column_name" :label="item.column_comment" :key="index" v-if="item.column_name != 'id'"></el-table-column>
</template>
</el-table>
<table-list ref="tableDia" :tableHead="tableHead" :tableData="tableData" :field.sync="editDia" :fieldClick="fieldClick"></table-list>
<!-- 编辑弹窗开始=========== -->
<el-dialog
title="编辑"
:visible.sync="field"
width="500px"
:before-close="handleCloseEdit"
append-to-body>
<el-form ref="form1" :model="fieldForm" label-width="80px">
<el-form-item label="名称:">
<el-input v-model="fieldForm.name"></el-input>
</el-form-item>
<el-form-item label="类型:">
<el-select v-model="fieldForm.type" style="width: 100%" @focus="getValueMetaStore">
<el-option v-for="(item,index) in metaStoreList" :key="index" :label="item.name" :value="item.name"></el-option>
</el-select>
</el-form-item>
<el-form-item label="format:">
<el-select v-model="fieldForm.format" style="width: 100%" @focus="getValueFormatStore">
<el-option v-for="(item,index) in formatStoreList" :key="index" :label="item.name" :value="item.name"></el-option>
</el-select>
</el-form-item>
<el-form-item label="单元格样式:">
<el-input v-model="fieldForm.styleCell"></el-input>
</el-form-item>
<el-form-item label="字段标题:">
<el-input v-model="fieldForm.title"></el-input>
</el-form-item>
<el-form-item label="单元格表头样式:">
<el-input v-model="fieldForm.titleStyleCell"></el-input>
</el-form-item>
<el-form-item label="字段包含公式:">
<el-select v-model="fieldForm.formula" style="width: 100%">
<el-option label="是" value="Y"></el-option>
<el-option label="否" value="N"></el-option>
</el-select>
</el-form-item>
<el-form-item label="超链接:">
<el-select v-model="fieldForm.hyperlinkField" style="width: 100%" @focus="inputOutputFields">
<el-option v-for="(item,index) in hyperlinkList" :key="index" :label="item.name" :value="item.name"></el-option>
</el-select>
</el-form-item>
<el-form-item label="Cell Comment Field(XLSX):">
<el-select v-model="fieldForm.commentField" style="width: 100%" @focus="inputOutputFields">
<el-option v-for="(item,index) in hyperlinkList" :key="index" :label="item.name" :value="item.name"></el-option>
</el-select>
</el-form-item>
<el-form-item label="Cell Comment Author Field(XLSX):">
<el-select v-model="fieldForm.commentAuthorField" style="width: 100%" @focus="inputOutputFields">
<el-option v-for="(item,index) in hyperlinkList" :key="index" :label="item.name" :value="item.name"></el-option>
</el-select>
</el-form-item>
</el-form>
<span slot="footer" class="dialog-footer">
<el-button @click="field = false">取 消</el-button>
<el-button type="primary" @click="addField">确 定</el-button>
</span>
</el-dialog>
<!-- 编辑弹窗结束============ -->
</el-card>
</el-form>
<!-- </el-form> -->
</el-tab-pane>
</el-tabs>
</el-form>
<span slot="footer" class="dialog-footer">
<el-button @click="microVisible = false">取 消</el-button>
<el-button type="primary" @click="confirm">确 定</el-button>
</span>
</el-dialog>
<!-- 浏览选择文件 -->
<file-tree :fileDialogVisible.sync="fileDialogVisible" :excelForm="microForm" :formName="formName"></file-tree>
</div>
</template>
<script>
import {
excelType,//获取扩展名
formatFunc,//获取已经创建的数据库列表
excelwritemethod,
inputOutputFields,
getValueMetaStore,
getValueFormatStore
} from "@/api/kettle/file";
export default ({
data(){
return{
formName:'',//当前那个属性选择文件夹
metaStoreList:[],//类型
formatStoreList:[],//字段格式
hyperlinkList:[],
extentionList:[],
workList:[],
fileDialogVisible:false,//选择文件夹弹窗
formatTimeList:[],//时间日期格式
field:false,//编辑弹窗
editDia:false,//编辑表字段
fieldForm:{},//编辑弹窗
// inputValue:'',
form:{},
stepName:{},
// microForm:{
// add_to_result_filenames: "Y",
// appendEmpty: "0",
// appendLines: "N",
// appendOffset: "0",
// appendOmitHeader: "N",
// autosizecolums: "N",
// do_not_open_newfile_init: "N",
// fields: "[]",
// file_SpecifyFormat: "N",
// file_add_date: "N",
// file_add_time: "N",
// file_date_time_format: "",
// file_extention: "xls",
// file_name: "file",
// file_split: "N",
// file_splitevery: "0",
// file_stream_data: "N",
// footer: "N",
// forceFormulaRecalculation: "N",
// header: "Y",
// if_file_exists: "new",
// if_sheet_exists: "new",
// label: "Microsoft Excel 输出",
// leaveExistingStylesUnchanged: "N",
// makeSheetActive: "Y",
// password: undefined,
// protect_sheet: "N",
// protected_by: undefined,
// rowWritingMethod: "overwrite",
// sheetname: "Sheet1",
// startingCell: "A1",
// template_enabled: "N",
// template_filename: "template.xls",
// template_sheet_enabled: "N",
// template_sheetname: "",
// },
stepName:{name:'Microsoft Excel 输出'},
activeName:'handling',
engine:[],
// engine:[],
// 表头数据
tableHead:[
{
column_name: "column_name",column_comment:"名称"
column_name: "name",column_comment:"名称"
},
{
column_name: "type",column_comment:"类型"
},
{
column_name: "format",column_comment:"格式"
},
{
column_name: "column_age",column_comment:"类型"
column_name: "styleCell",column_comment:"单元格样式"
},
{
column_name: "column_sex",column_comment:"格式"
column_name: "title",column_comment:"字段标题"
},
{
column_name: "column_col",column_comment:"单元格样式"
column_name: "titleStyleCell",column_comment:"单元格表头样式"
},
{
column_name: "column_col1",column_comment:"字段标题"
column_name: "formula",column_comment:"字段包含公式"
},
{
column_name: "column_col2",column_comment:"单元格表头样式"
column_name: "hyperlinkField",column_comment:"超链接"
},
{
column_name: "column_col3",column_comment:"字段包含公式"
column_name: "commentField",column_comment:"Cell Comment Field(XLSX)"
},
{
column_name: "column_col4",column_comment:"超链接"
column_name: "commentAuthorField",column_comment:"Cell Comment Author Field(XLSX)"
},
],
// 表格数据
tableData: [{
column_age: '3',
column_name: '鞠婧祎',
column_sex: '女',
column_col:'1',
column_col1:'2',
column_col2:'2',
column_col3:'2',
column_col4:'4'
tableData: [
{
name: '3',
type: '鞠婧祎',
format: '女',
styleCell:'1',
title:'2',
titleStyleCell:'2',
formula:'2',
hyperlinkField:'4',
commentField:'2',
commentAuthorField:'4'
},
{
column_age: '25',
column_name: '魏大勋',
column_sex: '男',
column_col:'1',
column_col1:'2',
column_col2:'2',
column_col3:'2',
column_col4:'4'
name: '3',
type: '鞠婧祎',
format: '女',
styleCell:'1',
title:'2',
titleStyleCell:'2',
formula:'2',
hyperlinkField:'4',
commentField:'2',
commentAuthorField:'4'
},
{
column_age: '18',
column_name: '关晓彤',
column_sex: '女',
column_col:'1',
column_col1:'2',
column_col2:'2',
column_col3:'2',
column_col4:'4'
}],
name: '3',
type: '鞠婧祎',
format: '女',
styleCell:'1',
title:'2',
titleStyleCell:'2',
formula:'2',
hyperlinkField:'4',
commentField:'2',
commentAuthorField:'4'
}
],
}
},
watch:{
microForm(n, o) {
console.log("回显的表单数据===",n);
if(n){
var ny=JSON.parse(n.fields);
this.tableData=ny;
}
},
},
props:{
microForm:Object,
title:{
type:String,
default:''
......@@ -408,58 +540,140 @@ export default ({
type: Boolean,
default:false
},
explorer:Function
explorer:Function,
saveOutputDialog:Function,
doubleClickCell:Object
},
mounted(){
},
created(){
this.formatFunc();//获取时间日期格式
this.excelwritemethod();//如果输出文件中已存在工作表
},
methods:{
handleClose(){
this.$emit("update:microVisible", false);
},
confirm(){
this.updateForm.searchFields=JSON.stringify(this.tableData);//查询字段
this.updateForm.updateFields=JSON.stringify(this.tableDataUpdate);//更新字段
console.log('弹窗数据===',this.updateForm);
this.saveOutputDialog(this.updateForm);
this.microForm.fields=JSON.stringify(this.tableData);//查询字段
// this.updateForm.updateFields=JSON.stringify(this.tableDataUpdate);//更新字段
console.log('弹窗数据===',this.microForm);
this.saveOutputDialog(this.microForm);
this.handleClose();//关闭弹窗
},
//新建转换
createTrans(){
var formData = new FormData();
var formData = new FormData();
formData.append('dir', this.nodePath);
formData.append('transName', this.inputValue);
// console.log('新建提交参数==',params);
createTrans(formData).then(res=>{
if (res) {
this.$message.success('创建成功!');
this.explorer('');
this.$emit("update:estabDialogVisible", false);
}else {
this.$message.error(res.errMsg)
}
//新增或者编辑弹窗
fieldClick(state, val) {
this.field = !this.field;
this.dataState = state;
if (state) {
this.fieldForm = {};
} else {
this.fieldForm = val;
}
},
//关闭编辑的弹窗
handleCloseEdit(){
this.field = !this.field;
},
// 字段
addField() {
this.field = !this.field;
console.log('添加的字段===',this.fieldForm);
if (this.dataState) {
this.tableData.push(this.fieldForm);
}
},
// 获取扩展名
getExtension(){
let pamer = new FormData(); // 创建form对象
pamer.append("query", '');
excelType(pamer).then(res=>{
console.log('字段',res);
this.extentionList=res;
})
},
//时间日期格式
formatFunc(){
var formData = new FormData();
formData.append('query', '');
formatFunc(formData).then(res=>{
if (res) {
console.log('时间日期格式==',res);
this.formatTimeList=res;
}else {
this.$message.error(res.errMsg)
}
})
},
// 如果输出文件中已存在工作表
excelwritemethod(){
var formData = new FormData();
formData.append('query', '');
excelwritemethod(formData).then(res=>{
if (res) {
console.log('时间日期格式==',res);
this.workList=res;
}else {
this.$message.error(res.errMsg)
}
})
},
//选择文件夹
chooseFile(name){
this.formName=name;//当前哪个属性需要选择文件夹
this.fileDialogVisible=true;
},
//超链接
inputOutputFields(){
if(this.doubleClickCell){
var title=this.doubleClickCell.title
}
console.log('获取cell888888===',this.doubleClickCell);
let pamer = new FormData(); // 创建form对象
pamer.append("stepName", encodeURIComponent(title));
pamer.append("graphXml", this.getXmlVal);
pamer.append("before", true);
pamer.append("query", '');
inputOutputFields(pamer).then(res=>{
console.log('字段',res);
this.hyperlinkList=res;
})
},
// 上传
handleChange(file, fileList) {
// console.log(file);
// 获取字段类型
getValueMetaStore(){
var formData = new FormData();
formData.append('query', '');
getValueMetaStore(formData).then(res=>{
if (res) {
console.log('字段类型==',res);
this.metaStoreList=res;
}else {
this.$message.error(res.errMsg)
}
})
},
// 获取格式
getValueFormatStore(){
var formData = new FormData();
formData.append('valueType', 'all');
getValueFormatStore(formData).then(res=>{
if (res) {
console.log('字段格式==',res);
this.formatStoreList=res;
}else {
this.$message.error(res.errMsg)
}
})
},
this.fileList = fileList.slice(-3);
this.tableData.push({ name: file.name });
// console.log(this.tableData);
// this.getObjectURL(file.raw)
// console.log(this.getObjectURL(file.raw));
},
addSheet(){},
fileChnageInput(e) {
console.log(e);
},
}
......
......@@ -5,7 +5,6 @@
:visible.sync="tableOutPutVisible"
width="800px"
:before-close="handleClose"
@open="dialogOpen"
top="10%"
append-to-body>
......@@ -62,7 +61,7 @@
<el-select v-model="tableOutForm.partitioning_field" style="width: 100%" :disabled="tableOutForm.partitioning_enabled=='Y'? false :true">
<!-- <el-option label="区域一" value="shanghai"></el-option>
<el-option label="区域二" value="beijing"></el-option> -->
<el-option v-for="(item,index) in fieldsList" :key="index" :label="item.name" :value="item.name"></el-option>
<el-option v-for="(item,index) in fieldsList2" :key="index" :label="item.name" :value="item.name"></el-option>
</el-select>
</el-col>
</el-row>
......@@ -103,7 +102,7 @@
<el-select v-model="tableOutForm.tablename_field" :disabled="tableOutForm.tablename_in_field=='Y'? false :true" style="width: 100%">
<!-- <el-option label="区域一" value="shanghai"></el-option>
<el-option label="区域二" value="beijing"></el-option> -->
<el-option v-for="(item,index) in fieldsList" :key="index" :label="item.name" :value="item.name"></el-option>
<el-option v-for="(item,index) in fieldsList2" :key="index" :label="item.name" :value="item.name"></el-option>
</el-select>
</el-col>
......@@ -160,8 +159,8 @@
<!-- <el-checkbox-group v-model="checkedCities" style="width:100%;">
<el-checkbox > -->
<el-form-item label="表字段:">
<el-select v-model="fieldForm.column_name" style="width: 100%">
<el-option v-for="(item,index) in fieldsList" :key="index" :label="item.name" :value="item.name"></el-option>
<el-select v-model="fieldForm.column_name" style="width: 100%" @focus="tableFields">
<el-option v-for="(item,index) in fieldsList1" :key="index" :label="item.name" :value="item.name"></el-option>
<!-- <el-option label="不去掉空格" value="none"></el-option>
<el-option label="去掉左空格" value="left"></el-option>
<el-option label="去掉右空格" value="right"></el-option>
......@@ -172,9 +171,9 @@
<!-- <el-checkbox > -->
<el-form-item label="流字段:">
<el-select v-model="fieldForm.stream_name" style="width: 100%">
<el-select v-model="fieldForm.stream_name" style="width: 100%" @focus="inputOutputFields">
<el-option v-for="(item,index) in fieldsList" :key="index" :label="item.name" :value="item.name"></el-option>
<el-option v-for="(item,index) in fieldsList2" :key="index" :label="item.name" :value="item.name"></el-option>
<!-- <el-option label="不去掉空格" value="none"></el-option>
<el-option label="去掉左空格" value="left"></el-option>
<el-option label="去掉右空格" value="right"></el-option>
......@@ -220,9 +219,8 @@ const {
mxGeometry,
} = mxgraph
import {
tableFields,
inputOutputFields,//获取表输出
} from "@/api/kettle/file";
export default ({
data(){
......@@ -254,7 +252,8 @@ export default ({
// },
stepName:{},
activeName:'content',
fieldsList:[],//字段获取
fieldsList1:[],//字段获取
fieldsList2:[],//字段获取
// engine:[],
// tableData: [
// {
......@@ -357,8 +356,8 @@ export default ({
handleClose(){
this.$emit("update:tableOutPutVisible", false);
},
//获取表输出
dialogOpen(){
tableFields(){
// var enc = new mxCodec(mxUtils.createXmlDocument());
// var node = enc.encode(graph.getModel());
// console.log('获取===',node);
......@@ -372,12 +371,29 @@ export default ({
pamer.append("graphXml", this.getXmlVal);
pamer.append("before", true);
pamer.append("query", '');
inputOutputFields(pamer).then(res=>{
tableFields(pamer).then(res=>{
console.log('字段',res);
// this.blankCanvas = res
this.fieldsList=res;
this.fieldsList1=res;
})
},
//获取表输出
inputOutputFields(){
if(this.doubleClickCell){
var title=this.doubleClickCell.title
}
console.log('获取cell888888===',this.doubleClickCell);
let pamer = new FormData(); // 创建form对象
pamer.append("stepName", encodeURIComponent(title));
pamer.append("graphXml", this.getXmlVal);
pamer.append("before", true);
pamer.append("query", '');
inputOutputFields(pamer).then(res=>{
console.log('字段',res);
this.fieldsList2=res;
})
},
//新增或者编辑弹窗
fieldClick(state, val) {
......
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