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
1aac41fc
Commit
1aac41fc
authored
Aug 15, 2023
by
lvzhuangzhuang
Browse files
Options
Browse Files
Download
Plain Diff
Merge remote-tracking branch 'origin/master'
parents
6589c838
24fa7fd9
Changes
6
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
351 additions
and
108431 deletions
+351
-108431
ruoyi-ui/package.json
ruoyi-ui/package.json
+37
-39
ruoyi-ui/src/views/index.vue
ruoyi-ui/src/views/index.vue
+113
-26
ruoyi-ui/src/views/system/supplies/index.vue
ruoyi-ui/src/views/system/supplies/index.vue
+86
-48
ruoyi-ui/src/views/system/supplies/indexupload.vue
ruoyi-ui/src/views/system/supplies/indexupload.vue
+109
-139
ruoyi-ui/src/views/system/supplies/upload.vue
ruoyi-ui/src/views/system/supplies/upload.vue
+6
-3
sql/hbghgz_sc_20230720.sql
sql/hbghgz_sc_20230720.sql
+0
-108176
No files found.
ruoyi-ui/package.json
View file @
1aac41fc
...
...
@@ -4,13 +4,13 @@
"description"
:
"开滦集团报送系统"
,
"author"
:
"若依"
,
"license"
:
"MIT"
,
"scripts"
:
{
"dev"
:
"vue-cli-service serve"
,
"build:prod"
:
"vue-cli-service build"
,
"build:stage"
:
"vue-cli-service build --mode staging"
,
"preview"
:
"node build/index.js --preview"
,
"lint"
:
"eslint --ext .js,.vue src"
},
"scripts"
:
{
"dev"
:
"vue-cli-service serve"
,
"build:prod"
:
"vue-cli-service build"
,
"build:stage"
:
"vue-cli-service build --mode staging"
,
"preview"
:
"node build/index.js --preview"
,
"lint"
:
"eslint --ext .js,.vue src"
},
"husky"
:
{
"hooks"
:
{
"pre-commit"
:
"lint-staged"
...
...
@@ -36,16 +36,21 @@
"url"
:
"https://gitee.com/y_project/RuoYi-Vue.git"
},
"dependencies"
:
{
"@riophae/vue-treeselect"
:
"0.4.0"
,
"@vue/cli-plugin-babel"
:
"4.4.6"
,
"@vue/cli-plugin-eslint"
:
"4.4.6"
,
"@vue/cli-service"
:
"4.4.6"
,
"@riophae/vue-treeselect"
:
"0.4.0"
,
"af-table-column"
:
"^1.0.3"
,
"axios"
:
"0.21.0"
,
"babel-eslint"
:
"10.1.0"
,
"chalk"
:
"4.1.0"
,
"clipboard"
:
"2.0.6"
,
"connect"
:
"3.6.6"
,
"core-js"
:
"3.8.1"
,
"echarts"
:
"4.9.0"
,
"element-ui"
:
"2.15.0"
,
"eslint"
:
"7.15.0"
,
"eslint-plugin-vue"
:
"7.2.0"
,
"exceljs"
:
"^4.3.0"
,
"file-saver"
:
"^2.0.5"
,
"fuse.js"
:
"6.4.3"
,
...
...
@@ -54,45 +59,44 @@
"js-beautify"
:
"1.13.0"
,
"js-cookie"
:
"2.2.1"
,
"jsencrypt"
:
"3.0.0-rc.1"
,
"lint-staged"
:
"10.5.3"
,
"luckyexcel"
:
"^1.0.1"
,
"nprogress"
:
"0.2.0"
,
"quill"
:
"1.3.7"
,
"runjs"
:
"4.4.2"
,
"sass"
:
"1.32.0"
,
"sass-loader"
:
"10.1.0"
,
"screenfull"
:
"5.0.2"
,
"script-ext-html-webpack-plugin"
:
"2.1.5"
,
"scriptjs"
:
"^2.5.9"
,
"sortablejs"
:
"1.10.2"
,
"svg-sprite-loader"
:
"5.1.1"
,
"uuid"
:
"^9.0.0"
,
"vue"
:
"2.6.12"
,
"vue-append"
:
"^2.2.0"
,
"vue-count-to"
:
"1.0.13"
,
"vue-cropper"
:
"0.5.5"
,
"vue-router"
:
"3.4.9"
,
"vue-template-compiler"
:
"2.6.12"
,
"vuedraggable"
:
"2.24.3"
,
"vuex"
:
"3.6.0"
,
"xlsx"
:
"^0.17.5"
,
"babel-eslint"
:
"10.1.0"
,
"chalk"
:
"4.1.0"
,
"connect"
:
"3.6.6"
,
"eslint"
:
"7.15.0"
,
"eslint-plugin-vue"
:
"7.2.0"
,
"lint-staged"
:
"10.5.3"
,
"runjs"
:
"4.4.2"
,
"sass"
:
"1.32.0"
,
"sass-loader"
:
"10.1.0"
,
"script-ext-html-webpack-plugin"
:
"2.1.5"
,
"svg-sprite-loader"
:
"5.1.1"
,
"vue-template-compiler"
:
"2.6.12"
"xlsx"
:
"^0.17.5"
},
"devDependencies"
:
{
"@riophae/vue-treeselect"
:
"0.4.0"
,
"@vue/cli-plugin-babel"
:
"4.4.6"
,
"@vue/cli-plugin-eslint"
:
"4.4.6"
,
"@vue/cli-service"
:
"4.4.6"
,
"@riophae/vue-treeselect"
:
"0.4.0"
,
"af-table-column"
:
"^1.0.3"
,
"axios"
:
"0.21.0"
,
"babel-eslint"
:
"10.1.0"
,
"chalk"
:
"4.1.0"
,
"clipboard"
:
"2.0.6"
,
"connect"
:
"3.6.6"
,
"core-js"
:
"3.8.1"
,
"echarts"
:
"4.9.0"
,
"element-ui"
:
"2.15.0"
,
"eslint"
:
"7.15.0"
,
"eslint-plugin-vue"
:
"7.2.0"
,
"exceljs"
:
"^4.3.0"
,
"file-saver"
:
"^2.0.5"
,
"fuse.js"
:
"6.4.3"
,
...
...
@@ -101,33 +105,27 @@
"js-beautify"
:
"1.13.0"
,
"js-cookie"
:
"2.2.1"
,
"jsencrypt"
:
"3.0.0-rc.1"
,
"lint-staged"
:
"10.5.3"
,
"luckyexcel"
:
"^1.0.1"
,
"nprogress"
:
"0.2.0"
,
"quill"
:
"1.3.7"
,
"runjs"
:
"4.4.2"
,
"sass"
:
"1.32.0"
,
"sass-loader"
:
"10.1.0"
,
"screenfull"
:
"5.0.2"
,
"script-ext-html-webpack-plugin"
:
"2.1.5"
,
"scriptjs"
:
"^2.5.9"
,
"sortablejs"
:
"1.10.2"
,
"sortablejs"
:
"^1.10.2"
,
"svg-sprite-loader"
:
"5.1.1"
,
"vue"
:
"2.6.12"
,
"vue-append"
:
"^2.2.0"
,
"vue-count-to"
:
"1.0.13"
,
"vue-cropper"
:
"0.5.5"
,
"vue-router"
:
"3.4.9"
,
"vue-template-compiler"
:
"2.6.12"
,
"vuedraggable"
:
"2.24.3"
,
"vuex"
:
"3.6.0"
,
"xlsx"
:
"^0.17.5"
,
"babel-eslint"
:
"10.1.0"
,
"chalk"
:
"4.1.0"
,
"connect"
:
"3.6.6"
,
"eslint"
:
"7.15.0"
,
"eslint-plugin-vue"
:
"7.2.0"
,
"lint-staged"
:
"10.5.3"
,
"runjs"
:
"4.4.2"
,
"sass"
:
"1.32.0"
,
"sass-loader"
:
"10.1.0"
,
"script-ext-html-webpack-plugin"
:
"2.1.5"
,
"svg-sprite-loader"
:
"5.1.1"
,
"vue-template-compiler"
:
"2.6.12"
"xlsx"
:
"^0.17.5"
},
"engines"
:
{
"node"
:
">=8.9"
,
...
...
ruoyi-ui/src/views/index.vue
View file @
1aac41fc
<
template
>
<div
class=
"index"
>
<!--
<div
class=
"el-login-header"
>
<img
src=
"../assets/logo/logo.png"
width=
"80"
height=
"80"
style=
"vertical-align: middle;margin-bottom: 20px;"
>
<span
class=
"text"
>
开滦(集团)有限责任公司
</span>
</div>
-->
<div
class=
"container"
>
</div
>
<div
class=
"main-content"
>
</div>
<div
class=
"main-footer"
>
<span>
开滦集团财务共享中心
</span>
<span
class=
"split"
>
|
</span>
<span>
河北天翼科贸发展有限公司
</span>
</div>
</div>
<!-- 开滦(集团)财务共享中心&河北天翼科贸发展有限公司-->
</
template
>
<
script
>
...
...
@@ -14,35 +20,116 @@
export
default
{
name
:
'
Index
'
,
components
:
{
name
:
'
Index
'
,
components
:
{
},
data
()
{
return
{
},
data
()
{
return
{
}
},
methods
:
{
}
},
methods
:
{
}
}
}
</
script
>
<
style
rel=
"stylesheet/scss"
lang=
"scss"
>
.index
{
<
style
scoped
>
.container
{
display
:
flex
;
justify-content
:
center
;
align-items
:
center
;
height
:
855px
;
flex-direction
:
column
;
height
:
calc
(
100vh
-
84px
);
background-image
:
url("../assets/images/login-background2.jpg")
;
background-position
:
center
;
background-size
:
cover
;
}
.title
{
margin
:
0px
auto
30px
auto
;
text-align
:
center
;
color
:
#707070
;
}
}
.main-footer
{
position
:
absolute
;
left
:
0
;
bottom
:
0
;
right
:
0
;
z-index
:
10
;
color
:
#fff
;
font-size
:
18px
;
display
:
flex
;
align-items
:
center
;
justify-content
:
center
;
padding
:
15px
;
}
.main-footer
.split
{
padding
:
0
10px
;
font-size
:
12px
;
}
</
style
>
<!--<template>-->
<!-- <div class="container">-->
<!-- <div class="index">-->
<!-- </div>-->
<!-- <div class="input" style="position: absolute; bottom: 0;">-->
<!-- 开发中心-->
<!-- </div>-->
<!-- </div>-->
<!--<!– 开滦(集团)财务共享中心&河北天翼科贸发展有限公司–>-->
<!--</template>-->
<!--<script>-->
<!--export default {-->
<!-- name: 'Index',-->
<!-- components: {-->
<!-- },-->
<!-- data() {-->
<!-- return {-->
<!-- }-->
<!-- },-->
<!-- methods: {-->
<!-- }-->
<!--}-->
<!--</script>-->
<!--<style rel="stylesheet/scss" lang="scss">-->
<!-- .index {-->
<!-- display: flex;-->
<!-- justify-content: center;-->
<!-- align-items: center;-->
<!-- flex: 9;-->
<!-- height: 90vh;-->
<!-- background-image: url("../assets/images/login-background2.jpg");-->
<!-- background-position: center;-->
<!-- background-size: cover;-->
<!-- }-->
<!-- .title {-->
<!-- margin: 0px auto 30px auto;-->
<!-- text-align: center;-->
<!-- color: #707070;-->
<!-- }-->
<!-- .input{-->
<!-- flex: 1;-->
<!-- font-size: 30px;-->
<!-- color: #1b1b19;-->
<!-- }-->
<!-- .container {-->
<!-- display: flex;-->
<!-- flex-direction: column;-->
<!-- height: 100vh;-->
<!-- }-->
<!--</style>-->
ruoyi-ui/src/views/system/supplies/index.vue
View file @
1aac41fc
<
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.roleName"
: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-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.roleName"
: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>
<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"
>
<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%;
left: 0px; top: 110px; height: 1000px
; z-index: 0"
style=
"margin: 0px; padding: 0px; position: absolute; width: 100%;
height:78vh
; z-index: 0"
>
</div>
<div
v-if=
"showMask"
class=
"mask"
>
<div
class=
"loading-spinner"
></div>
</div>
</div>
</
template
>
...
...
@@ -77,6 +81,7 @@ export default {
name
:
"
Mymodule
"
,
data
()
{
return
{
showMask
:
false
,
uuid
:
''
,
//弹出页面的表名
from_name
:
""
,
...
...
@@ -245,7 +250,7 @@ export default {
/** 导入事件*/
async
handleFileChange
(
evt
)
{
let
exx
;
this
.
showMask
=
true
;
const
cons
=
new
Promise
((
resolve
,
reject
)
=>
{
LuckyExcel
.
transformExcelToLucky
(
evt
,
exportJson
=>
{
exx
=
exportJson
;
...
...
@@ -257,7 +262,10 @@ export default {
const
exportJson
=
await
cons
;
await
this
.
summary
(
exportJson
);
console
.
log
(
'
summary 执行完毕
'
);
// 导入完成后关闭遮罩层
this
.
showMask
=
false
;
this
.
submit
(
exportJson
);
}
catch
(
Error
)
{
this
.
$message
({
message
:
Error
.
message
,
...
...
@@ -1056,4 +1064,34 @@ function generateUUID() {
return
array
.
join
(
"
-
"
);
}
</
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/indexupload.vue
View file @
1aac41fc
This diff is collapsed.
Click to expand it.
ruoyi-ui/src/views/system/supplies/upload.vue
View file @
1aac41fc
...
...
@@ -53,7 +53,7 @@
<!-- luckysheet容器 -->
<div
id=
"luckysheet"
style=
"margin: 0px; padding: 0px; position: absolute; width: 100%;
left: 0px; top: 60px; height: 1000px
; z-index: 0"
style=
"margin: 0px; padding: 0px; position: absolute; width: 100%;
height: 78vh
; z-index: 0"
>
</div>
...
...
@@ -244,9 +244,12 @@ export default {
let
as
=
0
;
let
d1
=
window
.
luckysheet
.
transToData
(
ddd
.
celldata
);
let
d2
=
window
.
luckysheet
.
transToData
(
exportJson
.
sheets
[
0
].
celldata
);
let
r1
=
d1
.
length
,
r2
=
d2
.
length
,
c1
=
d1
[
0
].
length
,
c2
=
d2
[
0
].
length
;
let
row
=
(
r1
<=
r2
)?
r1
:
r2
;
let
cell
=
(
c1
<=
c2
)?
c1
:
c2
;
try
{
for
(
let
i
=
0
;
i
<
d1
.
length
;
i
++
)
{
for
(
let
j
=
0
;
j
<
=
d1
[
0
].
length
;
j
++
)
{
for
(
let
i
=
0
;
i
<
row
;
i
++
)
{
for
(
let
j
=
0
;
j
<
cell
;
j
++
)
{
//第一个表的单元格为null直接跳出
if
(
d1
[
i
][
j
]
==
null
){
continue
...
...
sql/hbghgz_sc_20230720.sql
deleted
100644 → 0
View file @
6589c838
This diff is collapsed.
Click to expand it.
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