324 lines
7.3 KiB
Vue
324 lines
7.3 KiB
Vue
<template>
|
|
<div>
|
|
<base-right-dialog
|
|
size="1000px"
|
|
ref="baseRightDialog"
|
|
:footerShow="true"
|
|
:dialogVisible.sync="dialogVisible"
|
|
:title="dialogTitle + ' 集成前台任务'"
|
|
@handleClose="handleDialogClose"
|
|
:type="dialogType"
|
|
:submitShow="submitShow"
|
|
@handleConfirmClick="handleConfirmClick"
|
|
>
|
|
<base-form
|
|
ref="basicsForm"
|
|
:formRow="formRow"
|
|
:isFunBtn="false"
|
|
:rules="basicsRules"
|
|
class="dialog_form"
|
|
:spanWidth="`120px`"
|
|
:loading="vLoading"
|
|
|
|
>
|
|
</base-form>
|
|
|
|
</base-right-dialog>
|
|
</div>
|
|
</template>
|
|
|
|
<script>
|
|
import baseRightDialog from '@/components/base/baseRightDialog'
|
|
import baseNewSelect from './baseNewSelect.vue'
|
|
import baseForm from '@/components/base/baseNewForm'
|
|
import baseTable from '@/components/base/baseTable'
|
|
import configData from './configData'
|
|
import { authApi } from '@/api/apis/auth'
|
|
|
|
export default {
|
|
components: {
|
|
baseRightDialog,
|
|
baseForm,
|
|
baseTable,
|
|
baseNewSelect
|
|
},
|
|
data() {
|
|
return {
|
|
dialogVisible: false,
|
|
dialogTitle: '',
|
|
dialogType: '',
|
|
formRow: configData.formRow,
|
|
basicsRules: configData.basicsRules,
|
|
vLoading: false,
|
|
newMarryOptions: [],
|
|
submitShow: true,
|
|
loadingType: true,
|
|
tableVersionData: [],
|
|
tableVersionColumn: configData.tableVersionColumn,
|
|
funData: [],
|
|
isEdit: false,
|
|
select_dist: {},
|
|
plugNameOptions: [],
|
|
tableColumn: configData.operationTableColumn,//操作记录
|
|
tableData: []
|
|
}
|
|
},
|
|
mounted() {
|
|
this.initSelect()
|
|
},
|
|
methods: {
|
|
// 插件下拉
|
|
async initSelect() {
|
|
let res = await authApi(
|
|
'pluginService',
|
|
'plugins',
|
|
'queryPluginsByType',
|
|
'',
|
|
{
|
|
'pluginType': '1'
|
|
}
|
|
)
|
|
if (res.status == 200) {
|
|
console.log(res.attribute)
|
|
res.attribute.forEach(item => {
|
|
this.$set(this.select_dist, item.pluginId, item)
|
|
})
|
|
this.formRow[0].elCol[0].options = res.attribute
|
|
}
|
|
},
|
|
//下拉改变事件
|
|
selectChangeHandle(val, options) {
|
|
if (!val) {
|
|
this.tableVersionData = []
|
|
return
|
|
}
|
|
//找到这条
|
|
let obj = options.find(item => {
|
|
return item.plugName === val
|
|
})
|
|
console.log(obj)
|
|
this.$set(this.$refs.basicsForm.ruleForm, 'plugId', obj.plugId)
|
|
this.$set(this.$refs.basicsForm.ruleForm, 'plugName', obj.plugName)
|
|
this.searchInfo(obj.plugId)
|
|
},
|
|
//下拉后查询单据详情
|
|
async searchInfo(plugId) {
|
|
let params = {
|
|
plugId
|
|
}
|
|
let res = await authApi(
|
|
'sysPlugArgService',
|
|
'integrationTaskService',
|
|
'getPlugArgByPlugId',
|
|
'',
|
|
params
|
|
)
|
|
console.log(res, 'res')
|
|
if (res.status == 200) {
|
|
//数据处理
|
|
let arr = []
|
|
res.attribute.forEach(item => {
|
|
arr.push({
|
|
startDate: '',
|
|
endDate: '',
|
|
remark: '',
|
|
argValue: '',
|
|
argName: item.argName,
|
|
argCode: item.argCode,
|
|
argType: item.argType
|
|
})
|
|
|
|
})
|
|
this.tableVersionData = arr
|
|
}
|
|
},
|
|
openDialog(type, row) {
|
|
|
|
this.formRow = configData.formRow
|
|
this.submitShow = true
|
|
|
|
this.isEdit = false
|
|
this.funData = []
|
|
|
|
// 编辑
|
|
if (type == 'edit') {
|
|
this.isEdit = true
|
|
this.dialogTitle = '编辑'
|
|
this.dialogType = 'edit'
|
|
this.productGetById(row.id)
|
|
}
|
|
// 查看
|
|
if (type == 'show') {
|
|
this.funData = Object.assign([], [])
|
|
this.submitShow = false
|
|
this.formRow = configData.formRowShow
|
|
this.dialogTitle = '查看'
|
|
this.dialogType = 'show'
|
|
this.productGetById(row.id)
|
|
|
|
}
|
|
this.dialogVisible = true
|
|
// 新增
|
|
if (type == 'add') {
|
|
this.dialogTitle = '新增'
|
|
this.dialogType = 'add'
|
|
this.$nextTick(()=>{
|
|
this.$set(this.$refs.basicsForm.ruleForm,'state','0')
|
|
})
|
|
}
|
|
|
|
},
|
|
// 编辑详情
|
|
async productGetById(id) {
|
|
let params = {
|
|
id: id
|
|
}
|
|
let res = await authApi(
|
|
'sysInterfaceService',
|
|
'',
|
|
'getEntity',
|
|
'',
|
|
params
|
|
)
|
|
if (res.status == '200') {
|
|
this.$nextTick(() => {
|
|
this.$refs.basicsForm.incomingParameters(res.attribute)
|
|
})
|
|
}
|
|
},
|
|
addVersionDialog() {
|
|
let obj = {
|
|
argName: '',
|
|
argCode: '',
|
|
argType: '1',
|
|
remark: ''
|
|
}
|
|
this.tableVersionData.push(obj)
|
|
},
|
|
// 删除
|
|
onFunc(index, row) {
|
|
if (index == 0) {
|
|
this.$delConfirm().then(() => {
|
|
this.tableVersionData.forEach((item, itemIndex) => {
|
|
if (item.id === row.id) {
|
|
this.tableVersionData.splice(itemIndex, 1)
|
|
}
|
|
})
|
|
})
|
|
}
|
|
},
|
|
// 弹窗关闭
|
|
handleDialogClose() {
|
|
this.tableVersionData = Object.assign([], [])
|
|
this.$refs.basicsForm.resetFields()
|
|
this.dialogVisible = false
|
|
},
|
|
// 弹窗确认按钮
|
|
handleConfirmClick() {
|
|
this.$refs.basicsForm.$refs['ruleForm'].validate((valid) => {
|
|
if (!valid) {
|
|
return
|
|
} else {
|
|
let params = {
|
|
...this.$refs.basicsForm.ruleForm,
|
|
}
|
|
if (this.dialogType == 'add') {
|
|
this.openLoading('submit')
|
|
this.productSaveDto(params)
|
|
}
|
|
if (this.dialogType == 'edit') {
|
|
this.openLoading('submit')
|
|
this.productUpdateDto(params)
|
|
}
|
|
}
|
|
})
|
|
},
|
|
// 新增保存
|
|
async productSaveDto(params) {
|
|
let res = await authApi(
|
|
'sysInterfaceService',
|
|
'',
|
|
'saveEntity',
|
|
'',
|
|
params
|
|
)
|
|
if (res.status == '200') {
|
|
this.handleDialogClose()
|
|
this.$vmNews('新增成功', 'success')
|
|
this.$emit('resetTable')
|
|
}
|
|
},
|
|
// 编辑保存
|
|
async productUpdateDto(params) {
|
|
let res = await authApi(
|
|
'sysInterfaceService',
|
|
'',
|
|
'updateEntity',
|
|
'',
|
|
params
|
|
)
|
|
if (res.status == '200') {
|
|
this.handleDialogClose()
|
|
this.$vmNews('更新成功', 'success')
|
|
this.$emit('resetTable')
|
|
}
|
|
},
|
|
// 获取所有产品分类
|
|
async queryProductClassfy() {
|
|
let params = {
|
|
tab_name: 'sys_product',
|
|
column_name: 'classify'
|
|
}
|
|
let res = await authApi(
|
|
'generalServiceImpl',
|
|
'dictionaryshop',
|
|
'selectDictionaryshop',
|
|
'',
|
|
params
|
|
)
|
|
if (res.status == '200') {
|
|
this.formRow[1].elCol[0].options = res.attribute
|
|
}
|
|
}
|
|
}
|
|
}
|
|
</script>
|
|
|
|
<style scoped lang="scss">
|
|
.small_title {
|
|
margin: 10px 0;
|
|
font-size: 16px;
|
|
}
|
|
|
|
.dialogList {
|
|
padding: 16px 0;
|
|
border-top: 1px solid #dcdfe6;
|
|
display: flex;
|
|
flex-direction: column;
|
|
}
|
|
|
|
.updateBtn {
|
|
border: 1px solid #ebedf1;
|
|
padding: 5px 0;
|
|
border-radius: 3px;
|
|
text-align: center;
|
|
font-size: 14px;
|
|
cursor: pointer;
|
|
width: 100px;
|
|
}
|
|
|
|
.updateBtn:hover {
|
|
color: #1890ff;
|
|
border-color: #badeff;
|
|
background-color: #e8f4ff;
|
|
}
|
|
|
|
::v-deep .el-table__body-wrapper.is-scrolling-none {
|
|
height: auto !important;
|
|
}
|
|
|
|
::v-deep .app-container {
|
|
height: auto !important;
|
|
}
|
|
</style>
|