|
@@ -9,24 +9,12 @@
|
|
|
<template>
|
|
|
<div class="service-home">
|
|
|
<div class="wrap">
|
|
|
- <DataTable
|
|
|
- ref="serviceTable"
|
|
|
- tableHeight="680"
|
|
|
- :data-id="dataId"
|
|
|
- :rows="12"
|
|
|
- width="800px"
|
|
|
- label-width="110px"
|
|
|
- fixedWidth="280px"
|
|
|
- :min-height="70"
|
|
|
- :isStatus="true"
|
|
|
- :is-dialog="false"
|
|
|
- @handleAdd="showCreateDialog"
|
|
|
- @handleEdit="btnEditClickHandler"
|
|
|
- >
|
|
|
+ <DataTable ref="serviceTable" tableHeight="680" :data-id="dataId" :rows="12" width="800px" label-width="110px" fixedWidth="280px" :min-height="70" :isStatus="true" :is-dialog="false" @handleAdd="showCreateDialog" @handleEdit="btnEditClickHandler">
|
|
|
<template v-slot:header>
|
|
|
<div class="status flex-wrap">
|
|
|
<div class="manageTitle">服务管理</div>
|
|
|
<div class="status0"><span class="icon"></span>启动</div>
|
|
|
+ <div class="status2"><span class="icon"></span>异常</div>
|
|
|
<div class="status1"><span class="icon"></span>停止</div>
|
|
|
</div>
|
|
|
</template>
|
|
@@ -36,36 +24,16 @@
|
|
|
<div class="dialog-create">
|
|
|
<div class="title">新增服务</div>
|
|
|
<main class="content">
|
|
|
- <el-form
|
|
|
- ref="serviceForm"
|
|
|
- class="service-form"
|
|
|
- :model="serviceForm"
|
|
|
- :rules="serviceFormRules"
|
|
|
- label-position="right"
|
|
|
- label-width="82px"
|
|
|
- size="mini"
|
|
|
- >
|
|
|
+ <el-form ref="serviceForm" class="service-form" :model="serviceForm" :rules="serviceFormRules" label-position="right" label-width="82px" size="mini">
|
|
|
<el-row :gutter="36" type="flex">
|
|
|
<el-col :span="12">
|
|
|
<el-form-item label="服务名称" prop="serviceName">
|
|
|
- <el-input
|
|
|
- v-model="serviceForm.serviceName"
|
|
|
- placeholder="请输入服务名称"
|
|
|
- clearable
|
|
|
- />
|
|
|
+ <el-input v-model="serviceForm.serviceName" placeholder="请输入服务名称" clearable />
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :span="12">
|
|
|
- <el-form-item
|
|
|
- label="前序输出编号"
|
|
|
- label-width="114px"
|
|
|
- prop="serviceOutputID"
|
|
|
- >
|
|
|
- <el-input
|
|
|
- v-model="serviceForm.serviceOutputID"
|
|
|
- placeholder="请输入前序输出编号"
|
|
|
- clearable
|
|
|
- />
|
|
|
+ <el-form-item label="前序输出编号" label-width="114px" prop="serviceOutputID">
|
|
|
+ <el-input v-model="serviceForm.serviceOutputID" placeholder="请输入前序输出编号" clearable />
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :span="12">
|
|
@@ -90,52 +58,24 @@
|
|
|
<div class="flex">
|
|
|
<el-form-item label="数据来源" prop="dataSourceID">
|
|
|
<el-select v-model="serviceForm.dataSourceID" clearable>
|
|
|
- <el-option
|
|
|
- v-for="dataSource in dataSourceList"
|
|
|
- :key="dataSource.dataSourceID"
|
|
|
- :value="dataSource.dataSourceID"
|
|
|
- :label="dataSource.dataSourceName"
|
|
|
- />
|
|
|
+ <el-option v-for="dataSource in dataSourceList" :key="dataSource.dataSourceID" :value="dataSource.dataSourceID" :label="dataSource.dataSourceName" />
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
- <el-button
|
|
|
- style="height: 28px; line-height: 0px"
|
|
|
- size="small"
|
|
|
- @click="addService"
|
|
|
- type="primary"
|
|
|
- >新增</el-button
|
|
|
- >
|
|
|
+ <el-button style="height: 28px; line-height: 0px" size="small" @click="addService" type="primary">新增</el-button>
|
|
|
</div>
|
|
|
</el-col>
|
|
|
<el-col :span="12">
|
|
|
- <el-form-item
|
|
|
- label="生命周期ID键名"
|
|
|
- prop="lifeCycleCol"
|
|
|
- label-width="114px"
|
|
|
- >
|
|
|
- <el-input
|
|
|
- v-model="serviceForm.lifeCycleCol"
|
|
|
- placeholder="请输入生命周期ID键名"
|
|
|
- clearable
|
|
|
- />
|
|
|
+ <el-form-item label="生命周期ID键名" prop="lifeCycleCol" label-width="114px">
|
|
|
+ <el-input v-model="serviceForm.lifeCycleCol" placeholder="请输入生命周期ID键名" clearable />
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :span="12">
|
|
|
<el-form-item label="采集线程" prop="threads">
|
|
|
- <el-input
|
|
|
- v-model="serviceForm.threads"
|
|
|
- type="number"
|
|
|
- placeholder="请输入采集线程数"
|
|
|
- clearable
|
|
|
- />
|
|
|
+ <el-input v-model="serviceForm.threads" type="number" placeholder="请输入采集线程数" clearable />
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :span="12">
|
|
|
- <el-form-item
|
|
|
- label="数据类型"
|
|
|
- prop="datatype"
|
|
|
- label-width="114px"
|
|
|
- >
|
|
|
+ <el-form-item label="数据类型" prop="datatype" label-width="114px">
|
|
|
<el-select v-model="serviceForm.datatype" clearable>
|
|
|
<el-option label="JSON" :value="1" />
|
|
|
<el-option label="XML" :value="2" />
|
|
@@ -145,90 +85,41 @@
|
|
|
</el-col>
|
|
|
<el-col :span="24">
|
|
|
<el-form-item label="取值规则" prop="computingMethod">
|
|
|
- <el-input
|
|
|
- v-model="serviceForm.computingMethod"
|
|
|
- placeholder="请输入取值规则"
|
|
|
- type="textarea"
|
|
|
- :autosize="{ minRows: 4, maxRows: 4 }"
|
|
|
- resize="none"
|
|
|
- clearable
|
|
|
- />
|
|
|
+ <el-input v-model="serviceForm.computingMethod" placeholder="请输入取值规则" type="textarea" :autosize="{ minRows: 4, maxRows: 4 }" resize="none" clearable />
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :span="24">
|
|
|
<el-form-item label="检测规则" prop="validationExpression">
|
|
|
- <el-input
|
|
|
- v-model="serviceForm.validationExpression"
|
|
|
- placeholder="请输入检测规则"
|
|
|
- type="textarea"
|
|
|
- :autosize="{ minRows: 4, maxRows: 4 }"
|
|
|
- resize="none"
|
|
|
- clearable
|
|
|
- />
|
|
|
+ <el-input v-model="serviceForm.validationExpression" placeholder="请输入检测规则" type="textarea" :autosize="{ minRows: 4, maxRows: 4 }" resize="none" clearable />
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :span="8">
|
|
|
<el-form-item label="启动时间" prop="startTime">
|
|
|
- <el-date-picker
|
|
|
- v-model="serviceForm.startTime"
|
|
|
- type="datetime"
|
|
|
- format="yyyy-MM-dd HH:mm"
|
|
|
- value-format="yyyy-MM-dd HH:mm"
|
|
|
- placeholder="请选择启动时间"
|
|
|
- />
|
|
|
+ <el-date-picker v-model="serviceForm.startTime" type="datetime" format="yyyy-MM-dd HH:mm" value-format="yyyy-MM-dd HH:mm" placeholder="请选择启动时间" />
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :span="8">
|
|
|
<el-form-item label="停止时间" prop="stopTime">
|
|
|
- <el-date-picker
|
|
|
- v-model="serviceForm.stopTime"
|
|
|
- type="datetime"
|
|
|
- format="yyyy-MM-dd HH:mm"
|
|
|
- value-format="yyyy-MM-dd HH:mm"
|
|
|
- placeholder="请选择停止时间"
|
|
|
- />
|
|
|
+ <el-date-picker v-model="serviceForm.stopTime" type="datetime" format="yyyy-MM-dd HH:mm" value-format="yyyy-MM-dd HH:mm" placeholder="请选择停止时间" />
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :span="8">
|
|
|
- <el-form-item
|
|
|
- label="失败重试次数"
|
|
|
- prop="retryCount"
|
|
|
- label-width="100px"
|
|
|
- >
|
|
|
- <el-input
|
|
|
- v-model="serviceForm.retryCount"
|
|
|
- type="number"
|
|
|
- placeholder="请输入重试次数"
|
|
|
- clearable
|
|
|
- />
|
|
|
+ <el-form-item label="失败重试次数" prop="retryCount" label-width="100px">
|
|
|
+ <el-input v-model="serviceForm.retryCount" type="number" placeholder="请输入重试次数" clearable />
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :span="8">
|
|
|
<el-form-item label="循环次数" prop="loopCount">
|
|
|
- <el-input
|
|
|
- v-model="serviceForm.loopCount"
|
|
|
- type="number"
|
|
|
- placeholder="请输入循环次数"
|
|
|
- clearable
|
|
|
- />
|
|
|
+ <el-input v-model="serviceForm.loopCount" type="number" placeholder="请输入循环次数" clearable />
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :span="8">
|
|
|
<el-form-item label="循环频率" prop="frequencyCount">
|
|
|
- <el-input
|
|
|
- v-model="serviceForm.frequencyCount"
|
|
|
- type="number"
|
|
|
- placeholder="请输入循环频率"
|
|
|
- clearable
|
|
|
- />
|
|
|
+ <el-input v-model="serviceForm.frequencyCount" type="number" placeholder="请输入循环频率" clearable />
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :span="8">
|
|
|
- <el-form-item
|
|
|
- label="循环频率单位"
|
|
|
- prop="frequencyUnit"
|
|
|
- label-width="100px"
|
|
|
- >
|
|
|
+ <el-form-item label="循环频率单位" prop="frequencyUnit" label-width="100px">
|
|
|
<el-select v-model="serviceForm.frequencyUnit" clearable>
|
|
|
<el-option label="天" :value="24 * 60 * 60 * 1000" />
|
|
|
<el-option label="小时" :value="60 * 60 * 1000" />
|
|
@@ -240,30 +131,15 @@
|
|
|
</el-col>
|
|
|
<el-col :span="24">
|
|
|
<el-form-item label="服务描述" prop="serviceDescribe">
|
|
|
- <el-input
|
|
|
- v-model="serviceForm.serviceDescribe"
|
|
|
- placeholder="请输入描述"
|
|
|
- type="textarea"
|
|
|
- :autosize="{ minRows: 4, maxRows: 4 }"
|
|
|
- resize="none"
|
|
|
- clearable
|
|
|
- />
|
|
|
+ <el-input v-model="serviceForm.serviceDescribe" placeholder="请输入描述" type="textarea" :autosize="{ minRows: 4, maxRows: 4 }" resize="none" clearable />
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
</el-row>
|
|
|
</el-form>
|
|
|
</main>
|
|
|
<div class="foot">
|
|
|
- <el-button
|
|
|
- size="medium"
|
|
|
- type="primary"
|
|
|
- class="r25 r26"
|
|
|
- @click="createSubmitHandler"
|
|
|
- >提交</el-button
|
|
|
- >
|
|
|
- <el-button size="medium" class="r26" @click="hideCreateDialog"
|
|
|
- >取消</el-button
|
|
|
- >
|
|
|
+ <el-button size="medium" type="primary" class="r25 r26" @click="createSubmitHandler">提交</el-button>
|
|
|
+ <el-button size="medium" class="r26" @click="hideCreateDialog">取消</el-button>
|
|
|
</div>
|
|
|
</div>
|
|
|
</Dialog>
|
|
@@ -271,56 +147,23 @@
|
|
|
<div class="dialog-create">
|
|
|
<div class="title">新增数据来源</div>
|
|
|
<div class="content">
|
|
|
- <el-form
|
|
|
- ref="sourceForm"
|
|
|
- label-width="100px"
|
|
|
- :model="formLabelAlign"
|
|
|
- >
|
|
|
+ <el-form ref="sourceForm" label-width="100px" :model="formLabelAlign">
|
|
|
<el-form-item label="数据源名称">
|
|
|
- <el-input
|
|
|
- size="small"
|
|
|
- v-model="formLabelAlign.dataSourceName"
|
|
|
- ></el-input>
|
|
|
+ <el-input size="small" v-model="formLabelAlign.dataSourceName"></el-input>
|
|
|
</el-form-item>
|
|
|
<el-form-item label="协议名称">
|
|
|
- <el-select
|
|
|
- size="small"
|
|
|
- style="width: 100%"
|
|
|
- v-model="formLabelAlign.protocolName"
|
|
|
- placeholder="请选择活动区域"
|
|
|
- >
|
|
|
- <el-option
|
|
|
- v-for="item in sourceDatas"
|
|
|
- :key="item.protocolID"
|
|
|
- :label="item.protocolName"
|
|
|
- :value="item.protocolID"
|
|
|
- ></el-option>
|
|
|
+ <el-select size="small" style="width: 100%" v-model="formLabelAlign.protocolName" placeholder="请选择活动区域">
|
|
|
+ <el-option v-for="item in sourceDatas" :key="item.protocolID" :label="item.protocolName" :value="item.protocolID"></el-option>
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
<el-form-item label="连接参数">
|
|
|
- <el-input
|
|
|
- size="small"
|
|
|
- type="textarea"
|
|
|
- rows="3"
|
|
|
- v-model="formLabelAlign.connectConfig"
|
|
|
- ></el-input>
|
|
|
+ <el-input size="small" type="textarea" rows="3" v-model="formLabelAlign.connectConfig"></el-input>
|
|
|
</el-form-item>
|
|
|
</el-form>
|
|
|
</div>
|
|
|
<div class="foot">
|
|
|
- <el-button
|
|
|
- size="medium"
|
|
|
- type="primary"
|
|
|
- @click="formService"
|
|
|
- class="r25 r26"
|
|
|
- >提交</el-button
|
|
|
- >
|
|
|
- <el-button
|
|
|
- size="medium"
|
|
|
- class="r26"
|
|
|
- @click="sourceFormVisible = false"
|
|
|
- >取消</el-button
|
|
|
- >
|
|
|
+ <el-button size="medium" type="primary" @click="formService" class="r25 r26">提交</el-button>
|
|
|
+ <el-button size="medium" class="r26" @click="sourceFormVisible = false">取消</el-button>
|
|
|
</div>
|
|
|
</div>
|
|
|
</Dialog>
|
|
@@ -339,7 +182,7 @@ export default {
|
|
|
Dialog,
|
|
|
DataTable,
|
|
|
},
|
|
|
- data() {
|
|
|
+ data () {
|
|
|
return {
|
|
|
serviceList: [],
|
|
|
createDialogVisible: false,
|
|
@@ -386,17 +229,17 @@ export default {
|
|
|
},
|
|
|
methods: {
|
|
|
// 新增-弹框
|
|
|
- showCreateDialog() {
|
|
|
+ showCreateDialog () {
|
|
|
this.getDataSourceList(DATACONTENT_ID.sysSourceId);
|
|
|
this.createDialogVisible = true;
|
|
|
},
|
|
|
//
|
|
|
- addService() {
|
|
|
+ addService () {
|
|
|
this.getDataSourceList(DATACONTENT_ID.sysServiceXyId);
|
|
|
this.sourceFormVisible = true;
|
|
|
},
|
|
|
// 新增-提交
|
|
|
- createSubmitHandler() {
|
|
|
+ createSubmitHandler () {
|
|
|
this.$refs["serviceForm"].validate((valid) => {
|
|
|
if (valid) {
|
|
|
this.createService();
|
|
@@ -404,21 +247,21 @@ export default {
|
|
|
});
|
|
|
},
|
|
|
// 新增-关闭
|
|
|
- hideCreateDialog() {
|
|
|
+ hideCreateDialog () {
|
|
|
this.$refs["serviceForm"].resetFields();
|
|
|
this.createDialogVisible = false;
|
|
|
},
|
|
|
// 编辑-跳转
|
|
|
- btnEditClickHandler(item) {
|
|
|
+ btnEditClickHandler (item) {
|
|
|
this.$router.push({
|
|
|
path: "/systemSettings/serviceEdit",
|
|
|
query: { serviceID: item.serviceID },
|
|
|
});
|
|
|
},
|
|
|
- getServiceList() {
|
|
|
+ getServiceList () {
|
|
|
this.$refs["serviceTable"].getQuery();
|
|
|
},
|
|
|
- async getDataSourceList(id) {
|
|
|
+ async getDataSourceList (id) {
|
|
|
const dataSourceList = await this.getSelectOption(id);
|
|
|
if (id == DATACONTENT_ID.sysSourceId) {
|
|
|
this.dataSourceList = dataSourceList.map((item) => {
|
|
@@ -434,7 +277,7 @@ export default {
|
|
|
});
|
|
|
}
|
|
|
},
|
|
|
- async getSelectOption(id) {
|
|
|
+ async getSelectOption (id) {
|
|
|
try {
|
|
|
const { code, returnData, message } = await Query({
|
|
|
id,
|
|
@@ -450,7 +293,7 @@ export default {
|
|
|
console.log("错误", error);
|
|
|
}
|
|
|
},
|
|
|
- async createService() {
|
|
|
+ async createService () {
|
|
|
if (!this.serviceForm.serviceOutputID) {
|
|
|
this.serviceForm.serviceOutputID = null;
|
|
|
}
|
|
@@ -474,7 +317,7 @@ export default {
|
|
|
console.log("错误", error);
|
|
|
}
|
|
|
},
|
|
|
- async formService() {
|
|
|
+ async formService () {
|
|
|
this.sourceDatas.forEach((item) => {
|
|
|
if (item.protocolID == this.formLabelAlign.protocolName) {
|
|
|
this.formLabelAlign.protocolName = item.protocolName;
|
|
@@ -647,7 +490,8 @@ export default {
|
|
|
position: relative;
|
|
|
top: -2px;
|
|
|
}
|
|
|
- .status0 {
|
|
|
+ .status0,
|
|
|
+ .status2 {
|
|
|
margin-right: 28px;
|
|
|
position: relative;
|
|
|
top: 5px;
|
|
@@ -659,6 +503,11 @@ export default {
|
|
|
background-color: #afb4bf;
|
|
|
}
|
|
|
}
|
|
|
+ .status2 {
|
|
|
+ .icon {
|
|
|
+ background-color: #eb2f3b;
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
}
|