Compare commits

..

No commits in common. "huyt" and "zhangpc" have entirely different histories.

34 changed files with 535 additions and 3892 deletions

View File

@ -23,25 +23,3 @@ export function queryDetailsByBillCodeAPI(data) {
data, data,
}); });
} }
export function queryBillFiledsAPI(data) {
return request({
url: "/kangarooDataCenterV3/ae/push/log/queryBillFileds",
method: "post",
data,
});
}
export function queryBillPagedAPI(data) {
return request({
url: "/kangarooDataCenterV3/ae/push/log/queryBillPaged",
method: "post",
data,
});
}
export function queryDetailsByBillCodeAndMdmIdAPI(data) {
return request({
url: "/kangarooDataCenterV3/ae/push/log/queryDetailsByBillCodeAndMdmId",
method: "post",
data,
});
}

View File

@ -1,9 +1,8 @@
import request from "@/utils/request"; import request from "@/utils/request";
import baseTree from '@/components/base/BaseMenuTree/index.vue' import baseTree from '@/components/base/BaseMenuTree/index.vue'
import basePage from '@/components/base/basePage/index.vue'
export default { export default {
components: { basePage, baseTree } components: { baseTree }
} }
//业务模块 //业务模块

Binary file not shown.

Before

Width:  |  Height:  |  Size: 172 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 394 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 18 KiB

View File

@ -7,7 +7,7 @@
<el-form validate-on-rule-change :model="ruleForm" :rules="rules" label-position="top" ref="ruleForm" <el-form validate-on-rule-change :model="ruleForm" :rules="rules" label-position="top" ref="ruleForm"
label-width="100px" label-width="100px"
> >
<el-row :gutter="24" v-for="(item, index) in formRow" :key="index" :style="{marginBottom: isSence ?'0': '17px'}"> <el-row :gutter="24" v-for="(item, index) in formRow" :key="index" style="margin-bottom: 17px;">
<el-col v-for="(row, indexRow) in item.elCol" :span="row.span ? row.span : spanNumber" :key="indexRow"> <el-col v-for="(row, indexRow) in item.elCol" :span="row.span ? row.span : spanNumber" :key="indexRow">
<el-form-item :prop="row.prop" :style="`display: flex;margin-bottom: ${marginBottom}px;`" <el-form-item :prop="row.prop" :style="`display: flex;margin-bottom: ${marginBottom}px;`"
v-if="row.show != false" :class="(rules[row.prop] ? 'ruleFormClass ' : '')" v-if="row.show != false" :class="(rules[row.prop] ? 'ruleFormClass ' : '')"
@ -16,7 +16,7 @@
<div class="single label" v-if="row.label" slot="label" <div class="single label" v-if="row.label" slot="label"
:style="`width: ${spanWidth};` + `justify-content: ${justifyContent};`" flex :style="`width: ${spanWidth};` + `justify-content: ${justifyContent};`" flex
> >
<span class="label" :style="{color: isSence ? '#999':'#333',fontSize: isSence ? '14px':'13px'}">{{ row.label }}</span> <span class="label">{{ row.label }}</span>
</div> </div>
<el-input v-model="ruleForm[row.prop]" v-if="row.tag === 'password'" type="password" show-password clearable <el-input v-model="ruleForm[row.prop]" v-if="row.tag === 'password'" type="password" show-password clearable
auto-complete="off" placeholder="密码" @keyup.enter.native="handleLogin" auto-complete="off" placeholder="密码" @keyup.enter.native="handleLogin"
@ -204,10 +204,6 @@ export default {
type: Boolean, type: Boolean,
default: true default: true
}, },
isSence: {
type: Boolean,
default: false
},
formdata: { formdata: {
type: Object type: Object
}, },

View File

@ -35,14 +35,12 @@ export default {
sizeChange(val) { sizeChange(val) {
let pageModel = this.pageModel let pageModel = this.pageModel
pageModel.pageSize = val pageModel.pageSize = val
pageModel.limit = val
this.$emit('update:pageModel', pageModel) this.$emit('update:pageModel', pageModel)
this.$emit('onPageChange') this.$emit('onPageChange')
}, },
currentChange(val) { currentChange(val) {
let pageModel = this.pageModel let pageModel = this.pageModel
pageModel.pageIndex = val pageModel.pageIndex = val
pageModel.page = val
this.$emit('update:pageModel', pageModel) this.$emit('update:pageModel', pageModel)
this.$emit('onPageChange') this.$emit('onPageChange')
} }

View File

@ -47,11 +47,7 @@ export default {
return data[4]; return data[4];
}else if (url.includes("businessMatter")) { }else if (url.includes("businessMatter")) {
return data[5]; return data[5];
}else if (url.includes("accountantMatter")) { } else {
return data[6];
}
else {
return empty; return empty;
} }
} else { } else {

View File

@ -115,8 +115,7 @@ export default {
this.currentPath.includes("IntegrationTaskCenter") || this.currentPath.includes("IntegrationTaskCenter") ||
this.currentPath.includes("businessCenter") || this.currentPath.includes("businessCenter") ||
this.currentPath.includes("ApplicationCenter")|| this.currentPath.includes("ApplicationCenter")||
this.currentPath.includes("businessMatter") || this.currentPath.includes("businessMatter")
this.currentPath.includes("accountantMatter")
) { ) {
route.meta.affix = true; route.meta.affix = true;
@ -187,12 +186,6 @@ export default {
icon: "el-icon-postcard", icon: "el-icon-postcard",
show: false, show: false,
}, },
{
title: "财资事项平台",
path: "/accountantMatter",
icon: "el-icon-postcard",
show: false,
},
], ],
}; };
}, },
@ -205,8 +198,7 @@ export default {
url.includes("IntegrationTaskCenter") || url.includes("IntegrationTaskCenter") ||
url.includes("businessCenter") || url.includes("businessCenter") ||
url.includes("ApplicationCenter") || url.includes("ApplicationCenter") ||
url.includes("businessMatter") || url.includes("businessMatter")
url.includes("accountantMatter")
) { ) {
this.$store.dispatch("settings/changeSetting", { this.$store.dispatch("settings/changeSetting", {
key: "showTagsView", key: "showTagsView",
@ -285,8 +277,7 @@ export default {
item.path.includes("IntegrationTaskCenter") || item.path.includes("IntegrationTaskCenter") ||
item.path.includes("businessCenter") || item.path.includes("businessCenter") ||
item.path.includes("ApplicationCenter") || item.path.includes("ApplicationCenter") ||
item.path.includes("businessMatter") || item.path.includes("businessMatter")
item.path.includes("accountantMatter")
) { ) {
this.$store.dispatch("settings/changeSetting", { this.$store.dispatch("settings/changeSetting", {
key: "showTagsView", key: "showTagsView",

View File

@ -135,11 +135,7 @@ export default {
currentData = data[4] currentData = data[4]
} else if (url.includes('businessMatter')) { } else if (url.includes('businessMatter')) {
currentData = data[5] currentData = data[5]
} else if (url.includes('accountantMatter')) { } else {
currentData = data[6]
}
else {
currentData = [] currentData = []
} }
} else { } else {
@ -270,8 +266,6 @@ export default {
currentData = data[4] currentData = data[4]
} else if (url.includes('businessMatter')) { } else if (url.includes('businessMatter')) {
currentData = data[5] currentData = data[5]
}else if (url.includes('accountantMatter')) {
currentData = data[6]
} }
} }
if (this.isActive(view)) { if (this.isActive(view)) {
@ -296,8 +290,6 @@ export default {
INDEX = 4 INDEX = 4
} else if (url.includes('businessMatter')) { } else if (url.includes('businessMatter')) {
INDEX = 5 INDEX = 5
} else if (url.includes('accountantMatter')) {
INDEX = 6
} }
} }
@ -330,8 +322,6 @@ export default {
INDEX = 4 INDEX = 4
} else if (url.includes('businessMatter')) { } else if (url.includes('businessMatter')) {
INDEX = 5 INDEX = 5
}else if (url.includes('accountantMatter')) {
INDEX = 6
} }
} }
if (INDEX != null) { if (INDEX != null) {
@ -371,8 +361,6 @@ export default {
INDEX = 4 INDEX = 4
} else if (url.includes('businessMatter')) { } else if (url.includes('businessMatter')) {
INDEX = 5 INDEX = 5
} else if (url.includes('accountantMatter')) {
INDEX = 6
} }
} }
if (INDEX != null) { if (INDEX != null) {

View File

@ -172,15 +172,6 @@ export const constantRoutes = [{
title: '会计事项平台', title: '会计事项平台',
icon: 'dashboard' icon: 'dashboard'
} }
},
{
path: 'accountantMatter',
component: () => import('@/views/newVersionView/accountantMatter/index'),
name: 'accountantMatter',
meta: {
title: '财资事项平台',
icon: 'dashboard'
}
} }
] ]
}, },

View File

@ -7,7 +7,6 @@ const state = {
[], [],
[], [],
[], [],
[]
], ],
cachedViews: [ cachedViews: [
[], [],
@ -16,7 +15,6 @@ const state = {
[], [],
[], [],
[], [],
[]
], ],
iframeViews: [ iframeViews: [
[], [],
@ -24,7 +22,6 @@ const state = {
[], [],
[], [],
[], [],
[],
[] []
], ],
@ -49,8 +46,6 @@ const mutations = {
Index = 4 Index = 4
}else if (url.includes("businessMatter")) { }else if (url.includes("businessMatter")) {
Index = 5; Index = 5;
}else if (url.includes("accountantMatter")) {
Index = 6;
} }
} }
if (Index != null) { if (Index != null) {
@ -78,8 +73,6 @@ const mutations = {
Index = 4 Index = 4
}else if (url.includes("businessMatter")) { }else if (url.includes("businessMatter")) {
Index = 5; Index = 5;
}else if (url.includes("accountantMatter")) {
Index = 6;
} }
} }
if (Index != null) { if (Index != null) {
@ -116,8 +109,6 @@ const mutations = {
Index = 4 Index = 4
}else if (url.includes("businessMatter")) { }else if (url.includes("businessMatter")) {
Index = 5; Index = 5;
}else if (url.includes("accountantMatter")) {
Index = 6;
} }
} }
if (Index != null) { if (Index != null) {
@ -143,8 +134,6 @@ const mutations = {
Index = 4 Index = 4
}else if (url.includes("businessMatter")) { }else if (url.includes("businessMatter")) {
Index = 5; Index = 5;
}else if (url.includes("accountantMatter")) {
Index = 6;
} }
} }
if (Index != null) { if (Index != null) {
@ -173,8 +162,6 @@ const mutations = {
Index = 4 Index = 4
}else if (url.includes("businessMatter")) { }else if (url.includes("businessMatter")) {
Index = 5; Index = 5;
}else if (url.includes("accountantMatter")) {
Index = 6;
} }
} }
if (Index != null) { if (Index != null) {
@ -198,8 +185,6 @@ const mutations = {
Index = 4 Index = 4
}else if (url.includes("businessMatter")) { }else if (url.includes("businessMatter")) {
Index = 5; Index = 5;
}else if (url.includes("accountantMatter")) {
Index = 6;
} }
} }
if (Index != null) { if (Index != null) {
@ -224,8 +209,6 @@ const mutations = {
Index = 4 Index = 4
}else if (url.includes("businessMatter")) { }else if (url.includes("businessMatter")) {
Index = 5; Index = 5;
}else if (url.includes("accountantMatter")) {
Index = 6;
} }
} }
if (Index != null) { if (Index != null) {
@ -250,9 +233,7 @@ const mutations = {
} else if (url.includes("ApplicationCenter")) { } else if (url.includes("ApplicationCenter")) {
INDEX = 4 INDEX = 4
}else if (url.includes("businessMatter")) { }else if (url.includes("businessMatter")) {
INDEX = 5; Index = 5;
}else if (url.includes("accountantMatter")) {
INDEX = 6;
} }
} }
if (INDEX != null) { if (INDEX != null) {
@ -282,8 +263,6 @@ const mutations = {
INDEX = 4 INDEX = 4
}else if (url.includes("businessMatter")) { }else if (url.includes("businessMatter")) {
INDEX = 5; INDEX = 5;
}else if (url.includes("accountantMatter")) {
INDEX = 6;
} }
} }
if (INDEX != null) { if (INDEX != null) {
@ -308,8 +287,6 @@ const mutations = {
INDEX = 4 INDEX = 4
}else if (url.includes("businessMatter")) { }else if (url.includes("businessMatter")) {
INDEX = 5; INDEX = 5;
}else if (url.includes("accountantMatter")) {
INDEX = 6;
} }
} }
if (INDEX != null) { if (INDEX != null) {
@ -332,8 +309,6 @@ const mutations = {
INDEX = 4 INDEX = 4
}else if (url.includes("businessMatter")) { }else if (url.includes("businessMatter")) {
INDEX = 5; INDEX = 5;
}else if (url.includes("accountantMatter")) {
INDEX = 6;
} }
} }
if (INDEX != null) { if (INDEX != null) {
@ -356,8 +331,6 @@ const mutations = {
INDEX = 4 INDEX = 4
}else if (url.includes("businessMatter")) { }else if (url.includes("businessMatter")) {
INDEX = 5; INDEX = 5;
}else if (url.includes("accountantMatter")) {
INDEX = 6;
} }
} }
if (INDEX != null) { if (INDEX != null) {
@ -385,8 +358,6 @@ const mutations = {
INDEX = 4 INDEX = 4
}else if (url.includes("businessMatter")) { }else if (url.includes("businessMatter")) {
INDEX = 5; INDEX = 5;
}else if (url.includes("accountantMatter")) {
INDEX = 6;
} }
} }
if (INDEX != null) { if (INDEX != null) {
@ -427,8 +398,6 @@ const mutations = {
INDEX = 4 INDEX = 4
}else if (url.includes("businessMatter")) { }else if (url.includes("businessMatter")) {
INDEX = 5; INDEX = 5;
}else if (url.includes("accountantMatter")) {
INDEX = 6;
} }
} }
if (INDEX != null) { if (INDEX != null) {

View File

@ -19,9 +19,9 @@
</div> </div>
<div class="showList"> <div class="showList">
<div class="showItem" v-for="(item,index) in voucherList" :key="index" <div class="showItem" v-for="(item,index) in voucherList" :key="index"
:class="{active:item.id === voucherClickId}" @click="voucherCliclHandle(item.id,item.name,item.def1)" :class="{active:item.id === voucherClickId}" @click="voucherCliclHandle(item.id,item.name)"
> >
<div class="name">{{ item.name }}{{ item.def1 === 'Y' ? '①' : '' }}</div> <div class="name">{{ item.name }}</div>
<div class="icon"> <div class="icon">
<i class="el-icon-edit" @click.stop="voucherDialogEditHandle(item)" style="margin-right: 10px"></i> <i class="el-icon-edit" @click.stop="voucherDialogEditHandle(item)" style="margin-right: 10px"></i>
<i class="el-icon-delete" style="color: red" @click.stop="voucherDialogDelHandle(item)"></i> <i class="el-icon-delete" style="color: red" @click.stop="voucherDialogDelHandle(item)"></i>
@ -73,16 +73,16 @@
</div> </div>
<div style="margin-left: 10px;display: flex;align-items: center"> <div style="margin-left: 10px;display: flex;align-items: center">
凭证类别 凭证类别
<p v-if="!editFlag">{{ typeMerge == 'Y' ? '合并' : typeMerge == 'N' ? '拆分' : '' }}</p> <p v-if="!editFlag">{{typeMerge == 'Y'?'合并':typeMerge == 'N'?'拆分':''}}</p>
<el-switch <el-switch
v-else v-else
v-model="typeMerge" v-model="typeMerge"
active-value="Y" active-value="Y"
active-text="合并" active-text="合并"
inactive-text="拆分" inactive-text="拆分"
inactive-value="N" inactive-value="N"
> >
</el-switch> </el-switch>
</div> </div>
</div> </div>
<div style="display: flex;align-items: center;justify-content: flex-end;"> <div style="display: flex;align-items: center;justify-content: flex-end;">
@ -119,13 +119,6 @@
type="primary" type="primary"
>保存 >保存
</el-button> </el-button>
<el-button
size="small"
icon="el-icon-check"
@click="copyOperate"
type="primary"
>复制
</el-button>
<el-button <el-button
size="small" size="small"
icon="el-icon-delete" icon="el-icon-delete"
@ -425,28 +418,6 @@
{{ row.row.pkCashflow }} {{ row.row.pkCashflow }}
</div> </div>
</template> </template>
<template #def1="{row}">
<div v-if="editFlag">
<el-select
class="w-100"
v-model="row.row.def1"
filterable
:clearable="true"
placeholder="请选择"
>
<el-option
v-for="(el, index) in [{label:'是',value:'Y'},{label:'否',value:'N'}]"
:key="el.value"
:label="el.label"
:value="el.value"
>
</el-option>
</el-select>
</div>
<div v-else>
{{ row.row.def1 === 'Y' ? '是' : '否' }}
</div>
</template>
<!-- 备注--> <!-- 备注-->
<template #remark="{row}"> <template #remark="{row}">
<div v-if="editFlag"> <div v-if="editFlag">
@ -731,29 +702,6 @@
></baseChoice> ></baseChoice>
</div> </div>
</base-dialog> </base-dialog>
<!-- 20250704新增凭证-->
<base-dialog
:dialogVisible.sync="voucherDialogShow"
:closeModal="false"
:footerShow="true"
:title="passwordDialogTitle+'凭证类型'"
width="400px"
top="20vh"
@handleConfirmClick="voucherDialogClickHandle"
>
<div class="rightDialogClass_main"
style="background-color: #fff;display: flex;align-content: flex-start;justify-content: flex-start;flex-direction: column"
>
<div class="addDialog">
<div class="nameTitle">凭证类型名称</div>
<el-input v-model="billTypeADDName"></el-input>
</div>
<div class="addDialog" style="align-items: center;display: flex;margin-top: 10px;justify-content: flex-start">
<div class="nameTitle">单笔生成</div>
<el-switch v-model="def1" active-value="Y" inactive-value="N"></el-switch>
</div>
</div>
</base-dialog>
</div> </div>
</template> </template>
@ -807,7 +755,6 @@ export default {
// //
voucherClickId: '', voucherClickId: '',
voucherClickName: '', voucherClickName: '',
voucherClickdef1: '',
voucherDialogShow: false, voucherDialogShow: false,
voucherList: [], voucherList: [],
subClassOptions: [],// subClassOptions: [],//
@ -836,7 +783,6 @@ export default {
width: '100' width: '100'
} }
], ],
def1: 'N',
pkglbookOptions: [], pkglbookOptions: [],
treePropsproperty: { treePropsproperty: {
children: 'sublistMdmModuleDbFileds', children: 'sublistMdmModuleDbFileds',
@ -854,7 +800,7 @@ export default {
clickRowKey: '', clickRowKey: '',
activeTabs: '元数据属性', activeTabs: '元数据属性',
tabItem: ['元数据属性', '固定值'], tabItem: ['元数据属性', '固定值'],
arithmeticArr: ['+', '-', '*', '/', '->', '==', '(', ')', '<', '>', '<=', '>=', 'substr(,,)','if(*?:)'], arithmeticArr: ['+', '-', '*', '/', '->', '==', '(', ')', '<', '>', '<=', '>=', 'substr(,,)'],
//text //text
textarea: '', textarea: '',
textareaEn: '', textareaEn: '',
@ -1055,28 +1001,28 @@ export default {
], ],
exchangeRate: [ exchangeRate: [
{ required: true, message: '请输入汇率', trigger: 'change' } { required: true, message: '请输入汇率', trigger: 'change' }
],
jNumField: [
{ required: true, message: '请选择借方数量字段', trigger: 'change' }
],
jYbSumField: [
{ required: true, message: '请选择借方原币金额字段', trigger: 'change' }
],
jBbSumField: [
{ required: true, message: '请选择借方本币金额字段', trigger: 'change' }
],
dNumField: [
{ required: true, message: '请选择贷方数量字段', trigger: 'change' }
],
dYbSumField: [
{ required: true, message: '请选择贷方原币金额字段', trigger: 'change' }
],
dBbSumField: [
{ required: true, message: '请选择贷方本币金额字段', trigger: 'change' }
],
pkCashflow: [
{ required: true, message: '请选择现金流量项目主键', trigger: 'change' }
] ]
// jNumField: [
// { required: true, message: '', trigger: 'change' }
// ],
// jYbSumField: [
// { required: true, message: '', trigger: 'change' }
// ],
// jBbSumField: [
// { required: true, message: '', trigger: 'change' }
// ],
// dNumField: [
// { required: true, message: '', trigger: 'change' }
// ],
// dYbSumField: [
// { required: true, message: '', trigger: 'change' }
// ],
// dBbSumField: [
// { required: true, message: '', trigger: 'change' }
// ],
// pkCashflow: [
// { required: true, message: '', trigger: 'change' }
// ]
}, },
fixedValueForm: [ fixedValueForm: [
@ -1198,11 +1144,6 @@ export default {
prop: 'pkCashflow', prop: 'pkCashflow',
width: 150 width: 150
}, },
{
label: '是否计算科目余额',
prop: 'def1',
width: 150
},
{ {
label: '备注', label: '备注',
prop: 'remark', prop: 'remark',
@ -1241,7 +1182,7 @@ export default {
children: 'sublistMdmModuleDbFileds', children: 'sublistMdmModuleDbFileds',
label: 'name' label: 'name'
}, },
typeMerge: '' typeMerge:''
} }
}, },
methods: { methods: {
@ -1274,8 +1215,8 @@ export default {
this.getAddTableData() this.getAddTableData()
} }
}, },
getTableAddList(val) { getTableAddList(val){
console.log(val, 'val', this.fixedValueClickRow) console.log(val,'val',this.fixedValueClickRow)
this.pageModel.propValue7 = val this.pageModel.propValue7 = val
this.pageModel.propValue8 = val this.pageModel.propValue8 = val
this.pageModel.prop7 = this.fixedValueClickRow.codefieldname this.pageModel.prop7 = this.fixedValueClickRow.codefieldname
@ -1287,10 +1228,9 @@ export default {
this.$vmNews('请选择一条数据') this.$vmNews('请选择一条数据')
return return
} }
let obj = this.$refs.baseChoice2.optionData let obj =this.$refs.baseChoice2.optionData
this.$set(this.$refs.fixedValueFormRefsName.ruleForm, 'recordData', obj[this.fixedValueClickRow.namefieldname]) this.$set(this.$refs.fixedValueFormRefsName.ruleForm, 'recordData', obj[this.fixedValueClickRow.namefieldname])
console.log(this.fixedValueClickRow, 'this.fixedValueClickRow') this.textarea += `@@$${this.fixedValueClickRow.dbName}:${this.fixedValueClickRow.tablepkname}=${obj[this.fixedValueClickRow.tablepkname]}`
this.textarea += `@@$${this.fixedValueClickRow.dbName}:id=${obj.id}`
// this.$set(this.clickRow, `factorid${this.clickNum}`, this.$refs.baseChoice.optionData[this.clickObj.key]) // 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, `factorname${this.clickNum}`, this.$refs.baseChoice.optionData[this.clickObj.labelKey])
// this.$set(this.clickRow, `factorpk${this.clickNum}`, this.$refs.baseChoice.optionData['id']) // this.$set(this.clickRow, `factorpk${this.clickNum}`, this.$refs.baseChoice.optionData['id'])
@ -1340,10 +1280,9 @@ export default {
this.selected[0].assistEntityList.push({}) this.selected[0].assistEntityList.push({})
}, },
// //
voucherCliclHandle(id, name, def1) { voucherCliclHandle(id, name) {
this.voucherClickId = id this.voucherClickId = id
this.voucherClickName = name this.voucherClickName = name
this.voucherClickdef1 = def1
this.resetTable() this.resetTable()
}, },
voucherDialogDelHandle(item) { voucherDialogDelHandle(item) {
@ -1362,7 +1301,6 @@ export default {
voucherDialogEditHandle(item) { voucherDialogEditHandle(item) {
this.billTypeADDID = item.id this.billTypeADDID = item.id
this.billTypeADDName = item.name this.billTypeADDName = item.name
this.def1 = item.def1
this.voucherDialogShow = true this.voucherDialogShow = true
this.passwordDialogTitle = '编辑' this.passwordDialogTitle = '编辑'
}, },
@ -1385,8 +1323,7 @@ export default {
if (this.passwordDialogTitle === '新增') { if (this.passwordDialogTitle === '新增') {
const res = await typeSaveAPI({ const res = await typeSaveAPI({
name: this.billTypeADDName, name: this.billTypeADDName,
mdmId: this.billTypeClickID, mdmId: this.billTypeClickID
def1: this.def1
}) })
this.$vmNews('保存成功', 'success') this.$vmNews('保存成功', 'success')
this.getVoucherListHandle() this.getVoucherListHandle()
@ -1394,8 +1331,7 @@ export default {
const res = await typeUpdateAPI({ const res = await typeUpdateAPI({
id: this.billTypeADDID, id: this.billTypeADDID,
name: this.billTypeADDName, name: this.billTypeADDName,
mdmId: this.billTypeClickID, mdmId: this.billTypeClickID
def1: this.def1
}) })
this.$vmNews('保存成功', 'success') this.$vmNews('保存成功', 'success')
this.getVoucherListHandle() this.getVoucherListHandle()
@ -1406,7 +1342,6 @@ export default {
this.voucherDialogShow = true this.voucherDialogShow = true
this.passwordDialogTitle = '新增' this.passwordDialogTitle = '新增'
this.billTypeADDName = '' this.billTypeADDName = ''
this.def1 = 'N'
this.billTypeADDID = '' this.billTypeADDID = ''
}, },
// //
@ -1419,33 +1354,18 @@ export default {
} }
}) })
}) })
let tableData = this.tableData.map(el => { let tableData = this.tableData.map(el=>{
return { return{
...el, ...el,
typeMerge: this.typeMerge typeMerge:this.typeMerge
} }
}) })
console.log(this.tableData, 'this.tableData') console.log(this.tableData, 'this.tableData')
const res = await confTempSaveAPI(tableData) const res = await confTempSaveAPI(tableData)
this.$vmNews('保存成功', 'success') this.$vmNews('保存成功', 'success')
this.editFlag = false this.editFlag = false
this.getTableData() this.getTableData()
}, },
//
async copyOperate() {
if (!this.selected.length) {
this.$vmNews('请至少选择一条数据')
return
}
let copyTarget = JSON.parse(JSON.stringify(this.selected[0]))
console.log(copyTarget.assistEntityList, 'copyTarget')
//id
delete copyTarget.id
copyTarget.assistEntityList.forEach(item => {
delete item.id
})
this.tableData.push(copyTarget)
},
// //
closeOperate() { closeOperate() {
this.editFlag = false this.editFlag = false
@ -2064,7 +1984,7 @@ export default {
templateTypeId: this.voucherClickId//20250704 templateTypeId: this.voucherClickId//20250704
}) })
this.tableData = res.attribute this.tableData = res.attribute
this.typeMerge = this.tableData[0].typeMerge this.typeMerge = this.tableData[0].typeMerge
this.$nextTick(() => { this.$nextTick(() => {
this.$refs.customtable.clearRadioIndex() this.$refs.customtable.clearRadioIndex()
this.$refs.customtable.clearSelection() this.$refs.customtable.clearSelection()
@ -2199,7 +2119,7 @@ export default {
currencyFieArr: [], currencyFieArr: [],
assistEntityList: [], assistEntityList: [],
templateTypeId: this.voucherClickId, templateTypeId: this.voucherClickId,
typeMerge: this.typeMerge typeMerge:this.typeMerge
} }
this.tableData.push(obj) this.tableData.push(obj)
return return
@ -2303,7 +2223,7 @@ export default {
'nameEn': 'delOperate', 'nameEn': 'delOperate',
'menuId': '936df6d1cd7e4f9ba4c972e0f84b5ab4', 'menuId': '936df6d1cd7e4f9ba4c972e0f84b5ab4',
'iconName': 'el-icon-delete', 'iconName': 'el-icon-delete',
'style': 'danger', 'styles': 'danger',
'btnFunction': 'delOperate', 'btnFunction': 'delOperate',
'remark': null, 'remark': null,
'userId': null, 'userId': null,
@ -2404,7 +2324,7 @@ export default {
'nameEn': 'delOperateAssist', 'nameEn': 'delOperateAssist',
'menuId': '936df6d1cd7e4f9ba4c972e0f84b5ab4', 'menuId': '936df6d1cd7e4f9ba4c972e0f84b5ab4',
'iconName': 'el-icon-delete', 'iconName': 'el-icon-delete',
'style': 'danger', 'styles': 'danger',
'btnFunction': 'delOperate', 'btnFunction': 'delOperate',
'remark': null, 'remark': null,
'userId': null, 'userId': null,

View File

@ -1779,7 +1779,7 @@ export default {
'nameEn': 'delOperate', 'nameEn': 'delOperate',
'menuId': '936df6d1cd7e4f9ba4c972e0f84b5ab4', 'menuId': '936df6d1cd7e4f9ba4c972e0f84b5ab4',
'iconName': 'el-icon-delete', 'iconName': 'el-icon-delete',
'style': 'danger', 'styles': 'danger',
'btnFunction': 'delOperate', 'btnFunction': 'delOperate',
'remark': null, 'remark': null,
'userId': null, 'userId': null,
@ -1880,7 +1880,7 @@ export default {
'nameEn': 'delOperateAssist', 'nameEn': 'delOperateAssist',
'menuId': '936df6d1cd7e4f9ba4c972e0f84b5ab4', 'menuId': '936df6d1cd7e4f9ba4c972e0f84b5ab4',
'iconName': 'el-icon-delete', 'iconName': 'el-icon-delete',
'style': 'danger', 'styles': 'danger',
'btnFunction': 'delOperate', 'btnFunction': 'delOperate',
'remark': null, 'remark': null,
'userId': null, 'userId': null,

View File

@ -1567,7 +1567,7 @@ export default {
'nameEn': 'delOperate', 'nameEn': 'delOperate',
'menuId': '936df6d1cd7e4f9ba4c972e0f84b5ab4', 'menuId': '936df6d1cd7e4f9ba4c972e0f84b5ab4',
'iconName': 'el-icon-delete', 'iconName': 'el-icon-delete',
'style': 'danger', 'styles': 'danger',
'btnFunction': 'delOperate', 'btnFunction': 'delOperate',
'remark': null, 'remark': null,
'userId': null, 'userId': null,
@ -1668,7 +1668,7 @@ export default {
'nameEn': 'delOperateAssist', 'nameEn': 'delOperateAssist',
'menuId': '936df6d1cd7e4f9ba4c972e0f84b5ab4', 'menuId': '936df6d1cd7e4f9ba4c972e0f84b5ab4',
'iconName': 'el-icon-delete', 'iconName': 'el-icon-delete',
'style': 'danger', 'styles': 'danger',
'btnFunction': 'delOperate', 'btnFunction': 'delOperate',
'remark': null, 'remark': null,
'userId': null, 'userId': null,

View File

@ -1,415 +0,0 @@
<template>
<div class="editorItem">
<el-form-item>
<div class="editor-header" :style="indentStyle">
<span
v-if="row.children && row.children.length > 0"
class="toggle-btn"
@click="toggleCollapse"
>
<i
:class="
isCollapsed ? 'el-icon-caret-right' : 'el-icon-caret-bottom'
"
></i>
</span>
<span class="column-title"
>{{ row.column_name }}
<span style="font-size: 12px; margin-left: 5px; font-weight: bold">{{
row.column_comment
}}</span></span
>
</div>
<div class="editor-container" :style="indentStyle">
<div
class="content-editor"
:ref="'contentEditor' + row.column_name + rowIndex"
:contenteditable="!viewFlag"
@keydown="handleKeyDown($event, row.column_name, rowIndex)"
@input="handleInput($event, row.column_name, rowIndex)"
@click="handleEditorClick($event, row.column_name, rowIndex)"
@paste="handlePaste($event, row.column_name, rowIndex)"
@focus="handleEditorFocus($event, row.column_name, rowIndex)"
@blur="handleEditorBlur($event, row.column_name, rowIndex)"
></div>
<div
v-if="!viewFlag"
class="editorIcon"
@click.stop="handleAddNodeToEditor(row.column_name, rowIndex)"
>
<i class="el-icon-circle-plus"></i>
</div>
<div
v-if="!viewFlag"
class="clearIcon"
@click.stop="handleClearNodeToEditor(row.column_name, rowIndex)"
>
<i class="el-icon-circle-close"></i>
</div>
</div>
</el-form-item>
<!-- 子项只有在展开时才显示 -->
<EditorItem
v-if="!isCollapsed"
v-for="(child, index) in row.children"
:key="index"
:row="child"
:row-index="`${rowIndex}-${index}`"
v-bind="$attrs"
v-on="$listeners"
ref="childEditors"
ref-in-for
:viewFlag="viewFlag"
/>
</div>
</template>
<script>
export default {
name: "EditorItem",
props: {
row: Object,
rowIndex: [String, Number],
viewFlag: {
type: Boolean,
default: false,
},
},
data() {
return {
isCollapsed: false,
};
},
computed: {
indentLevel() {
return String(this.rowIndex).split("-").length - 1;
},
indentStyle() {
return {
paddingLeft: this.indentLevel * 20 + "px",
};
},
},
mounted() {
this.$nextTick(() => {
const refName = "contentEditor" + this.row.column_name + this.rowIndex;
const editor = this.$refs[refName];
// editor DOM undefined/
if (Array.isArray(editor)) {
if (editor.length > 0) {
this.$emit("register-editor", refName, editor[0]);
}
} else if (editor) {
this.$emit("register-editor", refName, editor);
}
});
},
methods: {
//
getEditorContent() {
// DOM
const refName = "contentEditor" + this.row.column_name + this.rowIndex;
const editor = this.$refs[refName];
//
let html_label = "";
let whereCondition = "";
if (editor) {
html_label = editor.innerHTML.trim();
editor.childNodes.forEach((node) => {
if (node.nodeType === Node.TEXT_NODE) {
whereCondition += node.textContent;
} else if (node.nodeType === Node.ELEMENT_NODE) {
whereCondition += node.getAttribute("data-token-text") || "";
}
});
//
whereCondition = whereCondition
.replace(//g, ",")
.replace(//g, "(")
.replace(//g, ")");
}
//
let children = [];
if (this.$refs.childEditors && this.$refs.childEditors.length > 0) {
children = this.$refs.childEditors.map((childComp) =>
childComp.getEditorContent()
);
}
return {
character_maximum_length: this.row.character_maximum_length,
column_comment: this.row.column_comment,
column_name: this.row.column_name,
data_type: this.row.data_type,
html_label: this.row.html_label,
is_nullable: this.row.is_nullable,
fieldName: this.row.column_name,
whereCondition,
html_label,
children,
};
},
toggleCollapse() {
this.isCollapsed = !this.isCollapsed;
},
//
handleKeyDown(e, columnName, rowIndex) {
this.$emit("handle-keydown", e, columnName, rowIndex);
},
handleInput(e, columnName, rowIndex) {
this.$emit("handle-input", e, columnName, rowIndex);
},
handleEditorClick(e, columnName, rowIndex) {
this.$emit("handle-editor-click", e, columnName, rowIndex);
},
handlePaste(e, columnName, rowIndex) {
this.$emit("handle-paste", e, columnName, rowIndex);
},
handleEditorFocus(e, columnName, rowIndex) {
this.$emit("handle-editor-focus", e, columnName, rowIndex);
},
handleEditorBlur(e, columnName, rowIndex) {
this.$emit("handle-editor-blur", e, columnName, rowIndex);
},
handleAddNodeToEditor(columnName, rowIndex) {
this.$emit("handle-add-node", columnName, rowIndex);
},
handleClearNodeToEditor(columnName, rowIndex) {
this.$emit("handle-clear-node", columnName, rowIndex);
},
},
components: {
EditorItem: () => import("./EditorItem.vue"),
},
};
</script>
<style lang="scss" scoped>
// ------------------------
.editor-container {
flex: 1;
overflow: hidden;
position: relative;
}
.editorIcon {
position: absolute;
right: 10px;
top: 0;
font-size: 20px;
color: #999999;
}
.clearIcon {
display: none;
position: absolute;
top: 0;
right: 35px;
font-size: 20px;
color: #999999;
}
.editor-container:hover .clearIcon {
display: block;
}
/* hover 时显示 close-icon */
.editor-container:hover .close-icon {
display: inline-flex; /* 或 block根据你的布局 */
}
.content-editor {
border: 1px solid #e5e7eb;
border-radius: 4px;
min-height: 40px;
padding: 0 50px 0 10px;
background: #fff;
position: relative;
font-size: 12px;
// line-height: 1.6;
overflow-y: auto;
outline: none;
word-wrap: break-word;
}
.content-editor:focus {
border-color: #409eff;
}
.content-editor:empty:before {
content: attr(data-placeholder);
color: #9ca3af;
font-style: italic;
pointer-events: none;
}
.content-editor:focus:empty:before {
content: "";
}
/* 确保空编辑器也能显示光标 */
.content-editor:empty {
min-height: 40px;
}
.content-editor:focus {
outline: none;
}
// --------------------------------
::v-deep .content-token {
display: unset !important;
padding: 3px 4px !important;
border-radius: 3px;
margin: 0 2px !important;
cursor: pointer;
transition: all 0.2s ease;
vertical-align: middle;
font-size: 12px;
font-weight: 500;
user-select: none;
}
::v-deep .token-function {
background: #ecfdf5;
color: #047857;
border: 1px solid #10b981;
}
::v-deep .repContainer {
width: 100%;
height: 100%;
background: #f5f5f5;
padding: 10px;
position: relative;
}
.treeNodeBox {
height: calc(100% - 50px);
overflow-y: auto;
}
.closeRepContainer {
position: absolute;
top: 20px;
right: 12px;
font-size: 14px;
cursor: pointer;
display: flex;
align-items: center;
i {
margin-right: 5px;
}
}
.closeRepContainer:hover {
color: #409eff;
}
.repItem {
display: flex;
align-items: center;
margin-bottom: 8px;
cursor: pointer;
}
.repItem:hover .repItemValue {
color: #409eff;
}
.repItemValue {
color: #6b7280;
font-size: 13px;
margin-left: 10px;
}
.token-editable-content {
display: inline-block;
min-width: 1em;
padding: 0 2px;
border-bottom: 1px dashed #aaa;
cursor: text;
outline: none;
}
::v-deep .content-token.token-edit {
display: inline-flex !important;
color: #5b21b6;
font-weight: bold;
padding: 0;
}
.Columnsbtn {
margin: 10px 0;
display: flex;
justify-content: flex-end;
}
.fixedChildTable {
height: calc(100vh - 360px);
overflow: auto;
}
.drawParent {
position: relative;
}
.TestResultDisplayArea {
width: 400px;
height: calc(100% - 10px);
position: absolute;
right: 10px;
top: 5px;
background-color: #fff;
box-sizing: border-box;
box-shadow: 0 0 8px #0000001a;
border-radius: 4px;
z-index: 100;
overflow: hidden;
}
.testResultBoxTitle {
display: flex;
padding: 15px 10px;
background: #333333;
font-size: 14px;
font-weight: bold;
color: #fff;
justify-content: space-between;
border-radius: 4px 4px 0 0;
.closeTextBox {
cursor: pointer;
}
}
.jsonTestResultBox {
height: calc(100% - 90px);
overflow: auto;
}
::v-deep .el-alert {
padding: 10px !important;
}
.editor-header {
display: flex;
align-items: center;
margin-bottom: 5px;
font-weight: 500;
}
.toggle-btn {
cursor: pointer;
margin-right: 8px;
color: #606266;
font-size: 14px;
}
.column-title {
font-size: 14px;
color: #333;
display: flex;
font-weight: bold;
}
</style>

View File

@ -12,16 +12,16 @@
title="新增账号" title="新增账号"
> >
<template #addButton> <template #addButton>
<el-button type="primary" v-if="!submitShow" @click="VerifyAccount">验证账号</el-button> <el-button type="primary" @click="VerifyAccount">验证账号</el-button>
</template> </template>
<div class="rightDialogClass_main" style="background: #fff; padding: 10px"> <div class="rightDialogClass_main" style="background: #fff; padding: 10px">
<base-form <base-form
style="padding-top: 0 !important" style="padding-top: 0 !important"
spanWidth="80px" spanWidth="80px"
ref="customForm" ref="customForm"
:formRow="currentForm" :formRow="accountFormRow"
:isFunBtn="false" :isFunBtn="false"
:rules="currentRules" :rules="accountRules"
alignAt="block" alignAt="block"
:span="24" :span="24"
> >
@ -62,8 +62,6 @@ export default {
data() { data() {
return { return {
dialogVisible: false, dialogVisible: false,
currentForm: [],
currentRules: {},
accountFormRow: [ accountFormRow: [
{ {
elCol: [ elCol: [
@ -190,160 +188,25 @@ export default {
}, },
], ],
}, },
accountOtherFormRow: [
{
elCol: [
{
label: "账号名称",
prop: "name",
tag: "elInput",
span: 24,
},
],
},
{
elCol: [
{
label: "ip地址",
prop: "ipAddress",
tag: "elInput",
span: 24,
},
],
},
{
elCol: [
{
label: "端口",
prop: "port",
tag: "elInput",
span: 24,
},
],
},
{
elCol: [
{
label: "应用Key",
prop: "appKey",
tag: "elInput",
span: 24,
},
],
},
{
elCol: [
{
label: "应用密钥",
prop: "appSecret",
tag: "elInput",
span: 24,
},
],
},
{
elCol: [
{
label: "企业ID",
prop: "corpid",
tag: "elInput",
span: 24,
},
],
},
{
elCol: [
{
label: "应用ID",
prop: "agentid",
tag: "elInput",
span: 24,
},
],
},
],
accountOtherRules: {
name: [
{
required: true,
message: "请输入",
trigger: "change, blur",
},
],
ipAddress: [
{
required: true,
message: "请输入",
trigger: "change, blur",
},
],
port: [
{
required: true,
message: "请输入",
trigger: "change, blur",
},
],
appKey: [
{
required: true,
message: "请输入",
trigger: "change, blur",
},
],
appSecret: [
{
required: true,
message: "请输入",
trigger: "change, blur",
},
],
corpid: [
{
required: true,
message: "请输入",
trigger: "change, blur",
},
],
agentid: [
{
required: true,
message: "请输入",
trigger: "change, blur",
},
],
},
appID: "", appID: "",
sceneID: "", sceneID: "",
stepID: "", stepID: "",
accountType: "", accountType: "",
submitShow: false, // submitShow: false, //
message: "", message: "",
appType: "",
}; };
}, },
methods: { methods: {
openDialog(appID, sceneID, stepID, appType) { openDialog(appID, sceneID, stepID) {
this.appType = appType; this.submitShow = false;
this.message = ""; this.message = "";
this.queryDictionaryList();
this.appID = appID; this.appID = appID;
this.sceneID = sceneID; this.sceneID = sceneID;
this.stepID = stepID; this.stepID = stepID;
this.submitShow = false; this.dialogVisible = true;
if (appType == "9") {
this.currentForm = this.accountFormRow;
this.currentRules = this.accountRules;
this.queryDictionaryList();
} else {
this.submitShow = true;
this.currentForm = this.accountOtherFormRow;
this.currentRules = this.accountOtherRules;
}
this.$nextTick(() => { this.$nextTick(() => {
this.dialogVisible = true; this.$refs.customForm?.resetFields("ruleForm");
this.$nextTick(() => {
this.$refs.customForm?.resetFields("ruleForm");
});
}); });
}, },
async queryDictionaryList() { async queryDictionaryList() {
@ -367,7 +230,6 @@ export default {
if (valid) { if (valid) {
let params = { let params = {
...this.$refs.customForm.ruleForm, ...this.$refs.customForm.ruleForm,
appType: this.appType,
}; };
this.verifyDataBase(params); this.verifyDataBase(params);
} else { } else {
@ -395,7 +257,6 @@ export default {
} }
}, },
handleConfirmClick() { handleConfirmClick() {
this.openLoading("保存")
this.$refs.customForm.$refs["ruleForm"].validate((valid) => { this.$refs.customForm.$refs["ruleForm"].validate((valid) => {
if (valid) { if (valid) {
let params = { let params = {
@ -404,7 +265,6 @@ export default {
status: 1, status: 1,
flowId: this.sceneID, flowId: this.sceneID,
stepId: this.stepID, stepId: this.stepID,
appType: this.appType,
}; };
this.SaveAccountData(params); this.SaveAccountData(params);
} else { } else {

File diff suppressed because it is too large Load Diff

View File

@ -170,8 +170,8 @@ export default {
params params
); );
if (res.status == "200") { if (res.status == "200") {
this.$refs.senceForm.choiceAssignment(res.attribute[0]); this.$refs.senceForm.choiceAssignment(res.data[0]);
this.triggerModeId = res.attribute[0].triggerMode; this.triggerModeId = res.data[0].triggerMode;
} }
}, },
choseType(row) { choseType(row) {

View File

@ -44,17 +44,23 @@
</div> </div>
</div> </div>
</base-dialog> </base-dialog>
<!-- <addDialogChunk
ref="addDialogChunk"
@examineHandleClose="examineHandleClose"
></addDialogChunk> -->
</div> </div>
</template> </template>
<script> <script>
import baseDialog from "@/components/base/BaseNewDialog/index.vue"; import baseDialog from "@/components/base/BaseNewDialog/index.vue";
// import addDialogChunk from "./addDialogChunk";
import { authApi } from "@/api/apis/auth"; import { authApi } from "@/api/apis/auth";
import baseForm from "@/components/base/baseNewForm"; import baseForm from "@/components/base/baseNewForm";
export default { export default {
components: { components: {
baseDialog, baseDialog,
baseForm, baseForm,
// addDialogChunk,
}, },
data() { data() {
return { return {
@ -69,7 +75,6 @@ export default {
options: [], options: [],
optionValue: "id", optionValue: "id",
optionLabel: "name", optionLabel: "name",
disabled:true
}, },
], ],
}, },
@ -164,8 +169,8 @@ export default {
params params
); );
if (res.status == "200") { if (res.status == "200") {
this.$refs.senceForm.choiceAssignment(res.attribute[0]); this.$refs.senceForm.choiceAssignment(res.data[0]);
this.triggerModeId = res.attribute[0].triggerMode; this.triggerModeId = res.data[0].triggerMode;
} }
}, },
handleConfirmClick() { handleConfirmClick() {

File diff suppressed because it is too large Load Diff

View File

@ -358,10 +358,6 @@
ref="addDialogChunk" ref="addDialogChunk"
@examineHandleClose="resetTable" @examineHandleClose="resetTable"
></addDialogChunk> ></addDialogChunk>
<viewDialogChunk
ref="viewDialogChunk"
@examineHandleClose="resetTable"
></viewDialogChunk>
</div> </div>
</template> </template>
@ -376,7 +372,6 @@ import addSence from "@/views/LinkUp/compoment/addSence.vue";
import projectClassificationRightDialog from "@/views/projectClassification/rightDialog.vue"; import projectClassificationRightDialog from "@/views/projectClassification/rightDialog.vue";
import authorizationDialog from "@/views/projectClassification/authorizationDialog.vue"; import authorizationDialog from "@/views/projectClassification/authorizationDialog.vue";
import addDialogChunk from "./compoment/addDialogChunk.vue"; import addDialogChunk from "./compoment/addDialogChunk.vue";
import viewDialogChunk from "./compoment/viewDialogChunk.vue";
export default { export default {
components: { components: {
baseLayout, baseLayout,
@ -386,7 +381,6 @@ export default {
projectClassificationRightDialog, projectClassificationRightDialog,
authorizationDialog, authorizationDialog,
addDialogChunk, addDialogChunk,
viewDialogChunk
}, },
data() { data() {
return { return {
@ -530,9 +524,17 @@ export default {
// //
getFuncBtn(btnEven) { getFuncBtn(btnEven) {
if (btnEven.menuName == "新增") { if (btnEven.menuName == "新增") {
// this.$refs.addDialogChunk.openDialog(
// "-4252471217359269890",
// "3-33003",
// "add",
// 3
// );
this.$refs.addSence.openDialog("", "add", this.projectClassificationID); this.$refs.addSence.openDialog("", "add", this.projectClassificationID);
} }
}, },
//hyt 2024/08/14
onFixedBtn(flag) { onFixedBtn(flag) {
this.$refs.layoutNew.pageClear(); this.$refs.layoutNew.pageClear();
this.pageModel.page = 1; this.pageModel.page = 1;

View File

@ -1025,7 +1025,7 @@ export default {
'nameEn': 'delOperate', 'nameEn': 'delOperate',
'menuId': '936df6d1cd7e4f9ba4c972e0f84b5ab4', 'menuId': '936df6d1cd7e4f9ba4c972e0f84b5ab4',
'iconName': 'el-icon-delete', 'iconName': 'el-icon-delete',
'style': 'danger', 'styles': 'danger',
'btnFunction': 'delOperate', 'btnFunction': 'delOperate',
'remark': null, 'remark': null,
'userId': null, 'userId': null,

View File

@ -1,9 +1,9 @@
<template> <template>
<div> <div>
<base-dialog :dialogVisible.sync="dialogVisible" :closeModal="false" :footerShow="true" :title="'查看分录信息'" <base-dialog :dialogVisible.sync="dialogVisible" :closeModal="false" :footerShow="true" :title="'查看分录信息'"
width="90%" top="10vh"> width="800px" top="15vh">
<div class="rightDialogClass_main" style="background-color: #fff;"> <div class="rightDialogClass_main" style="background-color: #fff;">
<base-table ref="assistTable" :showIndex="false" :slotrow="false" tableHeight="calc(75vh - 80px)" <base-table ref="assistTable" :showIndex="false" :slotrow="false" tableHeight="calc(60vh - 80px)"
:tableData="tableData" :tableColumn="tableColumn" id="printMe"> :tableData="tableData" :tableColumn="tableColumn" id="printMe">
</base-table> </base-table>

View File

@ -1,86 +0,0 @@
<template>
<div>
<base-dialog :dialogVisible.sync="dialogVisible" :closeModal="false" :footerShow="true" :title="'选择生成日期'"
width="300px" top="10vh"
@handleConfirmClick="handleConfirmClick"
>
<div class="rightDialogClass_main" style="background-color: #fff;">
<el-date-picker v-model="date" align="right" type="date" placeholder="选择日期"
value-format="yyyy-MM-dd"
>
</el-date-picker>
</div>
</base-dialog>
</div>
</template>
<script>
import baseDialog from '@/components/base/BaseNewDialog/index.vue'
import baseTable from '@/components/base/baseTable/index.vue'
import { queryDetailsByBillCodeAPI } from '@/api/apis/businessVoucher'
export default {
components: {
baseDialog,
baseTable
},
data() {
return {
date: '',
dialogVisible: false,
tableData: [],
tableColumn: [{
label: '摘要',
prop: 'abstractStr'
},
{
label: '会计科目',
prop: 'subjdispname'
},
{
label: '辅助核算',
prop: 'assist'
},
{
label: '币种编码',
prop: 'currencyCode'
},
{
label: '币种名称',
prop: 'currencyName'
},
{
label: '借方原币',
prop: 'jybSum'
},
{
label: '借方本币',
prop: 'jbbSum'
},
{
label: '贷方原币',
prop: 'dybSum'
},
{
label: '贷方本币',
prop: 'dbbSum'
}
]
}
},
methods: {
async openDialog() {
this.dialogVisible = true
this.date = ''
},
handleConfirmClick() {
this.$emit('pickDateHandle', this.date)
this.dialogVisible = false
}
}
}
</script>
<style>
</style>

View File

@ -1,31 +1,22 @@
<script src="../../api/apis/operationalModule.js"></script> <script src="../../api/apis/operationalModule.js"></script>
<template> <template>
<div class="recordContrast"> <div class="recordContrast">
<!-- <div class="left">--> <div class="left">
<!-- <div class="leftTitle" style="display: flex;align-items: center;justify-content: space-between">--> <div class="leftTitle" style="display: flex;align-items: center;justify-content: space-between">
<!-- <div>单据列表</div>--> <div>单据列表</div>
<!-- </div>--> </div>
<!-- <div class="showList">--> <div class="showList">
<!-- <base-tree ref="baseTree" :isCenter="false" :isSaveBtn="false" :Allshow="false" :showCheckbox="false"--> <base-tree ref="baseTree" :isCenter="false" :isSaveBtn="false" :Allshow="false" :showCheckbox="false"
<!-- :menuData="billTypeList" @handleNodeClick="billTypeClickHandle" :treeProps="treeProps"--> :menuData="billTypeList" @handleNodeClick="billTypeClickHandle" :treeProps="treeProps"
<!-- ></base-tree>--> ></base-tree>
<!-- </div>--> </div>
<!-- </div>--> </div>
<div class="right" v-loading="tableLoading"> <div class="right" v-loading="tableLoading">
<div class="topBox" style="margin-bottom: 10px"> <div class="topBox" style="margin-bottom: 10px">
<div class="searchBox"> <div class="searchBox">
<div style="margin-left: 5px;display: flex;align-items: center;">
<div style="width: 100px">单据列表</div>
<el-cascader
v-model="searchObjTable.billTypeClickID"
:options="billTypeList"
:props="treeProps"
@change="billTypeListChangeHandle"
></el-cascader>
</div>
<div style="margin-left: 5px;display: flex;align-items: center;"> <div style="margin-left: 5px;display: flex;align-items: center;">
<div style="width: 100px">单据号</div> <div style="width: 100px">单据号</div>
<el-input v-model="searchObjTable.bill_code" clearable></el-input> <el-input v-model="searchObjTable.billCode" clearable></el-input>
</div> </div>
<div style="margin-left: 5px;display: flex;align-items: center"> <div style="margin-left: 5px;display: flex;align-items: center">
<div>单据日期起</div> <div>单据日期起</div>
@ -54,10 +45,7 @@
</el-select> </el-select>
</div> </div>
<div> <div>
<el-button type="primary" size="small" @click="resetTable">查询</el-button> <el-button type="primary" size="small" @click="getTableData">查询</el-button>
</div>
<div>
<el-button type="primary" size="small" @click="coreDataOpenDialog">生成凭证</el-button>
</div> </div>
</div> </div>
<div style="display: flex;align-items: center;justify-content: flex-end;"> <div style="display: flex;align-items: center;justify-content: flex-end;">
@ -67,49 +55,45 @@
<div>分录信息</div> <div>分录信息</div>
</div> </div>
<div class="table"> <div class="table">
<base-table ref="customtable" :showIndex="false" :slotrow="true" :showSelect="true" <base-table ref="customtable" :showIndex="false" :slotrow="true"
tableHeight="calc(50vh - 100px)" :tableData="tableData" :tableColumn="tableColumn" tableHeight="calc(50vh - 100px)" :tableData="tableData" :tableColumn="tableColumn"
@radioChange="radioChange" id="printMe" @onSelectionChange="onSelectionChange" @radioChange="radioChange" id="printMe"
> >
<template #billStatus="{row}"> <template #billStatus="{row}">
<div>{{ row.billStatus === 'Y' ? '已生成' : '未生成' }}</div> <div>{{ row.row.billStatus === 'Y' ? '已生成' : '未生成' }}</div>
</template> </template>
<template #operation="{row}"> <template #operation="{row}">
<div @click="generateHandle(row)" style="cursor: pointer;color: #4876ed"> <div @click="generateHandle(row.row)" style="cursor: pointer">
{{ row.billStatus === 'Y' ? '查看' : '生成' }} {{row.row.billStatus === 'Y' ? '查看' : '生成'}}
</div> </div>
</template> </template>
</base-table> </base-table>
<base-page :pageModel.sync="pageModel" @onPageChange="pageChange"></base-page>
</div> </div>
<!-- 辅助核算--> <!-- 辅助核算-->
<template v-if="this.selected.length"> <template v-if="this.selected.length">
<div class="table"> <div class="table">
<base-table ref="assistTable" :showIndex="false" :slotrow="false" <base-table ref="assistTable" :showIndex="false" :slotrow="false"
tableHeight="calc(50vh - 150px)" :tableData="assistTableData" tableHeight="calc(50vh - 100px)" :tableData="assistTableData"
:tableColumn="assistTableColumn" :tableColumn="assistTableColumn"
id="printMe" id="printMe"
> >
<template #operate="{row}"> <template #operate="{row}">
<div @click="expandOperate(row)" style="cursor: pointer;color: #4876ed"> <div @click="expandOperate(row)" style="cursor: pointer">
查看凭证明细 查看凭证明细
</div> </div>
</template> </template>
</base-table> </base-table>
</div> </div>
</template> </template>
</div> </div>
<customFormDialog ref="customFormDialog"></customFormDialog> <customFormDialog ref="customFormDialog"></customFormDialog>
<assistTableDialog ref="assistTableDialog"></assistTableDialog> <assistTableDialog ref="assistTableDialog"></assistTableDialog>
<datePickDialog ref="datePickDialog" @pickDateHandle="coreData"></datePickDialog>
</div> </div>
</template> </template>
<script> <script>
import datePickDialog from '@/views/businessVoucher/compoments/datePickDialog.vue'
import baseTree from '@/components/base/BaseMenuTree/index.vue' import baseTree from '@/components/base/BaseMenuTree/index.vue'
import basePage from '@/components/base/basePage/index.vue' import basePage from '@/components/base/basePage/index.vue'
import baseChoice from '@/components/base/baseChoice/index.vue' import baseChoice from '@/components/base/baseChoice/index.vue'
@ -145,32 +129,14 @@ import {
tempupdateAPI, typeDeleteAPI, typeSaveAPI, typeUpdateAPI tempupdateAPI, typeDeleteAPI, typeSaveAPI, typeUpdateAPI
} from '@/api/apis/ItemEntryTemplate' } from '@/api/apis/ItemEntryTemplate'
import { subjectClassificationqueryAllAPI } from '@/api/apis/classifyDefinition' import { subjectClassificationqueryAllAPI } from '@/api/apis/classifyDefinition'
import { import { logqueryBillAPI,coreGenerateAPI,queryDetailsByBillCodeAPI } from '@/api/apis/businessVoucher'
logqueryBillAPI,
coreGenerateAPI,
queryDetailsByBillCodeAPI,
queryBillFiledsAPI, queryBillPageddsAPI, queryBillPagedAPI, queryDetailsByBillCodeAndMdmIdAPI
} from '@/api/apis/businessVoucher'
import customFormDialog from './compoments/customFormDialog' import customFormDialog from './compoments/customFormDialog'
import assistTableDialog from './compoments/assistTableDialog' import assistTableDialog from './compoments/assistTableDialog'
export default { export default {
name: 'recordContrast', name: 'recordContrast',
components: { components: { baseDialog, baseChoice, basePage, baseTable, baseRightDialog, baseForm, baseTree,customFormDialog,assistTableDialog },
baseDialog,
baseChoice,
basePage,
baseTable,
baseRightDialog,
baseForm,
baseTree,
customFormDialog,
assistTableDialog,
datePickDialog
},
data() { data() {
return { return {
checkBoxList: [],
searchObjTable: {}, searchObjTable: {},
addTableColumn2: [], addTableColumn2: [],
addTableData2: [], addTableData2: [],
@ -224,7 +190,7 @@ export default {
clickRowKey: '', clickRowKey: '',
activeTabs: '元数据属性', activeTabs: '元数据属性',
tabItem: ['元数据属性', '固定值'], tabItem: ['元数据属性', '固定值'],
arithmeticArr: ['+', '-', '*', '/', '->', '==', '(', ')', '<', '>', '<=', '>=', 'substr(,,)','if(*?:)'], arithmeticArr: ['+', '-', '*', '/', '->', '==', '(', ')', '<', '>', '<=', '>=', 'substr(,,)'],
//text //text
textarea: '', textarea: '',
textareaEn: '', textareaEn: '',
@ -239,54 +205,38 @@ export default {
{ {
label: '单据日期', label: '单据日期',
prop: 'billDate', prop: 'billDate',
width: 120 width: 120
}, },
{ {
label: '凭证类别', label: '凭证类别',
prop: 'voucherTypeName', prop: 'voucherTypeName',
width: 120 width: 120
}, },
{ {
label: '凭证号', label: '凭证号',
prop: 'voucherNo', prop: 'voucherNo',
width: 100 width: 100
}, },
{
label: '会计科目',
prop: 'subjdispname',
width: 100
},
{
label: '辅助核算',
prop: 'assist',
width: 100
},
{ {
label: '摘要', label: '摘要',
prop: 'abstractStr', prop: 'abstractStr',
width: 100 width: 160
}, },
{ {
label: '借方本币金额', label: '借方',
prop: 'jbbSum', prop: 'jYbSum',
width: 100 width: 120
}, },
{ {
label: '借方原币金额', label: '贷方',
prop: 'jybSum', prop: 'dYbSum',
width: 100 width: 120
}, },
{ {
label: '贷方本币金额', label: '操作',
prop: 'dbbSum', prop: 'operate',
width: 100 width: 160
}, },
{
label: '贷方原币金额',
prop: 'dybSum',
width: 100
},
], ],
billTypeClickCode: '', billTypeClickCode: '',
masterTableData: [], masterTableData: [],
@ -542,14 +492,17 @@ export default {
pageModel: { pageModel: {
page: 1, // page: 1, //
limit: 20, // limit: 20, //
total: 0 prop7: '',
propValue7: '',
prop8: '',
propValue8: ''
}, },
selected: [], selected: [],
treeSelect: [], treeSelect: [],
tableColumn: [ tableColumn: [
{ {
label: '单据号', label: '单据号',
prop: 'bill_code' prop: 'billCode'
}, },
{ {
label: '单据日期', label: '单据日期',
@ -560,17 +513,17 @@ export default {
label: '生成状态', label: '生成状态',
prop: 'billStatus', prop: 'billStatus',
width: 120 width: 120
},
{
label: '推送信息',
prop: 'pushInfo',
width: 250
},
{
label: '操作',
prop: 'operation',
width: '100'
} }
// {
// label: '',
// prop: 'pushInfo',
// width: 250
// },
// {
// label: '',
// prop: 'operation',
// width: '100'
// }
], ],
tableData: [], tableData: [],
tableLoading: false, tableLoading: false,
@ -598,8 +551,7 @@ export default {
billTreeActiveFather: {}, billTreeActiveFather: {},
treeProps: { treeProps: {
children: 'mdmModuleEntity', children: 'mdmModuleEntity',
label: 'name', label: 'name'
value: 'id'
}, },
billTreeProps: { billTreeProps: {
children: 'sublistMdmModuleDbFileds', children: 'sublistMdmModuleDbFileds',
@ -609,60 +561,66 @@ export default {
} }
}, },
methods: { methods: {
coreDataOpenDialog() {
if (this.checkBoxList.length === 0) {
this.$vmNews('请选择单据')
return
}
let flag = this.checkBoxList.some((item, index) => {
if (item.billStatus == 'Y') {
this.$vmNews('已生成的单据不能生成')
return true
}
})
if (flag) {
return
}
this.$refs.datePickDialog.openDialog()
},
billTypeListChangeHandle() {
if (this.searchObjTable.billTypeClickID) {
console.log(this.searchObjTable.billTypeClickID, '?')
this.billTypeClickID = this.searchObjTable.billTypeClickID[this.searchObjTable.billTypeClickID.length - 1]
}
},
onSelectionChange(val) {
this.checkBoxList = val
},
// //
async generateHandle(row) { async generateHandle(row) {
if (row.billStatus == 'Y') { if(row.billStatus == 'Y'){
this.$refs.customFormDialog.openDialog(row) this.$refs.customFormDialog.openDialog(row)
}else{
this.coreData(row)
}
},
async expandOperate(row){
this.$refs.assistTableDialog.openDialog(row)
// let res= await queryDetailsByBillCodeAPI({id:row.id})
// console.log(res)
},
async coreData(row){
let params = {
mdmId: this.billTypeClickID,
billCode:row.billCode
}
let res = await coreGenerateAPI(params)
if(res.status == '200'){
this.$vmNews('生成成功', 'success')
this.resetTable()
}
},
async ixedValueFormelDialogClick(row) {
if (row.label === '参照') {
this.fixedValuelDialogClick(false)
} else { } else {
this.coreData(row) if (!this.fixedValueClickRow.namefieldname) {
this.$vmNews('请选择参照值')
return
}
this.addTableColumn2 = [
{
label: '名称',
prop: this.fixedValueClickRow.namefieldname
},
{
label: '编码',
prop: this.fixedValueClickRow.codefieldname
}
]
this.addDialog = true
this.addTiTle = this.fixedValueClickRow.dbName
this.pageModel.propValue7 = ''
this.pageModel.propValue8 = ''
this.pageModel.prop7 = ''
this.pageModel.prop8 = ''
this.getAddTableData()
} }
}, },
async expandOperate(row) { getTableAddList(val) {
this.$refs.assistTableDialog.openDialog(row) // console.log(val, 'val', this.fixedValueClickRow)
// let res= await queryDetailsByBillCodeAPI({id:row.id}) this.pageModel.propValue7 = val
// console.log(res) this.pageModel.propValue8 = val
}, this.pageModel.prop7 = this.fixedValueClickRow.codefieldname
async coreData(date) { this.pageModel.prop8 = this.fixedValueClickRow.namefieldname
let arr = [] this.getAddTableData()
this.checkBoxList.forEach(item => {
arr.push(item.bill_code)
})
let params = {
mdmId: this.billTypeClickID,
bill_code: arr.join(','),
targetDate: date
}
this.openLoading()
let res = await coreGenerateAPI(params)
if (res.status == '200') {
this.$vmNews('生成成功', 'success')
this.resetTable()
}
}, },
addPickDialog() { addPickDialog() {
if (!this.$refs.baseChoice2.optionData[this.fixedValueClickRow.namefieldname]) { if (!this.$refs.baseChoice2.optionData[this.fixedValueClickRow.namefieldname]) {
@ -678,6 +636,21 @@ export default {
// console.log(this.clickRow, 'this.clickRow') // console.log(this.clickRow, 'this.clickRow')
this.addDialog = false this.addDialog = false
}, },
async getAddTableData() {
const res = await queryDataPagedByMapAPI({
...this.pageModel,
pageNum: this.pageModel.page,
pageSize: this.pageModel.limit,
tablename: this.fixedValueClickRow.tablename,
pkentityorg: this.pkglbookClickObj.pkentityorg
})
this.$refs.baseChoice2.pageModel.total = res.attribute.total
this.addTableData2 = res.attribute.list
},
addonQuery(res, pageModel) {
this.pageModel = pageModel
this.getAddTableData()
},
// //
transitionRowHandle(item) { transitionRowHandle(item) {
let obj = item let obj = item
@ -1387,43 +1360,23 @@ export default {
}, },
pageChange(model) { pageChange(model) {
console.log(model, 'model') this.pageModel.page = model.page
// this.pageModel.page = model.page this.pageModel.limit = model.limit
// this.pageModel.limit = model.limit
this.getTableData() this.getTableData()
}, },
async getTableData() { async getTableData() {
this.assistTableData = [] this.assistTableData = []
if (!this.billTypeClickID) return if (!this.billTypeClickID) return
const res2 = await queryBillFiledsAPI({ const res = await logqueryBillAPI({
...this.searchObjTable,
mdmId: this.billTypeClickID mdmId: this.billTypeClickID
}) })
this.tableColumn = [] this.tableData = res.attribute
res2.attribute.listList.forEach(item => {
item.label = item.chName
item['prop'] = item.enName
item.ruleList.forEach(ele => {
item[ele.ruleCode] = ele.ruleValue
})
})
this.tableColumn = res2.attribute.listList
console.log(this.tableColumn, 'this.tableColumn')
const res = await queryBillPagedAPI({
...this.searchObjTable,
mdmId: this.billTypeClickID,
pageNum: this.pageModel.page,
pageSize: this.pageModel.limit
})
console.log(res, '?')
this.tableData = res.attribute.list
this.pageModel.total = res.attribute.total
this.$nextTick(() => { this.$nextTick(() => {
this.$refs.customtable.clearRadioIndex() this.$refs.customtable.clearRadioIndex()
this.$refs.customtable.clearSelect() // this.$refs.customtable.clearSelection()
this.selected = [] this.selected = []
this.checkBoxList = []
}) })
}, },
resetTable() { resetTable() {
this.tableData = [] this.tableData = []
@ -1432,20 +1385,10 @@ export default {
this.getTableData() this.getTableData()
}, },
// //
async radioChange(val) { radioChange(val) {
console.log(val, '?')
this.openLoading()
const res = await queryDetailsByBillCodeAndMdmIdAPI({
mdmId: this.billTypeClickID,
bill_code: val.bill_code
})
this.$set(val, 'logList', res.attribute)
// console.log(res, '?')
this.selected = [] this.selected = []
this.selected.push(val) this.selected.push(val)
console.log(val.logList, '?val.assistEntityList') console.log(val.logList, '?val.assistEntityList')
let row = { let row = {
props: { props: {
children: 'sublistMdmModuleDbFileds', children: 'sublistMdmModuleDbFileds',
@ -1666,7 +1609,7 @@ export default {
'nameEn': 'delOperate', 'nameEn': 'delOperate',
'menuId': '936df6d1cd7e4f9ba4c972e0f84b5ab4', 'menuId': '936df6d1cd7e4f9ba4c972e0f84b5ab4',
'iconName': 'el-icon-delete', 'iconName': 'el-icon-delete',
'style': 'danger', 'styles': 'danger',
'btnFunction': 'delOperate', 'btnFunction': 'delOperate',
'remark': null, 'remark': null,
'userId': null, 'userId': null,
@ -1767,7 +1710,7 @@ export default {
'nameEn': 'delOperateAssist', 'nameEn': 'delOperateAssist',
'menuId': '936df6d1cd7e4f9ba4c972e0f84b5ab4', 'menuId': '936df6d1cd7e4f9ba4c972e0f84b5ab4',
'iconName': 'el-icon-delete', 'iconName': 'el-icon-delete',
'style': 'danger', 'styles': 'danger',
'btnFunction': 'delOperate', 'btnFunction': 'delOperate',
'remark': null, 'remark': null,
'userId': null, 'userId': null,
@ -1830,10 +1773,6 @@ export default {
<style scoped lang="scss"> <style scoped lang="scss">
::v-deep .el-table__body-wrapper {
height: 100% !important;
}
.tabs { .tabs {
width: 200px; width: 200px;
display: flex; display: flex;
@ -1950,8 +1889,7 @@ export default {
margin-right: 5px; margin-right: 5px;
display: flex; display: flex;
align-items: center; align-items: center;
>div{
> div {
width: 140px; width: 140px;
text-align: right; text-align: right;
} }

View File

@ -987,7 +987,7 @@ export default {
'nameEn': 'delOperate', 'nameEn': 'delOperate',
'menuId': '936df6d1cd7e4f9ba4c972e0f84b5ab4', 'menuId': '936df6d1cd7e4f9ba4c972e0f84b5ab4',
'iconName': 'el-icon-delete', 'iconName': 'el-icon-delete',
'style': 'danger', 'styles': 'danger',
'btnFunction': 'delOperate', 'btnFunction': 'delOperate',
'remark': null, 'remark': null,
'userId': null, 'userId': null,

View File

@ -387,7 +387,6 @@ export default {
}) })
}) })
this.tableColumn = res.attribute.listList this.tableColumn = res.attribute.listList
console.log(this.tableColumn,'this.tableColumn')
this.initTableData(this.mainTableName) this.initTableData(this.mainTableName)
this.mainLoading = false this.mainLoading = false
}, },

View File

@ -3,80 +3,63 @@
<div class="loginBg"> <div class="loginBg">
<main> <main>
<div class="left"> <div class="left">
<img src="../assets/images/login1.png" alt="" /> <img src="../assets/images/login-page.png" alt="" />
</div> </div>
<div class="right"> <div class="right">
<div <div class="title">您好!欢迎来到 用安数智中台</div>
style=" <div class="login">
width: 60%; <el-form
display: flex; :hide-required-asterisk="true"
align-items: center; label-position="top"
justify-content: center; ref="loginFormNew"
flex-direction: column; :model="loginForm"
" :rules="loginRulesNew"
> class="login-form"
<div class="imgBox"> >
<img src="../assets/images/left1.png" alt="" /> <el-form-item prop="login_name" label="手机号/用户名">
<img <el-input
src="../assets/images/right1.png" v-model="loginForm.login_name"
style="border-left: 1px solid #eee; width: 200px;" type="text"
alt="" auto-complete="off"
/> placeholder="请输入账号"
</div> >
<div class="login"> </el-input>
<el-form </el-form-item>
:hide-required-asterisk="true" <el-form-item prop="password" label="密码">
label-position="top" <el-input
ref="loginFormNew" v-model="loginForm.password"
:model="loginForm" @keyup.enter.native="handleLogin"
:rules="loginRulesNew" show-password
class="login-form" type="password"
> auto-complete="off"
<el-form-item prop="login_name" label="手机号/用户名"> placeholder="请输入密码"
<el-input >
v-model="loginForm.login_name" </el-input>
type="text" </el-form-item>
auto-complete="off" <el-checkbox
placeholder="请输入账号" v-model="loginForm.rememberMe"
> style="margin: 0px 0px 25px 0px"
</el-input>
</el-form-item>
<el-form-item prop="password" label="密码">
<el-input
v-model="loginForm.password"
@keyup.enter.native="handleLogin"
show-password
type="password"
auto-complete="off"
placeholder="请输入密码"
>
</el-input>
</el-form-item>
<el-checkbox
v-model="loginForm.rememberMe"
style="margin: 0px 0px 25px 0px"
>记住密码</el-checkbox >记住密码</el-checkbox
> >
<el-checkbox <el-checkbox
v-model="loginForm.automaticLogin" v-model="loginForm.automaticLogin"
style="margin: 0px 0px 25px 20px" style="margin: 0px 0px 25px 20px"
>自动登录</el-checkbox >自动登录</el-checkbox
>
<!-- <a class="forgetPwd">忘记密码</a> -->
<el-form-item style="width: 100%">
<el-button
:loading="loading"
size="medium"
type="primary"
style="width: 100%"
@click.native.prevent="handleLogin"
> >
<!-- <a class="forgetPwd">忘记密码</a> --> <span v-if="!loading"> </span>
<el-form-item style="width: 100%"> <span v-else> 中...</span>
<el-button </el-button>
:loading="loading" </el-form-item>
size="medium" </el-form>
type="primary"
style="width: 100%"
@click.native.prevent="handleLogin"
>
<span v-if="!loading"> </span>
<span v-else> 中...</span>
</el-button>
</el-form-item>
</el-form>
</div>
</div> </div>
</div> </div>
</main> </main>
@ -276,6 +259,7 @@ export default {
this.$store this.$store
.dispatch("Login", this.loginForm) .dispatch("Login", this.loginForm)
.then(() => { .then(() => {
console.log(123,'123')
this.loading = false; this.loading = false;
this.$router this.$router
.push({ .push({
@ -334,7 +318,7 @@ export default {
<style lang="scss" scoped> <style lang="scss" scoped>
.loginBg { .loginBg {
background: linear-gradient(to bottom right, #519af6, #84d3e5); background: url("../assets/images/login.png") no-repeat;
width: 100vw; width: 100vw;
height: 100vh; height: 100vh;
main { main {
@ -351,30 +335,28 @@ export default {
border-radius: 3vw; border-radius: 3vw;
margin: auto; margin: auto;
> .left { > .left {
width: 55%; width: 38vw;
background-size: cover; height: 56vh;
background-position: center center; min-height: 450px;
margin: 7vh 6.8vw 0 4.2vw;
> img { > img {
width: 100%; width: 100%;
height: 100%; height: 100%;
} }
} }
> .right { > .right {
width: 45%; margin-top: 158px;
display: flex; > .title {
align-items: center; width: 228px;
justify-content: center; height: 9vh;
.imgBox { font-size: 36px;
display: flex; font-family: PingFangSC-Medium, PingFang SC;
margin-bottom: 10px; font-weight: 500;
color: #1478f6;
img { line-height: 50px;
width: 160px;
height: 100px;
}
} }
> .login { > .login {
// width: 60%; margin-top: 6vh;
} }
} }
} }

View File

@ -1,172 +0,0 @@
/**
desc 业务中心
*/
<template>
<div class="workbench">
<h3 class="workbench-title">全部应用</h3>
<el-tabs>
<el-tab-pane
v-for="(item, index) in routeData"
:key="index"
:label="item.meta ? item.meta.title : ''"
v-if="item.meta"
>
<div class="menuContainer">
<div
v-for="(list, listIndex) in item.children"
class="menuBox"
@click="goRoute(item, list)"
v-if="!list.meta.hidden"
>
<img class="menuIcon" :src="list.meta.icon" v-if="list.meta.icon" />
<img class="menuIcon" src="../logo1.png" v-else />
<p class="menuContent">{{ list.meta.title }}</p>
</div>
</div>
</el-tab-pane>
</el-tabs>
</div>
</template>
<script>
import { TagsView } from "@/layout/components";
import request from "@/utils/request";
export default {
name: "ApplicationCenter",
components: {
TagsView,
},
created() {
this.$store.dispatch("settings/changeSetting", {
key: "showTagsView",
value: true,
});
},
data() {
return {
routeData: [], //
};
},
mounted() {
let routeList = localStorage.getItem("routeList")
? JSON.parse(localStorage.getItem("routeList"))
: [];
this.routeData = this.OrganizeMenus(routeList);
},
methods: {
goRoute(val, item) {
let routeData = this.$router.resolve({
path: item.path,
name: item.name,
query: { mdmCode: item.meta.mdmCode, viewType: item.meta.viewType },
});
window.open(routeData.href, "_self");
},
// icon
handlerIcon(item) {
let str = "";
if (item.includes("?")) {
str = item.split("?")[1];
} else {
str = item;
}
return str;
},
handlerIconColor(item) {
let color = "";
if (item.includes("?")) {
color = item.split("?")[0];
} else {
color = "#1478F6";
}
return color;
},
//
OrganizeMenus(data) {
let arrData = [];
//
let arrID = ["688293d5d76e432487f7516bf969a822"];
arrID.forEach((a) => {
data.forEach((b) => {
if (a === b.id) {
arrData.push(b);
}
});
});
arrData.forEach((bItem) => {
if (bItem.children && bItem.children.length > 0) {
bItem.children.forEach((cItem) => {
if (cItem.meta.icon) {
this.getLogoUrl(cItem.meta.icon).then((res) => {
let imageUrl =
"data:image/png/jpg;base64," +
btoa(
new Uint8Array(res).reduce(
(el, byte) => el + String.fromCharCode(byte),
""
)
);
this.$set(cItem.meta, "icon", imageUrl);
});
}
});
}
});
return arrData;
},
getLogoUrl(id) {
return request({
url:
"/kangarooDataCenterV3/entranceController/fileDownloadNew?id=" + id,
method: "get",
responseType: "arraybuffer",
}).then((res) => {
return res;
});
},
},
};
</script>
<style lang="scss" scoped>
.workbench {
background: #fff;
padding: 15px;
//margin: 0 10px;
}
.workbench-title {
margin: 15px 0;
}
.menuContainer {
display: flex;
flex-wrap: wrap;
background-color: #fff;
}
.menuBox {
display: flex;
align-items: center;
background: #fafafa;
padding: 10px 15px;
border-radius: 10px;
width: 200px;
margin: 10px;
cursor: pointer;
}
.menuIcon {
width: 36px;
height: 36px;
line-height: 36px;
border-radius: 12px;
margin-right: 10px;
}
.menuContent {
font-size: 14px;
color: #333333;
}
</style>

View File

@ -551,7 +551,7 @@ export default {
'nameEn': 'delOperate', 'nameEn': 'delOperate',
'menuId': '936df6d1cd7e4f9ba4c972e0f84b5ab4', 'menuId': '936df6d1cd7e4f9ba4c972e0f84b5ab4',
'iconName': 'el-icon-delete', 'iconName': 'el-icon-delete',
'style': 'danger', 'styles': 'danger',
'btnFunction': 'delOperate', 'btnFunction': 'delOperate',
'remark': null, 'remark': null,
'userId': null, 'userId': null,

View File

@ -421,7 +421,7 @@ export default {
clickRowKey: '', clickRowKey: '',
activeTabs: '元数据属性', activeTabs: '元数据属性',
tabItem: ['元数据属性', '固定值'], tabItem: ['元数据属性', '固定值'],
arithmeticArr: ['+', '-', '*', '/', '->', '==', '(', ')', '<', '>', '<=', '>=', 'substr(,,)','if(*?:)'], arithmeticArr: ['+', '-', '*', '/', '->', '==', '(', ')', '<', '>', '<=', '>=', 'substr(,,)'],
fixedValueForm: [ fixedValueForm: [
{ {
elCol: [ elCol: [
@ -579,7 +579,7 @@ export default {
} }
let obj = this.$refs.baseChoice2.optionData let obj = this.$refs.baseChoice2.optionData
this.$set(this.$refs.fixedValueFormRefsName.ruleForm, 'recordData', obj[this.fixedValueClickRow.namefieldname]) this.$set(this.$refs.fixedValueFormRefsName.ruleForm, 'recordData', obj[this.fixedValueClickRow.namefieldname])
this.textarea += `@@$${this.fixedValueClickRow.dbName}:id=${obj.id}` this.textarea += `@@$${this.fixedValueClickRow.dbName}:${this.fixedValueClickRow.tablepkname}=${obj[this.fixedValueClickRow.tablepkname]}`
// this.$set(this.clickRow, `factorid${this.clickNum}`, this.$refs.baseChoice.optionData[this.clickObj.key]) // 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, `factorname${this.clickNum}`, this.$refs.baseChoice.optionData[this.clickObj.labelKey])
// this.$set(this.clickRow, `factorpk${this.clickNum}`, this.$refs.baseChoice.optionData['id']) // this.$set(this.clickRow, `factorpk${this.clickNum}`, this.$refs.baseChoice.optionData['id'])
@ -985,7 +985,7 @@ export default {
'nameEn': 'delOperate', 'nameEn': 'delOperate',
'menuId': '936df6d1cd7e4f9ba4c972e0f84b5ab4', 'menuId': '936df6d1cd7e4f9ba4c972e0f84b5ab4',
'iconName': 'el-icon-delete', 'iconName': 'el-icon-delete',
'style': 'danger', 'styles': 'danger',
'btnFunction': 'delOperate', 'btnFunction': 'delOperate',
'remark': null, 'remark': null,
'userId': null, 'userId': null,

View File

@ -595,7 +595,7 @@ export default {
'nameEn': 'delOperate', 'nameEn': 'delOperate',
'menuId': '936df6d1cd7e4f9ba4c972e0f84b5ab4', 'menuId': '936df6d1cd7e4f9ba4c972e0f84b5ab4',
'iconName': 'el-icon-delete', 'iconName': 'el-icon-delete',
'style': 'danger', 'styles': 'danger',
'btnFunction': 'delOperate', 'btnFunction': 'delOperate',
'remark': null, 'remark': null,
'userId': null, 'userId': null,

View File

@ -43,7 +43,6 @@ module.exports = {
// target: `http://127.0.0.1:9081/`, // target: `http://127.0.0.1:9081/`,
target: `http://192.168.2.189:10086`,//一凡 target: `http://192.168.2.189:10086`,//一凡
// target: `http://192.168.2.78:8080`, // target: `http://192.168.2.78:8080`,
// target: `http://b8bc6e8e.natappfree.cc`,
changeOrigin: true, changeOrigin: true,
pathRewrite: { pathRewrite: {
['^' + process.env.VUE_APP_BASE_API]: '' ['^' + process.env.VUE_APP_BASE_API]: ''