增加k3配置

This commit is contained in:
龙运模 2024-08-25 21:54:00 +08:00
parent dca3d7522c
commit 8c5bfc04f0
6 changed files with 267 additions and 11 deletions

View File

@ -33,5 +33,21 @@ export default {
return await http.post(this.url, data);
},
}
},
k3:{
set:{
url: `${config.API_URL}/k3.api.config.set`,
name: "金蝶ERP接口配置",
post: async function (data = {}) {
return await http.post(this.url, data);
},
},
get:{
url: `${config.API_URL}/k3.api.config.get`,
name: "金蝶ERP接口配置获取",
post: async function (data = {}) {
return await http.post(this.url, data);
},
}
},
};

View File

@ -0,0 +1,87 @@
<template>
<div class="flowView">
<div class="item" :class="{'noMarginRight':!item.right,'jtLeft':item.left}" v-for="(item,index) in list" :key="index">
<span class="seq">{{index+1}}</span>
<span class="name">{{item.name}}</span>
</div>
</div>
</template>
<script>
export default {
name: "flow",
props:{
list:{
type:Array
}
},
data(){
return{
}
},
mounted() {
},
methods:{
}
}
</script>
<style scoped lang="scss">
.flowView{
display: flex;
align-items: center;
justify-content: space-between;
overflow: hidden;
.item{
background: #F2F8FF;
width: 100%;
flex: 1;
margin: 0 30px 10px 0;
padding: 8px 10px;
display: flex;
align-items: center;
justify-content: center;
position: relative;
.seq{
width: 20px;height: 20px;
text-align: center;
line-height: 20px;
display: inline-block;
border-radius: 50%;
background: var(--el-color-primary);
color: var(--el-color-white);
margin-right: 20px;
}
}
.item:after{
content: "";
position: absolute;
top: 50%;
left: 100%;
transform: translateY(-50%);
border-style: solid;
border-width: 19px 0 19px 20px; /* 上下左右的边框宽度 */
border-color: transparent transparent transparent #F2F8FF; /* 上下右左的颜色 */
}
.jtLeft:before{
content: "";
position: absolute;
top: 50%;
left: 0;
transform: translateY(-50%);
border-style: solid;
border-width: 19px 0 19px 20px; /* 上下左右的边框宽度 */
border-color: transparent transparent transparent #fff; /* 上下右左的颜色 */
}
.noMarginRight{
margin-right: 0;
}
.noMarginRight:after{
border-width: 0;
}
}
</style>

View File

@ -3,18 +3,18 @@
<el-header>
<div class="left-panel">
<el-button type="primary" :size="size" icon="el-icon-plus" @click="add">新增工单</el-button>
<el-button type="success" :size="size" icon="sc-icon-OrderReview" :disabled="selection.length==0" @click="batch_review">批量审核</el-button>
<el-button type="primary" plain :size="size" :disabled="selection.length==0" @click="save_maintenance">提交维保</el-button>
<el-button type="primary" plain :size="size" :disabled="selection.length==0" @click="issued_maintenance">下发维保</el-button>
<el-button type="danger" plain :size="size" icon="el-icon-Delete" :disabled="selection.length==0" @click="batch_del"></el-button>
<scImport ref="scImport" :size="size" title="批量导入维保工单" @parentParams="importUpload" @importSuccess="importSuccess">
<template #header>
<el-button v-auth="'organizationImport'" type="primary" :size="size" plain @click="importFile">批量导入</el-button>
<el-button v-auth="'organizationImport'" type="primary" :size="size" plain @click="importFile" style="margin-right: 12px;">批量导入</el-button>
</template>
<template #download>
<div v-auth="'companyImportTemplate'" @click="importTemplate">下载导入模版</div>
</template>
</scImport>
<el-button type="success" :size="size" icon="sc-icon-OrderReview" :disabled="selection.length==0" @click="batch_review">批量审核</el-button>
<el-button type="primary" plain :size="size" :disabled="selection.length==0" @click="save_maintenance">提交维保</el-button>
<el-button type="primary" plain :size="size" :disabled="selection.length==0" @click="issued_maintenance">下发维保</el-button>
<el-button type="danger" plain :size="size" icon="el-icon-Delete" :disabled="selection.length==0" @click="batch_del"></el-button>
</div>
<div class="right-panel">
<scExport :size="size" @exportData="exportData" @updateShow="exportChangeShow" :show="exportShow" type="11">
@ -23,6 +23,9 @@
</div>
</el-header>
<el-main class="nopadding">
<div class="flowPath">
<flow :list="flowList"/>
</div>
<div class="searchMain searchMainNoTop">
<scSearch ref="scSearch" :searchList="searchList" @fetchSelectData="getSelectData"></scSearch>
@ -74,14 +77,20 @@
<script>
import {eventBus} from "@/utils/eventBus";
import flow from "./components/flow"
export default {
components: {
flow
},
data() {
return {
size:'small',
flowList:[
{name:'新建/导入/同步邮件',left:false,right:true},
{name:'提交维保',left:true,right:true},
{name:'审核',left:true,right:true},
{name:'下发维保',left:true,right:false},
],
dialog: {
save: false,
show: false,

View File

@ -42,6 +42,7 @@ export default {
upToEnterprise: defineAsyncComponent(() => import('./setup/computerRoom')),
bind: defineAsyncComponent(() => import('./setup/computerRoom')),
mail: defineAsyncComponent(() => import('./setup/mail')),
interface: defineAsyncComponent(() => import('./setup/interface')),
},
data() {
return {
@ -73,6 +74,11 @@ export default {
icon: "sc-icon-DataSource",
title: "数据源邮件设置",
component: "mail"
},
{
icon: "sc-icon-DataSource",
title: "K3接口配置",
component: "interface"
}
]
},

View File

@ -0,0 +1,126 @@
<template>
<el-container>
<el-main>
<div class="mailView">
<div class="headerBox">
<div class="title">K3接口配置</div>
<div class="item">
<span class="name">账号ID</span>
<el-input type="text" v-model="inter.account_id" :size="size" placeholder="账号ID"></el-input>
</div>
<div class="item">
<span class="name">账户名称</span>
<el-input type="text" v-model="inter.account_name" :size="size" placeholder="账户名称"></el-input>
</div>
<div class="item">
<span class="name">语言</span>
<el-input type="text" v-model="inter.language" :size="size" placeholder="语言"></el-input>
</div>
<div class="item">
<span class="name">接口地址</span>
<el-input type="text" v-model="inter.api_url" :size="size" placeholder="接口地址"></el-input>
</div>
<div class="item">
<span class="name">APP_ID</span>
<el-input type="text" v-model="inter.app_id" :size="size" placeholder="APP_ID"></el-input>
</div>
<div class="item">
<span class="name">APP_SECRET</span>
<el-input type="text" v-model="inter.app_secret" :size="size" placeholder="APP_SECRET"></el-input>
</div>
</div>
<div class="headerBox mailMain">
<div class="title">接口同步</div>
<div class="item">
<el-switch v-model="inter.active_status" :size="size"></el-switch>
</div>
</div>
<div class="btnView">
<el-button type="primary" :size="size" @click="save" :loading="loading">保存配置</el-button>
</div>
</div>
</el-main>
</el-container>
</template>
<script>
export default {
name: "interface",
data(){
return{
size:'small',
loading:false,
inter:{
active_status:false,
account_id:'',
account_name:'',
app_id:'',
app_secret:'',
language:'',
api_url:'',
}
}
},
mounted() {
this.getMail();
},
methods:{
async getMail() {
const res = await this.$API.setup.k3.get.post();
if(res.code == 200){
this.inter = res.data;
}
},
async save() {
this.loading = true;
const res = await this.$API.setup.k3.set.post(this.inter);
this.loading = false;
if (res.code == 200) {
this.$message.success('保存成功');
}
}
}
}
</script>
<style scoped lang="scss">
.mailView{
.headerBox{
.title{
font-weight: 500;
padding: 10px 0;
}
.item{
margin-bottom: 15px;
.name{
width: 90px;
display: inline-block;
text-align: left;
margin-right: 10px;
}
}
}
.mailMain{
border-top: 1px solid #e8e8e8;
padding: 5px 0;
display: flex;align-items: center;
.title{
font-weight: 500;
padding: 10px 0;
width: 100px;
}
.item{
margin-bottom: 0;
.name{
width: 100px;
display: inline-block;
text-align: left;
margin-right: 10px;
}
}
}
::v-deep .el-input{
width: 480px;
}
}
</style>

View File

@ -3,6 +3,13 @@
<el-main>
<div class="mailView">
<div class="headerBox">
<div class="title">自动维修邮件同步</div>
<div class="item">
<el-switch v-model="mail.active_status" :size="size"></el-switch>
</div>
</div>
<div class="mailMain">
<div class="title">获取数据源邮件地址</div>
<div class="item">
<span class="name">邮件别名</span>
<el-input type="text" v-model="mail.alias" :size="size" placeholder="邮件别名"></el-input>
@ -39,6 +46,7 @@ export default {
size:'small',
loading:false,
mail:{
active_status:false,
alias:'',
email:'',
client_id:'',
@ -71,12 +79,16 @@ export default {
<style scoped lang="scss">
.mailView{
.headerBox{
.title{
font-weight: 500;
padding: 10px 0;
}
.item{
margin-bottom: 15px;
.name{
width: 50px;
display: inline-block;
text-align: right;
text-align: left;
margin-right: 10px;
}
}
@ -93,13 +105,13 @@ export default {
.name{
width: 100px;
display: inline-block;
text-align: right;
text-align: left;
margin-right: 10px;
}
}
}
::v-deep .el-input{
width: 280px;
width: 480px;
}
}
</style>