页面及对应操作

userLayout.vue: 可修改登录背景图、标题、下方文字连接

login.vue: 登录模块的相应设

index.html: 可修改页面在浏览器中标签页的名称、logo,以及全局配置

logo.vue: 可修改对应的logo,有logo路径,还有项目标题

GlobalHeader.vue: 修改头部样式

GlobalFooter.vue: 修改底部样式

TabLayout: 修改进入系统后,浏览器标签页名称,

shiroconfig: 用于在未登录系统时,就可以执行一些请求(拦截器释放请求)

前端页面疑难杂症

1.实现按某一字段排序: list 页面使用

/* 排序参数 */
isorter:{
column: ‘titleSort’,
order: ‘asc’,
},
在data(){return{}}中存放;

2.实现字段的省略:

在字段中添加属性
在这里插入图片描述

3.实现list页面点击某一字段,实现正序倒序切换;

sorter: (a, b) => a.keyTaskSupervisionSort - b.keyTaskSupervisionSort,
代码如下:

{
            title:'督办排序',
            align:"center",
            dataIndex: 'keyTaskSupervisionSort',
            width:100,
            sorter: (a, b) => a.keyTaskSupervisionSort - b.keyTaskSupervisionSort,
          },

4.输入框添加自定义校验

在这里插入图片描述

level2Category: {
            rules: [
              { required: true, message: '请输入二级类别!'},
              { validator: this.validateTemplateCode}
            ]
          },

在这里插入图片描述

     validateTemplateCode(rule, value, callback){
        getAction("/yc/titleManagement/queryById",{id:value}).then((res)=>{
          console.log("表单",this.form)
          if(res.result.titleType != 2){
            callback("只能为二级标题添加任务");
          }else{
            callback();
          }
        })
      },

5下拉框默认选择

在校验规则中添加:

v-decorator="[ 'equipmentType', {initialValue:this.defaultType,rules: validatorRules.equipmentType.rules}]"

在data(){return{ }}中写入 defaultType的值;

data () {
      return {
        defaultType:'1',
      }

6刷新vue页面中某一组件

为某一组件绑定key值,当key值发生改变时,该组件会重新刷新。

//组件
<j-dict-select-tag :key="reLoadModul" type="list" v-decorator="['equipmentId', validatorRules.equipmentId]" :trigger-change="true" dictCode="pre_equipment_management,equipment_code,id,pre_equipment_management.id NOT IN (SELECT equipment_id FROM collecter_equipment_address )" placeholder="请选择设备id"/>


//methods中 调用该方法后,该组件重新加载
add () {
        this.reLoadModul += 1;
        this.edit({});
      },

7导出时,数据按某个字段排序

在导出方法中的param处指定order、column两个属性

 handleExportXls_person(fileName){
        if(!fileName || typeof fileName != "string"){
          fileName = "导出文件"
        }else{
          fileName = this.value + fileName;
        }

        let param = {...this.queryParam};
        if(this.selectedRowKeys && this.selectedRowKeys.length>0){
          param['selections'] = this.selectedRowKeys.join(",")
        }
        console.log("导出参数",param)
        param.order = 'asc';  //此处指定排序方式
        param.column = 'month';  //此处指定按什么字段
        downFile(this.url.exportXlsUrl,param).then((data)=>{
          if (!data) {
            this.$message.warning("文件下载失败")
            return
          }
          if (typeof window.navigator.msSaveBlob !== 'undefined') {
            window.navigator.msSaveBlob(new Blob([data],{type: 'application/vnd.ms-excel'}), fileName+'.xls')
          }else{
            let url = window.URL.createObjectURL(new Blob([data],{type: 'application/vnd.ms-excel'}))
            let link = document.createElement('a')
            link.style.display = 'none'
            link.href = url
            link.setAttribute('download', fileName+'.xls')
            document.body.appendChild(link)
            link.click()
            document.body.removeChild(link); //下载完成移除元素
            window.URL.revokeObjectURL(url); //释放掉blob对象
          }
        })
      },//导出方法

后端疑难杂症

1.queryWrapper中时间的比较:

String time= DateFormatUtils.format(new
Date(),“yyyy-MM-dd HH:mm:ss”);//当前时间
queryWrapper.apply(“UNIX_TIMESTAMP(end_time) >= UNIX_TIMESTAMP('” + time + “')”);

2.实体类中使用非数据库的字段

  @TableField(exist = false)	//非数据库字段
    private java.lang.String appearTime;
Logo

前往低代码交流专区

更多推荐