会计事项平台更新
This commit is contained in:
parent
b398b276b2
commit
c33b219346
|
@ -1,4 +1,10 @@
|
||||||
import request from "@/utils/request";
|
import request from "@/utils/request";
|
||||||
|
import baseTree from '@/components/base/BaseMenuTree/index.vue'
|
||||||
|
|
||||||
|
export default {
|
||||||
|
components: { baseTree }
|
||||||
|
}
|
||||||
|
|
||||||
//业务模块
|
//业务模块
|
||||||
|
|
||||||
//新增模块
|
//新增模块
|
||||||
|
@ -44,4 +50,70 @@ export function queryByIdAPI(data) {
|
||||||
method: "post",
|
method: "post",
|
||||||
data,
|
data,
|
||||||
});
|
});
|
||||||
|
}export function businessModuleMdmupdateListAPI(data) {
|
||||||
|
return request({
|
||||||
|
url: "/kangarooDataCenterV3/ae/conf/businessModuleMdm/updateList",
|
||||||
|
method: "post",
|
||||||
|
data,
|
||||||
|
});
|
||||||
|
}export function businessModuleMdmdeleteListAPI(data) {
|
||||||
|
return request({
|
||||||
|
url: "/kangarooDataCenterV3/ae/conf/businessModuleMdm/deleteList",
|
||||||
|
method: "post",
|
||||||
|
data,
|
||||||
|
});
|
||||||
|
}export function influenceFactorqueryAllAPI(data) {
|
||||||
|
return request({
|
||||||
|
url: "/kangarooDataCenterV3/ae/conf/influenceFactor/queryAll",
|
||||||
|
method: "post",
|
||||||
|
data,
|
||||||
|
});
|
||||||
|
}export function influenceFactorsaveAPI(data) {
|
||||||
|
return request({
|
||||||
|
url: "/kangarooDataCenterV3/ae/conf/influenceFactor/save",
|
||||||
|
method: "post",
|
||||||
|
data,
|
||||||
|
});
|
||||||
|
}export function influenceFactorupdateAPI(data) {
|
||||||
|
return request({
|
||||||
|
url: "/kangarooDataCenterV3/ae/conf/influenceFactor/update",
|
||||||
|
method: "post",
|
||||||
|
data,
|
||||||
|
});
|
||||||
|
}export function deleteAPI(data) {
|
||||||
|
return request({
|
||||||
|
url: "/kangarooDataCenterV3/ae/conf/influenceFactor/delete",
|
||||||
|
method: "post",
|
||||||
|
data,
|
||||||
|
});
|
||||||
|
}export function queryByMdmIdAPI(data) {
|
||||||
|
return request({
|
||||||
|
url: "/kangarooDataCenterV3/ae/conf/influenceFactorCorrelation/queryByMdmId",
|
||||||
|
method: "post",
|
||||||
|
data,
|
||||||
|
});
|
||||||
|
}export function queryMdmAndFiledsByMdmIdAPI(data) {
|
||||||
|
return request({
|
||||||
|
url: "/kangarooDataCenterV3/ae/conf/mdm/queryMdmAndFiledsByMdmId",
|
||||||
|
method: "post",
|
||||||
|
data,
|
||||||
|
});
|
||||||
|
}export function influenceFactorCorrelationsaveListAPI(data) {
|
||||||
|
return request({
|
||||||
|
url: "/kangarooDataCenterV3/ae/conf/influenceFactorCorrelation/saveList",
|
||||||
|
method: "post",
|
||||||
|
data,
|
||||||
|
});
|
||||||
|
}export function influenceFactorCorrelationupdateListAPI(data) {
|
||||||
|
return request({
|
||||||
|
url: "/kangarooDataCenterV3/ae/conf/influenceFactorCorrelation/updateList",
|
||||||
|
method: "post",
|
||||||
|
data,
|
||||||
|
});
|
||||||
|
}export function influenceFactorCorrelationdeleteListAPI(data) {
|
||||||
|
return request({
|
||||||
|
url: "/kangarooDataCenterV3/ae/conf/influenceFactorCorrelation/deleteList",
|
||||||
|
method: "post",
|
||||||
|
data,
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,11 @@
|
||||||
|
import request from "@/utils/request";
|
||||||
|
//影响因素关联
|
||||||
|
|
||||||
|
//新增模块
|
||||||
|
export function queryModuleIncludeMdmListAPI(data) {
|
||||||
|
return request({
|
||||||
|
url: "/kangarooDataCenterV3/ae/conf/businessModuleMdm/queryModuleIncludeMdmList",
|
||||||
|
method: "post",
|
||||||
|
data,
|
||||||
|
});
|
||||||
|
}
|
|
@ -13,7 +13,8 @@
|
||||||
<el-tree :data="menuData" :check-strictly="true" :default-checked-keys="selectData"
|
<el-tree :data="menuData" :check-strictly="true" :default-checked-keys="selectData"
|
||||||
@node-click="handleNodeClick" :expand-on-click-node="false" :default-expand-all="expandAll"
|
@node-click="handleNodeClick" :expand-on-click-node="false" :default-expand-all="expandAll"
|
||||||
:key="new Date().getTime()" :props="treeProps" style="width: 100%;background-color:white;height: 100%;"
|
:key="new Date().getTime()" :props="treeProps" style="width: 100%;background-color:white;height: 100%;"
|
||||||
@check-change="checkChange" node-key="id" ref="elTree" :show-checkbox="showCheckbox">
|
@check-change="checkChange" node-key="id" ref="elTree" :show-checkbox="showCheckbox"
|
||||||
|
>
|
||||||
</el-tree>
|
</el-tree>
|
||||||
<div @click="changePcAll" class="checkText" v-if="Allshow">全选</div>
|
<div @click="changePcAll" class="checkText" v-if="Allshow">全选</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -62,6 +63,15 @@ export default {
|
||||||
type: Boolean,
|
type: Boolean,
|
||||||
default: false
|
default: false
|
||||||
},
|
},
|
||||||
|
treeProps: {
|
||||||
|
type: Object,
|
||||||
|
default: () => {
|
||||||
|
return {
|
||||||
|
label: 'menuName',
|
||||||
|
children: 'children'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
},
|
},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
|
@ -76,36 +86,34 @@ export default {
|
||||||
// label: 'menuName',
|
// label: 'menuName',
|
||||||
// children: 'id',
|
// children: 'id',
|
||||||
// },
|
// },
|
||||||
treeProps: {
|
|
||||||
children: 'children',
|
|
||||||
label: 'label'
|
|
||||||
},
|
|
||||||
// PC菜单全选
|
// PC菜单全选
|
||||||
checkedAllPc: false,
|
checkedAllPc: false,
|
||||||
// 防连点
|
// 防连点
|
||||||
outing: false,
|
outing: false,
|
||||||
treeLoading: false,
|
treeLoading: false
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
created() { },
|
created() {
|
||||||
|
},
|
||||||
mounted() {
|
mounted() {
|
||||||
},
|
},
|
||||||
computed: {
|
computed: {
|
||||||
defaultTheme() {
|
defaultTheme() {
|
||||||
return this.$store.state.settings.theme
|
return this.$store.state.settings.theme
|
||||||
},
|
}
|
||||||
},
|
},
|
||||||
watch: {
|
watch: {
|
||||||
defaultTheme: {
|
defaultTheme: {
|
||||||
handler: function (val, oldVal) {
|
handler: function(val, oldVal) {
|
||||||
this.theme = val
|
this.theme = val
|
||||||
// document.getElementsByTagName('body')[0].style.setProperty('--active', val)
|
// document.getElementsByTagName('body')[0].style.setProperty('--active', val)
|
||||||
|
|
||||||
// let arr = document.getElementsByClassName('.el-tree-node:focus>.el-tree-node__content')
|
// let arr = document.getElementsByClassName('.el-tree-node:focus>.el-tree-node__content')
|
||||||
// $('.el-tree-node:focus>.el-tree-node__content').css('color',val)
|
// $('.el-tree-node:focus>.el-tree-node__content').css('color',val)
|
||||||
},
|
},
|
||||||
immediate: true,
|
immediate: true
|
||||||
},
|
}
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
buttonL(el) {
|
buttonL(el) {
|
||||||
|
@ -116,8 +124,8 @@ export default {
|
||||||
this.selectData.push(id)
|
this.selectData.push(id)
|
||||||
},
|
},
|
||||||
saveMenuUser() {
|
saveMenuUser() {
|
||||||
let allKeys = this.getKey();
|
let allKeys = this.getKey()
|
||||||
this.$emit('onSaveMenu', allKeys);
|
this.$emit('onSaveMenu', allKeys)
|
||||||
},
|
},
|
||||||
// 获取选中的key值
|
// 获取选中的key值
|
||||||
getKey() {
|
getKey() {
|
||||||
|
@ -129,7 +137,7 @@ export default {
|
||||||
// this.menuData = [];
|
// this.menuData = [];
|
||||||
|
|
||||||
// 回显选中ids
|
// 回显选中ids
|
||||||
this.selectData = [];
|
this.selectData = []
|
||||||
},
|
},
|
||||||
// 关闭弹窗
|
// 关闭弹窗
|
||||||
handleClose() {
|
handleClose() {
|
||||||
|
@ -138,12 +146,12 @@ export default {
|
||||||
},
|
},
|
||||||
// 全选、反选
|
// 全选、反选
|
||||||
changePcAll() {
|
changePcAll() {
|
||||||
this.checkedAllPc = !this.checkedAllPc;
|
this.checkedAllPc = !this.checkedAllPc
|
||||||
let selectData = [];
|
let selectData = []
|
||||||
if (this.checkedAllPc) {
|
if (this.checkedAllPc) {
|
||||||
selectData = this.cycleData(this.menuData)
|
selectData = this.cycleData(this.menuData)
|
||||||
}
|
}
|
||||||
this.selectData = selectData;
|
this.selectData = selectData
|
||||||
},
|
},
|
||||||
/**
|
/**
|
||||||
* @description 递归获取菜单id(树状 多叉树结构)
|
* @description 递归获取菜单id(树状 多叉树结构)
|
||||||
|
@ -153,7 +161,7 @@ export default {
|
||||||
* @param {Boolean} isSelect: false返回所有id,true返回已选择id
|
* @param {Boolean} isSelect: false返回所有id,true返回已选择id
|
||||||
*/
|
*/
|
||||||
cycleData(outData, isSelect) {
|
cycleData(outData, isSelect) {
|
||||||
let newData = [];
|
let newData = []
|
||||||
|
|
||||||
function cycle(data) {
|
function cycle(data) {
|
||||||
if (!data || data.length == 0) {
|
if (!data || data.length == 0) {
|
||||||
|
@ -171,11 +179,13 @@ export default {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
cycle(outData)
|
cycle(outData)
|
||||||
return newData
|
return newData
|
||||||
},
|
},
|
||||||
getData(childIds) {
|
getData(childIds) {
|
||||||
let newData = [];
|
let newData = []
|
||||||
|
|
||||||
function cycle(data) {
|
function cycle(data) {
|
||||||
data.forEach(el => {
|
data.forEach(el => {
|
||||||
childIds.forEach(item => {
|
childIds.forEach(item => {
|
||||||
|
@ -188,6 +198,7 @@ export default {
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
cycle(this.menuData, childIds)
|
cycle(this.menuData, childIds)
|
||||||
return newData
|
return newData
|
||||||
},
|
},
|
||||||
|
@ -206,9 +217,7 @@ export default {
|
||||||
this.$emit('checkChange', childIds, checkdata)
|
this.$emit('checkChange', childIds, checkdata)
|
||||||
return
|
return
|
||||||
|
|
||||||
|
let id = nodeDode.id
|
||||||
|
|
||||||
let id = nodeDode.id;
|
|
||||||
// let childIds = this.cycleData(id)
|
// let childIds = this.cycleData(id)
|
||||||
console.log(id)
|
console.log(id)
|
||||||
// 循环设置子项是否选中
|
// 循环设置子项是否选中
|
||||||
|
@ -217,9 +226,9 @@ export default {
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
// 点击事件
|
// 点击事件
|
||||||
handleNodeClick(data) {
|
handleNodeClick(data, b, c) {
|
||||||
this.$emit('handleNodeClick', data);
|
this.$emit('handleNodeClick', data, b.parent.data)
|
||||||
},
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -236,11 +245,11 @@ export default {
|
||||||
margin-left: 4px;
|
margin-left: 4px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.el-tree-node__content>label.el-checkbox {
|
.el-tree-node__content > label.el-checkbox {
|
||||||
transform: scale(1.3);
|
transform: scale(1.3);
|
||||||
}
|
}
|
||||||
|
|
||||||
.el-tree-node__content>.el-tree-node__expand-icon {
|
.el-tree-node__content > .el-tree-node__expand-icon {
|
||||||
font-size: 18px;
|
font-size: 18px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -117,10 +117,15 @@ import baseTable from '@/components/base/baseTable/index.vue'
|
||||||
import baseForm from '@/components/base/baseNewForm'
|
import baseForm from '@/components/base/baseNewForm'
|
||||||
|
|
||||||
import {
|
import {
|
||||||
businessModuledeleteAPI, businessModuleMdmSaveListAPI, businessModulequeryAllAPI,
|
businessModuledeleteAPI,
|
||||||
|
businessModuleMdmdeleteListAPI,
|
||||||
|
businessModuleMdmSaveListAPI,
|
||||||
|
businessModuleMdmupdateListAPI,
|
||||||
|
businessModulequeryAllAPI,
|
||||||
businessModuleUpdateAPI,
|
businessModuleUpdateAPI,
|
||||||
queryAllAPI,
|
queryAllAPI,
|
||||||
queryByIdAPI, queryMdmsByModuleIdAPI
|
queryByIdAPI,
|
||||||
|
queryMdmsByModuleIdAPI
|
||||||
} from '@/api/apis/operationalModule'
|
} from '@/api/apis/operationalModule'
|
||||||
import { GetLoginUserButtonsAPI } from '@/api/apis/buttonList'
|
import { GetLoginUserButtonsAPI } from '@/api/apis/buttonList'
|
||||||
|
|
||||||
|
@ -223,8 +228,12 @@ export default {
|
||||||
prop: 'mdmCode'
|
prop: 'mdmCode'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
label: '主数据name',
|
label: '主数据名称',
|
||||||
prop: 'mdmName'
|
prop: 'mdmName'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: '备注',
|
||||||
|
prop: 'remark'
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
tableData: [],
|
tableData: [],
|
||||||
|
@ -340,16 +349,33 @@ export default {
|
||||||
},
|
},
|
||||||
async handleConfirmClick() {
|
async handleConfirmClick() {
|
||||||
await this.$refs.basicFormRefsName.$refs.ruleForm.validate()
|
await this.$refs.basicFormRefsName.$refs.ruleForm.validate()
|
||||||
const res = await businessModuleMdmSaveListAPI([
|
let form = this.$refs.basicFormRefsName.ruleForm
|
||||||
{
|
if (this.dialogTitle === '编辑') {
|
||||||
...this.$refs.basicFormRefsName.ruleForm
|
this.openLoading()
|
||||||
|
const res = await businessModuleMdmupdateListAPI([
|
||||||
|
{
|
||||||
|
...this.$refs.basicFormRefsName.ruleForm
|
||||||
|
}
|
||||||
|
])
|
||||||
|
if (res.status == 200) {
|
||||||
|
this.$vmNews('保存成功', 'success')
|
||||||
|
this.examineOperateDialog = false
|
||||||
|
this.resetTable()
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
this.openLoading()
|
||||||
|
const res = await businessModuleMdmSaveListAPI([
|
||||||
|
{
|
||||||
|
...this.$refs.basicFormRefsName.ruleForm
|
||||||
|
}
|
||||||
|
])
|
||||||
|
if (res.status == 200) {
|
||||||
|
this.$vmNews('保存成功', 'success')
|
||||||
|
this.examineOperateDialog = false
|
||||||
|
this.resetTable()
|
||||||
}
|
}
|
||||||
])
|
|
||||||
if (res.status == 200) {
|
|
||||||
this.$vmNews('保存成功', 'success')
|
|
||||||
this.examineOperateDialog = false
|
|
||||||
this.resetTable()
|
|
||||||
}
|
}
|
||||||
|
|
||||||
},
|
},
|
||||||
pageChange(model) {
|
pageChange(model) {
|
||||||
this.pageModel.page = model.page
|
this.pageModel.page = model.page
|
||||||
|
@ -389,9 +415,9 @@ export default {
|
||||||
cancelButtonText: '取消',
|
cancelButtonText: '取消',
|
||||||
type: 'warning'
|
type: 'warning'
|
||||||
}).then(async() => {
|
}).then(async() => {
|
||||||
const res = await DelArcCompareDataAPI({
|
const res = await businessModuleMdmdeleteListAPI([{
|
||||||
arcCompareID: this.selected[0].arcCompareID
|
id: this.selected[0].id
|
||||||
})
|
}])
|
||||||
if (res.status == 200) {
|
if (res.status == 200) {
|
||||||
this.$vmNews('删除成功', 'success')
|
this.$vmNews('删除成功', 'success')
|
||||||
this.resetTable()
|
this.resetTable()
|
||||||
|
|
|
@ -0,0 +1,634 @@
|
||||||
|
<template>
|
||||||
|
<div class="recordContrast">
|
||||||
|
<div class="left">
|
||||||
|
<div class="leftTitle" style="display: flex;align-items: center;justify-content: space-between">
|
||||||
|
<div>单据类型</div>
|
||||||
|
<div class="icon" style="cursor: pointer" @click="rightAddHandle()">
|
||||||
|
<i class="el-icon-plus"></i>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="showList">
|
||||||
|
<div class="showItem" v-for="(item,index) in billTypeList" :key="index"
|
||||||
|
:class="{active:item.id === billTypeClickID}" @click="billTypeClickHandle(item.id,item.name)"
|
||||||
|
>
|
||||||
|
<div class="name">{{ item.name }}</div>
|
||||||
|
<div class="icon">
|
||||||
|
<i class="el-icon-edit" @click.stop="editRightTitle(item)" style="margin-right: 10px"></i>
|
||||||
|
<i class="el-icon-delete" style="color: red" @click.stop="delRightTitle(item)"></i>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="right">
|
||||||
|
<div class="topBox">
|
||||||
|
<div class="searchBox">
|
||||||
|
<div>
|
||||||
|
<el-input v-model="searchObj.sourceAppName" :placeholder="'来源应用'" @keydown.native.enter="resetTable"
|
||||||
|
clearable
|
||||||
|
></el-input>
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<el-input v-model="searchObj.targetAppName" :placeholder="'目标应用'" @keydown.native.enter="resetTable"
|
||||||
|
clearable
|
||||||
|
></el-input>
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<el-input v-model="searchObj.sourceAppCode" :placeholder="'来源应用编码'" @keydown.native.enter="resetTable"
|
||||||
|
clearable
|
||||||
|
></el-input>
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<el-input v-model="searchObj.targetAppCode" :placeholder="'目标应用编码'" @keydown.native.enter="resetTable"
|
||||||
|
clearable
|
||||||
|
></el-input>
|
||||||
|
</div>
|
||||||
|
<div class="btnBox">
|
||||||
|
<el-button type="primary" size="small" icon="el-icon-search" @click="resetTable">查询</el-button>
|
||||||
|
<el-button type="primary" size="small" icon="el-icon-refresh" @click="refresh">重置</el-button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div style="display: flex;align-items: center;justify-content: flex-end;">
|
||||||
|
<el-button
|
||||||
|
size="small"
|
||||||
|
:icon="item.icon"
|
||||||
|
@click="clickSave(item)"
|
||||||
|
:type="item.type ? item.type : 'primary'"
|
||||||
|
v-for="(item, index) in nowBtns"
|
||||||
|
:key="index"
|
||||||
|
>{{ item.menuName }}
|
||||||
|
</el-button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="table">
|
||||||
|
<base-table ref="customtable" :showIndex="false" :slotrow="true"
|
||||||
|
tableHeight="calc(100vh - 170px)" :tableData="tableData" :tableColumn="tableColumn"
|
||||||
|
@radioChange="radioChange" id="printMe"
|
||||||
|
>
|
||||||
|
</base-table>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
<div class="page">
|
||||||
|
<base-page :pageSizesList="[20,50,100,150]" :pageModel.sync="pageModel" @onPageChange="pageChange"
|
||||||
|
layout="total, sizes,prev, pager, next,jumper"
|
||||||
|
></base-page>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<base-right-dialog
|
||||||
|
@handleClose="examineOperateDialog = false"
|
||||||
|
@handleConfirmClick="handleConfirmClick"
|
||||||
|
:dialogVisible="examineOperateDialog"
|
||||||
|
size="900px"
|
||||||
|
:appendBody="true"
|
||||||
|
:loading="true"
|
||||||
|
:footerShow="true"
|
||||||
|
:submitShow="true"
|
||||||
|
:title="dialogTitle +'档案对照'"
|
||||||
|
submitTitle="保存"
|
||||||
|
>
|
||||||
|
<div class="rightDialogClass_main" style="background-color: #fff;" v-if="examineOperateDialog">
|
||||||
|
<base-form
|
||||||
|
ref="basicFormRefsName"
|
||||||
|
:formRow="basicFormForm"
|
||||||
|
:isFunBtn="false"
|
||||||
|
:spanWidth="'100px'"
|
||||||
|
justifyContent="flex-end"
|
||||||
|
:rules="basicFormRulers"
|
||||||
|
@onSelect="onSelect"
|
||||||
|
:view-status="statusView"
|
||||||
|
>
|
||||||
|
</base-form>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</base-right-dialog>
|
||||||
|
<base-dialog
|
||||||
|
:dialogVisible.sync="passwordDialogShow"
|
||||||
|
:closeModal="false"
|
||||||
|
:footerShow="true"
|
||||||
|
:title="passwordDialogTitle+'单据类型'"
|
||||||
|
width="400px"
|
||||||
|
top="20vh"
|
||||||
|
@handleConfirmClick="passwordChangeHandle"
|
||||||
|
>
|
||||||
|
<div class="rightDialogClass_main" style="background-color: #fff;">
|
||||||
|
<div class="addDialog">
|
||||||
|
<div class="nameTitle">单据类型名称:</div>
|
||||||
|
<el-input v-model="billTypeADDName"></el-input>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</base-dialog>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import {
|
||||||
|
DelArcCompareDataAPI,
|
||||||
|
DelArcTypeDataAPI,
|
||||||
|
GetArcCompareList,
|
||||||
|
GetArcCompareListAPI,
|
||||||
|
GetArcTypeListAPI,
|
||||||
|
GetBillListAPI,
|
||||||
|
GetLoginUserButtonsAPI, SaveArcCompareDataAPI, SaveArcTypeDataAPI
|
||||||
|
} from '@/api/apis/buttonList'
|
||||||
|
import basePage from '@/components/base/basePage/index.vue'
|
||||||
|
import baseChoice from '@/components/base/baseChoice/index.vue'
|
||||||
|
import baseDialog from '@/components/base/BaseNewDialog/index.vue'
|
||||||
|
|
||||||
|
export default {
|
||||||
|
name: 'recordContrast',
|
||||||
|
components: { baseDialog, baseChoice, basePage },
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
basicFormForm: [
|
||||||
|
{
|
||||||
|
elCol: [
|
||||||
|
{
|
||||||
|
label: '档案类型',
|
||||||
|
prop: 'arcTypeName',
|
||||||
|
tag: 'elInput',
|
||||||
|
span: 24,
|
||||||
|
disabled: true,
|
||||||
|
placeholder: '自动带出'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: '来源应用编码',
|
||||||
|
prop: 'sourceAppCode',
|
||||||
|
tag: 'elInput',
|
||||||
|
span: 12,
|
||||||
|
disabled: true,
|
||||||
|
placeholder: '自动带出'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: '来源应用名称',
|
||||||
|
prop: 'sourceAppID',
|
||||||
|
tag: 'elSelect',
|
||||||
|
options: [],
|
||||||
|
span: 12,
|
||||||
|
placeholder: '请选择'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: '来源数据名称',
|
||||||
|
prop: 'sourceDataName',
|
||||||
|
tag: 'elInput',
|
||||||
|
span: 12,
|
||||||
|
placeholder: '请输入'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: '来源数据编码',
|
||||||
|
prop: 'sourceDataCode',
|
||||||
|
tag: 'elInput',
|
||||||
|
span: 12,
|
||||||
|
placeholder: '请输入'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: '目标应用编码',
|
||||||
|
prop: 'targetAppCode',
|
||||||
|
tag: 'elInput',
|
||||||
|
span: 12,
|
||||||
|
disabled: true,
|
||||||
|
placeholder: '自动带出'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: '目标应用名称',
|
||||||
|
prop: 'targetAppID',
|
||||||
|
tag: 'elSelect',
|
||||||
|
options: [],
|
||||||
|
span: 12,
|
||||||
|
placeholder: '请选择'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: '目标数据名称',
|
||||||
|
prop: 'targetDataName',
|
||||||
|
tag: 'elInput',
|
||||||
|
span: 12,
|
||||||
|
placeholder: '请输入'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: '目标数据编码',
|
||||||
|
prop: 'targetDataCode',
|
||||||
|
tag: 'elInput',
|
||||||
|
span: 12,
|
||||||
|
placeholder: '请输入'
|
||||||
|
}
|
||||||
|
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
basicFormRulers: {
|
||||||
|
sourceAppCode: [
|
||||||
|
{ required: true, message: '请选择来源应用', trigger: 'change' }
|
||||||
|
],
|
||||||
|
sourceAppID: [
|
||||||
|
{ required: true, message: '请选择来源应用', trigger: 'change' }
|
||||||
|
],
|
||||||
|
sourceDataName: [
|
||||||
|
{ required: true, message: '请输入来源数据名称', trigger: 'blur' }
|
||||||
|
],
|
||||||
|
sourceDataCode: [
|
||||||
|
{ required: true, message: '请输入来源数据编码', trigger: 'blur' }
|
||||||
|
],
|
||||||
|
targetAppCode: [
|
||||||
|
{ required: true, message: '请选择目标应用', trigger: 'change' }
|
||||||
|
],
|
||||||
|
targetAppID: [
|
||||||
|
{ required: true, message: '请选择目标应用', trigger: 'change' }
|
||||||
|
],
|
||||||
|
targetDataName: [
|
||||||
|
{ required: true, message: '请输入目标数据名称', trigger: 'blur' }
|
||||||
|
],
|
||||||
|
targetDataCode: [
|
||||||
|
{ required: true, message: '请输入目标数据编码', trigger: 'blur' }
|
||||||
|
]
|
||||||
|
},
|
||||||
|
nowBtns: [],
|
||||||
|
billTypeName: '',
|
||||||
|
billTypeClickID: '',
|
||||||
|
billTypeClickName: '',
|
||||||
|
billTypeList: [
|
||||||
|
{
|
||||||
|
name: '人员对照',
|
||||||
|
id: 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: '人员对照',
|
||||||
|
id: 2
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: '人员对照',
|
||||||
|
id: 3
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: '人员对照',
|
||||||
|
id: 4
|
||||||
|
}
|
||||||
|
],
|
||||||
|
searchObj: {},
|
||||||
|
pageModel: {
|
||||||
|
page: 1, //当前页码
|
||||||
|
limit: 20 //每页显示多少
|
||||||
|
},
|
||||||
|
selected: [],
|
||||||
|
|
||||||
|
tableColumn: [
|
||||||
|
{
|
||||||
|
label: '档案类型',
|
||||||
|
prop: 'arcTypeName',
|
||||||
|
width: '150px'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: '来源应用',
|
||||||
|
prop: 'sourceAppName',
|
||||||
|
width: '150px'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: '来源数据编码',
|
||||||
|
prop: 'sourceDataCode',
|
||||||
|
width: '150px'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: '来源数据名称',
|
||||||
|
prop: 'sourceDataName'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: '目标应用',
|
||||||
|
prop: 'targetAppName',
|
||||||
|
width: '150px'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: '目标数据编码',
|
||||||
|
prop: 'targetDataCode',
|
||||||
|
width: '150px'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: '目标数据名称',
|
||||||
|
prop: 'targetDataName'
|
||||||
|
}
|
||||||
|
],
|
||||||
|
tableData: [],
|
||||||
|
dialogTitle: '新增',
|
||||||
|
examineOperateDialog: false,
|
||||||
|
statusView: false,
|
||||||
|
passwordDialogShow: false,
|
||||||
|
passwordDialogTitle: '新增',
|
||||||
|
billTypeADDName: '',
|
||||||
|
billTypeADDID: ''
|
||||||
|
}
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
delRightTitle(item) {
|
||||||
|
this.$confirm('确认删除吗?', '提示', {
|
||||||
|
confirmButtonText: '确定',
|
||||||
|
cancelButtonText: '取消',
|
||||||
|
type: 'warning'
|
||||||
|
}).then(async() => {
|
||||||
|
const res = await DelArcTypeDataAPI({
|
||||||
|
arcTypeID: item.id
|
||||||
|
})
|
||||||
|
if (res.code == 1) {
|
||||||
|
this.$vmNews('删除成功', 'success')
|
||||||
|
this.billTypeClickName = ''
|
||||||
|
this.billTypeClickID = ''
|
||||||
|
this.getLeftList()
|
||||||
|
this.resetTable()
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
|
editRightTitle(item) {
|
||||||
|
this.billTypeADDName = item.name
|
||||||
|
this.billTypeADDID = item.id
|
||||||
|
this.passwordDialogTitle = '编辑'
|
||||||
|
this.passwordDialogShow = true
|
||||||
|
},
|
||||||
|
rightAddHandle() {
|
||||||
|
this.passwordDialogShow = true
|
||||||
|
this.passwordDialogTitle = '新增'
|
||||||
|
this.billTypeADDName = ''
|
||||||
|
this.billTypeADDID = ''
|
||||||
|
},
|
||||||
|
async passwordChangeHandle() {
|
||||||
|
if (!this.billTypeADDName) {
|
||||||
|
this.$vmNews('请输入单据类型名称')
|
||||||
|
return
|
||||||
|
}
|
||||||
|
let params = {
|
||||||
|
dataMain: {
|
||||||
|
'arcTypeName': this.billTypeADDName
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (this.passwordDialogTitle === '编辑') {
|
||||||
|
params.dataMain.arcTypeID = this.billTypeADDID
|
||||||
|
}
|
||||||
|
const res = await SaveArcTypeDataAPI(params)
|
||||||
|
if (res.code == 1) {
|
||||||
|
this.$vmNews('保存成功', 'success')
|
||||||
|
this.passwordDialogShow = false
|
||||||
|
this.getLeftList()
|
||||||
|
}
|
||||||
|
},
|
||||||
|
async getSelect() {
|
||||||
|
const res = await GetBillListAPI({
|
||||||
|
page: 1,
|
||||||
|
limit: 9999
|
||||||
|
})
|
||||||
|
res.data[1].forEach(item => {
|
||||||
|
item.label = item.appName
|
||||||
|
item.value = item.appID
|
||||||
|
})
|
||||||
|
this.basicFormForm[0].elCol[2].options = res.data[1]
|
||||||
|
this.basicFormForm[0].elCol[6].options = res.data[1]
|
||||||
|
},
|
||||||
|
async getLeftList() {
|
||||||
|
const res = await GetArcTypeListAPI({
|
||||||
|
arcTypeName: this.billTypeName
|
||||||
|
})
|
||||||
|
res.data[0].forEach((el) => {
|
||||||
|
el.name = el.arcTypeName
|
||||||
|
el.id = el.arcTypeID
|
||||||
|
})
|
||||||
|
this.billTypeList = res.data[0]
|
||||||
|
},
|
||||||
|
onSelect(val, index, indexRow, obj, row, form) {
|
||||||
|
if (row.prop === 'sourceAppID') {
|
||||||
|
this.$set(this.$refs.basicFormRefsName.ruleForm, 'sourceAppCode', obj.appCode)
|
||||||
|
}
|
||||||
|
if (row.prop === 'targetAppID') {
|
||||||
|
this.$set(this.$refs.basicFormRefsName.ruleForm, 'targetAppCode', obj.appCode)
|
||||||
|
}
|
||||||
|
},
|
||||||
|
async handleConfirmClick() {
|
||||||
|
await this.$refs.basicFormRefsName.$refs.ruleForm.validate()
|
||||||
|
const res = await SaveArcCompareDataAPI({
|
||||||
|
dataMain: {
|
||||||
|
...this.$refs.basicFormRefsName.ruleForm
|
||||||
|
}
|
||||||
|
})
|
||||||
|
if (res.code == 1) {
|
||||||
|
this.$vmNews('保存成功', 'success')
|
||||||
|
this.examineOperateDialog = false
|
||||||
|
this.resetTable()
|
||||||
|
}
|
||||||
|
},
|
||||||
|
pageChange(model) {
|
||||||
|
this.pageModel.page = model.page
|
||||||
|
this.pageModel.limit = model.limit
|
||||||
|
this.getTableData()
|
||||||
|
},
|
||||||
|
async getTableData() {
|
||||||
|
const res = await GetArcCompareList({
|
||||||
|
...this.pageModel,
|
||||||
|
...this.searchObj,
|
||||||
|
arcTypeID: this.billTypeClickID
|
||||||
|
})
|
||||||
|
this.pageModel.total = res.data[0]
|
||||||
|
this.tableData = res.data[1]
|
||||||
|
this.$nextTick(() => {
|
||||||
|
this.$refs.customtable.clearRadioIndex()
|
||||||
|
this.selected = []
|
||||||
|
})
|
||||||
|
},
|
||||||
|
resetTable() {
|
||||||
|
this.tableData = []
|
||||||
|
this.pageModel.page = 1
|
||||||
|
this.selected = []
|
||||||
|
this.getTableData()
|
||||||
|
},
|
||||||
|
// 点击某条数据
|
||||||
|
radioChange(val) {
|
||||||
|
this.selected = []
|
||||||
|
this.selected.push(val)
|
||||||
|
},
|
||||||
|
// 删除
|
||||||
|
delOperate() {
|
||||||
|
if (!this.selected.length) {
|
||||||
|
this.$vmNews('请至少选择一条数据')
|
||||||
|
return
|
||||||
|
}
|
||||||
|
this.$confirm('确认删除吗?', '提示', {
|
||||||
|
confirmButtonText: '确定',
|
||||||
|
cancelButtonText: '取消',
|
||||||
|
type: 'warning'
|
||||||
|
}).then(async() => {
|
||||||
|
const res = await DelArcCompareDataAPI({
|
||||||
|
arcCompareID: this.selected[0].arcCompareID
|
||||||
|
})
|
||||||
|
if (res.code == 1) {
|
||||||
|
this.$vmNews('删除成功', 'success')
|
||||||
|
this.resetTable()
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
|
// 编辑
|
||||||
|
editOperate() {
|
||||||
|
if (!this.selected.length) {
|
||||||
|
this.$vmNews('请至少选择一条数据')
|
||||||
|
return
|
||||||
|
}
|
||||||
|
this.dialogTitle = '编辑'
|
||||||
|
this.examineOperateDialog = true
|
||||||
|
this.$nextTick(() => {
|
||||||
|
this.$refs.basicFormRefsName.ruleForm = {
|
||||||
|
...this.selected[0]
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
|
//新增
|
||||||
|
Operate() {
|
||||||
|
if (!this.billTypeClickName) {
|
||||||
|
this.$vmNews('请选择单据类型')
|
||||||
|
return
|
||||||
|
}
|
||||||
|
this.dialogTitle = '新增'
|
||||||
|
this.examineOperateDialog = true
|
||||||
|
this.$nextTick(() => {
|
||||||
|
this.$set(this.$refs.basicFormRefsName.ruleForm, 'arcTypeName', this.billTypeClickName)
|
||||||
|
this.$set(this.$refs.basicFormRefsName.ruleForm, 'arcTypeID', this.billTypeClickID)
|
||||||
|
})
|
||||||
|
},
|
||||||
|
refresh() {
|
||||||
|
this.searchObj = {}
|
||||||
|
},
|
||||||
|
//获取按钮(头部)
|
||||||
|
async buttonPermissions() {
|
||||||
|
const res = await GetLoginUserButtonsAPI({
|
||||||
|
page: 1, //当前页码
|
||||||
|
limit: 999, //每页显示多少
|
||||||
|
menuId: this.$route.meta.id, //树形分类id
|
||||||
|
Sequence: '', //排列方式
|
||||||
|
SequenceName: '', //需要排列的字段名
|
||||||
|
route: this.$route.path
|
||||||
|
})
|
||||||
|
if (res.code == 1) {
|
||||||
|
res.data[0].forEach((el) => {
|
||||||
|
el.menuName = el.nameCN
|
||||||
|
el.icon = el.icoName
|
||||||
|
el.type = el.style
|
||||||
|
el.name = el.nameCN
|
||||||
|
})
|
||||||
|
this.nowBtns = res.data[0]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
billTypeClickHandle(id, name) {
|
||||||
|
this.billTypeClickID = id
|
||||||
|
this.billTypeClickName = name
|
||||||
|
this.resetTable()
|
||||||
|
},
|
||||||
|
//头部按钮统一调用方法
|
||||||
|
clickSave(item) {
|
||||||
|
this[item.btnFunction]()
|
||||||
|
}
|
||||||
|
},
|
||||||
|
mounted() {
|
||||||
|
this.buttonPermissions()
|
||||||
|
this.getLeftList()
|
||||||
|
this.getTableData()
|
||||||
|
this.getSelect()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
|
||||||
|
<style scoped lang="scss">
|
||||||
|
.addDialog {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
|
||||||
|
.nameTitle {
|
||||||
|
padding: 10px;
|
||||||
|
font-size: 14px;
|
||||||
|
color: #333;
|
||||||
|
margin-right: 10px;
|
||||||
|
width: 180px;
|
||||||
|
text-align: right;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.recordContrast {
|
||||||
|
display: flex;
|
||||||
|
overflow: hidden;
|
||||||
|
background-color: #f5f5f5;
|
||||||
|
|
||||||
|
.left {
|
||||||
|
width: 270px;
|
||||||
|
padding: 10px;
|
||||||
|
background-color: #fff;
|
||||||
|
border-radius: 4px;
|
||||||
|
margin-right: 5px;
|
||||||
|
|
||||||
|
.leftTitle {
|
||||||
|
color: #333;
|
||||||
|
font-size: 18px;
|
||||||
|
font-weight: 500;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.right {
|
||||||
|
flex: 1;
|
||||||
|
padding: 10px;
|
||||||
|
background-color: #fff;
|
||||||
|
border-radius: 4px;
|
||||||
|
|
||||||
|
.topBox {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: space-between;
|
||||||
|
|
||||||
|
.searchBox {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
|
||||||
|
> div {
|
||||||
|
margin-right: 10px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.table {
|
||||||
|
margin-top: 10px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.searchBtn {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: space-around;
|
||||||
|
margin-top: 20px;
|
||||||
|
|
||||||
|
.input {
|
||||||
|
flex: 1;
|
||||||
|
margin-right: 5px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.showList {
|
||||||
|
height: calc(100vh - 200px);
|
||||||
|
overflow: auto;
|
||||||
|
margin-top: 10px;
|
||||||
|
|
||||||
|
.showItem {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: space-between;
|
||||||
|
padding: 10px 20px;
|
||||||
|
cursor: pointer;
|
||||||
|
|
||||||
|
.icon {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
&:hover {
|
||||||
|
background-color: #ebeced;
|
||||||
|
border-radius: 4px;
|
||||||
|
|
||||||
|
.icon {
|
||||||
|
display: block !important;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
&.active {
|
||||||
|
background-color: #ebeced !important;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</style>
|
|
@ -0,0 +1,831 @@
|
||||||
|
<script src="../../api/apis/operationalModule.js"></script>
|
||||||
|
<template>
|
||||||
|
<div class="recordContrast">
|
||||||
|
<div class="left">
|
||||||
|
<div class="leftTitle" style="display: flex;align-items: center;justify-content: space-between">
|
||||||
|
<div>业务模块</div>
|
||||||
|
<!-- <div class="icon" style="cursor: pointer" @click="rightAddHandle()">-->
|
||||||
|
<!-- <i class="el-icon-plus"></i>-->
|
||||||
|
<!-- </div>-->
|
||||||
|
</div>
|
||||||
|
<div class="showList">
|
||||||
|
<base-tree ref="baseTree" :isCenter="false" :isSaveBtn="false" :Allshow="false" :showCheckbox="false"
|
||||||
|
:menuData="billTypeList" @handleNodeClick="billTypeClickHandle" :treeProps="treeProps"
|
||||||
|
></base-tree>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="right">
|
||||||
|
<div class="topBox">
|
||||||
|
<div class="searchBox">
|
||||||
|
</div>
|
||||||
|
<div style="display: flex;align-items: center;justify-content: flex-end;">
|
||||||
|
<el-button
|
||||||
|
size="small"
|
||||||
|
:icon="item.icon"
|
||||||
|
@click="clickSave(item)"
|
||||||
|
:type="item.type ? item.type : 'primary'"
|
||||||
|
v-for="(item, index) in nowBtns"
|
||||||
|
:key="index"
|
||||||
|
>{{ item.menuName }}
|
||||||
|
</el-button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="table">
|
||||||
|
<base-table ref="customtable" :showIndex="false" :slotrow="true"
|
||||||
|
tableHeight="calc(100vh - 170px)" :tableData="tableData" :tableColumn="tableColumn"
|
||||||
|
@radioChange="radioChange" id="printMe"
|
||||||
|
>
|
||||||
|
</base-table>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<base-right-dialog
|
||||||
|
@handleClose="examineOperateDialog = false"
|
||||||
|
@handleConfirmClick="handleConfirmClick"
|
||||||
|
:dialogVisible="examineOperateDialog"
|
||||||
|
size="900px"
|
||||||
|
:appendBody="true"
|
||||||
|
:loading="true"
|
||||||
|
:footerShow="true"
|
||||||
|
:submitShow="true"
|
||||||
|
:title="dialogTitle +'主数据'"
|
||||||
|
submitTitle="保存"
|
||||||
|
>
|
||||||
|
<div class="rightDialogClass_main" style="background-color: #fff;" v-if="examineOperateDialog">
|
||||||
|
<base-form
|
||||||
|
ref="basicFormRefsName"
|
||||||
|
:formRow="basicFormForm"
|
||||||
|
:isFunBtn="false"
|
||||||
|
:spanWidth="'100px'"
|
||||||
|
justifyContent="flex-end"
|
||||||
|
:rules="basicFormRulers"
|
||||||
|
@onSelect="onSelect"
|
||||||
|
:view-status="statusView"
|
||||||
|
@elDialogClick="elDialogClick"
|
||||||
|
>
|
||||||
|
</base-form>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</base-right-dialog>
|
||||||
|
<base-dialog
|
||||||
|
:dialogVisible.sync="passwordDialogShow"
|
||||||
|
:closeModal="false"
|
||||||
|
:footerShow="true"
|
||||||
|
:title="passwordDialogTitle+'业务模块'"
|
||||||
|
width="400px"
|
||||||
|
top="20vh"
|
||||||
|
@handleConfirmClick="passwordChangeHandle"
|
||||||
|
>
|
||||||
|
<div class="rightDialogClass_main" style="background-color: #fff;">
|
||||||
|
<div class="addDialog">
|
||||||
|
<div class="nameTitle">业务模块名称:</div>
|
||||||
|
<el-input v-model="billTypeADDName"></el-input>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</base-dialog>
|
||||||
|
<base-dialog
|
||||||
|
:dialogVisible.sync="masterDialog"
|
||||||
|
:closeModal="false"
|
||||||
|
:footerShow="true"
|
||||||
|
title="选择影响因素"
|
||||||
|
width="80%"
|
||||||
|
top="10vh"
|
||||||
|
@handleConfirmClick="masterPickDialog"
|
||||||
|
>
|
||||||
|
<div class="rightDialogClass_main" style="background-color: #fff;" v-if="masterDialog">
|
||||||
|
<baseChoice ref="baseChoice" :tableData="masterTableData" :tableColumn="masterTableColumn"></baseChoice>
|
||||||
|
</div>
|
||||||
|
</base-dialog>
|
||||||
|
<base-dialog
|
||||||
|
:dialogVisible.sync="billDialog"
|
||||||
|
:closeModal="false"
|
||||||
|
:footerShow="true"
|
||||||
|
title="选择单据项目"
|
||||||
|
width="400px"
|
||||||
|
top="10vh"
|
||||||
|
@handleConfirmClick="billClickHandle"
|
||||||
|
>
|
||||||
|
<div class="rightDialogClass_main" style="background-color: #fff;" v-if="billDialog">
|
||||||
|
<div class="showList" style="height: 60vh;overflow: auto">
|
||||||
|
<base-tree ref="baseTree" :isCenter="false" :isSaveBtn="false" :Allshow="false" :showCheckbox="false"
|
||||||
|
:expandAll="false" :menuData="billTableData" @handleNodeClick="billTreeClick" :treeProps="billTreeProps"
|
||||||
|
></base-tree>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</base-dialog>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import baseTree from '@/components/base/BaseMenuTree/index.vue'
|
||||||
|
import basePage from '@/components/base/basePage/index.vue'
|
||||||
|
import baseChoice from '@/components/base/baseChoice/index.vue'
|
||||||
|
import baseDialog from '@/components/base/BaseNewDialog/index.vue'
|
||||||
|
import baseRightDialog from '@/components/base/baseRightDialog'
|
||||||
|
import baseTable from '@/components/base/baseTable/index.vue'
|
||||||
|
import baseForm from '@/components/base/baseNewForm'
|
||||||
|
|
||||||
|
import {
|
||||||
|
businessModuledeleteAPI,
|
||||||
|
businessModuleMdmdeleteListAPI,
|
||||||
|
businessModuleMdmSaveListAPI,
|
||||||
|
businessModuleMdmupdateListAPI,
|
||||||
|
businessModulequeryAllAPI,
|
||||||
|
businessModuleUpdateAPI, influenceFactorCorrelationdeleteListAPI,
|
||||||
|
influenceFactorCorrelationsaveListAPI,
|
||||||
|
influenceFactorCorrelationupdateListAPI,
|
||||||
|
influenceFactorqueryAllAPI,
|
||||||
|
queryAllAPI,
|
||||||
|
queryByIdAPI,
|
||||||
|
queryByMdmIdAPI,
|
||||||
|
queryMdmAndFiledsByMdmIdAPI,
|
||||||
|
queryMdmsByModuleIdAPI
|
||||||
|
} from '@/api/apis/operationalModule'
|
||||||
|
import { GetLoginUserButtonsAPI } from '@/api/apis/buttonList'
|
||||||
|
import { queryModuleIncludeMdmListAPI } from '@/api/apis/relevance'
|
||||||
|
|
||||||
|
export default {
|
||||||
|
name: 'recordContrast',
|
||||||
|
components: { baseDialog, baseChoice, basePage, baseTable, baseRightDialog, baseForm, baseTree },
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
billTypeClickCode:'',
|
||||||
|
masterTableData: [],
|
||||||
|
masterTableColumn: [
|
||||||
|
{
|
||||||
|
label: '影响因素名称',
|
||||||
|
prop: 'factorName'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: '映射档案',
|
||||||
|
prop: ''
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: '备注',
|
||||||
|
prop: 'remark'
|
||||||
|
}
|
||||||
|
],
|
||||||
|
masterDialog: false,
|
||||||
|
basicFormForm: [
|
||||||
|
{
|
||||||
|
elCol: [
|
||||||
|
{
|
||||||
|
label: '影响因素',
|
||||||
|
prop: 'factorName',
|
||||||
|
tag: 'elDialog',
|
||||||
|
span: 24,
|
||||||
|
disabled: false,
|
||||||
|
placeholder: '点击选择'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: '单据项目',
|
||||||
|
prop: 'mappingFieldName',
|
||||||
|
tag: 'elDialog',
|
||||||
|
span: 24,
|
||||||
|
disabled: false,
|
||||||
|
placeholder: '点击选择'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: '备注',
|
||||||
|
prop: 'remark',
|
||||||
|
tag: 'elInput',
|
||||||
|
type: 'textarea',
|
||||||
|
span: 24
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
basicFormRulers: {
|
||||||
|
factorName: [
|
||||||
|
{ required: true, message: '请选择来源应用', trigger: 'change' }
|
||||||
|
],
|
||||||
|
mappingFieldName: [
|
||||||
|
{ required: true, message: '请选择来源应用', trigger: 'change' }
|
||||||
|
],
|
||||||
|
sourceDataName: [
|
||||||
|
{ required: true, message: '请输入来源数据名称', trigger: 'blur' }
|
||||||
|
],
|
||||||
|
sourceDataCode: [
|
||||||
|
{ required: true, message: '请输入来源数据编码', trigger: 'blur' }
|
||||||
|
],
|
||||||
|
targetAppCode: [
|
||||||
|
{ required: true, message: '请选择目标应用', trigger: 'change' }
|
||||||
|
],
|
||||||
|
targetAppID: [
|
||||||
|
{ required: true, message: '请选择目标应用', trigger: 'change' }
|
||||||
|
],
|
||||||
|
targetDataName: [
|
||||||
|
{ required: true, message: '请输入目标数据名称', trigger: 'blur' }
|
||||||
|
],
|
||||||
|
targetDataCode: [
|
||||||
|
{ required: true, message: '请输入目标数据编码', trigger: 'blur' }
|
||||||
|
]
|
||||||
|
},
|
||||||
|
nowBtns: [],
|
||||||
|
billTypeName: '',
|
||||||
|
billTypeClickID: '',
|
||||||
|
billTypeClickName: '',
|
||||||
|
billTypeList: [
|
||||||
|
{
|
||||||
|
name: '人员对照',
|
||||||
|
id: 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: '人员对照',
|
||||||
|
id: 2
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: '人员对照',
|
||||||
|
id: 3
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: '人员对照',
|
||||||
|
id: 4
|
||||||
|
}
|
||||||
|
],
|
||||||
|
searchObj: {},
|
||||||
|
pageModel: {
|
||||||
|
page: 1, //当前页码
|
||||||
|
limit: 20 //每页显示多少
|
||||||
|
},
|
||||||
|
selected: [],
|
||||||
|
|
||||||
|
tableColumn: [
|
||||||
|
{
|
||||||
|
label: '影响因素名称',
|
||||||
|
prop: 'factorName'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: '单据项目',
|
||||||
|
prop: 'mappingFieldName'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: '备注',
|
||||||
|
prop: 'remark'
|
||||||
|
}
|
||||||
|
],
|
||||||
|
tableData: [],
|
||||||
|
dialogTitle: '新增',
|
||||||
|
examineOperateDialog: false,
|
||||||
|
statusView: false,
|
||||||
|
passwordDialogShow: false,
|
||||||
|
passwordDialogTitle: '新增',
|
||||||
|
billTypeADDName: '',
|
||||||
|
billTypeADDID: '',
|
||||||
|
clickFatherObj: {},
|
||||||
|
billDialog: false,
|
||||||
|
billTableData: [],
|
||||||
|
billtableColumn: [
|
||||||
|
{
|
||||||
|
label: '主数据名称',
|
||||||
|
prop: 'mdmName'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: '主数据编码',
|
||||||
|
prop: 'mdmCode'
|
||||||
|
}
|
||||||
|
],
|
||||||
|
billTreeActive: {},
|
||||||
|
billTreeActiveFather: {},
|
||||||
|
treeProps: {
|
||||||
|
children: 'mdmModuleEntity',
|
||||||
|
label: 'name'
|
||||||
|
},
|
||||||
|
billTreeProps: {
|
||||||
|
children: 'sublistMdmModuleDbFileds',
|
||||||
|
label: 'name'
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
clickBillTree(row, item) {
|
||||||
|
console.log(item, '??')
|
||||||
|
this.billTreeActive = row
|
||||||
|
this.billTreeActiveFather = item
|
||||||
|
},
|
||||||
|
billClickHandle() {
|
||||||
|
if (!this.billTreeActive.id) {
|
||||||
|
this.$vmNews('请选择单据项目')
|
||||||
|
return
|
||||||
|
}
|
||||||
|
this.$set(this.$refs.basicFormRefsName.ruleForm, 'mappingFieldName', `$${this.billTreeActiveFather.name}.${this.billTreeActive.name}`)
|
||||||
|
this.$set(this.$refs.basicFormRefsName.ruleForm, 'mappingFieldId', this.billTreeActive.id)
|
||||||
|
this.$set(this.$refs.basicFormRefsName.ruleForm, 'mappingFieldCode', this.billTreeActive.enName)
|
||||||
|
this.billDialog = false
|
||||||
|
},
|
||||||
|
masterPickDialog() {
|
||||||
|
if (!this.$refs.baseChoice.optionData.id) {
|
||||||
|
this.$vmNews('请选择影响因素')
|
||||||
|
return
|
||||||
|
}
|
||||||
|
let row = this.$refs.baseChoice.optionData
|
||||||
|
this.$set(this.$refs.basicFormRefsName.ruleForm, 'factorName', row.factorName)
|
||||||
|
this.$set(this.$refs.basicFormRefsName.ruleForm, 'factorId', row.id)
|
||||||
|
this.$set(this.$refs.basicFormRefsName.ruleForm, 'factorCode', row.factorCode)
|
||||||
|
this.masterDialog = false
|
||||||
|
},
|
||||||
|
async elDialogClick(row, index) {
|
||||||
|
if (row.label === '影响因素') {
|
||||||
|
this.masterDialog = true
|
||||||
|
const res = await influenceFactorqueryAllAPI({
|
||||||
|
aeConfModuleId: this.clickFatherObj.aeConfModuleId
|
||||||
|
})
|
||||||
|
this.masterTableData = res.attribute
|
||||||
|
} else {
|
||||||
|
this.billDialog = true
|
||||||
|
const res = await queryMdmAndFiledsByMdmIdAPI({
|
||||||
|
mdmId: this.billTypeClickID
|
||||||
|
})
|
||||||
|
this.billTreeActive = {}
|
||||||
|
this.billTreeActiveFather = {}
|
||||||
|
res.attribute.forEach(item => {
|
||||||
|
item.fatherRow = true
|
||||||
|
item.name = item.remark
|
||||||
|
item.sublistMdmModuleDbFileds.forEach(ele => {
|
||||||
|
ele.name = ele.chName
|
||||||
|
})
|
||||||
|
})
|
||||||
|
this.billTableData = res.attribute
|
||||||
|
}
|
||||||
|
|
||||||
|
},
|
||||||
|
delRightTitle(item) {
|
||||||
|
this.$confirm('确认删除吗?', '提示', {
|
||||||
|
confirmButtonText: '确定',
|
||||||
|
cancelButtonText: '取消',
|
||||||
|
type: 'warning'
|
||||||
|
}).then(async() => {
|
||||||
|
const res = await businessModuledeleteAPI({
|
||||||
|
id: item.id
|
||||||
|
})
|
||||||
|
if (res.status == 200) {
|
||||||
|
this.$vmNews('删除成功', 'success')
|
||||||
|
this.billTypeClickName = ''
|
||||||
|
this.billTypeClickID = ''
|
||||||
|
this.billTypeClickCode = ''
|
||||||
|
this.getLeftList()
|
||||||
|
this.resetTable()
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
|
editRightTitle(item) {
|
||||||
|
this.billTypeADDName = item.name
|
||||||
|
this.billTypeADDID = item.id
|
||||||
|
this.passwordDialogTitle = '编辑'
|
||||||
|
this.passwordDialogShow = true
|
||||||
|
},
|
||||||
|
rightAddHandle() {
|
||||||
|
this.passwordDialogShow = true
|
||||||
|
this.passwordDialogTitle = '新增'
|
||||||
|
this.billTypeADDName = ''
|
||||||
|
this.billTypeADDID = ''
|
||||||
|
},
|
||||||
|
async passwordChangeHandle() {
|
||||||
|
if (!this.billTypeADDName) {
|
||||||
|
this.$vmNews('请输入单据类型名称')
|
||||||
|
return
|
||||||
|
}
|
||||||
|
let params = {
|
||||||
|
'moduleName': this.billTypeADDName
|
||||||
|
}
|
||||||
|
if (this.passwordDialogTitle === '编辑') {
|
||||||
|
params.id = this.billTypeADDID
|
||||||
|
const res = await businessModuleUpdateAPI(params)
|
||||||
|
if (res.status == 200) {
|
||||||
|
this.$vmNews('保存成功', 'success')
|
||||||
|
this.passwordDialogShow = false
|
||||||
|
this.getLeftList()
|
||||||
|
}
|
||||||
|
return
|
||||||
|
}
|
||||||
|
const res = await queryByIdAPI(params)
|
||||||
|
if (res.status == 200) {
|
||||||
|
this.$vmNews('保存成功', 'success')
|
||||||
|
this.passwordDialogShow = false
|
||||||
|
this.getLeftList()
|
||||||
|
}
|
||||||
|
},
|
||||||
|
async getSelect() {
|
||||||
|
const res = await GetBillListAPI({
|
||||||
|
page: 1,
|
||||||
|
limit: 9999
|
||||||
|
})
|
||||||
|
res.data[1].forEach(item => {
|
||||||
|
item.label = item.appName
|
||||||
|
item.value = item.appID
|
||||||
|
})
|
||||||
|
this.basicFormForm[0].elCol[2].options = res.data[1]
|
||||||
|
this.basicFormForm[0].elCol[6].options = res.data[1]
|
||||||
|
},
|
||||||
|
async getLeftList() {
|
||||||
|
this.openLoading()
|
||||||
|
const res = await queryModuleIncludeMdmListAPI({})
|
||||||
|
res.attribute.forEach((el) => {
|
||||||
|
el.fatherRow = true
|
||||||
|
el.name = el.aeConfModuleName
|
||||||
|
el.id = el.aeConfModuleId
|
||||||
|
el.mdmModuleEntity.forEach(item => {
|
||||||
|
item.name = item.mdmName
|
||||||
|
})
|
||||||
|
})
|
||||||
|
this.billTypeList = res.attribute
|
||||||
|
},
|
||||||
|
onSelect(val, index, indexRow, obj, row, form) {
|
||||||
|
if (row.prop === 'sourceAppID') {
|
||||||
|
this.$set(this.$refs.basicFormRefsName.ruleForm, 'sourceAppCode', obj.appCode)
|
||||||
|
}
|
||||||
|
if (row.prop === 'targetAppID') {
|
||||||
|
this.$set(this.$refs.basicFormRefsName.ruleForm, 'targetAppCode', obj.appCode)
|
||||||
|
}
|
||||||
|
},
|
||||||
|
async handleConfirmClick() {
|
||||||
|
try {
|
||||||
|
await this.$refs.basicFormRefsName.$refs.ruleForm.validate()
|
||||||
|
|
||||||
|
} catch (err) {
|
||||||
|
this.$vmNews('请输入必填项')
|
||||||
|
return
|
||||||
|
}
|
||||||
|
let form = this.$refs.basicFormRefsName.ruleForm
|
||||||
|
if (this.dialogTitle === '编辑') {
|
||||||
|
this.openLoading()
|
||||||
|
const res = await influenceFactorCorrelationupdateListAPI([
|
||||||
|
{
|
||||||
|
...this.$refs.basicFormRefsName.ruleForm
|
||||||
|
}
|
||||||
|
])
|
||||||
|
if (res.status == 200) {
|
||||||
|
this.$vmNews('保存成功', 'success')
|
||||||
|
this.examineOperateDialog = false
|
||||||
|
this.resetTable()
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
this.openLoading()
|
||||||
|
const res = await influenceFactorCorrelationsaveListAPI([
|
||||||
|
{
|
||||||
|
...this.$refs.basicFormRefsName.ruleForm
|
||||||
|
}
|
||||||
|
])
|
||||||
|
if (res.status == 200) {
|
||||||
|
this.$vmNews('保存成功', 'success')
|
||||||
|
this.examineOperateDialog = false
|
||||||
|
this.resetTable()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
},
|
||||||
|
pageChange(model) {
|
||||||
|
this.pageModel.page = model.page
|
||||||
|
this.pageModel.limit = model.limit
|
||||||
|
this.getTableData()
|
||||||
|
},
|
||||||
|
async getTableData() {
|
||||||
|
const res = await queryByMdmIdAPI({
|
||||||
|
...this.searchObj,
|
||||||
|
mdmId: this.billTypeClickID
|
||||||
|
})
|
||||||
|
this.tableData = res.attribute
|
||||||
|
this.$nextTick(() => {
|
||||||
|
this.$refs.customtable.clearRadioIndex()
|
||||||
|
this.selected = []
|
||||||
|
})
|
||||||
|
},
|
||||||
|
resetTable() {
|
||||||
|
this.tableData = []
|
||||||
|
this.pageModel.page = 1
|
||||||
|
this.selected = []
|
||||||
|
this.getTableData()
|
||||||
|
},
|
||||||
|
// 点击某条数据
|
||||||
|
radioChange(val) {
|
||||||
|
this.selected = []
|
||||||
|
this.selected.push(val)
|
||||||
|
},
|
||||||
|
// 删除
|
||||||
|
delOperate() {
|
||||||
|
if (!this.selected.length) {
|
||||||
|
this.$vmNews('请至少选择一条数据')
|
||||||
|
return
|
||||||
|
}
|
||||||
|
this.$confirm('确认删除吗?', '提示', {
|
||||||
|
confirmButtonText: '确定',
|
||||||
|
cancelButtonText: '取消',
|
||||||
|
type: 'warning'
|
||||||
|
}).then(async() => {
|
||||||
|
const res = await influenceFactorCorrelationdeleteListAPI([{
|
||||||
|
id: this.selected[0].id
|
||||||
|
}])
|
||||||
|
if (res.status == 200) {
|
||||||
|
this.$vmNews('删除成功', 'success')
|
||||||
|
this.resetTable()
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
|
// 编辑
|
||||||
|
editOperate() {
|
||||||
|
if (!this.selected.length) {
|
||||||
|
this.$vmNews('请至少选择一条数据')
|
||||||
|
return
|
||||||
|
}
|
||||||
|
this.dialogTitle = '编辑'
|
||||||
|
this.examineOperateDialog = true
|
||||||
|
this.$nextTick(() => {
|
||||||
|
this.$refs.basicFormRefsName.ruleForm = {
|
||||||
|
...this.selected[0]
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
|
//新增
|
||||||
|
Operate() {
|
||||||
|
if (!this.billTypeClickName) {
|
||||||
|
this.$vmNews('请选择业务模块')
|
||||||
|
return
|
||||||
|
}
|
||||||
|
this.dialogTitle = '新增'
|
||||||
|
this.examineOperateDialog = true
|
||||||
|
this.$nextTick(() => {
|
||||||
|
this.$set(this.$refs.basicFormRefsName.ruleForm, 'mdmName', this.billTypeClickName)
|
||||||
|
this.$set(this.$refs.basicFormRefsName.ruleForm, 'mdmId', this.billTypeClickID)
|
||||||
|
this.$set(this.$refs.basicFormRefsName.ruleForm, 'mdmCode', this.billTypeClickCode)
|
||||||
|
})
|
||||||
|
},
|
||||||
|
refresh() {
|
||||||
|
this.searchObj = {}
|
||||||
|
},
|
||||||
|
//获取按钮(头部)
|
||||||
|
async buttonPermissions() {
|
||||||
|
let arr = [
|
||||||
|
{
|
||||||
|
'id': '297c66371d484f5ea163c70b1c3944a7',
|
||||||
|
'create_user_id': '1',
|
||||||
|
'create_time': '2025-05-30 11:28:56',
|
||||||
|
'modify_time': '2025-05-30 11:28:56',
|
||||||
|
'modify_user_id': '1',
|
||||||
|
'org_id': '0',
|
||||||
|
'companyId': '0',
|
||||||
|
'sts': 'Y',
|
||||||
|
'start': null,
|
||||||
|
'limit': null,
|
||||||
|
'offset': null,
|
||||||
|
'sort': null,
|
||||||
|
'order': null,
|
||||||
|
'dir': null,
|
||||||
|
'rows': null,
|
||||||
|
'page': null,
|
||||||
|
'dialect_type': null,
|
||||||
|
'pageNum': null,
|
||||||
|
'pageSize': null,
|
||||||
|
'sorts': 1,
|
||||||
|
'dataSourceCode': 'master',
|
||||||
|
'code': '1',
|
||||||
|
'nameCh': '新增',
|
||||||
|
'nameEn': 'Operate',
|
||||||
|
'menuId': '936df6d1cd7e4f9ba4c972e0f84b5ab4',
|
||||||
|
'iconName': 'el-icon-plus',
|
||||||
|
'styles': 'primary',
|
||||||
|
'btnFunction': 'Operate',
|
||||||
|
'remark': null,
|
||||||
|
'userId': null,
|
||||||
|
'check': false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'id': 'ad708a5f65fb42d49e203a230096f43e',
|
||||||
|
'create_user_id': '1',
|
||||||
|
'create_time': '2025-05-30 11:29:22',
|
||||||
|
'modify_time': '2025-05-30 11:29:22',
|
||||||
|
'modify_user_id': '1',
|
||||||
|
'org_id': '0',
|
||||||
|
'companyId': '0',
|
||||||
|
'sts': 'Y',
|
||||||
|
'start': null,
|
||||||
|
'limit': null,
|
||||||
|
'offset': null,
|
||||||
|
'sort': null,
|
||||||
|
'order': null,
|
||||||
|
'dir': null,
|
||||||
|
'rows': null,
|
||||||
|
'page': null,
|
||||||
|
'dialect_type': null,
|
||||||
|
'pageNum': null,
|
||||||
|
'pageSize': null,
|
||||||
|
'sorts': 2,
|
||||||
|
'dataSourceCode': 'master',
|
||||||
|
'code': '2',
|
||||||
|
'nameCh': '编辑',
|
||||||
|
'nameEn': 'editOperate',
|
||||||
|
'menuId': '936df6d1cd7e4f9ba4c972e0f84b5ab4',
|
||||||
|
'iconName': 'el-icon-edit',
|
||||||
|
'styles': 'primary',
|
||||||
|
'btnFunction': 'editOperate',
|
||||||
|
'remark': null,
|
||||||
|
'userId': null,
|
||||||
|
'check': false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'id': 'cca6382b141e4816833581db63c768da',
|
||||||
|
'create_user_id': '1',
|
||||||
|
'create_time': '2025-05-30 11:29:39',
|
||||||
|
'modify_time': '2025-05-30 11:29:39',
|
||||||
|
'modify_user_id': '1',
|
||||||
|
'org_id': '0',
|
||||||
|
'companyId': '0',
|
||||||
|
'sts': 'Y',
|
||||||
|
'start': null,
|
||||||
|
'limit': null,
|
||||||
|
'offset': null,
|
||||||
|
'sort': null,
|
||||||
|
'order': null,
|
||||||
|
'dir': null,
|
||||||
|
'rows': null,
|
||||||
|
'page': null,
|
||||||
|
'dialect_type': null,
|
||||||
|
'pageNum': null,
|
||||||
|
'pageSize': null,
|
||||||
|
'sorts': 3,
|
||||||
|
'dataSourceCode': 'master',
|
||||||
|
'code': '3',
|
||||||
|
'nameCh': '删除',
|
||||||
|
'nameEn': 'delOperate',
|
||||||
|
'menuId': '936df6d1cd7e4f9ba4c972e0f84b5ab4',
|
||||||
|
'iconName': 'el-icon-delete',
|
||||||
|
'styles': 'danger',
|
||||||
|
'btnFunction': 'delOperate',
|
||||||
|
'remark': null,
|
||||||
|
'userId': null,
|
||||||
|
'check': false
|
||||||
|
}
|
||||||
|
]
|
||||||
|
arr.forEach((el) => {
|
||||||
|
el.menuName = el.nameCh
|
||||||
|
el.icon = el.icoName
|
||||||
|
el.type = el.style
|
||||||
|
el.name = el.nameCN
|
||||||
|
})
|
||||||
|
this.nowBtns = arr
|
||||||
|
},
|
||||||
|
billTypeClickHandle(item, row) {
|
||||||
|
if (item.fatherRow) {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
this.billTypeClickID = item.id
|
||||||
|
this.billTypeClickName = item.name
|
||||||
|
this.billTypeClickCode = item.mdmCode
|
||||||
|
this.clickFatherObj = row
|
||||||
|
this.resetTable()
|
||||||
|
},
|
||||||
|
billTreeClick(item, row) {
|
||||||
|
console.log(row, '?')
|
||||||
|
if (item.fatherRow) {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
this.billTreeActive = item
|
||||||
|
this.billTreeActiveFather = row
|
||||||
|
},
|
||||||
|
//头部按钮统一调用方法
|
||||||
|
clickSave(item) {
|
||||||
|
this[item.btnFunction]()
|
||||||
|
}
|
||||||
|
},
|
||||||
|
mounted() {
|
||||||
|
this.buttonPermissions()
|
||||||
|
this.getLeftList()
|
||||||
|
// this.getTableData()
|
||||||
|
// this.getSelect()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
|
||||||
|
<style scoped lang="scss">
|
||||||
|
.addDialog {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
|
||||||
|
.nameTitle {
|
||||||
|
padding: 10px;
|
||||||
|
font-size: 14px;
|
||||||
|
color: #333;
|
||||||
|
margin-right: 10px;
|
||||||
|
width: 180px;
|
||||||
|
text-align: right;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.recordContrast {
|
||||||
|
display: flex;
|
||||||
|
overflow: hidden;
|
||||||
|
background-color: #f5f5f5;
|
||||||
|
|
||||||
|
.left {
|
||||||
|
width: 270px;
|
||||||
|
padding: 10px;
|
||||||
|
background-color: #fff;
|
||||||
|
border-radius: 4px;
|
||||||
|
margin-right: 5px;
|
||||||
|
|
||||||
|
.leftTitle {
|
||||||
|
color: #333;
|
||||||
|
font-size: 18px;
|
||||||
|
font-weight: 500;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.right {
|
||||||
|
flex: 1;
|
||||||
|
padding: 10px;
|
||||||
|
background-color: #fff;
|
||||||
|
border-radius: 4px;
|
||||||
|
|
||||||
|
.topBox {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: space-between;
|
||||||
|
|
||||||
|
.searchBox {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
|
||||||
|
> div {
|
||||||
|
margin-right: 10px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.table {
|
||||||
|
margin-top: 10px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.searchBtn {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: space-around;
|
||||||
|
margin-top: 20px;
|
||||||
|
|
||||||
|
.input {
|
||||||
|
flex: 1;
|
||||||
|
margin-right: 5px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.showList {
|
||||||
|
height: calc(100vh - 200px);
|
||||||
|
overflow: auto;
|
||||||
|
margin-top: 10px;
|
||||||
|
|
||||||
|
.showItem {
|
||||||
|
//display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: space-between;
|
||||||
|
padding: 10px 20px;
|
||||||
|
cursor: pointer;
|
||||||
|
|
||||||
|
.icon {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
&:hover {
|
||||||
|
background-color: #ebeced;
|
||||||
|
border-radius: 4px;
|
||||||
|
|
||||||
|
.icon {
|
||||||
|
display: block !important;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
&.active {
|
||||||
|
background-color: #ebeced !important;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.showItemSon {
|
||||||
|
//display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: space-between;
|
||||||
|
padding: 10px 20px 10px 40px;
|
||||||
|
cursor: pointer;
|
||||||
|
|
||||||
|
.icon {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
&:hover {
|
||||||
|
background-color: #ebeced;
|
||||||
|
border-radius: 4px;
|
||||||
|
|
||||||
|
.icon {
|
||||||
|
display: block !important;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
&.active {
|
||||||
|
background-color: #ebeced !important;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</style>
|
|
@ -0,0 +1,634 @@
|
||||||
|
<template>
|
||||||
|
<div class="recordContrast">
|
||||||
|
<div class="left">
|
||||||
|
<div class="leftTitle" style="display: flex;align-items: center;justify-content: space-between">
|
||||||
|
<div>单据类型</div>
|
||||||
|
<div class="icon" style="cursor: pointer" @click="rightAddHandle()">
|
||||||
|
<i class="el-icon-plus"></i>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="showList">
|
||||||
|
<div class="showItem" v-for="(item,index) in billTypeList" :key="index"
|
||||||
|
:class="{active:item.id === billTypeClickID}" @click="billTypeClickHandle(item.id,item.name)"
|
||||||
|
>
|
||||||
|
<div class="name">{{ item.name }}</div>
|
||||||
|
<div class="icon">
|
||||||
|
<i class="el-icon-edit" @click.stop="editRightTitle(item)" style="margin-right: 10px"></i>
|
||||||
|
<i class="el-icon-delete" style="color: red" @click.stop="delRightTitle(item)"></i>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="right">
|
||||||
|
<div class="topBox">
|
||||||
|
<div class="searchBox">
|
||||||
|
<div>
|
||||||
|
<el-input v-model="searchObj.sourceAppName" :placeholder="'来源应用'" @keydown.native.enter="resetTable"
|
||||||
|
clearable
|
||||||
|
></el-input>
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<el-input v-model="searchObj.targetAppName" :placeholder="'目标应用'" @keydown.native.enter="resetTable"
|
||||||
|
clearable
|
||||||
|
></el-input>
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<el-input v-model="searchObj.sourceAppCode" :placeholder="'来源应用编码'" @keydown.native.enter="resetTable"
|
||||||
|
clearable
|
||||||
|
></el-input>
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<el-input v-model="searchObj.targetAppCode" :placeholder="'目标应用编码'" @keydown.native.enter="resetTable"
|
||||||
|
clearable
|
||||||
|
></el-input>
|
||||||
|
</div>
|
||||||
|
<div class="btnBox">
|
||||||
|
<el-button type="primary" size="small" icon="el-icon-search" @click="resetTable">查询</el-button>
|
||||||
|
<el-button type="primary" size="small" icon="el-icon-refresh" @click="refresh">重置</el-button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div style="display: flex;align-items: center;justify-content: flex-end;">
|
||||||
|
<el-button
|
||||||
|
size="small"
|
||||||
|
:icon="item.icon"
|
||||||
|
@click="clickSave(item)"
|
||||||
|
:type="item.type ? item.type : 'primary'"
|
||||||
|
v-for="(item, index) in nowBtns"
|
||||||
|
:key="index"
|
||||||
|
>{{ item.menuName }}
|
||||||
|
</el-button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="table">
|
||||||
|
<base-table ref="customtable" :showIndex="false" :slotrow="true"
|
||||||
|
tableHeight="calc(100vh - 170px)" :tableData="tableData" :tableColumn="tableColumn"
|
||||||
|
@radioChange="radioChange" id="printMe"
|
||||||
|
>
|
||||||
|
</base-table>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
<div class="page">
|
||||||
|
<base-page :pageSizesList="[20,50,100,150]" :pageModel.sync="pageModel" @onPageChange="pageChange"
|
||||||
|
layout="total, sizes,prev, pager, next,jumper"
|
||||||
|
></base-page>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<base-right-dialog
|
||||||
|
@handleClose="examineOperateDialog = false"
|
||||||
|
@handleConfirmClick="handleConfirmClick"
|
||||||
|
:dialogVisible="examineOperateDialog"
|
||||||
|
size="900px"
|
||||||
|
:appendBody="true"
|
||||||
|
:loading="true"
|
||||||
|
:footerShow="true"
|
||||||
|
:submitShow="true"
|
||||||
|
:title="dialogTitle +'档案对照'"
|
||||||
|
submitTitle="保存"
|
||||||
|
>
|
||||||
|
<div class="rightDialogClass_main" style="background-color: #fff;" v-if="examineOperateDialog">
|
||||||
|
<base-form
|
||||||
|
ref="basicFormRefsName"
|
||||||
|
:formRow="basicFormForm"
|
||||||
|
:isFunBtn="false"
|
||||||
|
:spanWidth="'100px'"
|
||||||
|
justifyContent="flex-end"
|
||||||
|
:rules="basicFormRulers"
|
||||||
|
@onSelect="onSelect"
|
||||||
|
:view-status="statusView"
|
||||||
|
>
|
||||||
|
</base-form>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</base-right-dialog>
|
||||||
|
<base-dialog
|
||||||
|
:dialogVisible.sync="passwordDialogShow"
|
||||||
|
:closeModal="false"
|
||||||
|
:footerShow="true"
|
||||||
|
:title="passwordDialogTitle+'单据类型'"
|
||||||
|
width="400px"
|
||||||
|
top="20vh"
|
||||||
|
@handleConfirmClick="passwordChangeHandle"
|
||||||
|
>
|
||||||
|
<div class="rightDialogClass_main" style="background-color: #fff;">
|
||||||
|
<div class="addDialog">
|
||||||
|
<div class="nameTitle">单据类型名称:</div>
|
||||||
|
<el-input v-model="billTypeADDName"></el-input>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</base-dialog>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import {
|
||||||
|
DelArcCompareDataAPI,
|
||||||
|
DelArcTypeDataAPI,
|
||||||
|
GetArcCompareList,
|
||||||
|
GetArcCompareListAPI,
|
||||||
|
GetArcTypeListAPI,
|
||||||
|
GetBillListAPI,
|
||||||
|
GetLoginUserButtonsAPI, SaveArcCompareDataAPI, SaveArcTypeDataAPI
|
||||||
|
} from '@/api/apis/buttonList'
|
||||||
|
import basePage from '@/components/base/basePage/index.vue'
|
||||||
|
import baseChoice from '@/components/base/baseChoice/index.vue'
|
||||||
|
import baseDialog from '@/components/base/BaseNewDialog/index.vue'
|
||||||
|
|
||||||
|
export default {
|
||||||
|
name: 'recordContrast',
|
||||||
|
components: { baseDialog, baseChoice, basePage },
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
basicFormForm: [
|
||||||
|
{
|
||||||
|
elCol: [
|
||||||
|
{
|
||||||
|
label: '档案类型',
|
||||||
|
prop: 'arcTypeName',
|
||||||
|
tag: 'elInput',
|
||||||
|
span: 24,
|
||||||
|
disabled: true,
|
||||||
|
placeholder: '自动带出'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: '来源应用编码',
|
||||||
|
prop: 'sourceAppCode',
|
||||||
|
tag: 'elInput',
|
||||||
|
span: 12,
|
||||||
|
disabled: true,
|
||||||
|
placeholder: '自动带出'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: '来源应用名称',
|
||||||
|
prop: 'sourceAppID',
|
||||||
|
tag: 'elSelect',
|
||||||
|
options: [],
|
||||||
|
span: 12,
|
||||||
|
placeholder: '请选择'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: '来源数据名称',
|
||||||
|
prop: 'sourceDataName',
|
||||||
|
tag: 'elInput',
|
||||||
|
span: 12,
|
||||||
|
placeholder: '请输入'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: '来源数据编码',
|
||||||
|
prop: 'sourceDataCode',
|
||||||
|
tag: 'elInput',
|
||||||
|
span: 12,
|
||||||
|
placeholder: '请输入'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: '目标应用编码',
|
||||||
|
prop: 'targetAppCode',
|
||||||
|
tag: 'elInput',
|
||||||
|
span: 12,
|
||||||
|
disabled: true,
|
||||||
|
placeholder: '自动带出'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: '目标应用名称',
|
||||||
|
prop: 'targetAppID',
|
||||||
|
tag: 'elSelect',
|
||||||
|
options: [],
|
||||||
|
span: 12,
|
||||||
|
placeholder: '请选择'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: '目标数据名称',
|
||||||
|
prop: 'targetDataName',
|
||||||
|
tag: 'elInput',
|
||||||
|
span: 12,
|
||||||
|
placeholder: '请输入'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: '目标数据编码',
|
||||||
|
prop: 'targetDataCode',
|
||||||
|
tag: 'elInput',
|
||||||
|
span: 12,
|
||||||
|
placeholder: '请输入'
|
||||||
|
}
|
||||||
|
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
basicFormRulers: {
|
||||||
|
sourceAppCode: [
|
||||||
|
{ required: true, message: '请选择来源应用', trigger: 'change' }
|
||||||
|
],
|
||||||
|
sourceAppID: [
|
||||||
|
{ required: true, message: '请选择来源应用', trigger: 'change' }
|
||||||
|
],
|
||||||
|
sourceDataName: [
|
||||||
|
{ required: true, message: '请输入来源数据名称', trigger: 'blur' }
|
||||||
|
],
|
||||||
|
sourceDataCode: [
|
||||||
|
{ required: true, message: '请输入来源数据编码', trigger: 'blur' }
|
||||||
|
],
|
||||||
|
targetAppCode: [
|
||||||
|
{ required: true, message: '请选择目标应用', trigger: 'change' }
|
||||||
|
],
|
||||||
|
targetAppID: [
|
||||||
|
{ required: true, message: '请选择目标应用', trigger: 'change' }
|
||||||
|
],
|
||||||
|
targetDataName: [
|
||||||
|
{ required: true, message: '请输入目标数据名称', trigger: 'blur' }
|
||||||
|
],
|
||||||
|
targetDataCode: [
|
||||||
|
{ required: true, message: '请输入目标数据编码', trigger: 'blur' }
|
||||||
|
]
|
||||||
|
},
|
||||||
|
nowBtns: [],
|
||||||
|
billTypeName: '',
|
||||||
|
billTypeClickID: '',
|
||||||
|
billTypeClickName: '',
|
||||||
|
billTypeList: [
|
||||||
|
{
|
||||||
|
name: '人员对照',
|
||||||
|
id: 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: '人员对照',
|
||||||
|
id: 2
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: '人员对照',
|
||||||
|
id: 3
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: '人员对照',
|
||||||
|
id: 4
|
||||||
|
}
|
||||||
|
],
|
||||||
|
searchObj: {},
|
||||||
|
pageModel: {
|
||||||
|
page: 1, //当前页码
|
||||||
|
limit: 20 //每页显示多少
|
||||||
|
},
|
||||||
|
selected: [],
|
||||||
|
|
||||||
|
tableColumn: [
|
||||||
|
{
|
||||||
|
label: '档案类型',
|
||||||
|
prop: 'arcTypeName',
|
||||||
|
width: '150px'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: '来源应用',
|
||||||
|
prop: 'sourceAppName',
|
||||||
|
width: '150px'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: '来源数据编码',
|
||||||
|
prop: 'sourceDataCode',
|
||||||
|
width: '150px'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: '来源数据名称',
|
||||||
|
prop: 'sourceDataName'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: '目标应用',
|
||||||
|
prop: 'targetAppName',
|
||||||
|
width: '150px'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: '目标数据编码',
|
||||||
|
prop: 'targetDataCode',
|
||||||
|
width: '150px'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: '目标数据名称',
|
||||||
|
prop: 'targetDataName'
|
||||||
|
}
|
||||||
|
],
|
||||||
|
tableData: [],
|
||||||
|
dialogTitle: '新增',
|
||||||
|
examineOperateDialog: false,
|
||||||
|
statusView: false,
|
||||||
|
passwordDialogShow: false,
|
||||||
|
passwordDialogTitle: '新增',
|
||||||
|
billTypeADDName: '',
|
||||||
|
billTypeADDID: ''
|
||||||
|
}
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
delRightTitle(item) {
|
||||||
|
this.$confirm('确认删除吗?', '提示', {
|
||||||
|
confirmButtonText: '确定',
|
||||||
|
cancelButtonText: '取消',
|
||||||
|
type: 'warning'
|
||||||
|
}).then(async() => {
|
||||||
|
const res = await DelArcTypeDataAPI({
|
||||||
|
arcTypeID: item.id
|
||||||
|
})
|
||||||
|
if (res.code == 1) {
|
||||||
|
this.$vmNews('删除成功', 'success')
|
||||||
|
this.billTypeClickName = ''
|
||||||
|
this.billTypeClickID = ''
|
||||||
|
this.getLeftList()
|
||||||
|
this.resetTable()
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
|
editRightTitle(item) {
|
||||||
|
this.billTypeADDName = item.name
|
||||||
|
this.billTypeADDID = item.id
|
||||||
|
this.passwordDialogTitle = '编辑'
|
||||||
|
this.passwordDialogShow = true
|
||||||
|
},
|
||||||
|
rightAddHandle() {
|
||||||
|
this.passwordDialogShow = true
|
||||||
|
this.passwordDialogTitle = '新增'
|
||||||
|
this.billTypeADDName = ''
|
||||||
|
this.billTypeADDID = ''
|
||||||
|
},
|
||||||
|
async passwordChangeHandle() {
|
||||||
|
if (!this.billTypeADDName) {
|
||||||
|
this.$vmNews('请输入单据类型名称')
|
||||||
|
return
|
||||||
|
}
|
||||||
|
let params = {
|
||||||
|
dataMain: {
|
||||||
|
'arcTypeName': this.billTypeADDName
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (this.passwordDialogTitle === '编辑') {
|
||||||
|
params.dataMain.arcTypeID = this.billTypeADDID
|
||||||
|
}
|
||||||
|
const res = await SaveArcTypeDataAPI(params)
|
||||||
|
if (res.code == 1) {
|
||||||
|
this.$vmNews('保存成功', 'success')
|
||||||
|
this.passwordDialogShow = false
|
||||||
|
this.getLeftList()
|
||||||
|
}
|
||||||
|
},
|
||||||
|
async getSelect() {
|
||||||
|
const res = await GetBillListAPI({
|
||||||
|
page: 1,
|
||||||
|
limit: 9999
|
||||||
|
})
|
||||||
|
res.data[1].forEach(item => {
|
||||||
|
item.label = item.appName
|
||||||
|
item.value = item.appID
|
||||||
|
})
|
||||||
|
this.basicFormForm[0].elCol[2].options = res.data[1]
|
||||||
|
this.basicFormForm[0].elCol[6].options = res.data[1]
|
||||||
|
},
|
||||||
|
async getLeftList() {
|
||||||
|
const res = await GetArcTypeListAPI({
|
||||||
|
arcTypeName: this.billTypeName
|
||||||
|
})
|
||||||
|
res.data[0].forEach((el) => {
|
||||||
|
el.name = el.arcTypeName
|
||||||
|
el.id = el.arcTypeID
|
||||||
|
})
|
||||||
|
this.billTypeList = res.data[0]
|
||||||
|
},
|
||||||
|
onSelect(val, index, indexRow, obj, row, form) {
|
||||||
|
if (row.prop === 'sourceAppID') {
|
||||||
|
this.$set(this.$refs.basicFormRefsName.ruleForm, 'sourceAppCode', obj.appCode)
|
||||||
|
}
|
||||||
|
if (row.prop === 'targetAppID') {
|
||||||
|
this.$set(this.$refs.basicFormRefsName.ruleForm, 'targetAppCode', obj.appCode)
|
||||||
|
}
|
||||||
|
},
|
||||||
|
async handleConfirmClick() {
|
||||||
|
await this.$refs.basicFormRefsName.$refs.ruleForm.validate()
|
||||||
|
const res = await SaveArcCompareDataAPI({
|
||||||
|
dataMain: {
|
||||||
|
...this.$refs.basicFormRefsName.ruleForm
|
||||||
|
}
|
||||||
|
})
|
||||||
|
if (res.code == 1) {
|
||||||
|
this.$vmNews('保存成功', 'success')
|
||||||
|
this.examineOperateDialog = false
|
||||||
|
this.resetTable()
|
||||||
|
}
|
||||||
|
},
|
||||||
|
pageChange(model) {
|
||||||
|
this.pageModel.page = model.page
|
||||||
|
this.pageModel.limit = model.limit
|
||||||
|
this.getTableData()
|
||||||
|
},
|
||||||
|
async getTableData() {
|
||||||
|
const res = await GetArcCompareList({
|
||||||
|
...this.pageModel,
|
||||||
|
...this.searchObj,
|
||||||
|
arcTypeID: this.billTypeClickID
|
||||||
|
})
|
||||||
|
this.pageModel.total = res.data[0]
|
||||||
|
this.tableData = res.data[1]
|
||||||
|
this.$nextTick(() => {
|
||||||
|
this.$refs.customtable.clearRadioIndex()
|
||||||
|
this.selected = []
|
||||||
|
})
|
||||||
|
},
|
||||||
|
resetTable() {
|
||||||
|
this.tableData = []
|
||||||
|
this.pageModel.page = 1
|
||||||
|
this.selected = []
|
||||||
|
this.getTableData()
|
||||||
|
},
|
||||||
|
// 点击某条数据
|
||||||
|
radioChange(val) {
|
||||||
|
this.selected = []
|
||||||
|
this.selected.push(val)
|
||||||
|
},
|
||||||
|
// 删除
|
||||||
|
delOperate() {
|
||||||
|
if (!this.selected.length) {
|
||||||
|
this.$vmNews('请至少选择一条数据')
|
||||||
|
return
|
||||||
|
}
|
||||||
|
this.$confirm('确认删除吗?', '提示', {
|
||||||
|
confirmButtonText: '确定',
|
||||||
|
cancelButtonText: '取消',
|
||||||
|
type: 'warning'
|
||||||
|
}).then(async() => {
|
||||||
|
const res = await DelArcCompareDataAPI({
|
||||||
|
arcCompareID: this.selected[0].arcCompareID
|
||||||
|
})
|
||||||
|
if (res.code == 1) {
|
||||||
|
this.$vmNews('删除成功', 'success')
|
||||||
|
this.resetTable()
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
|
// 编辑
|
||||||
|
editOperate() {
|
||||||
|
if (!this.selected.length) {
|
||||||
|
this.$vmNews('请至少选择一条数据')
|
||||||
|
return
|
||||||
|
}
|
||||||
|
this.dialogTitle = '编辑'
|
||||||
|
this.examineOperateDialog = true
|
||||||
|
this.$nextTick(() => {
|
||||||
|
this.$refs.basicFormRefsName.ruleForm = {
|
||||||
|
...this.selected[0]
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
|
//新增
|
||||||
|
Operate() {
|
||||||
|
if (!this.billTypeClickName) {
|
||||||
|
this.$vmNews('请选择单据类型')
|
||||||
|
return
|
||||||
|
}
|
||||||
|
this.dialogTitle = '新增'
|
||||||
|
this.examineOperateDialog = true
|
||||||
|
this.$nextTick(() => {
|
||||||
|
this.$set(this.$refs.basicFormRefsName.ruleForm, 'arcTypeName', this.billTypeClickName)
|
||||||
|
this.$set(this.$refs.basicFormRefsName.ruleForm, 'arcTypeID', this.billTypeClickID)
|
||||||
|
})
|
||||||
|
},
|
||||||
|
refresh() {
|
||||||
|
this.searchObj = {}
|
||||||
|
},
|
||||||
|
//获取按钮(头部)
|
||||||
|
async buttonPermissions() {
|
||||||
|
const res = await GetLoginUserButtonsAPI({
|
||||||
|
page: 1, //当前页码
|
||||||
|
limit: 999, //每页显示多少
|
||||||
|
menuId: this.$route.meta.id, //树形分类id
|
||||||
|
Sequence: '', //排列方式
|
||||||
|
SequenceName: '', //需要排列的字段名
|
||||||
|
route: this.$route.path
|
||||||
|
})
|
||||||
|
if (res.code == 1) {
|
||||||
|
res.data[0].forEach((el) => {
|
||||||
|
el.menuName = el.nameCN
|
||||||
|
el.icon = el.icoName
|
||||||
|
el.type = el.style
|
||||||
|
el.name = el.nameCN
|
||||||
|
})
|
||||||
|
this.nowBtns = res.data[0]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
billTypeClickHandle(id, name) {
|
||||||
|
this.billTypeClickID = id
|
||||||
|
this.billTypeClickName = name
|
||||||
|
this.resetTable()
|
||||||
|
},
|
||||||
|
//头部按钮统一调用方法
|
||||||
|
clickSave(item) {
|
||||||
|
this[item.btnFunction]()
|
||||||
|
}
|
||||||
|
},
|
||||||
|
mounted() {
|
||||||
|
this.buttonPermissions()
|
||||||
|
this.getLeftList()
|
||||||
|
this.getTableData()
|
||||||
|
this.getSelect()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
|
||||||
|
<style scoped lang="scss">
|
||||||
|
.addDialog {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
|
||||||
|
.nameTitle {
|
||||||
|
padding: 10px;
|
||||||
|
font-size: 14px;
|
||||||
|
color: #333;
|
||||||
|
margin-right: 10px;
|
||||||
|
width: 180px;
|
||||||
|
text-align: right;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.recordContrast {
|
||||||
|
display: flex;
|
||||||
|
overflow: hidden;
|
||||||
|
background-color: #f5f5f5;
|
||||||
|
|
||||||
|
.left {
|
||||||
|
width: 270px;
|
||||||
|
padding: 10px;
|
||||||
|
background-color: #fff;
|
||||||
|
border-radius: 4px;
|
||||||
|
margin-right: 5px;
|
||||||
|
|
||||||
|
.leftTitle {
|
||||||
|
color: #333;
|
||||||
|
font-size: 18px;
|
||||||
|
font-weight: 500;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.right {
|
||||||
|
flex: 1;
|
||||||
|
padding: 10px;
|
||||||
|
background-color: #fff;
|
||||||
|
border-radius: 4px;
|
||||||
|
|
||||||
|
.topBox {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: space-between;
|
||||||
|
|
||||||
|
.searchBox {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
|
||||||
|
> div {
|
||||||
|
margin-right: 10px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.table {
|
||||||
|
margin-top: 10px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.searchBtn {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: space-around;
|
||||||
|
margin-top: 20px;
|
||||||
|
|
||||||
|
.input {
|
||||||
|
flex: 1;
|
||||||
|
margin-right: 5px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.showList {
|
||||||
|
height: calc(100vh - 200px);
|
||||||
|
overflow: auto;
|
||||||
|
margin-top: 10px;
|
||||||
|
|
||||||
|
.showItem {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: space-between;
|
||||||
|
padding: 10px 20px;
|
||||||
|
cursor: pointer;
|
||||||
|
|
||||||
|
.icon {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
&:hover {
|
||||||
|
background-color: #ebeced;
|
||||||
|
border-radius: 4px;
|
||||||
|
|
||||||
|
.icon {
|
||||||
|
display: block !important;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
&.active {
|
||||||
|
background-color: #ebeced !important;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</style>
|
|
@ -0,0 +1,726 @@
|
||||||
|
<script src="../../api/apis/operationalModule.js"></script>
|
||||||
|
<template>
|
||||||
|
<div class="recordContrast">
|
||||||
|
<div class="left">
|
||||||
|
<div class="leftTitle" style="display: flex;align-items: center;justify-content: space-between">
|
||||||
|
<div>业务模块</div>
|
||||||
|
<div class="icon" style="cursor: pointer" @click="rightAddHandle()">
|
||||||
|
<!-- <i class="el-icon-plus"></i>-->
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="showList">
|
||||||
|
<div class="showItem" v-for="(item,index) in billTypeList" :key="index"
|
||||||
|
:class="{active:item.id === billTypeClickID}" @click="billTypeClickHandle(item.id,item.name)"
|
||||||
|
>
|
||||||
|
<div class="name">{{ item.name }}</div>
|
||||||
|
<div class="icon">
|
||||||
|
<!-- <i class="el-icon-edit" @click.stop="editRightTitle(item)" style="margin-right: 10px"></i>-->
|
||||||
|
<!-- <i class="el-icon-delete" style="color: red" @click.stop="delRightTitle(item)"></i>-->
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="right">
|
||||||
|
<div class="topBox">
|
||||||
|
<div class="searchBox">
|
||||||
|
</div>
|
||||||
|
<div style="display: flex;align-items: center;justify-content: flex-end;">
|
||||||
|
<el-button
|
||||||
|
size="small"
|
||||||
|
:icon="item.icon"
|
||||||
|
@click="clickSave(item)"
|
||||||
|
:type="item.type ? item.type : 'primary'"
|
||||||
|
v-for="(item, index) in nowBtns"
|
||||||
|
:key="index"
|
||||||
|
>{{ item.menuName }}
|
||||||
|
</el-button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="table">
|
||||||
|
<base-table ref="customtable" :showIndex="false" :slotrow="true"
|
||||||
|
tableHeight="calc(100vh - 170px)" :tableData="tableData" :tableColumn="tableColumn"
|
||||||
|
@radioChange="radioChange" id="printMe"
|
||||||
|
>
|
||||||
|
<template #operation="{row}">
|
||||||
|
<div class="btnList" style="color: #3876ee;cursor:pointer;" @click="copy(row.row)">
|
||||||
|
复制
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
</base-table>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<base-right-dialog
|
||||||
|
@handleClose="examineOperateDialog = false"
|
||||||
|
@handleConfirmClick="handleConfirmClick"
|
||||||
|
:dialogVisible="examineOperateDialog"
|
||||||
|
size="900px"
|
||||||
|
:appendBody="true"
|
||||||
|
:loading="true"
|
||||||
|
:footerShow="true"
|
||||||
|
:submitShow="true"
|
||||||
|
:title="dialogTitle +'主数据'"
|
||||||
|
submitTitle="保存"
|
||||||
|
>
|
||||||
|
<div class="rightDialogClass_main" style="background-color: #fff;" v-if="examineOperateDialog">
|
||||||
|
<base-form
|
||||||
|
ref="basicFormRefsName"
|
||||||
|
:formRow="basicFormForm"
|
||||||
|
:isFunBtn="false"
|
||||||
|
:spanWidth="'100px'"
|
||||||
|
justifyContent="flex-end"
|
||||||
|
:rules="basicFormRulers"
|
||||||
|
@onSelect="onSelect"
|
||||||
|
:view-status="statusView"
|
||||||
|
@elDialogClick="elDialogClick"
|
||||||
|
>
|
||||||
|
</base-form>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</base-right-dialog>
|
||||||
|
<base-dialog
|
||||||
|
:dialogVisible.sync="passwordDialogShow"
|
||||||
|
:closeModal="false"
|
||||||
|
:footerShow="true"
|
||||||
|
:title="passwordDialogTitle+'业务模块'"
|
||||||
|
width="400px"
|
||||||
|
top="20vh"
|
||||||
|
@handleConfirmClick="passwordChangeHandle"
|
||||||
|
>
|
||||||
|
<div class="rightDialogClass_main" style="background-color: #fff;">
|
||||||
|
<div class="addDialog">
|
||||||
|
<div class="nameTitle">业务模块名称:</div>
|
||||||
|
<el-input v-model="billTypeADDName"></el-input>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</base-dialog>
|
||||||
|
<base-dialog
|
||||||
|
:dialogVisible.sync="masterDialog"
|
||||||
|
:closeModal="false"
|
||||||
|
:footerShow="true"
|
||||||
|
title="选择主数据"
|
||||||
|
width="80%"
|
||||||
|
top="10vh"
|
||||||
|
@handleConfirmClick="masterPickDialog"
|
||||||
|
>
|
||||||
|
<div class="rightDialogClass_main" style="background-color: #fff;" v-if="masterDialog">
|
||||||
|
<baseChoice ref="baseChoice" :tableData="masterTableData" :tableColumn="masterTableColumn"></baseChoice>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</base-dialog>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import basePage from '@/components/base/basePage/index.vue'
|
||||||
|
import baseChoice from '@/components/base/baseChoice/index.vue'
|
||||||
|
import baseDialog from '@/components/base/BaseNewDialog/index.vue'
|
||||||
|
import baseRightDialog from '@/components/base/baseRightDialog'
|
||||||
|
import baseTable from '@/components/base/baseTable/index.vue'
|
||||||
|
import baseForm from '@/components/base/baseNewForm'
|
||||||
|
|
||||||
|
import {
|
||||||
|
businessModuledeleteAPI,
|
||||||
|
businessModuleMdmdeleteListAPI,
|
||||||
|
businessModuleMdmSaveListAPI,
|
||||||
|
businessModuleMdmupdateListAPI,
|
||||||
|
businessModulequeryAllAPI,
|
||||||
|
businessModuleUpdateAPI, deleteAPI, influenceFactorqueryAllAPI, influenceFactorsaveAPI, influenceFactorupdateAPI,
|
||||||
|
queryAllAPI,
|
||||||
|
queryByIdAPI,
|
||||||
|
queryMdmsByModuleIdAPI
|
||||||
|
} from '@/api/apis/operationalModule'
|
||||||
|
import { GetLoginUserButtonsAPI } from '@/api/apis/buttonList'
|
||||||
|
|
||||||
|
export default {
|
||||||
|
name: 'recordContrast',
|
||||||
|
components: { baseDialog, baseChoice, basePage, baseTable, baseRightDialog, baseForm },
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
masterTableData: [],
|
||||||
|
masterTableColumn: [
|
||||||
|
{
|
||||||
|
label: '影响因素名称',
|
||||||
|
prop: 'factorName'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: '映射档案',
|
||||||
|
prop: ''
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: '备注',
|
||||||
|
prop: 'remark'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: '操作',
|
||||||
|
prop: 'operation',
|
||||||
|
width: 60
|
||||||
|
}
|
||||||
|
],
|
||||||
|
masterDialog: false,
|
||||||
|
basicFormForm: [
|
||||||
|
{
|
||||||
|
elCol: [
|
||||||
|
{
|
||||||
|
label: '影响因素名称',
|
||||||
|
prop: 'factorName',
|
||||||
|
tag: 'elInput',
|
||||||
|
span: 24,
|
||||||
|
disabled: false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: '映射档案',
|
||||||
|
prop: 'mdmName',
|
||||||
|
tag: 'elDialog',
|
||||||
|
span: 24,
|
||||||
|
disabled: false,
|
||||||
|
placeholder: '点击选择'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: '备注',
|
||||||
|
prop: 'remark',
|
||||||
|
tag: 'elInput',
|
||||||
|
type: 'textarea',
|
||||||
|
span: 24
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
basicFormRulers: {
|
||||||
|
factorName: [
|
||||||
|
{ required: true, message: '请选择来源应用', trigger: 'change' }
|
||||||
|
],
|
||||||
|
sourceAppID: [
|
||||||
|
{ required: true, message: '请选择来源应用', trigger: 'change' }
|
||||||
|
],
|
||||||
|
sourceDataName: [
|
||||||
|
{ required: true, message: '请输入来源数据名称', trigger: 'blur' }
|
||||||
|
],
|
||||||
|
sourceDataCode: [
|
||||||
|
{ required: true, message: '请输入来源数据编码', trigger: 'blur' }
|
||||||
|
],
|
||||||
|
targetAppCode: [
|
||||||
|
{ required: true, message: '请选择目标应用', trigger: 'change' }
|
||||||
|
],
|
||||||
|
targetAppID: [
|
||||||
|
{ required: true, message: '请选择目标应用', trigger: 'change' }
|
||||||
|
],
|
||||||
|
targetDataName: [
|
||||||
|
{ required: true, message: '请输入目标数据名称', trigger: 'blur' }
|
||||||
|
],
|
||||||
|
targetDataCode: [
|
||||||
|
{ required: true, message: '请输入目标数据编码', trigger: 'blur' }
|
||||||
|
]
|
||||||
|
},
|
||||||
|
nowBtns: [],
|
||||||
|
billTypeName: '',
|
||||||
|
billTypeClickID: '',
|
||||||
|
billTypeClickName: '',
|
||||||
|
billTypeList: [
|
||||||
|
{
|
||||||
|
name: '人员对照',
|
||||||
|
id: 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: '人员对照',
|
||||||
|
id: 2
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: '人员对照',
|
||||||
|
id: 3
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: '人员对照',
|
||||||
|
id: 4
|
||||||
|
}
|
||||||
|
],
|
||||||
|
searchObj: {},
|
||||||
|
pageModel: {
|
||||||
|
page: 1, //当前页码
|
||||||
|
limit: 20 //每页显示多少
|
||||||
|
},
|
||||||
|
selected: [],
|
||||||
|
|
||||||
|
tableColumn: [
|
||||||
|
{
|
||||||
|
label: '影响因素名称',
|
||||||
|
prop: 'factorName'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: '映射档案',
|
||||||
|
prop: ''
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: '备注',
|
||||||
|
prop: 'remark'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: '操作',
|
||||||
|
prop: 'operation',
|
||||||
|
width: 60
|
||||||
|
}
|
||||||
|
],
|
||||||
|
tableData: [],
|
||||||
|
dialogTitle: '新增',
|
||||||
|
examineOperateDialog: false,
|
||||||
|
statusView: false,
|
||||||
|
passwordDialogShow: false,
|
||||||
|
passwordDialogTitle: '新增',
|
||||||
|
billTypeADDName: '',
|
||||||
|
billTypeADDID: ''
|
||||||
|
}
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
masterPickDialog() {
|
||||||
|
if (!this.$refs.baseChoice.optionData.id) {
|
||||||
|
this.$vmNews('请选择主数据')
|
||||||
|
return
|
||||||
|
}
|
||||||
|
let row = this.$refs.baseChoice.optionData
|
||||||
|
this.$set(this.$refs.basicFormRefsName.ruleForm, 'mdmName', row.mdmName)
|
||||||
|
this.$set(this.$refs.basicFormRefsName.ruleForm, 'mdmId', row.id)
|
||||||
|
this.$set(this.$refs.basicFormRefsName.ruleForm, 'mdmCode', row.mdmCode)
|
||||||
|
this.masterDialog = false
|
||||||
|
},
|
||||||
|
async elDialogClick(row, index) {
|
||||||
|
this.masterDialog = true
|
||||||
|
const res = await businessModulequeryAllAPI({})
|
||||||
|
this.masterTableData = res.attribute
|
||||||
|
},
|
||||||
|
delRightTitle(item) {
|
||||||
|
this.$confirm('确认删除吗?', '提示', {
|
||||||
|
confirmButtonText: '确定',
|
||||||
|
cancelButtonText: '取消',
|
||||||
|
type: 'warning'
|
||||||
|
}).then(async() => {
|
||||||
|
const res = await businessModuledeleteAPI({
|
||||||
|
id: item.id
|
||||||
|
})
|
||||||
|
if (res.status == 200) {
|
||||||
|
this.$vmNews('删除成功', 'success')
|
||||||
|
this.billTypeClickName = ''
|
||||||
|
this.billTypeClickID = ''
|
||||||
|
this.getLeftList()
|
||||||
|
this.resetTable()
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
|
editRightTitle(item) {
|
||||||
|
this.billTypeADDName = item.name
|
||||||
|
this.billTypeADDID = item.id
|
||||||
|
this.passwordDialogTitle = '编辑'
|
||||||
|
this.passwordDialogShow = true
|
||||||
|
},
|
||||||
|
rightAddHandle() {
|
||||||
|
this.passwordDialogShow = true
|
||||||
|
this.passwordDialogTitle = '新增'
|
||||||
|
this.billTypeADDName = ''
|
||||||
|
this.billTypeADDID = ''
|
||||||
|
},
|
||||||
|
async passwordChangeHandle() {
|
||||||
|
if (!this.billTypeADDName) {
|
||||||
|
this.$vmNews('请输入单据类型名称')
|
||||||
|
return
|
||||||
|
}
|
||||||
|
let params = {
|
||||||
|
'moduleName': this.billTypeADDName
|
||||||
|
}
|
||||||
|
if (this.passwordDialogTitle === '编辑') {
|
||||||
|
params.id = this.billTypeADDID
|
||||||
|
const res = await businessModuleUpdateAPI(params)
|
||||||
|
if (res.status == 200) {
|
||||||
|
this.$vmNews('保存成功', 'success')
|
||||||
|
this.passwordDialogShow = false
|
||||||
|
this.getLeftList()
|
||||||
|
}
|
||||||
|
return
|
||||||
|
}
|
||||||
|
const res = await queryByIdAPI(params)
|
||||||
|
if (res.status == 200) {
|
||||||
|
this.$vmNews('保存成功', 'success')
|
||||||
|
this.passwordDialogShow = false
|
||||||
|
this.getLeftList()
|
||||||
|
}
|
||||||
|
},
|
||||||
|
async getSelect() {
|
||||||
|
const res = await GetBillListAPI({
|
||||||
|
page: 1,
|
||||||
|
limit: 9999
|
||||||
|
})
|
||||||
|
res.data[1].forEach(item => {
|
||||||
|
item.label = item.appName
|
||||||
|
item.value = item.appID
|
||||||
|
})
|
||||||
|
this.basicFormForm[0].elCol[2].options = res.data[1]
|
||||||
|
this.basicFormForm[0].elCol[6].options = res.data[1]
|
||||||
|
},
|
||||||
|
async getLeftList() {
|
||||||
|
this.openLoading()
|
||||||
|
const res = await queryAllAPI({})
|
||||||
|
res.attribute.forEach((el) => {
|
||||||
|
el.name = el.moduleName
|
||||||
|
el.id = el.id
|
||||||
|
})
|
||||||
|
this.billTypeList = res.attribute
|
||||||
|
},
|
||||||
|
onSelect(val, index, indexRow, obj, row, form) {
|
||||||
|
if (row.prop === 'sourceAppID') {
|
||||||
|
this.$set(this.$refs.basicFormRefsName.ruleForm, 'sourceAppCode', obj.appCode)
|
||||||
|
}
|
||||||
|
if (row.prop === 'targetAppID') {
|
||||||
|
this.$set(this.$refs.basicFormRefsName.ruleForm, 'targetAppCode', obj.appCode)
|
||||||
|
}
|
||||||
|
},
|
||||||
|
async handleConfirmClick() {
|
||||||
|
await this.$refs.basicFormRefsName.$refs.ruleForm.validate()
|
||||||
|
let form = this.$refs.basicFormRefsName.ruleForm
|
||||||
|
if (this.dialogTitle === '编辑') {
|
||||||
|
this.openLoading()
|
||||||
|
const res = await influenceFactorupdateAPI(
|
||||||
|
{
|
||||||
|
...this.$refs.basicFormRefsName.ruleForm
|
||||||
|
}
|
||||||
|
)
|
||||||
|
if (res.status == 200) {
|
||||||
|
this.$vmNews('保存成功', 'success')
|
||||||
|
this.examineOperateDialog = false
|
||||||
|
this.resetTable()
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
this.openLoading()
|
||||||
|
const res = await influenceFactorsaveAPI(
|
||||||
|
{
|
||||||
|
...this.$refs.basicFormRefsName.ruleForm
|
||||||
|
}
|
||||||
|
)
|
||||||
|
if (res.status == 200) {
|
||||||
|
this.$vmNews('保存成功', 'success')
|
||||||
|
this.examineOperateDialog = false
|
||||||
|
this.resetTable()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
},
|
||||||
|
pageChange(model) {
|
||||||
|
this.pageModel.page = model.page
|
||||||
|
this.pageModel.limit = model.limit
|
||||||
|
this.getTableData()
|
||||||
|
},
|
||||||
|
async getTableData() {
|
||||||
|
const res = await influenceFactorqueryAllAPI({
|
||||||
|
...this.searchObj,
|
||||||
|
aeConfModuleId: this.billTypeClickID
|
||||||
|
})
|
||||||
|
this.tableData = res.attribute
|
||||||
|
this.$nextTick(() => {
|
||||||
|
this.$refs.customtable.clearRadioIndex()
|
||||||
|
this.selected = []
|
||||||
|
})
|
||||||
|
},
|
||||||
|
resetTable() {
|
||||||
|
this.tableData = []
|
||||||
|
this.pageModel.page = 1
|
||||||
|
this.selected = []
|
||||||
|
this.getTableData()
|
||||||
|
},
|
||||||
|
// 点击某条数据
|
||||||
|
radioChange(val) {
|
||||||
|
this.selected = []
|
||||||
|
this.selected.push(val)
|
||||||
|
},
|
||||||
|
// 删除
|
||||||
|
delOperate() {
|
||||||
|
if (!this.selected.length) {
|
||||||
|
this.$vmNews('请至少选择一条数据')
|
||||||
|
return
|
||||||
|
}
|
||||||
|
this.$confirm('确认删除吗?', '提示', {
|
||||||
|
confirmButtonText: '确定',
|
||||||
|
cancelButtonText: '取消',
|
||||||
|
type: 'warning'
|
||||||
|
}).then(async() => {
|
||||||
|
const res = await deleteAPI({
|
||||||
|
id: this.selected[0].id
|
||||||
|
})
|
||||||
|
if (res.status == 200) {
|
||||||
|
this.$vmNews('删除成功', 'success')
|
||||||
|
this.resetTable()
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
|
// 编辑
|
||||||
|
editOperate() {
|
||||||
|
if (!this.selected.length) {
|
||||||
|
this.$vmNews('请至少选择一条数据')
|
||||||
|
return
|
||||||
|
}
|
||||||
|
this.dialogTitle = '编辑'
|
||||||
|
this.examineOperateDialog = true
|
||||||
|
this.$nextTick(() => {
|
||||||
|
this.$refs.basicFormRefsName.ruleForm = {
|
||||||
|
...this.selected[0]
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
|
copy(row) {
|
||||||
|
this.dialogTitle = '复制'
|
||||||
|
this.examineOperateDialog = true
|
||||||
|
this.$nextTick(() => {
|
||||||
|
this.$refs.basicFormRefsName.ruleForm = {
|
||||||
|
...row
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
|
//新增
|
||||||
|
Operate() {
|
||||||
|
if (!this.billTypeClickName) {
|
||||||
|
this.$vmNews('请选择业务模块')
|
||||||
|
return
|
||||||
|
}
|
||||||
|
this.dialogTitle = '新增'
|
||||||
|
this.examineOperateDialog = true
|
||||||
|
this.$nextTick(() => {
|
||||||
|
this.$set(this.$refs.basicFormRefsName.ruleForm, 'aeConfModuleName', this.billTypeClickName)
|
||||||
|
this.$set(this.$refs.basicFormRefsName.ruleForm, 'aeConfModuleId', this.billTypeClickID)
|
||||||
|
})
|
||||||
|
},
|
||||||
|
refresh() {
|
||||||
|
this.searchObj = {}
|
||||||
|
},
|
||||||
|
//获取按钮(头部)
|
||||||
|
async buttonPermissions() {
|
||||||
|
let arr = [
|
||||||
|
{
|
||||||
|
'id': '297c66371d484f5ea163c70b1c3944a7',
|
||||||
|
'create_user_id': '1',
|
||||||
|
'create_time': '2025-05-30 11:28:56',
|
||||||
|
'modify_time': '2025-05-30 11:28:56',
|
||||||
|
'modify_user_id': '1',
|
||||||
|
'org_id': '0',
|
||||||
|
'companyId': '0',
|
||||||
|
'sts': 'Y',
|
||||||
|
'start': null,
|
||||||
|
'limit': null,
|
||||||
|
'offset': null,
|
||||||
|
'sort': null,
|
||||||
|
'order': null,
|
||||||
|
'dir': null,
|
||||||
|
'rows': null,
|
||||||
|
'page': null,
|
||||||
|
'dialect_type': null,
|
||||||
|
'pageNum': null,
|
||||||
|
'pageSize': null,
|
||||||
|
'sorts': 1,
|
||||||
|
'dataSourceCode': 'master',
|
||||||
|
'code': '1',
|
||||||
|
'nameCh': '新增',
|
||||||
|
'nameEn': 'Operate',
|
||||||
|
'menuId': '936df6d1cd7e4f9ba4c972e0f84b5ab4',
|
||||||
|
'iconName': 'el-icon-plus',
|
||||||
|
'styles': 'primary',
|
||||||
|
'btnFunction': 'Operate',
|
||||||
|
'remark': null,
|
||||||
|
'userId': null,
|
||||||
|
'check': false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'id': 'ad708a5f65fb42d49e203a230096f43e',
|
||||||
|
'create_user_id': '1',
|
||||||
|
'create_time': '2025-05-30 11:29:22',
|
||||||
|
'modify_time': '2025-05-30 11:29:22',
|
||||||
|
'modify_user_id': '1',
|
||||||
|
'org_id': '0',
|
||||||
|
'companyId': '0',
|
||||||
|
'sts': 'Y',
|
||||||
|
'start': null,
|
||||||
|
'limit': null,
|
||||||
|
'offset': null,
|
||||||
|
'sort': null,
|
||||||
|
'order': null,
|
||||||
|
'dir': null,
|
||||||
|
'rows': null,
|
||||||
|
'page': null,
|
||||||
|
'dialect_type': null,
|
||||||
|
'pageNum': null,
|
||||||
|
'pageSize': null,
|
||||||
|
'sorts': 2,
|
||||||
|
'dataSourceCode': 'master',
|
||||||
|
'code': '2',
|
||||||
|
'nameCh': '编辑',
|
||||||
|
'nameEn': 'editOperate',
|
||||||
|
'menuId': '936df6d1cd7e4f9ba4c972e0f84b5ab4',
|
||||||
|
'iconName': 'el-icon-edit',
|
||||||
|
'styles': 'primary',
|
||||||
|
'btnFunction': 'editOperate',
|
||||||
|
'remark': null,
|
||||||
|
'userId': null,
|
||||||
|
'check': false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'id': 'cca6382b141e4816833581db63c768da',
|
||||||
|
'create_user_id': '1',
|
||||||
|
'create_time': '2025-05-30 11:29:39',
|
||||||
|
'modify_time': '2025-05-30 11:29:39',
|
||||||
|
'modify_user_id': '1',
|
||||||
|
'org_id': '0',
|
||||||
|
'companyId': '0',
|
||||||
|
'sts': 'Y',
|
||||||
|
'start': null,
|
||||||
|
'limit': null,
|
||||||
|
'offset': null,
|
||||||
|
'sort': null,
|
||||||
|
'order': null,
|
||||||
|
'dir': null,
|
||||||
|
'rows': null,
|
||||||
|
'page': null,
|
||||||
|
'dialect_type': null,
|
||||||
|
'pageNum': null,
|
||||||
|
'pageSize': null,
|
||||||
|
'sorts': 3,
|
||||||
|
'dataSourceCode': 'master',
|
||||||
|
'code': '3',
|
||||||
|
'nameCh': '删除',
|
||||||
|
'nameEn': 'delOperate',
|
||||||
|
'menuId': '936df6d1cd7e4f9ba4c972e0f84b5ab4',
|
||||||
|
'iconName': 'el-icon-delete',
|
||||||
|
'styles': 'danger',
|
||||||
|
'btnFunction': 'delOperate',
|
||||||
|
'remark': null,
|
||||||
|
'userId': null,
|
||||||
|
'check': false
|
||||||
|
}
|
||||||
|
]
|
||||||
|
arr.forEach((el) => {
|
||||||
|
el.menuName = el.nameCh
|
||||||
|
el.icon = el.icoName
|
||||||
|
el.type = el.style
|
||||||
|
el.name = el.nameCN
|
||||||
|
})
|
||||||
|
this.nowBtns = arr
|
||||||
|
},
|
||||||
|
billTypeClickHandle(id, name) {
|
||||||
|
this.billTypeClickID = id
|
||||||
|
this.billTypeClickName = name
|
||||||
|
this.resetTable()
|
||||||
|
},
|
||||||
|
//头部按钮统一调用方法
|
||||||
|
clickSave(item) {
|
||||||
|
this[item.btnFunction]()
|
||||||
|
}
|
||||||
|
},
|
||||||
|
mounted() {
|
||||||
|
this.buttonPermissions()
|
||||||
|
this.getLeftList()
|
||||||
|
// this.getTableData()
|
||||||
|
// this.getSelect()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
|
||||||
|
<style scoped lang="scss">
|
||||||
|
.addDialog {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
|
||||||
|
.nameTitle {
|
||||||
|
padding: 10px;
|
||||||
|
font-size: 14px;
|
||||||
|
color: #333;
|
||||||
|
margin-right: 10px;
|
||||||
|
width: 180px;
|
||||||
|
text-align: right;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.recordContrast {
|
||||||
|
display: flex;
|
||||||
|
overflow: hidden;
|
||||||
|
background-color: #f5f5f5;
|
||||||
|
|
||||||
|
.left {
|
||||||
|
width: 270px;
|
||||||
|
padding: 10px;
|
||||||
|
background-color: #fff;
|
||||||
|
border-radius: 4px;
|
||||||
|
margin-right: 5px;
|
||||||
|
|
||||||
|
.leftTitle {
|
||||||
|
color: #333;
|
||||||
|
font-size: 18px;
|
||||||
|
font-weight: 500;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.right {
|
||||||
|
flex: 1;
|
||||||
|
padding: 10px;
|
||||||
|
background-color: #fff;
|
||||||
|
border-radius: 4px;
|
||||||
|
|
||||||
|
.topBox {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: space-between;
|
||||||
|
|
||||||
|
.searchBox {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
|
||||||
|
> div {
|
||||||
|
margin-right: 10px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.table {
|
||||||
|
margin-top: 10px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.searchBtn {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: space-around;
|
||||||
|
margin-top: 20px;
|
||||||
|
|
||||||
|
.input {
|
||||||
|
flex: 1;
|
||||||
|
margin-right: 5px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.showList {
|
||||||
|
height: calc(100vh - 200px);
|
||||||
|
overflow: auto;
|
||||||
|
margin-top: 10px;
|
||||||
|
|
||||||
|
.showItem {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: space-between;
|
||||||
|
padding: 10px 20px;
|
||||||
|
cursor: pointer;
|
||||||
|
|
||||||
|
.icon {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
&:hover {
|
||||||
|
background-color: #ebeced;
|
||||||
|
border-radius: 4px;
|
||||||
|
|
||||||
|
.icon {
|
||||||
|
display: block !important;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
&.active {
|
||||||
|
background-color: #ebeced !important;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</style>
|
Loading…
Reference in New Issue