chenjun 2 năm trước cách đây
mục cha
commit
cc8bb7c3f6

+ 2 - 2
src/api/newLogin.js

@@ -11,7 +11,7 @@ import request from '@/utils/request-new'
 //获取动态验证码
 export function GetCheckCode (params) {
   return request({
-    url: '/foxlibc/verification-code',
+    url: '/foxlibc/getVCode',
     method: 'post',
     data: params
   })
@@ -65,7 +65,7 @@ export function permission (params) {
 //token
 export function gettoken (params) {
   return request({
-    url: '/foxlibc/application-token',
+    url: '/foxlibc/getToken ',
     method: 'post',
     data: params,
     istoken: true

+ 26 - 0
src/api/webApi.js

@@ -36,3 +36,29 @@ export function moveData (params) {
   })
 }
 
+//数据清除
+export function abnormalDataRecovery (params) {
+  return request({
+    url: '/openApi/abnormalDataRecovery',
+    method: 'post',
+    data: params,
+  })
+}
+
+//服务启动
+export function start (params) {
+  return request({
+    url: '/controlApi/start',
+    method: 'post',
+    data: params,
+  })
+}
+//服务停止
+export function stop (params) {
+  return request({
+    url: '/controlApi/stop',
+    method: 'post',
+    data: params,
+  })
+}
+

+ 1 - 0
src/views/newTable/index.vue

@@ -505,6 +505,7 @@ export default {
     //初始化表格
     initTableData () {
       this.tableColsCopy = this.tableCols.filter((item) => item.needShow);
+      this.tableColsCopy = _.orderBy(this.tableColsCopy,['orderNumber'],['asc']);
       this.tableDataCopy = _.cloneDeep(this.tableData);
       const datas = _.cloneDeep(this.tableColsCopy);
       // const reqUts = [];

+ 42 - 22
src/views/systemSettings/views/newService/index.vue

@@ -77,34 +77,34 @@
           </div>
           <div v-if="formInline.serviceType == 4" class="cj-form">
             <div class="title">采集配置</div>
-            <el-form class="flex" :inline="true" :model="formInline">
-              <el-form-item label="采集类型">
-                <el-select clearable size="small" v-model="formInline.taskType" placeholder="请选择采集类型">
+            <el-form class="flex" style="flex-wrap: wrap;justify-content: flex-start;" :inline="true" :model="formInline">
+              <el-form-item label="采集类型" style="margin-left: 50px;">
+                <el-select clearable size="small"  style="width: 175px;"  v-model="formInline.taskType" placeholder="请选择采集类型">
                   <el-option label="CRON表达式" :value="0"></el-option>
                   <el-option label="轮询方式" :value="1"></el-option>
                 </el-select>
               </el-form-item>
-              <el-form-item label="循环数">
-                <el-input clearable style="width:150px" v-model="formInline.loopCount" size="small" placeholder="请输入循环数"></el-input>
+              <el-form-item label="循环 " style="margin-left: 50px;">
+                <el-input clearable style="width:175px" v-model="formInline.loopCount" size="small" placeholder="循环数"></el-input>
               </el-form-item>
               <template v-if="formInline.taskType == 1">
-                <el-form-item label="采集频率">
-                  <el-input clearable style="width:150px" v-model="formInline.frequencyCount" size="small" placeholder="请输入采集频率"></el-input>
+                <el-form-item label="采集频率" style="margin-left: 50px;">
+                  <el-input clearable style="width:170px" v-model="formInline.frequencyCount" size="small" placeholder="请输入采集频率"></el-input>
                 </el-form-item>
-                <el-form-item label="频率单位">
-                  <el-input clearable style="width:150px" v-model="formInline.frequencyUnit" size="small" placeholder="请输入频率单位"></el-input>
+                <el-form-item label="频率单位" style="margin-left: 50px;">
+                  <el-input clearable style="width:170px" v-model="formInline.frequencyUnit" size="small" placeholder="请输入频率单位"></el-input>
                 </el-form-item>
               </template>
               <template v-else-if="formInline.taskType == 0">
-                <el-form-item label="CRON表达式">
-                  <el-input clearable style="width:200px" v-model="formInline.cronExpress" size="small" placeholder="请输入CRON表达式"></el-input>
+                <el-form-item label="CRON表达式" style="margin-left: 50px;">
+                  <el-input clearable style="width:300px" v-model="formInline.cronExpress" size="small" placeholder="请输入CRON表达式"></el-input>
                 </el-form-item>
               </template>
-              <el-form-item label="有效时间" prop="startTime">
-                <el-date-picker size="small" v-model="formInline.taskValid" type="datetime" format="yyyy-MM-dd HH:mm" value-format="yyyy-MM-dd HH:mm" placeholder="有效时间" />
+              <el-form-item label="有效时间" prop="startTime" style="margin-left: 50px;">
+                <el-date-picker size="small" style="width: 175px;" v-model="formInline.taskValid" type="datetime" format="yyyy-MM-dd HH:mm" value-format="yyyy-MM-dd HH:mm" placeholder="有效时间" />
               </el-form-item>
-              <el-form-item label="失效时间" prop="stopTime">
-                <el-date-picker size="small" v-model="formInline.taskInvalid" type="datetime" format="yyyy-MM-dd HH:mm" value-format="yyyy-MM-dd HH:mm" placeholder="有效时间" />
+              <el-form-item label="失效时间" prop="stopTime" style="margin-left: 50px;">
+                <el-date-picker size="small" style="width: 175px;" v-model="formInline.taskInvalid" type="datetime" format="yyyy-MM-dd HH:mm" value-format="yyyy-MM-dd HH:mm" placeholder="有效时间" />
               </el-form-item>
             </el-form>
           </div>
@@ -119,7 +119,7 @@
 
 <script>
 import Table from '@/views/newTable/index.vue'
-import { Query, newData, modifyData, moveData } from "@/api/webApi"
+import { Query, newData, modifyData, moveData,start,stop } from "@/api/webApi"
 import * as _ from 'lodash'
 export default {
   name: 'NewService',
@@ -261,10 +261,10 @@ export default {
     handleStart () {
       if (this.dataObj.serviceID && this.dataType == 'edit') {
         this.dataObj.runState = 1
-        this.generalDataReception(2, this.dataObj)
+        this.controlService(1, this.dataObj)
       } else if (this.dataType == 'add' && this.arrs[this.arrs.length - 1].serviceID) {
         this.arrs[this.arrs.length - 1].runState = 1
-        this.generalDataReception(2, this.arrs[this.arrs.length - 1])
+        this.controlService(1, this.arrs[this.arrs.length - 1])
       }
       else {
         this.$message.error('请先添加当前服务后再操作')
@@ -274,10 +274,10 @@ export default {
     handleStop () {
       if (this.dataObj.serviceID && this.dataType == 'edit') {
         this.dataObj.runState = 0
-        this.generalDataReception(2, this.dataObj)
+        this.controlService(0, this.dataObj.serviceID)
       } else if (this.dataType == 'add' && this.arrs[this.arrs.length - 1].serviceID) {
         this.arrs[this.arrs.length - 1].runState = 0
-        this.generalDataReception(2, this.arrs[this.arrs.length - 1])
+        this.controlService(0, this.arrs[this.arrs.length - 1].serviceID)
       }
       else {
         this.$message.error('请先添加当前服务后再操作')
@@ -365,7 +365,7 @@ export default {
           event: `${event}`,
         };
         const { code } =
-          event == 1
+            event == 1
             ? await newData(params)
             : event == 2
               ? await modifyData(params)
@@ -381,10 +381,30 @@ export default {
         this.$message.error("操作失败");
       }
     },
+
+    //服务启停
+    async controlService (event, data) {
+      try {
+        const params = {
+          serviceId: data.serviceId
+        };
+        const { code } =
+          event == 1
+            ? await start(params)
+            : await stop(params);
+        if (code == 0) {
+          this.generalDataReception(2, data)
+        } else {
+          this.$message.error("操作失败");
+        }
+      } catch (error) {
+        this.$message.error("操作失败");
+      }
+    },
   }
 }
 </script>
 
 <style lang="scss" scoped>
 @import "./css/index.scss";
-</style>
+</style>

+ 8 - 2
src/views/table/components/authButton.vue

@@ -16,11 +16,17 @@ export default {
   render (h, context) {
     const { auth, row } = context.props
     const vnodes = []
+    console.log(auth)
     if (auth && Object.keys(auth).length) {
       if (auth.show_type == 1) {
-        vnodes.push(<el-button size="small" plain={true} onClick={() => auth.service_type == '1' ? context.parent.handleQuery() : auth.service_type == '2' ? context.parent.handleAdd() : auth.service_type == '3' ? context.parent.handleEdit(row) : context.parent.handleRemove(row)} type={auth.service_type != '4' ? 'primary' : 'danger'}>{auth.auth_name}</el-button>)
+        if(auth.open_method!='1'){
+          vnodes.push(<el-button size="small" plain={true} onClick={() => auth.service_type == '1' ? context.parent.handleQuery() : auth.service_type == '2' ? context.parent.handleAdd() : auth.service_type == '3' ? context.parent.handleEdit(row) : context.parent.handleRemove(row)} type={auth.service_type != '4' ? 'primary' : 'danger'}>{auth.auth_name}</el-button>)
+        }
+        else{
+          vnodes.push(<el-button size="small" icon={auth.show_icon} plain={true} onClick={() =>  context.parent.handleRecord(row)} type={auth.service_type != '4' ? 'primary' : 'danger'}>{auth.auth_name}</el-button>)
+        }
       } else if (auth.show_type == 3) {
-        vnodes.push(<el-button size="small" icon={auth.show_icon} plain={true} onClick={() => auth.service_type == '1' ? context.parent.handleQuery() : auth.service_type == '2' ? context.parent.handleAdd() : auth.service_type == '3' ? context.parent.handleEdit(row) : context.parent.handleRemove(row)} type={auth.service_type != '4' ? 'primary' : 'danger'}>{auth.auth_name}</el-button>)
+          vnodes.push(<el-button size="small" icon={auth.show_icon} plain={true} onClick={() => auth.service_type == '1' ? context.parent.handleQuery() : auth.service_type == '2' ? context.parent.handleAdd() : auth.service_type == '3' ? context.parent.handleEdit(row) : context.parent.handleRemove(row)} type={auth.service_type != '4' ? 'primary' : 'danger'}>{auth.auth_name}</el-button>)
       }
       else {
         vnodes.push(<el-button size="small" icon={auth.show_icon} plain={true} onClick={() => auth.service_type == '1' ? context.parent.handleQuery() : auth.service_type == '2' ? context.parent.handleAdd() : auth.service_type == '3' ? context.parent.handleEdit(row) : context.parent.handleRemove(row)} type={auth.service_type != '4' ? 'primary' : 'danger'}></el-button>)

+ 26 - 3
src/views/table/index.vue

@@ -41,8 +41,10 @@
             <el-table-column fixed="right" label="操作" :width="fixedWidth">
               <template slot-scope="scope">
                 <div class="hd-td">
+                  <auth-button :auth="btnRecordObj" :row="scope.row" />
                   <auth-button :auth="btnEditObj" :row="scope.row" />
                   <auth-button :auth="btnDelObj" :row="scope.row" />
+
                 </div>
               </template>
             </el-table-column>
@@ -131,7 +133,7 @@ import NoData from "@/components/nodata";
 import AdvanceQuery from './components/advanceQuery.vue';
 import AuthButton from './components/authButton.vue';
 import { translateDataToTreeAllTreeMsg, getAuthData } from "@/utils/validate";
-import { Query, newData, modifyData, moveData } from "@/api/webApi";
+import { Query, newData, modifyData, moveData ,abnormalDataRecovery} from "@/api/webApi";
 export default {
   name: "DataTable",
   props: {
@@ -175,7 +177,7 @@ export default {
     // 不换行,溢出隐藏
     showOverflowTooltip: {
       type: Boolean,
-      default: false,
+      default: true,
     },
     //操作列宽度
     fixedWidth: {
@@ -225,6 +227,7 @@ export default {
       btnAddObj: {},
       btnEditObj: {},
       btnDelObj: {},
+      btnRecordObj:{},
       isAuto: false,
       dialogFlag: false
     };
@@ -319,6 +322,7 @@ export default {
   },
   methods: {
     autoBtnObj (item) {
+      console.log(item)
       switch (item.service_type) {
         case '1':
           this.btnQueryObj = item
@@ -327,7 +331,12 @@ export default {
           this.btnAddObj = item
           break;
         case '3':
-          this.btnEditObj = item
+          if(item.open_method!="1"){
+            this.btnEditObj = item
+          }
+          else{
+            this.btnRecordObj = item
+          }
           break;
         case '4':
           this.btnDelObj = item
@@ -537,6 +546,7 @@ export default {
     //初始化表格
     initTableData () {
       this.tableColsCopy = this.tableCols.filter((item) => item.needShow);
+      this.tableColsCopy = _.orderBy(this.tableColsCopy,['orderNumber'],['asc']);
       this.tableDataCopy = _.cloneDeep(this.tableData);
       const datas = _.cloneDeep(this.tableColsCopy);
       // const reqUts = [];
@@ -762,6 +772,19 @@ export default {
       }
     },
 
+    //表格-数据恢复
+    async handleRecord (row) {
+      const { open_method, route_info } = this.btnRecordObj
+      console.log(code)
+
+      const params = {
+      "serviceId":row.serviceId,
+      "dataObjectId":row.dataObjectId
+      }
+      const { code } =await abnormalDataRecovery(params)
+      console.log(code)
+    },
+
     // 新增/编辑-确认
     submitClickHandler () {
       this.$refs["ruleForm"].validate((valid) => {