2024-03-26 11:18:19 +08:00
|
|
|
<script src="configData.js"></script>
|
|
|
|
<template>
|
|
|
|
<div class="wrap">
|
|
|
|
<div class="btn">
|
|
|
|
<div class="chunk">
|
|
|
|
<el-button
|
2024-06-13 14:48:19 +08:00
|
|
|
icon="el-icon-back"
|
|
|
|
@click="
|
2024-03-26 11:18:19 +08:00
|
|
|
$router.replace({ path: '/integrationOption/masterDataOptions' })
|
|
|
|
"
|
|
|
|
>返回
|
|
|
|
</el-button
|
|
|
|
>
|
|
|
|
</div>
|
|
|
|
<div class="chunk">
|
|
|
|
<el-button
|
2024-06-13 14:48:19 +08:00
|
|
|
icon="el-icon-first-aid-kit"
|
|
|
|
type="primary"
|
|
|
|
@click="saveHandle"
|
|
|
|
:loading="saveLoading"
|
2024-03-26 11:18:19 +08:00
|
|
|
>保存
|
|
|
|
</el-button
|
|
|
|
>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<div class="main">
|
|
|
|
<div class="left" v-loading="mainLoading">
|
|
|
|
<div class="title">
|
|
|
|
数据表
|
|
|
|
</div>
|
|
|
|
<div class="receipts">
|
|
|
|
<div class="label">单据规则:</div>
|
|
|
|
<div class="receiptsList" @click="openReceiptsHandle">
|
|
|
|
<template v-if="!receiptsShowTableData.length">点击选择单据规则</template>
|
|
|
|
<template v-else>
|
|
|
|
<div class="receiptsItem" v-for="(item,index) in receiptsShowTableData">{{ item.dbValue }}</div>
|
|
|
|
</template>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<div class="mainTable">
|
|
|
|
<BaseTable
|
2024-06-13 14:48:19 +08:00
|
|
|
ref="mainTable"
|
|
|
|
:tableData="mainTableData"
|
|
|
|
:tabLoading="mainTabLoading"
|
|
|
|
:tableColumn="mainTableColumn"
|
|
|
|
:border="false"
|
|
|
|
:funData="mainFunData"
|
|
|
|
tableHeight="25vh"
|
|
|
|
:highlightCurrent="true"
|
|
|
|
@radioChange="mainOnClick"
|
|
|
|
@onFunc="mainOnFunc"
|
2024-03-26 11:18:19 +08:00
|
|
|
>
|
|
|
|
<template #dbType="{row}">
|
|
|
|
{{ row.dbType === '1' ? '主表' : '子表' }}
|
|
|
|
</template>
|
|
|
|
</BaseTable>
|
|
|
|
<div class="mainAddRow">
|
|
|
|
<el-link
|
2024-06-13 14:48:19 +08:00
|
|
|
type="primary"
|
|
|
|
@click="addMainAddRow"
|
|
|
|
:underline="false"
|
2024-03-26 11:18:19 +08:00
|
|
|
>+ 添加
|
|
|
|
</el-link
|
|
|
|
>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<div class="title">
|
|
|
|
表字段
|
|
|
|
</div>
|
|
|
|
<div class="activedTable">
|
|
|
|
<BaseTable
|
2024-06-13 14:48:19 +08:00
|
|
|
ref="activedTable"
|
|
|
|
:tableData="activedTableData"
|
|
|
|
:tabLoading="activedTabLoading"
|
|
|
|
:tableColumn="activedTableColumn"
|
|
|
|
:border="false"
|
|
|
|
:funData="activedFunData"
|
|
|
|
tableHeight="30vh"
|
|
|
|
:highlightCurrent="true"
|
|
|
|
@radioChange="activedOnClick"
|
|
|
|
@onFunc="activedOnFunc"
|
2024-03-26 11:18:19 +08:00
|
|
|
>
|
|
|
|
<template #filedType="{row}">
|
|
|
|
{{ dataTypeDist[row.filedType] }}
|
|
|
|
</template>
|
|
|
|
</BaseTable>
|
|
|
|
<div class="mainAddRow" v-if="mainActivedRow">
|
|
|
|
<el-link
|
2024-06-13 14:48:19 +08:00
|
|
|
type="primary"
|
|
|
|
@click="activedAddRow"
|
|
|
|
:underline="false"
|
2024-03-26 11:18:19 +08:00
|
|
|
>+ 添加
|
|
|
|
</el-link
|
|
|
|
>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div v-loading=>
|
|
|
|
<div class="right">
|
|
|
|
<template v-if="activedTableRow">
|
|
|
|
<div class="btn">
|
|
|
|
<el-button
|
2024-06-13 14:48:19 +08:00
|
|
|
type="primary"
|
|
|
|
@click="activedRowSaveHandle"
|
2024-03-26 11:18:19 +08:00
|
|
|
>暂存
|
|
|
|
</el-button>
|
|
|
|
</div>
|
|
|
|
<div class="title">
|
|
|
|
表字段
|
|
|
|
</div>
|
|
|
|
<div class="optionForm">
|
|
|
|
<baseNewForm
|
2024-06-13 14:48:19 +08:00
|
|
|
ref="optionForm"
|
|
|
|
:spanNumber="24"
|
|
|
|
:isFunBtn="false"
|
|
|
|
:formRow="optionFormRow"
|
|
|
|
:ruleForm="optionRuleForm"
|
|
|
|
:labelPosition="'left'"
|
|
|
|
@onSelect="selectChangeHanlde"
|
|
|
|
@inputBlur="optionFormInputBlur"
|
|
|
|
@onSubmit="optionOnSubmit"
|
|
|
|
:disabled="sonFormDisabled"
|
2024-05-24 16:47:01 +08:00
|
|
|
>
|
2024-03-26 11:18:19 +08:00
|
|
|
</baseNewForm>
|
|
|
|
<baseNewForm
|
2024-06-13 14:48:19 +08:00
|
|
|
ref="typeOptionForm"
|
|
|
|
:spanNumber="24"
|
|
|
|
:isFunBtn="false"
|
|
|
|
:formRow="typeOptionFormRow"
|
|
|
|
:ruleForm="typeOptionRuleForm"
|
|
|
|
:labelPosition="'left'"
|
|
|
|
@onSelect="typeSelectChangeHanlde"
|
|
|
|
@onSubmit="typeOptionOnSubmit"
|
|
|
|
:disabled="sonFormDisabled"
|
2024-05-24 16:47:01 +08:00
|
|
|
>
|
2024-03-26 11:18:19 +08:00
|
|
|
</baseNewForm>
|
|
|
|
<baseNewForm
|
2024-06-13 14:48:19 +08:00
|
|
|
ref="propertyForm"
|
|
|
|
:spanNumber="24"
|
|
|
|
:isFunBtn="false"
|
|
|
|
:formRow="propertyFormRow"
|
|
|
|
:ruleForm="propertyRuleForm"
|
|
|
|
:labelPosition="'left'"
|
|
|
|
@onSubmit="propertyOnSubmit"
|
|
|
|
:disabled="sonFormDisabled"
|
2024-05-28 14:42:19 +08:00
|
|
|
|
2024-05-24 16:47:01 +08:00
|
|
|
>
|
2024-03-26 11:18:19 +08:00
|
|
|
</baseNewForm>
|
|
|
|
</div>
|
|
|
|
<div class="smtitle">
|
|
|
|
可选控间属性
|
|
|
|
</div>
|
|
|
|
<div class="checkBoxList">
|
2024-05-28 14:42:19 +08:00
|
|
|
<el-checkbox-group :disabled="sonFormDisabled" v-model="propertyActiveList"
|
|
|
|
@change="propertyActiveListChangeHanlde"
|
|
|
|
>
|
2024-03-26 11:18:19 +08:00
|
|
|
<el-checkbox v-for="(item,index) in propertyList" :label="item.id" :key="item.id">{{
|
|
|
|
item.label
|
|
|
|
}}
|
|
|
|
</el-checkbox>
|
|
|
|
</el-checkbox-group>
|
|
|
|
</div>
|
|
|
|
</template>
|
|
|
|
<template v-else-if="mainActivedRow">
|
|
|
|
<div class="btn">
|
|
|
|
<el-button
|
2024-06-13 14:48:19 +08:00
|
|
|
type="primary"
|
|
|
|
@click="mainActivedRowSaveHandle"
|
2024-03-26 11:18:19 +08:00
|
|
|
>暂存
|
|
|
|
</el-button>
|
|
|
|
</div>
|
|
|
|
<div class="title">
|
|
|
|
数据表
|
|
|
|
</div>
|
|
|
|
<div class="optionForm">
|
|
|
|
<baseNewForm
|
2024-06-13 14:48:19 +08:00
|
|
|
ref="mainOptionForm"
|
|
|
|
:spanNumber="24"
|
|
|
|
:isFunBtn="false"
|
|
|
|
:formRow="mainOptionRow"
|
|
|
|
:ruleForm="mainOptionForm"
|
|
|
|
:labelPosition="'left'"
|
|
|
|
@onSubmit="mainOptionOnSubmit"
|
2024-05-24 16:47:01 +08:00
|
|
|
>
|
2024-03-26 11:18:19 +08:00
|
|
|
</baseNewForm>
|
|
|
|
</div>
|
|
|
|
</template>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<baseDialog v-model="receiptsShow" width="50%" @confirm="receiptsConfirm">
|
|
|
|
<div class="receiptsTable">
|
|
|
|
<BaseTable
|
2024-06-13 14:48:19 +08:00
|
|
|
ref="receiptsTable"
|
|
|
|
:showIndex="true"
|
|
|
|
:tableData="receiptsTableData"
|
|
|
|
:tableColumn="receiptsTableColumn"
|
|
|
|
:border="false"
|
|
|
|
:funData="receiptsFunData"
|
|
|
|
tableHeight="30vh"
|
|
|
|
@onFunc="receiptsOnFunc"
|
2024-05-24 16:47:01 +08:00
|
|
|
>
|
2024-03-26 11:18:19 +08:00
|
|
|
<template #dbType="{row}">
|
|
|
|
<el-select v-model="row['dbType']" placeholder="请选择"
|
2024-05-24 16:47:01 +08:00
|
|
|
@change="(val)=>ruleTypeSeleceChangHandle(val,row)"
|
|
|
|
>
|
2024-03-26 11:18:19 +08:00
|
|
|
<el-option
|
2024-06-13 14:48:19 +08:00
|
|
|
v-for="item in ruleTypeOptions"
|
|
|
|
:key="item.value"
|
|
|
|
:label="item.label"
|
|
|
|
:value="item.value"
|
2024-05-24 16:47:01 +08:00
|
|
|
>
|
2024-03-26 11:18:19 +08:00
|
|
|
</el-option>
|
|
|
|
</el-select>
|
|
|
|
</template>
|
|
|
|
<template #dbValue="{row}">
|
|
|
|
<div v-if="!row['dbType']">请选择格式类型</div>
|
|
|
|
<div v-else-if="row['dbType'] === '1'">{{ row.dbValue }}</div>
|
|
|
|
<div v-else-if="row['dbType'] === '2'">
|
|
|
|
<el-input v-model="row.dbValue"></el-input>
|
|
|
|
</div>
|
|
|
|
<div v-else-if="row['dbType'] === '3'">
|
|
|
|
<el-select v-model="row.dbValue" placeholder="请选择">
|
|
|
|
<el-option
|
2024-06-13 14:48:19 +08:00
|
|
|
v-for="item in dateOptions"
|
|
|
|
:key="item.value"
|
|
|
|
:label="item.label"
|
|
|
|
:value="item.value"
|
2024-05-24 16:47:01 +08:00
|
|
|
>
|
2024-03-26 11:18:19 +08:00
|
|
|
</el-option>
|
|
|
|
</el-select>
|
|
|
|
</div>
|
|
|
|
<div v-else-if="row['dbType'] === '4'">
|
|
|
|
<el-input v-model="row.dbValue" @input="(val)=>integerNumber(val,row)"></el-input>
|
|
|
|
</div>
|
|
|
|
</template>
|
|
|
|
</BaseTable>
|
|
|
|
<div class="receiptsAddRow">
|
|
|
|
<el-link
|
2024-06-13 14:48:19 +08:00
|
|
|
type="primary"
|
|
|
|
@click="receiptsAddRow"
|
|
|
|
:underline="false"
|
2024-03-26 11:18:19 +08:00
|
|
|
>+ 添加
|
|
|
|
</el-link
|
|
|
|
>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</baseDialog>
|
|
|
|
</div>
|
|
|
|
</template>
|
|
|
|
|
|
|
|
<script>
|
2024-05-24 16:47:01 +08:00
|
|
|
import BaseTable from '@/views/intergrationTask/compoments/baseTable.vue'
|
|
|
|
import configData from './configData'
|
|
|
|
import { getApiModuleApi } from '@/api/apiChunks/index.js'
|
|
|
|
import baseNewForm from '../compoments/baseNewForm'
|
|
|
|
import { deepClone } from '@/utils/index.js'
|
|
|
|
import baseDialog from '@/views/integrationOption/compoments/baseDialog'
|
2024-03-26 11:18:19 +08:00
|
|
|
|
|
|
|
export default {
|
|
|
|
data() {
|
2024-06-13 14:48:19 +08:00
|
|
|
return {}
|
2024-03-26 11:18:19 +08:00
|
|
|
},
|
2024-06-13 14:48:19 +08:00
|
|
|
methods: {},
|
2024-03-26 11:18:19 +08:00
|
|
|
components: {
|
|
|
|
baseNewForm,
|
|
|
|
BaseTable,
|
|
|
|
baseDialog
|
|
|
|
},
|
|
|
|
created() {
|
|
|
|
},
|
|
|
|
watch: {},
|
2024-06-13 14:48:19 +08:00
|
|
|
computed: {}
|
2024-05-24 16:47:01 +08:00
|
|
|
}
|
2024-03-26 11:18:19 +08:00
|
|
|
</script>
|
|
|
|
|
|
|
|
<style scoped lang="scss">
|
|
|
|
::v-deep .el-button {
|
|
|
|
border-radius: 16px;
|
|
|
|
}
|
|
|
|
|
|
|
|
::v-deep .el-form-item {
|
|
|
|
display: block !important;
|
|
|
|
}
|
|
|
|
</style>
|