Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
K
klck
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
位宇华
klck
Commits
7787cfc7
Commit
7787cfc7
authored
Sep 04, 2023
by
lenovo
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
通用转换模块
parent
549b9c0f
Changes
13
Show whitespace changes
Inline
Side-by-side
Showing
13 changed files
with
1044 additions
and
17 deletions
+1044
-17
ruoyi-supplies/src/main/java/com/ruoyi/system/controller/ActSuppliesConvertroleController.java
...i/system/controller/ActSuppliesConvertroleController.java
+42
-3
ruoyi-supplies/src/main/java/com/ruoyi/system/controller/ActSuppliesRoleDetailController.java
...yi/system/controller/ActSuppliesRoleDetailController.java
+0
-1
ruoyi-supplies/src/main/java/com/ruoyi/system/domain/ActSuppliesConvertrole.java
.../java/com/ruoyi/system/domain/ActSuppliesConvertrole.java
+120
-3
ruoyi-supplies/src/main/java/com/ruoyi/system/domain/MyListItem.java
...ies/src/main/java/com/ruoyi/system/domain/MyListItem.java
+162
-0
ruoyi-supplies/src/main/java/com/ruoyi/system/mapper/ActSuppliesConvertroleMapper.java
...com/ruoyi/system/mapper/ActSuppliesConvertroleMapper.java
+7
-0
ruoyi-supplies/src/main/java/com/ruoyi/system/service/IActSuppliesConvertroleService.java
.../ruoyi/system/service/IActSuppliesConvertroleService.java
+7
-0
ruoyi-supplies/src/main/java/com/ruoyi/system/service/impl/ActSuppliesConvertroleServiceImpl.java
...ystem/service/impl/ActSuppliesConvertroleServiceImpl.java
+81
-1
ruoyi-supplies/src/main/java/com/ruoyi/system/service/impl/ActSuppliesRoleDetailServiceImpl.java
...system/service/impl/ActSuppliesRoleDetailServiceImpl.java
+2
-0
ruoyi-supplies/src/main/resources/mapper/system/ActSuppliesConvertMapper.xml
...main/resources/mapper/system/ActSuppliesConvertMapper.xml
+32
-6
ruoyi-supplies/src/main/resources/mapper/system/ActSuppliesRoleDetailMapper.xml
...n/resources/mapper/system/ActSuppliesRoleDetailMapper.xml
+1
-3
ruoyi-ui/src/api/ActSuppliesConvert/convert.js
ruoyi-ui/src/api/ActSuppliesConvert/convert.js
+25
-0
ruoyi-ui/src/views/ActSuppliesConvert/convert/indexConvert.vue
...-ui/src/views/ActSuppliesConvert/convert/indexConvert.vue
+562
-0
ruoyi-ui/src/views/system/supplies/index.vue
ruoyi-ui/src/views/system/supplies/index.vue
+3
-0
No files found.
ruoyi-supplies/src/main/java/com/ruoyi/system/controller/ActSuppliesConvertroleController.java
View file @
7787cfc7
package
com.ruoyi.system.controller
;
import
java.util.List
;
import
com.ruoyi.system.domain.ActSuppliesRole
;
import
com.ruoyi.system.domain.ActSuppliesRoleDetail
;
import
com.ruoyi.system.domain.ActSuppliesTemplate
;
import
org.springframework.security.access.prepost.PreAuthorize
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.GetMapping
;
...
...
@@ -33,6 +37,20 @@ public class ActSuppliesConvertroleController extends BaseController
@Autowired
private
IActSuppliesConvertroleService
actSuppliesConvertService
;
/**
* 查询模板
*/
@PreAuthorize
(
"@ss.hasPermi('ActSuppliesConvertrole:ActSuppliesConvertrole:listTemp')"
)
@GetMapping
(
"/listTemp"
)
public
TableDataInfo
listTemp
()
{
startPage
();
List
<
ActSuppliesTemplate
>
list
=
actSuppliesConvertService
.
selectActSuppliesConvertListTemp
();
return
getDataTable
(
list
);
}
/**
* 查询通用规则列表
*/
...
...
@@ -49,7 +67,6 @@ public class ActSuppliesConvertroleController extends BaseController
* 导出通用规则列表
*/
@PreAuthorize
(
"@ss.hasPermi('ActSuppliesConvertrole:ActSuppliesConvertrole:export')"
)
@Log
(
title
=
"通用规则"
,
businessType
=
BusinessType
.
EXPORT
)
@GetMapping
(
"/export"
)
public
AjaxResult
export
(
ActSuppliesConvertrole
actSuppliesConvertrole
)
{
...
...
@@ -72,7 +89,6 @@ public class ActSuppliesConvertroleController extends BaseController
* 新增通用规则
*/
@PreAuthorize
(
"@ss.hasPermi('ActSuppliesConvertrole:ActSuppliesConvertrole:add')"
)
@Log
(
title
=
"通用规则"
,
businessType
=
BusinessType
.
INSERT
)
@PostMapping
public
AjaxResult
add
(
@RequestBody
ActSuppliesConvertrole
actSuppliesConvertrole
)
{
...
...
@@ -83,7 +99,6 @@ public class ActSuppliesConvertroleController extends BaseController
* 修改通用规则
*/
@PreAuthorize
(
"@ss.hasPermi('ActSuppliesConvertrole:ActSuppliesConvertrole:edit')"
)
@Log
(
title
=
"通用规则"
,
businessType
=
BusinessType
.
UPDATE
)
@PutMapping
public
AjaxResult
edit
(
@RequestBody
ActSuppliesConvertrole
actSuppliesConvertrole
)
{
...
...
@@ -100,4 +115,28 @@ public class ActSuppliesConvertroleController extends BaseController
{
return
toAjax
(
actSuppliesConvertService
.
deleteActSuppliesConvertByIds
(
ids
));
}
/**
* 获取通用规则列表
*/
@PreAuthorize
(
"@ss.hasPermi('ActSuppliesConvertrole:ActSuppliesConvertrole:convertRoleList')"
)
@GetMapping
(
value
=
"/convertRoleList/{id}"
)
public
TableDataInfo
convertRoleList
(
@PathVariable
(
"id"
)
Integer
id
)
{
List
<
ActSuppliesConvertrole
>
list
=
actSuppliesConvertService
.
convertRoleList
(
id
);
return
getDataTable
(
list
);
}
/**
* 模板转换页面根据规则ID查询规则详情接口
* */
@PreAuthorize
(
"@ss.hasPermi('ActSuppliesConvertrole:ActSuppliesConvertrole:convertRoleListid')"
)
@GetMapping
(
"/convertRoleListid/{id}"
)
public
TableDataInfo
convertRoleListid
(
@PathVariable
(
"id"
)
Integer
id
){
List
<
ActSuppliesConvertrole
>
list
=
actSuppliesConvertService
.
convertRoleListid
(
id
);
return
getDataTable
(
list
);
}
}
ruoyi-supplies/src/main/java/com/ruoyi/system/controller/ActSuppliesRoleDetailController.java
View file @
7787cfc7
...
...
@@ -117,7 +117,6 @@ public class ActSuppliesRoleDetailController extends BaseController
public
AjaxResult
add
(
@RequestBody
ActSuppliesRoleDetail
actSuppliesRoleDetail
)
{
return
toAjax
(
actSuppliesRoleDetailService
.
insertActSuppliesRoleDetail
(
actSuppliesRoleDetail
));
}
/**
...
...
ruoyi-supplies/src/main/java/com/ruoyi/system/domain/ActSuppliesConvertrole.java
View file @
7787cfc7
package
com.ruoyi.system.domain
;
import
com.alibaba.fastjson.JSON
;
import
org.apache.commons.lang3.builder.ToStringBuilder
;
import
org.apache.commons.lang3.builder.ToStringStyle
;
import
com.ruoyi.common.annotation.Excel
;
import
com.ruoyi.common.core.domain.BaseEntity
;
import
java.util.List
;
/**
* 通用规则对象 act_supplies_convert
*
...
...
@@ -22,6 +25,40 @@ public class ActSuppliesConvertrole extends BaseEntity
@Excel
(
name
=
"模板id"
)
private
Long
tempId
;
/** 模板名称 */
private
String
templateName
;
private
List
<
MyListItem
>
list
;
public
List
<
MyListItem
>
getList
()
{
return
list
;
}
public
void
setList
(
List
<
MyListItem
>
list
)
{
this
.
list
=
list
;
}
/** 导入表行/列/单元格选择 */
private
Long
[]
ze
;
/** 导入表列坐标 */
private
Long
[]
ce
;
/** 导入表行坐标 */
private
Long
[]
re
;
/** 导入表单元格长度 */
private
Long
[]
le
;
/** 模板表行/列/单元格选择*/
private
Long
[]
zt
;
/** 模板表列坐标 */
private
Long
[]
ct
;
/** 模板表行坐标 */
private
Long
[]
rt
;
/** 模板表单元格长度 */
private
Long
[]
lt
;
/** 运算方法 */
private
Long
[]
ys
;
/** 规则名称 */
@Excel
(
name
=
"规则名称"
)
private
String
name
;
...
...
@@ -34,6 +71,14 @@ public class ActSuppliesConvertrole extends BaseEntity
@Excel
(
name
=
"状态"
)
private
Long
status
;
public
String
getTemplateName
()
{
return
templateName
;
}
public
void
setTemplateName
(
String
templateName
)
{
this
.
templateName
=
templateName
;
}
public
void
setId
(
Long
id
)
{
this
.
id
=
id
;
...
...
@@ -80,6 +125,78 @@ public class ActSuppliesConvertrole extends BaseEntity
return
status
;
}
public
Long
[]
getZe
()
{
return
ze
;
}
public
void
setZe
(
Long
[]
ze
)
{
this
.
ze
=
ze
;
}
public
Long
[]
getCe
()
{
return
ce
;
}
public
void
setCe
(
Long
[]
ce
)
{
this
.
ce
=
ce
;
}
public
Long
[]
getRe
()
{
return
re
;
}
public
void
setRe
(
Long
[]
re
)
{
this
.
re
=
re
;
}
public
Long
[]
getLe
()
{
return
le
;
}
public
void
setLe
(
Long
[]
le
)
{
this
.
le
=
le
;
}
public
Long
[]
getZt
()
{
return
zt
;
}
public
void
setZt
(
Long
[]
zt
)
{
this
.
zt
=
zt
;
}
public
Long
[]
getCt
()
{
return
ct
;
}
public
void
setCt
(
Long
[]
ct
)
{
this
.
ct
=
ct
;
}
public
Long
[]
getRt
()
{
return
rt
;
}
public
void
setRt
(
Long
[]
rt
)
{
this
.
rt
=
rt
;
}
public
Long
[]
getLt
()
{
return
lt
;
}
public
void
setLt
(
Long
[]
lt
)
{
this
.
lt
=
lt
;
}
public
Long
[]
getYs
()
{
return
ys
;
}
public
void
setYs
(
Long
[]
ys
)
{
this
.
ys
=
ys
;
}
@Override
public
String
toString
()
{
return
new
ToStringBuilder
(
this
,
ToStringStyle
.
MULTI_LINE_STYLE
)
...
...
ruoyi-supplies/src/main/java/com/ruoyi/system/domain/MyListItem.java
0 → 100644
View file @
7787cfc7
package
com.ruoyi.system.domain
;
public
class
MyListItem
{
private
Long
ys
;
private
Long
ze
;
private
Long
re
;
private
Long
ce
;
private
Long
le
;
private
Long
zt
;
private
Long
rt
;
private
Long
ct
;
private
Long
lt
;
// 构造函数
public
MyListItem
()
{
}
public
Long
getYs
()
{
return
ys
;
}
public
void
setYs
(
Long
ys
)
{
this
.
ys
=
ys
;
}
public
Long
getZe
()
{
return
ze
;
}
public
void
setZe
(
Long
ze
)
{
this
.
ze
=
ze
;
}
public
Long
getRe
()
{
return
re
;
}
public
void
setRe
(
Long
re
)
{
this
.
re
=
re
;
}
public
Long
getCe
()
{
return
ce
;
}
public
void
setCe
(
Long
ce
)
{
this
.
ce
=
ce
;
}
public
Long
getLe
()
{
return
le
;
}
public
void
setLe
(
Long
le
)
{
this
.
le
=
le
;
}
public
Long
getZt
()
{
return
zt
;
}
public
void
setZt
(
Long
zt
)
{
this
.
zt
=
zt
;
}
public
Long
getRt
()
{
return
rt
;
}
public
void
setRt
(
Long
rt
)
{
this
.
rt
=
rt
;
}
public
Long
getCt
()
{
return
ct
;
}
public
void
setCt
(
Long
ct
)
{
this
.
ct
=
ct
;
}
public
Long
getLt
()
{
return
lt
;
}
public
void
setLt
(
Long
lt
)
{
this
.
lt
=
lt
;
}
// // Getters 和 Setters
// public String getYs() {
// return ys;
// }
//
// public void setYs(String ys) {
// this.ys = ys;
// }
//
// public String getZe() {
// return ze;
// }
//
// public void setZe(String ze) {
// this.ze = ze;
// }
//
// public String getRe() {
// return re;
// }
//
// public void setRe(String re) {
// this.re = re;
// }
//
// public String getCe() {
// return ce;
// }
//
// public void setCe(String ce) {
// this.ce = ce;
// }
//
// public String getLe() {
// return le;
// }
//
// public void setLe(String le) {
// this.le = le;
// }
//
// public String getZt() {
// return zt;
// }
//
// public void setZt(String zt) {
// this.zt = zt;
// }
//
// public String getRt() {
// return rt;
// }
//
// public void setRt(String rt) {
// this.rt = rt;
// }
//
// public String getCt() {
// return ct;
// }
//
// public void setCt(String ct) {
// this.ct = ct;
// }
//
// public String getLt() {
// return lt;
// }
//
// public void setLt(String lt) {
// this.lt = lt;
// }
}
\ No newline at end of file
ruoyi-supplies/src/main/java/com/ruoyi/system/mapper/ActSuppliesConvertroleMapper.java
View file @
7787cfc7
...
...
@@ -2,6 +2,7 @@ package com.ruoyi.system.mapper;
import
java.util.List
;
import
com.ruoyi.system.domain.ActSuppliesConvertrole
;
import
com.ruoyi.system.domain.ActSuppliesTemplate
;
/**
* 通用规则Mapper接口
...
...
@@ -58,4 +59,10 @@ public interface ActSuppliesConvertroleMapper
* @return 结果
*/
public
int
deleteActSuppliesConvertByIds
(
Long
[]
ids
);
List
<
ActSuppliesTemplate
>
selectActSuppliesConvertListTemp
();
List
<
ActSuppliesConvertrole
>
convertRoleList
(
Integer
id
);
List
<
ActSuppliesConvertrole
>
convertRoleListid
(
Integer
id
);
}
ruoyi-supplies/src/main/java/com/ruoyi/system/service/IActSuppliesConvertroleService.java
View file @
7787cfc7
...
...
@@ -2,6 +2,7 @@ package com.ruoyi.system.service;
import
java.util.List
;
import
com.ruoyi.system.domain.ActSuppliesConvertrole
;
import
com.ruoyi.system.domain.ActSuppliesTemplate
;
/**
* 通用规则Service接口
...
...
@@ -58,4 +59,10 @@ public interface IActSuppliesConvertroleService
* @return 结果
*/
public
int
deleteActSuppliesConvertById
(
Long
id
);
List
<
ActSuppliesTemplate
>
selectActSuppliesConvertListTemp
();
List
<
ActSuppliesConvertrole
>
convertRoleList
(
Integer
id
);
List
<
ActSuppliesConvertrole
>
convertRoleListid
(
Integer
id
);
}
ruoyi-supplies/src/main/java/com/ruoyi/system/service/impl/ActSuppliesConvertroleServiceImpl.java
View file @
7787cfc7
package
com.ruoyi.system.service.impl
;
import
java.util.ArrayList
;
import
java.util.List
;
import
com.fasterxml.jackson.core.JsonProcessingException
;
import
com.fasterxml.jackson.databind.JsonNode
;
import
com.fasterxml.jackson.databind.ObjectMapper
;
import
com.ruoyi.common.core.domain.entity.SysUser
;
import
com.ruoyi.common.utils.DateUtils
;
import
com.ruoyi.common.utils.SecurityUtils
;
import
com.ruoyi.system.domain.ActSuppliesTemplate
;
import
com.ruoyi.system.domain.MyListItem
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
com.ruoyi.system.mapper.ActSuppliesConvertroleMapper
;
...
...
@@ -29,7 +38,25 @@ public class ActSuppliesConvertroleServiceImpl implements IActSuppliesConvertrol
@Override
public
ActSuppliesConvertrole
selectActSuppliesConvertById
(
Long
id
)
{
return
actSuppliesConvertMapper
.
selectActSuppliesConvertById
(
id
);
ActSuppliesConvertrole
actSuppliesConvertrole
=
actSuppliesConvertMapper
.
selectActSuppliesConvertById
(
id
);
String
content
=
actSuppliesConvertrole
.
getContent
();
ObjectMapper
objectMapper
=
new
ObjectMapper
();
MyListItem
[]
items
=
new
MyListItem
[
0
];
try
{
items
=
objectMapper
.
readValue
(
content
,
MyListItem
[].
class
);
}
catch
(
JsonProcessingException
e
)
{
e
.
printStackTrace
();
}
List
<
MyListItem
>
list
=
new
ArrayList
<>();
for
(
int
i
=
0
;
i
<
items
.
length
;
i
++){
list
.
add
(
items
[
i
]);
}
actSuppliesConvertrole
.
setList
(
list
);
return
actSuppliesConvertrole
;
}
/**
...
...
@@ -53,6 +80,26 @@ public class ActSuppliesConvertroleServiceImpl implements IActSuppliesConvertrol
@Override
public
int
insertActSuppliesConvert
(
ActSuppliesConvertrole
actSuppliesConvertrole
)
{
List
<
String
>
filteredList
=
new
ArrayList
<>();
for
(
int
i
=
0
;
i
<
actSuppliesConvertrole
.
getList
().
size
();
i
++){
filteredList
.
add
(
"{\"ce\":\""
+(
actSuppliesConvertrole
.
getList
().
get
(
i
).
getCe
()-
1
)+
"\",\"re\":\""
+(
actSuppliesConvertrole
.
getList
().
get
(
i
).
getRe
()-
1
)+
"\",\"le\":\""
+(
actSuppliesConvertrole
.
getList
().
get
(
i
).
getLe
())+
"\",\"ze\":\""
+(
actSuppliesConvertrole
.
getList
().
get
(
i
).
getZe
())+
"\",\"ct\":\""
+(
actSuppliesConvertrole
.
getList
().
get
(
i
).
getCt
()-
1
)+
"\",\"rt\":\""
+(
actSuppliesConvertrole
.
getList
().
get
(
i
).
getRt
()-
1
)+
"\",\"lt\":\""
+(
actSuppliesConvertrole
.
getList
().
get
(
i
).
getLt
())+
"\",\"zt\":\""
+(
actSuppliesConvertrole
.
getList
().
get
(
i
).
getZt
())+
"\",\"ys\":\""
+(
actSuppliesConvertrole
.
getList
().
get
(
i
).
getYs
())+
"\"}"
)
;
}
// [{"ce": "0", "re": "0", "le": "6","ze": "1", "ct": "0", "rt": "0","lt":"6","zt":"1","ys": "0"}]
String
content
=
String
.
join
(
","
,
filteredList
);
String
content2
=
"["
+
content
+
"]"
;
actSuppliesConvertrole
.
setContent
(
content2
);
SysUser
user
=
SecurityUtils
.
getLoginUser
().
getUser
();
actSuppliesConvertrole
.
setCreateBy
(
user
.
getUserName
());
actSuppliesConvertrole
.
setCreateTime
(
DateUtils
.
getNowDate
());
return
actSuppliesConvertMapper
.
insertActSuppliesConvert
(
actSuppliesConvertrole
);
}
...
...
@@ -66,6 +113,24 @@ public class ActSuppliesConvertroleServiceImpl implements IActSuppliesConvertrol
@Override
public
int
updateActSuppliesConvert
(
ActSuppliesConvertrole
actSuppliesConvertrole
)
{
List
<
String
>
filteredList
=
new
ArrayList
<>();
for
(
int
i
=
0
;
i
<
actSuppliesConvertrole
.
getList
().
size
();
i
++){
filteredList
.
add
(
"{\"ce\":\""
+(
actSuppliesConvertrole
.
getList
().
get
(
i
).
getCe
()-
1
)+
"\",\"re\":\""
+(
actSuppliesConvertrole
.
getList
().
get
(
i
).
getRe
()-
1
)+
"\",\"le\":\""
+(
actSuppliesConvertrole
.
getList
().
get
(
i
).
getLe
())+
"\",\"ze\":\""
+(
actSuppliesConvertrole
.
getList
().
get
(
i
).
getZe
())+
"\",\"ct\":\""
+(
actSuppliesConvertrole
.
getList
().
get
(
i
).
getCt
()-
1
)+
"\",\"rt\":\""
+(
actSuppliesConvertrole
.
getList
().
get
(
i
).
getRt
()-
1
)+
"\",\"lt\":\""
+(
actSuppliesConvertrole
.
getList
().
get
(
i
).
getLt
())+
"\",\"zt\":\""
+(
actSuppliesConvertrole
.
getList
().
get
(
i
).
getZt
())+
"\",\"ys\":\""
+(
actSuppliesConvertrole
.
getList
().
get
(
i
).
getYs
())+
"\"}"
)
;
}
// [{"ce": "0", "re": "0", "le": "6","ze": "1", "ct": "0", "rt": "0","lt":"6","zt":"1","ys": "0"}]
String
content
=
String
.
join
(
","
,
filteredList
);
String
content2
=
"["
+
content
+
"]"
;
actSuppliesConvertrole
.
setContent
(
content2
);
SysUser
user
=
SecurityUtils
.
getLoginUser
().
getUser
();
actSuppliesConvertrole
.
setUpdateBy
(
user
.
getUserName
());
actSuppliesConvertrole
.
setUpdateTime
(
DateUtils
.
getNowDate
());
return
actSuppliesConvertMapper
.
updateActSuppliesConvert
(
actSuppliesConvertrole
);
}
...
...
@@ -93,4 +158,19 @@ public class ActSuppliesConvertroleServiceImpl implements IActSuppliesConvertrol
{
return
actSuppliesConvertMapper
.
deleteActSuppliesConvertById
(
id
);
}
@Override
public
List
<
ActSuppliesTemplate
>
selectActSuppliesConvertListTemp
()
{
return
actSuppliesConvertMapper
.
selectActSuppliesConvertListTemp
();
}
@Override
public
List
<
ActSuppliesConvertrole
>
convertRoleList
(
Integer
id
)
{
return
actSuppliesConvertMapper
.
convertRoleList
(
id
);
}
@Override
public
List
<
ActSuppliesConvertrole
>
convertRoleListid
(
Integer
id
)
{
return
actSuppliesConvertMapper
.
convertRoleListid
(
id
);
}
}
ruoyi-supplies/src/main/java/com/ruoyi/system/service/impl/ActSuppliesRoleDetailServiceImpl.java
View file @
7787cfc7
...
...
@@ -72,6 +72,8 @@ public class ActSuppliesRoleDetailServiceImpl implements IActSuppliesRoleDetailS
}
// [{"ce": "0", "re": "0","le":"10" , "ze":"1" ,"ct":"1", "rt": "1", "lt": "10", "zt": "2","ys":"1"}]
String
content
=
String
.
join
(
","
,
filteredList
);
String
content2
=
"["
+
content
+
"]"
;
...
...
ruoyi-supplies/src/main/resources/mapper/system/ActSuppliesConvertMapper.xml
View file @
7787cfc7
...
...
@@ -7,6 +7,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<resultMap
type=
"ActSuppliesConvertrole"
id=
"ActSuppliesConvertResult"
>
<result
property=
"id"
column=
"id"
/>
<result
property=
"tempId"
column=
"temp_id"
/>
<result
property=
"templateName"
column=
"template_name"
/>
<result
property=
"name"
column=
"name"
/>
<result
property=
"content"
column=
"content"
/>
<result
property=
"status"
column=
"status"
/>
...
...
@@ -16,17 +17,33 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<result
property=
"updateTime"
column=
"update_time"
/>
</resultMap>
<resultMap
type=
"ActSuppliesTemplate"
id=
"SuppliesTemplateResult"
>
<result
property=
"id"
column=
"id"
/>
<result
property=
"detId"
column=
"det_id"
/>
<result
property=
"templateName"
column=
"template_name"
/>
<result
property=
"templateContent"
column=
"template_content"
/>
<result
property=
"status"
column=
"status"
/>
<result
property=
"createBy"
column=
"create_by"
/>
<result
property=
"createTime"
column=
"create_time"
/>
<result
property=
"updateBy"
column=
"update_by"
/>
<result
property=
"updateTime"
column=
"update_time"
/>
</resultMap>
<sql
id=
"selectActSuppliesConvertVo"
>
select id, temp_id, name, content, status, create_by, create_time, update_by, update_time from act_supplies_convert
</sql>
<select
id=
"selectActSuppliesConvertListTemp"
resultMap=
"SuppliesTemplateResult"
>
select id, template_name from act_supplies_template where status = 0;
</select>
<select
id=
"selectActSuppliesConvertList"
parameterType=
"ActSuppliesConvertrole"
resultMap=
"ActSuppliesConvertResult"
>
<include
refid=
"selectActSuppliesConvertVo"
/>
select a.id, a.temp_id,b.template_name, a.name, a.content, a.status from act_supplies_convert a,act_supplies_template b
<where>
<if
test=
"tempId != null "
>
and temp_id = #{tempId}
</if>
<if
test=
"
name != null and name != ''"
>
and name like concat('%', #{name}, '%')
</if>
<if
test=
"
content != null and content != ''"
>
and content = #{content}
</if>
<if
test=
"status != null "
>
and status = #{status}
</if>
a.temp_id = b.id
<if
test=
"
tempId != null "
>
and a.temp_id = #{tempId}
</if>
<if
test=
"
name != null and name != ''"
>
and a.name like concat('%', #{name}, '%')
</if>
<if
test=
"status != null "
>
and
a.
status = #{status}
</if>
</where>
</select>
...
...
@@ -84,4 +101,13 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
#{id}
</foreach>
</delete>
<select
id=
"convertRoleList"
parameterType=
"Integer"
resultMap=
"ActSuppliesConvertResult"
>
select id, temp_id, name from act_supplies_convert where status = 0 and temp_id = #{id}
</select>
<select
id=
"convertRoleListid"
parameterType=
"Integer"
resultMap=
"ActSuppliesConvertResult"
>
select id, temp_id, name, content from act_supplies_convert where status = 0 and id = #{id}
</select>
</mapper>
\ No newline at end of file
ruoyi-supplies/src/main/resources/mapper/system/ActSuppliesRoleDetailMapper.xml
View file @
7787cfc7
...
...
@@ -53,9 +53,6 @@
<select
id=
"saveSidsta"
parameterType=
"com.ruoyi.system.domain.ActSuppliesRole"
resultMap=
"ActSuppliesRoleResult"
>
select id, temp_id, role_name from act_supplies_role where status = 1;
</select>
<!-- <select id="saveOperation" parameterType="ActOperation" resultMap="ActOperationResult">-->
<!-- select id, operation_name, status from act_operation_role where status = 0-->
<!-- </select>-->
<select
id=
"selectActSuppliesRoleDetailList"
parameterType=
"ActSuppliesRoleDetail"
resultMap=
"ActSuppliesRoleDetailResult"
>
select a.id,a.role_id,a.detail_name,a.detail_content,a.convert_status,a.status,b.role_name,b.id detaId from act_supplies_role_detail a,act_supplies_role b
...
...
@@ -140,4 +137,5 @@
#{id}
</foreach>
</delete>
</mapper>
\ No newline at end of file
ruoyi-ui/src/api/ActSuppliesConvert/convert.js
View file @
7787cfc7
...
...
@@ -51,3 +51,28 @@ export function exportConvert(query) {
params
:
query
})
}
// 通用转换页面查询规则列表
export
function
convertRoleList
(
id
)
{
return
request
({
url
:
'
/ActSuppliesConvertrole/ActSuppliesConvertrole/convertRoleList/
'
+
id
,
method
:
'
get
'
})
}
// 通用转换页面查询规则详情
export
function
convertRoleListid
(
id
)
{
return
request
({
url
:
'
/ActSuppliesConvertrole/ActSuppliesConvertrole/convertRoleListid/
'
+
id
,
method
:
'
get
'
})
}
// 查询模板
export
function
listTemp
()
{
return
request
({
url
:
'
/ActSuppliesConvertrole/ActSuppliesConvertrole/listTemp
'
,
method
:
'
get
'
,
})
}
ruoyi-ui/src/views/ActSuppliesConvert/convert/indexConvert.vue
0 → 100644
View file @
7787cfc7
<
template
>
<div
class=
"app-container"
>
<el-form
ref=
"queryForm"
size=
"small"
:inline=
"true"
label-width=
"68px"
>
<el-form-item
label=
"模板"
prop=
"name"
>
<el-select
v-model=
"selectedOption"
ref=
"mySelect"
size=
"mini"
@
change=
"handleOptionChange"
filterable
placeholder=
"请选择您要查看的模板"
>
<!--
<el-option
label=
"自设的模板名"
value=
"使用空白模板"
></el-option>
-->
<el-option
v-for=
"item in depss"
:key=
"item.id"
:label=
"item.templateName"
:value=
"item.id"
>
</el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"规则"
prop=
"rule"
>
<el-select
v-model=
"selectedRule"
ref=
"mySelect"
size=
"mini"
@
change=
"handleRuleChange"
filterable
placeholder=
"请选择您要查看的规则"
>
<el-option
v-for=
"iem in luckyrule"
:key=
"iem.id"
:label=
"iem.name"
:value=
"iem.id"
>
</el-option>
</el-select>
</el-form-item>
<el-form-item>
<el-button
icon=
"el-icon-refresh"
size=
"mini"
@
click=
"resetQuery"
>
重置
</el-button>
</el-form-item>
</el-form>
<el-row
:gutter=
"10"
class=
"mb8"
>
<el-col
:span=
"1.5"
>
<el-button
type=
"warning"
plain
icon=
"el-icon-upload2"
size=
"mini"
@
click=
"handleExport"
>
导出
</el-button>
</el-col>
<el-col
:span=
"1.5"
>
<el-upload
type=
"file"
name=
"file"
ref=
"upload"
:before-upload=
"handleFileChange"
action=
''
accept=
'.xlsx'
:limit=
"1"
:file-list=
"fileList"
:disabled=
"disableNextButton"
:show-file-list=
false
>
<el-button
plain
size=
"mini"
icon=
"el-icon-download"
type=
"primary"
:disabled=
"disableNextButton"
>
导入
</el-button>
</el-upload>
</el-col>
</el-row>
<!-- luckysheet容器 -->
<div
id=
"luckysheet"
style=
"margin: 0px; padding: 0px; position: absolute; width: 100%; height:80vh; z-index: 0"
>
</div>
<div
v-if=
"showMask"
class=
"mask"
>
<div
class=
"loading-spinner"
></div>
</div>
</div>
</
template
>
<
script
>
import
{
getSuppliesTemplate
,
listSuppliesTemplate
}
from
"
@/api/ruoyi-myLuckyexcel/myluckyexcel
"
;
import
{
convertRoleList
,
convertRoleListid
}
from
"
@/api/ActSuppliesConvert/convert
"
/*import luckysheet from 'luckysheet'*/
import
LuckyExcel
from
'
luckyexcel
'
//导入库export.js 这个文件是es6的,不能在普通的HTML文件直接引入js文件(虽然都是js文件,但是有区别,具体请百度es6与es5)!需要把es6转es5才可以直接引入使用!
import
{
exportExcel
}
from
'
../../../../public/exportExcel
'
;
import
{
v4
as
uuidv4
}
from
'
uuid
'
;
var
fileName
=
"
新建XLSX工作表
"
;
//定义表名
var
rule
=
[];
var
tempId
;
var
roleId
;
export
default
{
name
:
"
Mymodule
"
,
data
()
{
return
{
showMask
:
false
,
uuid
:
''
,
//弹出页面的表名
from_name
:
""
,
// 是否显示弹出层
dialogVisible
:
false
,
selectedOption
:
''
,
selectedRule
:
''
,
luckysheetData
:
''
,
fileList
:
[],
disableNextButton
:
true
,
luckyrule
:
[],
depss
:
[],
// 表单参数
from
:
{},
dfrom
:
{},
// 查询参数
queryParams
:
{
status
:
0
},
};
},
created
()
{
this
.
getList
();
},
mounted
()
{
this
.
init
();
fileName
=
"
新建XLSX工作表
"
;
},
methods
:
{
/** 页面刷新时展示的数据*/
getList
()
{
listSuppliesTemplate
(
this
.
queryParams
).
then
(
response
=>
{
this
.
depss
=
response
.
rows
;
});
},
/** 下拉选和页面luckysheet绑定 */
handleOptionChange
()
{
this
.
selectedRule
=
''
;
this
.
disableNextButton
=
this
.
selectedRule
===
''
;
//根据选中的下拉选项值获取相应的信息
getSuppliesTemplate
(
this
.
selectedOption
).
then
(
response
=>
{
tempId
=
this
.
selectedOption
;
console
.
log
(
this
.
uuid
);
const
sysSupplies
=
response
.
rows
;
this
.
luckysheetData
=
sysSupplies
[
0
].
templateContent
;
//将接收到的json存到json_data中
//const json_data = response.data;
var
json_data
=
JSON
.
parse
(
sysSupplies
[
0
].
templateContent
);
convertRoleList
(
this
.
selectedOption
).
then
(
response
=>
{
this
.
luckyrule
=
response
.
rows
;
});
let
suffixArr
=
sysSupplies
[
0
].
templateName
.
split
(
'
.
'
);
fileName
=
suffixArr
[
0
];
//luckysheet.destroy()
luckysheet
.
create
({
container
:
"
luckysheet
"
,
// Luckysheet 的容器元素 ID
title
:
fileName
,
// Excel 文件名
data
:
json_data
,
// Excel 数据
showinfobar
:
false
,
//是否显示顶部名称栏
lang
:
'
zh
'
,
});
}).
catch
(()
=>
{
// 处理错误逻辑,这里是一个空的错误处理函数
this
.
$message
.
error
(
'
查询失败,发生未知错误!
'
);
});
},
/** 规则下拉选 调佣后端的方法*/
handleRuleChange
()
{
if
(
this
.
selectedOption
===
''
)
{
this
.
selectedRule
=
''
;
this
.
$message
.
warning
(
"
选择规则前请先选择模板!
"
);
return
;
// 如果按钮被禁用,提前返回,避免执行下一步操作
}
this
.
disableNextButton
=
this
.
selectedRule
===
''
;
convertRoleListid
(
this
.
selectedRule
).
then
(
response
=>
{
roleId
=
this
.
selectedRule
;
rule
=
response
.
rows
;
});
},
/** 回车事件和保存提交绑定 */
handleEnter
(
event
)
{
if
(
event
.
keyCode
===
13
)
{
event
.
preventDefault
();
// 阻止默认的回车事件
// 触发确定操作
this
.
submit_from
();
}
},
/** 重置按钮操作 */
resetQuery
()
{
//刷新下拉选框内容
fileName
=
"
新建XLSX工作表
"
;
this
.
selectedOption
=
''
;
this
.
disableNextButton
=
''
;
this
.
selectedRule
=
''
;
this
.
luckyrule
=
[];
//刷新luckysheet表格
this
.
init
();
},
/** Luckyexcel文档 */
init
()
{
let
options
=
{
container
:
'
luckysheet
'
,
//luckysheet为容器id
title
:
''
,
lang
:
'
zh
'
,
showinfobar
:
false
,
data
:
[
{
"
name
"
:
"
sheet1
"
,
//工作表名称
"
color
"
:
""
,
//工作表颜色
"
index
"
:
0
,
//工作表索引
"
status
"
:
1
,
//激活状态
"
order
"
:
0
,
//工作表的下标
"
hide
"
:
0
,
//是否隐藏
"
row
"
:
8
,
//行数
"
column
"
:
10
,
//列数
"
defaultRowHeight
"
:
19
,
//自定义行高
"
defaultColWidth
"
:
73
,
//自定义列宽
"
celldata
"
:
[],
//初始化使用的单元格数据
"
config
"
:
{
"
merge
"
:
{},
//合并单元格
"
rowlen
"
:
{},
//表格行高
"
columnlen
"
:
{},
//表格列宽
"
rowhidden
"
:
{},
//隐藏行
"
colhidden
"
:
{},
//隐藏列
"
borderInfo
"
:
{},
//边框
"
authority
"
:
{},
//工作表保护
},
},
]
}
luckysheet
.
create
(
options
);
},
/** 导入事件*/
async
handleFileChange
(
evt
)
{
let
exx
;
this
.
showMask
=
true
;
const
cons
=
new
Promise
((
resolve
,
reject
)
=>
{
LuckyExcel
.
transformExcelToLucky
(
evt
,
exportJson
=>
{
exx
=
exportJson
;
resolve
(
exx
);
});
});
try
{
const
exportJson
=
await
cons
;
await
this
.
summary
(
exportJson
);
//console.log('summary 执行完毕');
}
catch
(
Error
)
{
this
.
$message
({
message
:
Error
.
message
,
type
:
"
error
"
});
console
.
log
(
Error
.
message
);
console
.
log
(
"
这里是最外面的地方
"
);
}
finally
{
// 导入完成后关闭遮罩层
this
.
showMask
=
false
;
}
},
/** 物料转换汇总到页面*/
summary
(
exportJson
)
{
let
sysRules
;
let
value
=
[];
let
data
;
//获取规则 sysRulez是物料转换 sysRules是数据汇总规则 13
for
(
let
i
=
0
;
i
<
rule
.
length
;
i
++
)
{
sysRules
=
JSON
.
parse
(
rule
[
i
].
content
);
}
try
{
//获取物料转换的sheet表
data
=
window
.
luckysheet
.
transToData
(
exportJson
.
sheets
[
0
].
celldata
);
}
catch
(
err
)
{
throw
new
Error
(
"
导入失败,所选文件或规则有误
"
);
}
let
map
=
new
Map
();
let
smallMat
=
[];
let
deps
=
[];
for
(
let
i
=
0
;
i
<
sysRules
.
length
;
i
++
){
debugger
//判断运算方法/0无运算方法/1加法/2减法/3乘法/4除法/5平均值/6最大值/7最小值
if
(
sysRules
[
i
].
ys
==
0
){
//判断导入表行列单元格/1行/2列/3单元格
if
(
sysRules
[
i
].
ze
==
1
){
//判断模板表行列单元格/1行/2列/3单元格
if
(
sysRules
[
i
].
zt
==
1
){
for
(
let
j
=
parseInt
(
sysRules
[
i
].
ce
),
x
=
parseInt
(
sysRules
[
i
].
ct
);
j
<
parseInt
(
sysRules
[
i
].
le
)
+
parseInt
(
sysRules
[
i
].
ce
);
j
++
,
x
++
){
luckysheet
.
setCellValue
(
parseInt
(
sysRules
[
i
].
rt
),
x
,
data
[
parseInt
(
sysRules
[
i
].
re
)][
j
].
v
)
}
}
else
if
(
sysRules
[
i
].
zt
==
2
){
for
(
let
j
=
parseInt
(
sysRules
[
i
].
ce
),
x
=
parseInt
(
sysRules
[
i
].
rt
);
j
<
parseInt
(
sysRules
[
i
].
le
)
+
parseInt
(
sysRules
[
i
].
ce
);
j
++
,
x
++
){
luckysheet
.
setCellValue
(
x
,
parseInt
(
sysRules
[
i
].
ct
),
data
[
parseInt
(
sysRules
[
i
].
re
)][
j
].
v
)
}
}
}
else
if
(
sysRules
[
i
].
ze
==
2
){
if
(
sysRules
[
i
].
zt
==
1
){
for
(
let
j
=
parseInt
(
sysRules
[
i
].
re
),
x
=
parseInt
(
sysRules
[
i
].
ct
);
j
<
parseInt
(
sysRules
[
i
].
le
)
+
parseInt
(
sysRules
[
i
].
re
);
j
++
,
x
++
){
luckysheet
.
setCellValue
(
parseInt
(
sysRules
[
i
].
rt
),
x
,
data
[
j
][
parseInt
(
sysRules
[
i
].
ce
)].
v
)
}
}
else
if
(
sysRules
[
i
].
zt
==
2
){
for
(
let
j
=
parseInt
(
sysRules
[
i
].
re
),
x
=
parseInt
(
sysRules
[
i
].
rt
);
j
<
parseInt
(
sysRules
[
i
].
le
)
+
parseInt
(
sysRules
[
i
].
re
);
j
++
,
x
++
){
luckysheet
.
setCellValue
(
x
,
parseInt
(
sysRules
[
i
].
ct
),
data
[
j
][
parseInt
(
sysRules
[
i
].
ce
)].
v
)
}
}
}
else
if
(
sysRules
[
i
].
ze
==
3
){
if
(
sysRules
[
i
].
zt
==
1
){
for
(
let
x
=
parseInt
(
sysRules
[
i
].
ct
);
x
<
parseInt
(
sysRules
[
i
].
lt
)
+
parseInt
(
sysRules
[
i
].
ct
);
x
++
){
luckysheet
.
setCellValue
(
parseInt
(
sysRules
[
i
].
rt
),
x
,
data
[
parseInt
(
sysRules
[
i
].
re
)][
parseInt
(
sysRules
[
i
].
ce
)].
v
)
}
}
else
if
(
sysRules
[
i
].
zt
==
2
){
for
(
let
x
=
parseInt
(
sysRules
[
i
].
rt
);
x
<
parseInt
(
sysRules
[
i
].
lt
)
+
parseInt
(
sysRules
[
i
].
rt
);
x
++
){
luckysheet
.
setCellValue
(
x
,
parseInt
(
sysRules
[
i
].
ct
),
data
[
parseInt
(
sysRules
[
i
].
re
)][
parseInt
(
sysRules
[
i
].
ce
)].
v
)
}
}
else
if
(
sysRules
[
i
].
zt
==
3
){
luckysheet
.
setCellValue
(
parseInt
(
sysRules
[
i
].
rt
),
parseInt
(
sysRules
[
i
].
ct
),
data
[
parseInt
(
sysRules
[
i
].
re
)][
parseInt
(
sysRules
[
i
].
ce
)].
v
)
}
}
}
else
if
(
sysRules
[
i
].
ys
==
2
){
//减法
if
(
sysRules
[
i
].
ze
==
1
){
if
(
sysRules
[
i
].
zt
==
3
){
let
sum
=
parseInt
(
data
[
parseInt
(
sysRules
[
i
].
re
)][
parseInt
(
sysRules
[
i
].
ce
)].
v
);
for
(
let
j
=
parseInt
(
sysRules
[
i
].
ce
)
+
1
;
j
<
parseInt
(
sysRules
[
i
].
le
)
+
parseInt
(
sysRules
[
i
].
ce
);
j
++
){
sum
-=
parseInt
(
data
[
parseInt
(
sysRules
[
i
].
re
)][
j
].
v
);
}
luckysheet
.
setCellValue
(
parseInt
(
sysRules
[
i
].
rt
),
parseInt
(
sysRules
[
i
].
ct
),
sum
);
}
}
else
if
(
sysRules
[
i
].
ze
==
2
){
if
(
sysRules
[
i
].
zt
==
3
){
let
sum
=
parseInt
(
data
[
parseInt
(
sysRules
[
i
].
re
)][
parseInt
(
sysRules
[
i
].
ce
)].
v
);
for
(
let
j
=
parseInt
(
sysRules
[
i
].
re
)
+
1
;
j
<
parseInt
(
sysRules
[
i
].
le
)
+
parseInt
(
sysRules
[
i
].
re
);
j
++
){
sum
-=
parseInt
(
data
[
j
][
parseInt
(
sysRules
[
i
].
ce
)].
v
);
}
luckysheet
.
setCellValue
(
parseInt
(
sysRules
[
i
].
rt
),
parseInt
(
sysRules
[
i
].
ct
),
sum
);
}
}
}
else
if
(
sysRules
[
i
].
ys
==
3
){
//乘法
if
(
sysRules
[
i
].
ze
==
1
){
if
(
sysRules
[
i
].
zt
==
3
){
let
sum
=
parseInt
(
data
[
parseInt
(
sysRules
[
i
].
re
)][
parseInt
(
sysRules
[
i
].
ce
)].
v
);
for
(
let
j
=
parseInt
(
sysRules
[
i
].
ce
)
+
1
;
j
<
parseInt
(
sysRules
[
i
].
le
)
+
parseInt
(
sysRules
[
i
].
ce
);
j
++
){
sum
*=
parseInt
(
data
[
parseInt
(
sysRules
[
i
].
re
)][
j
].
v
);
}
luckysheet
.
setCellValue
(
parseInt
(
sysRules
[
i
].
rt
),
parseInt
(
sysRules
[
i
].
ct
),
sum
);
}
}
else
if
(
sysRules
[
i
].
ze
==
2
){
if
(
sysRules
[
i
].
zt
==
3
){
let
sum
=
parseInt
(
data
[
parseInt
(
sysRules
[
i
].
re
)][
parseInt
(
sysRules
[
i
].
ce
)].
v
);
for
(
let
j
=
parseInt
(
sysRules
[
i
].
re
)
+
1
;
j
<
parseInt
(
sysRules
[
i
].
le
)
+
parseInt
(
sysRules
[
i
].
re
);
j
++
){
sum
*=
parseInt
(
data
[
j
][
parseInt
(
sysRules
[
i
].
ce
)].
v
);
}
luckysheet
.
setCellValue
(
parseInt
(
sysRules
[
i
].
rt
),
parseInt
(
sysRules
[
i
].
ct
),
sum
);
}
}
}
else
if
(
sysRules
[
i
].
ys
==
4
){
//除法
if
(
sysRules
[
i
].
ze
==
1
){
if
(
sysRules
[
i
].
zt
==
3
){
let
sum
=
parseInt
(
data
[
parseInt
(
sysRules
[
i
].
re
)][
parseInt
(
sysRules
[
i
].
ce
)].
v
);
for
(
let
j
=
parseInt
(
sysRules
[
i
].
ce
)
+
1
;
j
<
parseInt
(
sysRules
[
i
].
le
)
+
parseInt
(
sysRules
[
i
].
ce
);
j
++
){
sum
/=
parseInt
(
data
[
parseInt
(
sysRules
[
i
].
re
)][
j
].
v
);
}
luckysheet
.
setCellValue
(
parseInt
(
sysRules
[
i
].
rt
),
parseInt
(
sysRules
[
i
].
ct
),
sum
);
}
}
else
if
(
sysRules
[
i
].
ze
==
2
){
if
(
sysRules
[
i
].
zt
==
3
){
let
sum
=
parseInt
(
data
[
parseInt
(
sysRules
[
i
].
re
)][
parseInt
(
sysRules
[
i
].
ce
)].
v
);
for
(
let
j
=
parseInt
(
sysRules
[
i
].
re
)
+
1
;
j
<
parseInt
(
sysRules
[
i
].
le
)
+
parseInt
(
sysRules
[
i
].
re
);
j
++
){
sum
/=
parseInt
(
data
[
j
][
parseInt
(
sysRules
[
i
].
ce
)].
v
);
}
luckysheet
.
setCellValue
(
parseInt
(
sysRules
[
i
].
rt
),
parseInt
(
sysRules
[
i
].
ct
),
sum
);
}
}
}
else
if
(
sysRules
[
i
].
ys
==
1
){
//和
if
(
sysRules
[
i
].
ze
==
1
){
if
(
sysRules
[
i
].
zt
==
3
){
debugger
let
sum
=
parseInt
(
data
[
parseInt
(
sysRules
[
i
].
re
)][
parseInt
(
sysRules
[
i
].
ce
)].
v
);
for
(
let
j
=
parseInt
(
sysRules
[
i
].
ce
)
+
1
;
j
<
parseInt
(
sysRules
[
i
].
le
)
+
parseInt
(
sysRules
[
i
].
ce
);
j
++
){
sum
+=
parseInt
(
data
[
parseInt
(
sysRules
[
i
].
re
)][
j
].
v
);
}
luckysheet
.
setCellValue
(
parseInt
(
sysRules
[
i
].
rt
),
parseInt
(
sysRules
[
i
].
ct
),
sum
);
}
}
else
if
(
sysRules
[
i
].
ze
==
2
){
if
(
sysRules
[
i
].
zt
==
3
){
let
sum
=
parseInt
(
data
[
parseInt
(
sysRules
[
i
].
re
)][
parseInt
(
sysRules
[
i
].
ce
)].
v
);
for
(
let
j
=
parseInt
(
sysRules
[
i
].
re
)
+
1
;
j
<
parseInt
(
sysRules
[
i
].
le
)
+
parseInt
(
sysRules
[
i
].
re
);
j
++
){
sum
+=
parseInt
(
data
[
j
][
parseInt
(
sysRules
[
i
].
ce
)].
v
);
}
luckysheet
.
setCellValue
(
parseInt
(
sysRules
[
i
].
rt
),
parseInt
(
sysRules
[
i
].
ct
),
sum
);
}
}
}
else
if
(
sysRules
[
i
].
ys
==
5
){
//平均值
if
(
sysRules
[
i
].
ze
==
1
){
if
(
sysRules
[
i
].
zt
==
3
){
debugger
let
sum
=
parseInt
(
data
[
parseInt
(
sysRules
[
i
].
re
)][
parseInt
(
sysRules
[
i
].
ce
)].
v
);
for
(
let
j
=
parseInt
(
sysRules
[
i
].
ce
)
+
1
;
j
<
parseInt
(
sysRules
[
i
].
le
)
+
parseInt
(
sysRules
[
i
].
ce
);
j
++
){
sum
+=
parseInt
(
data
[
parseInt
(
sysRules
[
i
].
re
)][
j
].
v
);
}
luckysheet
.
setCellValue
(
parseInt
(
sysRules
[
i
].
rt
),
parseInt
(
sysRules
[
i
].
ct
),
sum
/
parseInt
(
sysRules
[
i
].
le
));
}
}
else
if
(
sysRules
[
i
].
ze
==
2
){
if
(
sysRules
[
i
].
zt
==
3
){
let
sum
=
parseInt
(
data
[
parseInt
(
sysRules
[
i
].
re
)][
parseInt
(
sysRules
[
i
].
ce
)].
v
);
for
(
let
j
=
parseInt
(
sysRules
[
i
].
re
)
+
1
;
j
<
parseInt
(
sysRules
[
i
].
le
)
+
parseInt
(
sysRules
[
i
].
re
);
j
++
){
sum
+=
parseInt
(
data
[
j
][
parseInt
(
sysRules
[
i
].
ce
)].
v
);
}
luckysheet
.
setCellValue
(
parseInt
(
sysRules
[
i
].
rt
),
parseInt
(
sysRules
[
i
].
ct
),
sum
/
parseInt
(
sysRules
[
i
].
le
));
}
}
}
else
if
(
sysRules
[
i
].
ys
==
6
){
//最大值
if
(
sysRules
[
i
].
ze
==
1
){
if
(
sysRules
[
i
].
zt
==
3
){
debugger
let
sum
=
parseInt
(
data
[
parseInt
(
sysRules
[
i
].
re
)][
parseInt
(
sysRules
[
i
].
ce
)].
v
);
for
(
let
j
=
parseInt
(
sysRules
[
i
].
ce
)
+
1
;
j
<
parseInt
(
sysRules
[
i
].
le
)
+
parseInt
(
sysRules
[
i
].
ce
);
j
++
){
if
(
sum
<
parseInt
(
data
[
parseInt
(
sysRules
[
i
].
re
)][
j
].
v
)){
sum
=
parseInt
(
data
[
parseInt
(
sysRules
[
i
].
re
)][
j
].
v
);
}
}
luckysheet
.
setCellValue
(
parseInt
(
sysRules
[
i
].
rt
),
parseInt
(
sysRules
[
i
].
ct
),
sum
);
}
}
else
if
(
sysRules
[
i
].
ze
==
2
){
if
(
sysRules
[
i
].
zt
==
3
){
let
sum
=
parseInt
(
data
[
parseInt
(
sysRules
[
i
].
re
)][
parseInt
(
sysRules
[
i
].
ce
)].
v
);
for
(
let
j
=
parseInt
(
sysRules
[
i
].
re
)
+
1
;
j
<
parseInt
(
sysRules
[
i
].
le
)
+
parseInt
(
sysRules
[
i
].
re
);
j
++
){
if
(
sum
<
parseInt
(
data
[
j
][
parseInt
(
sysRules
[
i
].
ce
)].
v
)){
sum
=
parseInt
(
data
[
j
][
parseInt
(
sysRules
[
i
].
ce
)].
v
);
}
}
luckysheet
.
setCellValue
(
parseInt
(
sysRules
[
i
].
rt
),
parseInt
(
sysRules
[
i
].
ct
),
sum
);
}
}
}
else
if
(
sysRules
[
i
].
ys
==
7
){
//最小值
if
(
sysRules
[
i
].
ze
==
1
){
if
(
sysRules
[
i
].
zt
==
3
){
debugger
let
sum
=
parseInt
(
data
[
parseInt
(
sysRules
[
i
].
re
)][
parseInt
(
sysRules
[
i
].
ce
)].
v
);
for
(
let
j
=
parseInt
(
sysRules
[
i
].
ce
)
+
1
;
j
<
parseInt
(
sysRules
[
i
].
le
)
+
parseInt
(
sysRules
[
i
].
ce
);
j
++
){
if
(
sum
<
parseInt
(
data
[
parseInt
(
sysRules
[
i
].
re
)][
j
].
v
)){
sum
=
parseInt
(
data
[
parseInt
(
sysRules
[
i
].
re
)][
j
].
v
);
}
}
luckysheet
.
setCellValue
(
parseInt
(
sysRules
[
i
].
rt
),
parseInt
(
sysRules
[
i
].
ct
),
sum
);
}
}
else
if
(
sysRules
[
i
].
ze
==
2
){
if
(
sysRules
[
i
].
zt
==
3
){
let
sum
=
parseInt
(
data
[
parseInt
(
sysRules
[
i
].
re
)][
parseInt
(
sysRules
[
i
].
ce
)].
v
);
for
(
let
j
=
parseInt
(
sysRules
[
i
].
re
)
+
1
;
j
<
parseInt
(
sysRules
[
i
].
le
)
+
parseInt
(
sysRules
[
i
].
re
);
j
++
){
if
(
sum
<
parseInt
(
data
[
j
][
parseInt
(
sysRules
[
i
].
ce
)].
v
)){
sum
=
parseInt
(
data
[
j
][
parseInt
(
sysRules
[
i
].
ce
)].
v
);
}
}
luckysheet
.
setCellValue
(
parseInt
(
sysRules
[
i
].
rt
),
parseInt
(
sysRules
[
i
].
ct
),
sum
);
}
}
}
}
//切换到想要的sheet
luckysheet
.
setSheetActive
(
0
);
},
/** 导出设置 */
handleExport
:
debounce
(
function
()
{
// 处理点击事件
exportExcel
(
luckysheet
.
getAllSheets
(),
fileName
)
},
500
),
// 设置延迟时间,单位为毫秒
}
// 配置项111
};
// debounce函数定义
function
debounce
(
func
,
delay
)
{
let
timer
;
return
function
()
{
const
context
=
this
;
const
args
=
arguments
;
clearTimeout
(
timer
);
timer
=
setTimeout
(
function
()
{
func
.
apply
(
context
,
args
);
},
delay
);
};
}
function
getKeyByValue
(
map
,
value
)
{
for
(
let
[
key
,
val
]
of
map
)
{
if
(
val
===
value
)
{
return
key
;
}
if
(
Array
.
isArray
(
val
)
&&
val
.
includes
(
value
))
{
return
key
;
}
}
}
</
script
>
<
style
>
.mask
{
position
:
fixed
;
top
:
0
;
left
:
0
;
width
:
100%
;
height
:
100%
;
background-color
:
rgba
(
0
,
0
,
0
,
0.5
);
display
:
flex
;
justify-content
:
center
;
align-items
:
center
;
}
.loading-spinner
{
/* 添加你的加载动画样式 */
width
:
40px
;
height
:
40px
;
border-radius
:
50%
;
border
:
4px
solid
#f3f3f3
;
border-top
:
4px
solid
#3498db
;
animation
:
spin
1s
linear
infinite
;
}
@keyframes
spin
{
0
%
{
transform
:
rotate
(
0deg
);
}
100
%
{
transform
:
rotate
(
360deg
);
}
}
</
style
>
ruoyi-ui/src/views/system/supplies/index.vue
View file @
7787cfc7
...
...
@@ -969,6 +969,9 @@ export default {
let
vll2
=
luckysheet
.
getCellValue
(
rowws
,
parseInt
(
sysRulez
[
0
].
ct
)
+
1
);
luckysheet
.
setCellValue
(
rowws
+
1
,
parseInt
(
sysRulez
[
0
].
ct
)
+
1
,
vll2
);
//输出部门数量金额
luckysheet
.
setCellValue
(
rowws
+
1
,
sysRulez
[
1
].
ct
,
depp
);
for
(
let
i
=
0
;
i
<
sysRules
.
length
;
i
++
)
{
luckysheet
.
setCellValue
(
rowws
+
1
,
sysRules
[
i
].
ct
,
value
[
i
]);
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment