middleground_code_v2/src/views/accountingSubject/index.vue

1197 lines
34 KiB
Vue
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<script src="../../api/apis/operationalModule.js"></script>
<template>
<div class="recordContrast">
<div class="right">
<div class="topBox">
<div class="searchBox">
公司
<el-select
class="w-100"
v-model="name"
filterable
:clearable="true"
placeholder="请选择"
@change="getTableData"
>
<el-option
v-for="(el, index) in nameOptions"
:key="el.value"
:label="el.label"
:value="el.value"
>
</el-option>
</el-select>
</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 - 570px)" :tableData="tableData" :tableColumn="tableColumn"
@radioChange="radioChange" id="printMe"
:border="true"
>
<template #operation="{row}">
<div style="display: flex;align-content: center;justify-content: center">
<div style="cursor: pointer;color: #3876ee;margin-right: 10px"
@click="comparisonEditHandle(row.row)"
>
对照表
</div>
<div style="cursor: pointer;color: #3876ee;margin-right: 0px" @click.stop="copyHanlde(row.row)">复制行
</div>
</div>
</template>
</base-table>
</div>
<div class="table2">
<base-table ref="customtable" :showIndex="true" :slotrow="false"
:tableData="masterTableData2" :tableColumn="masterTableColumn2"
:sortableSwitch="true"
id="printMe"
tableHeight="calc(100vh - 570px)"
:border="true"
>
</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="masterDialog"
:closeModal="false"
:footerShow="true"
title="基础档案对照表"
width="80%"
top="10vh"
@handleConfirmClick="masterPickDialog"
>
<div class="rightDialogClass_main" style="background-color: #fff;" v-if="masterDialog">
<div style="display: flex;justify-content: flex-end">
<el-button size="mini" type="primary" @click="addHandle" style="margin-bottom: 10px">新增</el-button>
</div>
<base-table ref="customtable" :showIndex="true" :slotrow="false"
:tableData="masterTableData" :tableColumn="masterTableColumn"
:sortableSwitch="true"
id="printMe"
tableHeight="calc(100vh - 570px)"
>
<template #factorname1="{row}">
<div style="background: #fff;cursor: pointer" class="elDialog" @click="elDialogOpen(1,row)">
<p :style="{ color: row['factorname1'] ? '#000' : '#c0c4cc' }" class="showText">
{{
row['factorname1'] ? row['factorname1'] :
'请点击选择'
}}
</p>
<i class="el-icon-more "
v-if="!row['factorname1']"
></i>
</div>
</template>
<template #factorname2="{row}">
<div style="background: #fff;cursor: pointer" class="elDialog" @click="elDialogOpen(2,row)">
<p :style="{ color: row['factorname2'] ? '#000' : '#c0c4cc' }" class="showText">
{{
row['factorname2'] ? row['factorname2'] :
'请点击选择'
}}
</p>
<i class="el-icon-more "
v-if="!row['factorname2']"
></i>
</div>
</template>
<template #factorname3="{row}">
<div style="background: #fff;cursor: pointer" class="elDialog" @click="elDialogOpen(3,row)">
<p :style="{ color: row['factorname3'] ? '#000' : '#c0c4cc' }" class="showText">
{{
row['factorname3'] ? row['factorname3'] :
'请点击选择'
}}
</p>
<i class="el-icon-more "
v-if="!row['factorname3']"
></i>
</div>
</template>
<template #factorname4="{row}">
<div style="background: #fff;cursor: pointer" class="elDialog" @click="elDialogOpen(4,row)">
<p :style="{ color: row['factorname4'] ? '#000' : '#c0c4cc' }" class="showText">
{{
row['factorname1'] ? row['factorname4'] :
'请点击选择'
}}
</p>
<i class="el-icon-more "
v-if="!row['factorname4']"
></i>
</div>
</template>
<template #factorname5="{row}">
<div style="background: #fff;cursor: pointer" class="elDialog" @click="elDialogOpen(5,row)">
<p :style="{ color: row['factorname5'] ? '#000' : '#c0c4cc' }" class="showText">
{{
row['factorname5'] ? row['factorname5'] :
'请点击选择'
}}
</p>
<i class="el-icon-more "
v-if="!row['factorname5']"
></i>
</div>
</template>
<template #factorname6="{row}">
<div style="background: #fff;cursor: pointer" class="elDialog" @click="elDialogOpen(6,row)">
<p :style="{ color: row['factorname6'] ? '#000' : '#c0c4cc' }" class="showText">
{{
row['factorname6'] ? row['factorname6'] :
'请点击选择'
}}
</p>
<i class="el-icon-more "
v-if="!row['factorname6']"
></i>
</div>
</template>
<template #factorname7="{row}">
<div style="background: #fff;cursor: pointer" class="elDialog" @click="elDialogOpen(7,row)">
<p :style="{ color: row['factorname7'] ? '#000' : '#c0c4cc' }" class="showText">
{{
row['factorname7'] ? row['factorname7'] :
'请点击选择'
}}
</p>
<i class="el-icon-more "
v-if="!row['factorname7']"
></i>
</div>
</template>
<template #factorname8="{row}">
<div style="background: #fff;cursor: pointer" class="elDialog" @click="elDialogOpen(8,row)">
<p :style="{ color: row['factorname8'] ? '#000' : '#c0c4cc' }" class="showText">
{{
row['factorname8'] ? row['factorname8'] :
'请点击选择'
}}
</p>
<i class="el-icon-more "
v-if="!row['factorname8']"
></i>
</div>
</template>
<template #factorname9="{row}">
<div style="background: #fff;cursor: pointer" class="elDialog" @click="elDialogOpen(9,row)">
<p :style="{ color: row['factorname9'] ? '#000' : '#c0c4cc' }" class="showText">
{{
row['factorname9'] ? row['factorname9'] :
'请点击选择'
}}
</p>
<i class="el-icon-more "
v-if="!row['factorname9']"
></i>
</div>
</template>
<template #desdocvalue="{row}">
<div style="background: #fff;cursor: pointer" class="elDialog" @click="elDialogOpenTree(9,row)">
<p :style="{ color: row['desdocvalue'] ? '#000' : '#c0c4cc' }" class="showText">
{{
row['desdocvalue'] ? row['desdocvalue'] :
'请点击选择'
}}
</p>
<i class="el-icon-more "
v-if="!row['desdocvalue']"
></i>
</div>
</template>
<template #operation="{row}">
<div style="display: flex;align-content: center;justify-content: center">
<div style="cursor: pointer;color: #3876ee;margin-right: 0px" @click.stop="copymasterHanlde(row)">复制行
</div>
<div style="cursor: pointer;color: red;margin-left: 10px"
@click.stop="delmasterHandle(row)"
>
删除行
</div>
</div>
</template>
</base-table>
</div>
</base-dialog>
<base-dialog
:dialogVisible.sync="addDialog"
:closeModal="false"
:footerShow="true"
:title="'选择'+ addTiTle"
width="80%"
top="10vh"
@handleConfirmClick="addPickDialog"
>
<div class="rightDialogClass_main" style="background-color: #fff;" v-if="addDialog">
<baseChoice ref="baseChoice" :tableData="addTableData" :tableColumn="addTableColumn" @onQuery="addonQuery" @getTableList="getAddTableData"
:showSearch="true" :placeholder="addTiTle+'搜索'"
></baseChoice>
</div>
</base-dialog>
<treePickDialog ref="treePickDialog" :nameClickRow="nameClickRow" @handleNodeClick="handleNodeClick"
></treePickDialog>
</div>
</template>
<script>
import treePickDialog from '@/views/accountingSubject/compoments/treePickDialog.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,
queryAllAPI,
queryByIdAPI,
queryMdmsByModuleIdAPI
} from '@/api/apis/operationalModule'
import { GetLoginUserButtonsAPI } from '@/api/apis/buttonList'
import {
queryBdinfoListAPI, queryDataByMapAPI, queryDataPagedByMapAPI,
queryOrgBookVOAPI, subjectContrastBDelete, subjectContrastdeleteAPI, subjectContrastqueryAll,
subjectContrastQueryAll,
subjectContrastSaveAPI, subjectContrastupdateAPI
} from '@/api/apis/accountingSubject'
export default {
name: 'recordContrast',
components: { baseDialog, baseChoice, basePage, baseTable, baseRightDialog, baseForm, treePickDialog },
data() {
return {
masterTableData2: [],
masterTableColumn2: [
{
label: '来源组织',
prop: 'glorgname'
},
{
label: '会计科目',
prop: 'desdocvalue'
}
],
nameClickRow: {},
clickMasterRow: {},
addTableData: [],
addTableColumn: [],
addDialog: false,
addTiTle: '',
clickNum: 0,
clickObj: {},
clickRow: {},
nameOptions: [],
name: '',
masterTableData: [],
masterTableColumn: [],
masterDialog: false,
basicFormForm: [
{
elCol: [
{
label: '账簿类型',
prop: 'accountBookTypeName',
tag: 'elSelect',
span: 24,
placeholder: '点击选择'
},
{
label: '编码',
prop: 'code',
tag: 'elInput',
span: 12
},
{
label: '名称',
prop: 'name',
tag: 'elInput',
span: 12
},
{
label: '来源档案',
prop: 'sourceIdsArr',
tag: 'elMultiple',
span: 24,
options: [],
limit: 9
},
{
label: '目标档案',
prop: 'desdocName',
tag: 'elInput',
span: 24,
disabled: true,
options: []
}
]
}
],
basicFormRulers: {
accountBookTypeId: [
{ required: true, message: '请选择账簿类型', trigger: 'change' }
],
code: [
{ required: true, message: '请输入编码', trigger: 'blur' }
],
name: [
{ 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: 10 //每页显示多少
},
selected: [],
tableColumn: [
{
label: '账簿类型',
prop: 'accountBookTypeName'
},
{
label: '编码',
prop: 'code'
},
{
label: '名称',
prop: 'name'
},
{
label: '来源档案',
prop: 'sourceNames'
},
{
label: '目标档案类型',
prop: 'desdocName'
},
{
label: '操作',
prop: 'operation'
}
],
tableData: [],
dialogTitle: '新增',
examineOperateDialog: false,
statusView: false,
passwordDialogShow: false,
passwordDialogTitle: '新增',
billTypeADDName: '',
billTypeADDID: '',
bdInfoRow:{}
}
},
methods: {
async getTableAddList(val){
let params = {
tablename:this.bdInfoRow.tablename,
prop7:this.bdInfoRow.codefieldname,
propValue7:val,
prop8:this.bdInfoRow.namefieldname,
propValue8:val,
}
let res = await queryDataByMapAPI(params)
this.addTableData = []
this.addTableData = res.attribute.list
},
handleNodeClick(node) {
console.log(node, '?')
this.$set(this.clickRow, `pkAccsubj`, node[0].pkAccsubj)
this.$set(this.clickRow, `desdocvalue`, node[0].dispname)
},
elDialogOpenTree(num, row) {
this.clickNum = num
this.clickObj = this.masterTableColumn[num - 1]
this.clickRow = row
this.$refs.treePickDialog.openDialog()
},
delmasterHandle(row) {
this.$confirm('确认删除吗?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(async() => {
const res = await subjectContrastBDelete({
id: row.id
})
this.$vmNews('删除成功', 'success')
this.masterTableData.splice(row.index, 1)
this.getTableData()
})
},
copymasterHanlde(row) {
this.masterTableData.push(JSON.parse(JSON.stringify(row)))
},
addonQuery(res, pageModel) {
this.pageModel = pageModel
this.getAddTableData()
},
addPickDialog() {
if (!this.$refs.baseChoice.optionData[this.clickObj.key]) {
this.$vmNews('请选择一条数据')
return
}
this.$set(this.clickRow, `factorid${this.clickNum}`, this.$refs.baseChoice.optionData[this.clickObj.key])
this.$set(this.clickRow, `factorname${this.clickNum}`, this.$refs.baseChoice.optionData[this.clickObj.labelKey])
this.$set(this.clickRow, `factorpk${this.clickNum}`, this.$refs.baseChoice.optionData['id'])
console.log(this.clickRow, 'this.clickRow')
this.addDialog = false
},
elDialogOpen(num, row) {
this.clickNum = num
this.clickObj = this.masterTableColumn[num]
this.clickRow = row
this.pageModel.page = 1
this.pageModel.limit = 10
this.addTiTle = this.clickObj.label
this.addTableData = []
this.addTableColumn = [
{
label: '名称',
prop: this.clickObj.labelKey
},
{
label: '编码',
prop: this.clickObj.key
}
]
this.addDialog = true
this.getAddTableData()
},
async getAddTableData(val = false) {
let params = {
pageNum: this.pageModel.page,
pageSize: this.pageModel.limit,
tablename: this.clickObj.factortable,
pkentityorg: this.nameClickRow.pkentityorg,
}
if(val){
this.pageModel.page = 1
params.tablename=this.bdInfoRow.tablename
params.prop7=this.bdInfoRow.codefieldname
params.propValue7=val
params.prop8=this.bdInfoRow.namefieldname
params.propValue8=val
}
const res = await queryDataPagedByMapAPI(params)
console.log(res, 'res??')
this.$refs.baseChoice.pageModel.total = res.attribute.total
this.addTableData = res.attribute.list
},
addHandle() {
let obj = {
glorgname: this.nameClickRow.glorgname,
pkentityorg: this.nameClickRow.pkentityorg
}
this.masterTableColumn.forEach((item, index) => {
let num = index
obj['factortable' + num] = item.factortable
obj['factorpk' + num] = item.factorpk
obj['factorid' + num] = ''
obj['factorname' + num] = ''
})
this.masterTableData.push(obj)
},
async comparisonEditHandle(row) {
this.masterTableColumn = [
{
label: '来源组织',
prop: 'glorgname'
}
]
for (let i = 0; i < row.sourceIds.split(',').length; i++) {
let item = row.sourceNames.split(',')[i]
let id = row.sourceIds.split(',')[i]
let num = i + 1
this.openLoading()
const res = await queryBdinfoListAPI({
pkBdinfo: id
})
this.bdInfoRow = res.attribute[0]
//转大写
//value 编码
let key = res.attribute[0].codefieldname
//label 名称
let labelKey = res.attribute[0].namefieldname
let obj = {
label: item,
prop: 'factorname' + num,
tag: 'elSelect',
options: [],
factortable: res.attribute[0].tablename,
factorpk: res.attribute[0].tablepkname,
key: key,
labelKey: labelKey
}
this.masterTableData = JSON.parse(JSON.stringify(row.contrastBEntityList))
this.masterTableColumn.push(obj)
}
this.clickMasterRow = row
this.masterDialog = true
this.masterTableColumn.push(
{
label: '会计科目',
prop: 'desdocvalue'
}
)
this.masterTableColumn.push(
{
label: '操作',
prop: 'operation'
}
)
},
copyHanlde(row) {
this.dialogTitle = '复制'
this.examineOperateDialog = true
this.$nextTick(() => {
this.$refs.basicFormRefsName.ruleForm = {
...row,
sourceIdsArr: row.sourceIds.split(',')
}
})
},
async getNameOptions() {
const res = await queryOrgBookVOAPI({})
res.attribute.forEach(el => {
el.label = el.glorgname
el.value = el.pkentityorg
})
this.nameOptions = res.attribute
const res2 = await queryBdinfoListAPI({})
console.log(res2, '2')
res2.attribute.forEach(el => {
el.label = el.bdname
el.value = el.pkBdinfo
})
this.basicFormForm[0].elCol[3].options = res2.attribute
},
async masterPickDialog() {
const res = await subjectContrastupdateAPI(
{
...this.clickMasterRow,
contrastBEntityList: this.masterTableData
}
)
this.$vmNews('保存成功', 'success')
this.masterDialog = false
this.getTableData()
},
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 subjectContrastdeleteAPI({
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 subjectContrastupdateAPI(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, options, form, row) {
if (row.prop === 'accountBookTypeName') {
this.$set(this.$refs.basicFormRefsName.ruleForm, 'accountBookTypeCode', obj.accountBookTypeCode)
this.$set(this.$refs.basicFormRefsName.ruleForm, 'accountBookTypeName', obj.accountBookTypeName)
this.$set(this.$refs.basicFormRefsName.ruleForm, 'accountBookTypeId', obj.accountBookTypeId)
}
if (row.prop === 'sourceIdsArr') {
let sourceIds = []
let sourceNames = []
val.forEach(item=>{
options.forEach(el => {
if (item === el.value) {
sourceIds.push(el.value)
sourceNames.push(el.label)
}
})
})
this.$set(this.$refs.basicFormRefsName.ruleForm, 'sourceIds', sourceIds.join(','))
this.$set(this.$refs.basicFormRefsName.ruleForm, 'sourceNames', sourceNames.join(','))
}
},
async handleConfirmClick() {
await this.$refs.basicFormRefsName.$refs.ruleForm.validate()
let form = this.$refs.basicFormRefsName.ruleForm
if (this.dialogTitle === '编辑') {
this.openLoading()
const res = await subjectContrastupdateAPI(
{
...this.$refs.basicFormRefsName.ruleForm
}
)
if (res.status == 200) {
this.$vmNews('保存成功', 'success')
this.examineOperateDialog = false
this.resetTable()
}
} else {
this.openLoading()
const res = await subjectContrastSaveAPI(
{
desdocId: '',
desdocCode: '',
desdocName: '',
contrastBEntityList: [],
...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 subjectContrastqueryAll({
...this.searchObj,
pkCorp: this.name
})
this.tableData = res.attribute
this.$nextTick(() => {
this.$refs.customtable.clearRadioIndex()
this.selected = []
this.clickMasterRow = {}
})
this.nameClickRow = this.nameOptions.find(el => el.value == this.name)
console.log(this.nameClickRow, 'nameClickRow', this.nameOptions)
},
resetTable() {
this.tableData = []
this.pageModel.page = 1
this.selected = []
this.getTableData()
},
// 点击某条数据
async radioChange(row) {
console.log(123, '123123')
this.selected = []
this.selected.push(row)
this.masterTableData2 = row.contrastBEntityList
let arr = [
{
label: '来源组织',
prop: 'glorgname'
}
]
console.log(row.sourceIds)
for (let i = 0; i < row.sourceIds.split(',').length; i++) {
let item = row.sourceNames.split(',')[i]
let id = row.sourceIds.split(',')[i]
let num = i + 1
this.openLoading()
const res = await queryBdinfoListAPI({
pkBdinfo: id
})
//转大写
let key = res.attribute[0].codefieldname
let labelKey = res.attribute[0].namefieldname
let obj = {
label: item,
prop: 'factorname' + num,
tag: 'elSelect',
options: [],
factortable: res.attribute[0].tablename,
factorpk: res.attribute[0].tablepkname,
key: key,
labelKey: labelKey
}
arr.push(obj)
}
arr.push(
{
label: '会计科目',
prop: 'desdocvalue'
}
)
this.masterTableColumn2 = arr
},
// 删除
delOperate() {
if (!this.selected.length) {
this.$vmNews('请至少选择一条数据')
return
}
this.$confirm('确认删除吗?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(async() => {
const res = await subjectContrastdeleteAPI({
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],
sourceIdsArr: this.selected[0].sourceIds.split(',')
}
})
},
//新增
async Operate() {
if (!this.name) {
this.$vmNews('请选择公司')
return
}
const res = await queryOrgBookVOAPI({
pkentityorg: this.name
})
console.log(res, 'res?')
res.attribute.forEach(el => {
el.label = el.glbookname
el.value = el.glbookname
el.accountBookTypeCode = el.glbookcode
el.accountBookTypeId = el.pkglbook
el.accountBookTypeName = el.glbookname
})
this.basicFormForm[0].elCol[0].options = res.attribute
this.dialogTitle = '新增'
this.examineOperateDialog = true
this.$nextTick(() => {
this.$set(this.$refs.basicFormRefsName.ruleForm, 'pkCorp', res.attribute[0].pkentityorg)
this.$set(this.$refs.basicFormRefsName.ruleForm, 'desdocName', '会计科目')
})
},
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',
'style': '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.getNameOptions()
// 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;
}
}
}
.elDialog {
display: flex;
width: 100%;
/* width: calc(100% - 14px);1 */
align-items: center;
justify-content: space-between;
border: 1px solid #DCDFE6;
border-radius: 4px;
padding: 5px 15px;
cursor: pointer;
i {
color: #c0c4cc
}
}
.showText {
/* width: 100%; */
/* width: calc(100% - 110px); */
/*让长段文本不换行*/
white-space: nowrap;
/*设置文本超出元素宽度部分隐藏*/
overflow-x: hidden;
/*设置文本超出部分用省略号显示*/
text-overflow: ellipsis;
}
</style>