فهرست منبع

设置单独刷新时间,指标详情增加刷新状态

cxmo 1 سال پیش
والد
کامیت
b7ebaea750

+ 61 - 0
src/api/modules/dataApi.js

@@ -441,8 +441,69 @@ const dataRefreshInterface = {
      */
     getEdbTableList:params=>{
         return http.get("/datamanage/edb_info/refresh/edb_list",params)
+    },
+    /**
+     * 单独设置指标刷新时间
+     * @param {Object} params 
+     * @param {Number} params.Source
+     * @param {Number} params.SubSource
+     * @param {Number} params.ClassifyId 筛选项
+     * @param {String} params.TerminalCode 筛选项
+     * @param {Number} params.SysUserId 筛选项
+     * @param {String} params.Frequency 筛选项
+     * @param {String} params.Keyword 筛选项
+     * @param {String} params.Status 筛选项
+     * @param {Boolean} params.IsSelectAll
+     * @param {Object[]} params.EdbSelectIdList
+     * @param {Object[]} params.List
+     * @param {String} params.List[].RefreshFrequency
+     * @param {Number} params.List[].RefreshFrequencyDay
+     * @param {String} params.List[].RefreshTime
+     * @param {Number} params.List[].RefreshAllData
+     * @param {Number} params.List[].RefreshDataNum
+     * @returns 
+     */
+    setRefreshTime(params){
+        return http.post("/datamanage/edb_info/refresh/config/save",params)
+    },
+    /**
+     * 设置默认的指标刷新时间
+     * @param {Object} params 
+     * @param {Number} params.Source
+     * @param {Number} params.SubSource
+     * @param {String} params.Frequency 
+     * @param {Object[]} params.List
+     * @param {String} params.List[].RefreshFrequency
+     * @param {Number} params.List[].RefreshFrequencyDay
+     * @param {String} params.List[].RefreshTime
+     * @param {Number} params.List[].RefreshAllData
+     * @param {Number} params.List[].RefreshDataNum
+     * @returns 
+     */
+    setDefaultTime(params){
+        return http.post("/datamanage/edb_info/refresh/default_config/save",params)
+    },
+    /**
+     * 设置指标刷新状态
+     * @param {Object} params 
+     * @param {Number} params.Source
+     * @param {Number} params.SubSource
+     * @param {Number} params.ClassifyId 筛选项
+     * @param {String} params.TerminalCode 筛选项
+     * @param {Number} params.SysUserId 筛选项
+     * @param {String} params.Frequency 筛选项
+     * @param {String} params.Keyword 筛选项
+     * @param {String} params.Status 筛选项
+     * @param {Boolean} params.IsSelectAll
+     * @param {Object[]} params.EdbSelectIdList
+     * @param {String} params.ModifyStatus 需要更改的状态,枚举值:启用、暂停
+     * @returns 
+     */
+    setRefreshStatus(params){
+        return http.post("/datamanage/edb_info/refresh/status/save",params)
     }
 
+
 }
 
 export {

+ 2 - 1
src/views/dataEntry_manage/databaseComponents/edbDetailData.vue

@@ -35,7 +35,8 @@
 					<span>{{ item.label }}</span>
 				</template>
 				<template slot-scope="scope">
-					<span>{{ scope.row[item.key] }}</span>
+					<span v-if="item.key==='NoUpdate'">{{scope.row[item.key]?'暂停':'启用'}}</span>
+					<span v-else>{{ scope.row[item.key] }}</span>
 				</template>
 			</el-table-column>
 			<div slot="empty" style="padding: 50px 0 320px;">

+ 5 - 0
src/views/dataEntry_manage/databaseList.vue

@@ -644,6 +644,11 @@ export default {
 					key: 'ModifyTime',
 					minwidthsty: '120px',
 				},
+				{
+					label:'刷新状态',
+					key:'NoUpdate',
+					widthsty:'100px'
+				},
 				{
 					label: '添加人',
 					key: 'SysUserRealName',

+ 11 - 9
src/views/system_manage/components/refreshConfig.vue

@@ -2,12 +2,12 @@
     <!-- 刷新配置 + 添加删除-->
     <div class="refresh-config-wrap">
         <!-- form -->
-        <el-form :model="dynamicForm" ref="dynamicForm" label-width="100px" class="dynamic-form">
+        <el-form :model="dynamicForm" ref="dynamicForm" label-width="110px" class="dynamic-form">
             <div class="group" v-for="(item,index) in dynamicForm.configList" :key="item.key">
                 <div class="delete btn-box" @click="deleteSetting(index)"
                     v-if="index!==0"><i class="el-icon-delete"></i>删除</div>
                 <el-form-item label="刷新频率" class="item">
-                    <el-form-item prop="frequency">
+                    <el-form-item :prop="`configList[${index}].frequency`" :rules="{required:true,message:'请选择刷新频率',trigger: 'blur'}">
                         <el-select v-model="item.frequency">
                             <el-option v-for="i in frequencyType" :key="i.key" 
                                 :label="i.label" :value="i.key"/>
@@ -15,7 +15,7 @@
                     </el-form-item>
                     
                     <!-- 每周 -->
-                    <el-form-item prop="frequency_week" v-if="item.frequency==='week'">
+                    <el-form-item :prop="`configList[${index}].frequency_week`" v-if="item.frequency==='week'" :rules="{required:true,message:'请选择刷新频率',trigger: 'blur'}">
                         <el-select v-model="item.frequency_week" class="full-input" key="week">
                             <el-option v-for="i in weekList" :key="i.key" 
                                 :label="i.label" :value="i.key"/>
@@ -23,28 +23,30 @@
                     </el-form-item>
                     
                     <!-- 每旬、月、季、半年、年 -->
-                    <el-form-item prop="frequency_last" v-if="!item.frequency.includes('日')&&!item.frequency.includes('月')">
+                    <el-form-item :prop="`configList[${index}].frequency_last`" v-if="!item.frequency.includes('日')&&!item.frequency.includes('月')"
+                        :rules="{required:true,message:'请选择刷新频率',trigger: 'blur'}">
                         <el-select v-model="item.frequency_last" :key="item.key" key="option">
                             <el-option v-for="i in timeOptionList" :key="i.key" 
                                 :label="i.label" :value="i.key"/>
                         </el-select>
                     </el-form-item>
-                    <el-form-item prop="frequency_n" v-if="item.frequency_last==='n'&&!item.frequency.includes('日')&&!item.frequency.includes('月')">
+                    <el-form-item :prop="`configList[${index}].frequency_n`" v-if="item.frequency_last==='n'&&!item.frequency.includes('日')&&!item.frequency.includes('月')"
+                        :rules="{required:true,message:'请选择刷新频率',trigger: 'blur'}">
                         <el-input v-model="item.frequency_n">
                             <template slot="prefix">N=</template>
                         </el-input>
                     </el-form-item>
                 </el-form-item>
                 <el-form-item class="item" label="时间">
-                    <el-form-item prop="time">
+                    <el-form-item :prop="`configList[${index}].time`" :rules="{required:true,message:'请选择刷新时间',trigger: 'blur'}">
                         <el-select v-model="item.time" class="full-input" key="single">
                             <el-option v-for="i in timeList" :key="i" 
                                 :label="i" :value="i"/>
                         </el-select>
                     </el-form-item>
                 </el-form-item>
-                <el-form-item prop="num" label="刷新单元格数" class="item">
-                    <el-input v-model="item.num"></el-input>
+                <el-form-item :prop="`configList[${index}].num`" label="刷新单元格数" class="item" :rules="{required:true,message:'请输入刷新单元格数',trigger: 'blur'}">
+                    <el-input v-model="item.num" type="number"></el-input>
                     <el-checkbox v-model="item.isAll">全部刷新</el-checkbox>
                 </el-form-item>
                 <div class="line"></div>
@@ -123,7 +125,7 @@ export default {
                 'season':92,
                 'halfyear':184,
                 'year':365
-            }
+            },
         };
     },
     watch:{

+ 56 - 11
src/views/system_manage/dataRefreshSetting.vue

@@ -18,7 +18,7 @@
             </div>
             
             <el-input placeholder="指标ID/指标名称" prefix-icon="el-icon-search" clearable
-                v-model="selectOption.keyWord" @change="selectOptionChange('keyWord')"
+                v-model="selectOption.keyWord" @input="selectOptionChange('keyWord')"
                 v-if="![34,11].includes(Source)"></el-input>
             
         </div>
@@ -68,9 +68,11 @@
                     <el-checkbox :indeterminate="isIndeterminate" v-model="isCheckAll" @change="listCheckAllChange">列表全选</el-checkbox>
                     <el-button type="primary" @click="showDialog(false)"
                         v-permission="permissionBtn.sysDepartPermission.refresh_time"
+                        :disabled="!tableData.length"
                     >设置刷新时间</el-button>
                     <el-button type="primary" @click="isSetStateDialogShow=true"
                         v-permission="permissionBtn.sysDepartPermission.refresh_state"
+                        :disabled="!tableData.length"
                     >设置刷新状态</el-button>
                 </div>
             </div>
@@ -93,9 +95,14 @@
                     :sortable="column.sortable?column.sortable:false"
                     align="center"
                     >
-                    <!-- <template slot-scope="{row}">
-                        {{}}
-                    </template> -->
+                    <template slot-scope="{row}">
+                        <span v-if="column.key==='IsStop'">
+                            {{row.IsStop?'暂停刷新':'启用刷新'}}
+                        </span>
+                        <span v-else>
+                            {{row[column.key]}}
+                        </span>
+                    </template>
                 </el-table-column>
             </el-table>
             <el-pagination 
@@ -211,7 +218,7 @@ export default {
             tableDataIds:[],
             pageSize:10,
             currentPage:1,
-            total:12,
+            total:0,
 
             isSetTimeDialogShow: false,//设置刷新时间弹窗
             defaultDialogLoading:false,//可能需要获取默认设置,增加loading
@@ -286,6 +293,7 @@ export default {
             this.hasSelectOption = ![34,11].includes(this.Source)
             if(this.hasSelectOption){
                 this.resetSelect()
+                this.tableData = []
             }
             //如果没有二级数据源,则请求表格筛选项数据;钢联化工,SMM没有筛选项数据
             if(!this.SubSourceList.length&&this.hasSelectOption){
@@ -498,19 +506,56 @@ export default {
             }
         },
         //设置刷新时间
-        handleSetRefreshTime(){
+        async handleSetRefreshTime(){
             //校验表格
-
+            try{
+                await this.$refs.refreshconfig.$refs.dynamicForm.validate()
+            }catch(e){
+                console.log(e)
+                return
+            }
             //转换数据格式
             const list = this.$refs.refreshconfig.getFormList()
-            console.log('list',list)
             //判断是否是默认时间,走不同接口
-            this.setRefreshTime(list)
+            if(this.isDefalut){
+                this.setDefaultTime(list)
+            }else{
+                this.setRefreshTime(list)
+            }
         },
         setRefreshTime(list){
-
+            const {frequency,user,classify,state,terminalCode,keyWord} = this.selectOption
+            dataRefreshInterface.setRefreshTime({
+                Source:Number(this.Source),
+                SubSource:Number(this.SubSource),
+                ClassifyId:Number(classify),
+                TerminalCode:terminalCode,
+                SysUserId:user,
+                Frequency:frequency,
+                Keyword:keyWord,
+                Status:state,
+                IsSelectAll:this.isSelectAll,
+                EdbSelectIdList:this.selectList,
+                List:list
+            }).then(res=>{
+                if(res.Ret!==200) return
+                this.$message.success("设置刷新时间成功")
+                this.getTableData('optionChange')
+                this.isSetTimeDialogShow = false
+            })
         },
-        setDefaultTime(list){}
+        setDefaultTime(list){
+            dataRefreshInterface.setDefaultTime({
+                Source:Number(this.Source),
+                SubSource:Number(this.SubSource),
+                Frequency:this.defaultFrequency,
+                List:list
+            }).then(res=>{
+                if(res.Ret!==200) return 
+                this.$message.success("设置默认刷新时间成功")
+                this.isSetTimeDialogShow = false
+            })
+        }
     },
     mounted(){
         this.getSourceList()