Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
R
rongtong-app
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
融通安全管理系统
rongtong-app
Commits
fb278052
Commit
fb278052
authored
Aug 03, 2023
by
p-wanping.song
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
修改禅道bug(添加搜索功能,优化相关联字段)
parent
ea53da41
Changes
5
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
123 additions
and
82 deletions
+123
-82
src/utils/common.js
src/utils/common.js
+72
-67
src/views/riskProject/add/index.vue
src/views/riskProject/add/index.vue
+13
-3
src/views/riskProject/add/projectList.vue
src/views/riskProject/add/projectList.vue
+8
-1
src/views/riskProject/manage/index.vue
src/views/riskProject/manage/index.vue
+10
-5
src/views/riskProject/taskLedger/index.vue
src/views/riskProject/taskLedger/index.vue
+20
-6
No files found.
src/utils/common.js
View file @
fb278052
/**
* 函数防抖
*/
export
function
debounce
(
fn
,
delay
)
{
// 记录上一次的延时器
var
timer
=
null
;
var
delay
=
delay
||
200
;
return
function
()
{
var
args
=
arguments
;
var
that
=
this
;
// 清除上一次延时器
clearTimeout
(
timer
)
timer
=
setTimeout
(
function
()
{
fn
.
apply
(
that
,
args
)
},
delay
);
}
}
export
function
debounce
(
fn
,
delay
)
{
// 记录上一次的延时器
var
timer
=
null
;
var
delay
=
delay
||
200
;
return
function
()
{
var
args
=
arguments
;
var
that
=
this
;
// 清除上一次延时器
clearTimeout
(
timer
);
timer
=
setTimeout
(
function
()
{
fn
.
apply
(
that
,
args
);
},
delay
);
};
}
// 图片旋转处理 -> base64
// 图片旋转处理 -> base64
export
const
rotateBase64Img
=
(
src
,
edg
,
callback
)
=>
{
try
{
const
canvas
=
document
.
createElement
(
'
canvas
'
)
const
ctx
=
canvas
.
getContext
(
'
2d
'
)
const
canvas
=
document
.
createElement
(
"
canvas
"
);
const
ctx
=
canvas
.
getContext
(
"
2d
"
);
let
imgW
=
0
// 图片宽度
let
imgH
=
0
// 图片高度
let
size
=
0
// canvas初始大小
let
imgW
=
0
;
// 图片宽度
let
imgH
=
0
;
// 图片高度
let
size
=
0
;
// canvas初始大小
if
(
edg
%
90
!==
0
)
{
throw
new
Error
(
'
旋转角度必须是90的倍数!
'
)
throw
new
Error
(
"
旋转角度必须是90的倍数!
"
);
}
(
edg
<
0
)
&&
(
edg
=
(
edg
%
360
)
+
360
)
const
quadrant
=
(
edg
/
90
)
%
4
// 旋转象限
const
cutCoor
=
{
sx
:
0
,
sy
:
0
,
ex
:
0
,
ey
:
0
}
// 裁剪坐标
edg
<
0
&&
(
edg
=
(
edg
%
360
)
+
360
);
const
quadrant
=
(
edg
/
90
)
%
4
;
// 旋转象限
const
cutCoor
=
{
sx
:
0
,
sy
:
0
,
ex
:
0
,
ey
:
0
}
;
// 裁剪坐标
const
image
=
new
Image
()
image
.
src
=
src
image
.
crossOrigin
=
'
anonymous
'
const
image
=
new
Image
()
;
image
.
src
=
src
;
image
.
crossOrigin
=
"
anonymous
"
;
image
.
onload
=
function
()
{
imgW
=
image
.
width
imgH
=
image
.
height
size
=
imgW
>
imgH
?
imgW
:
imgH
image
.
onload
=
function
()
{
imgW
=
image
.
width
;
imgH
=
image
.
height
;
size
=
imgW
>
imgH
?
imgW
:
imgH
;
canvas
.
width
=
size
*
2
canvas
.
height
=
size
*
2
canvas
.
width
=
size
*
2
;
canvas
.
height
=
size
*
2
;
switch
(
quadrant
)
{
case
0
:
cutCoor
.
sx
=
size
cutCoor
.
sy
=
size
cutCoor
.
ex
=
size
+
imgW
cutCoor
.
ey
=
size
+
imgH
break
cutCoor
.
sx
=
size
;
cutCoor
.
sy
=
size
;
cutCoor
.
ex
=
size
+
imgW
;
cutCoor
.
ey
=
size
+
imgH
;
break
;
case
1
:
cutCoor
.
sx
=
size
-
imgH
cutCoor
.
sy
=
size
cutCoor
.
ex
=
size
cutCoor
.
ey
=
size
+
imgW
break
cutCoor
.
sx
=
size
-
imgH
;
cutCoor
.
sy
=
size
;
cutCoor
.
ex
=
size
;
cutCoor
.
ey
=
size
+
imgW
;
break
;
case
2
:
cutCoor
.
sx
=
size
-
imgW
cutCoor
.
sy
=
size
-
imgH
cutCoor
.
ex
=
size
cutCoor
.
ey
=
size
break
cutCoor
.
sx
=
size
-
imgW
;
cutCoor
.
sy
=
size
-
imgH
;
cutCoor
.
ex
=
size
;
cutCoor
.
ey
=
size
;
break
;
case
3
:
cutCoor
.
sx
=
size
cutCoor
.
sy
=
size
-
imgW
cutCoor
.
ex
=
size
+
imgH
cutCoor
.
ey
=
size
+
imgW
break
cutCoor
.
sx
=
size
;
cutCoor
.
sy
=
size
-
imgW
;
cutCoor
.
ex
=
size
+
imgH
;
cutCoor
.
ey
=
size
+
imgW
;
break
;
}
ctx
.
translate
(
size
,
size
)
ctx
.
rotate
(
edg
*
Math
.
PI
/
180
)
ctx
.
drawImage
(
image
,
0
,
0
)
ctx
.
translate
(
size
,
size
)
;
ctx
.
rotate
(
(
edg
*
Math
.
PI
)
/
180
);
ctx
.
drawImage
(
image
,
0
,
0
)
;
const
imgData
=
ctx
.
getImageData
(
cutCoor
.
sx
,
cutCoor
.
sy
,
cutCoor
.
ex
,
cutCoor
.
ey
)
const
imgData
=
ctx
.
getImageData
(
cutCoor
.
sx
,
cutCoor
.
sy
,
cutCoor
.
ex
,
cutCoor
.
ey
);
if
(
quadrant
%
2
===
0
)
{
canvas
.
width
=
imgW
canvas
.
height
=
imgH
canvas
.
width
=
imgW
;
canvas
.
height
=
imgH
;
}
else
{
canvas
.
width
=
imgH
canvas
.
height
=
imgW
canvas
.
width
=
imgH
;
canvas
.
height
=
imgW
;
}
ctx
.
putImageData
(
imgData
,
0
,
0
)
ctx
.
putImageData
(
imgData
,
0
,
0
)
;
if
(
typeof
callback
===
'
function
'
)
{
callback
(
canvas
.
toDataURL
(
'
image/png
'
,
0.7
))
if
(
typeof
callback
===
"
function
"
)
{
callback
(
canvas
.
toDataURL
(
"
image/png
"
,
0.7
));
}
}
}
;
}
catch
(
e
)
{
console
.
log
(
e
)
console
.
log
(
e
)
;
}
}
\ No newline at end of file
};
src/views/riskProject/add/index.vue
View file @
fb278052
...
...
@@ -216,11 +216,12 @@
<van-checkbox-group
v-model=
"riskList"
ref=
"checkboxGroup"
class=
"building-select"
style=
"width: 100%;font-size: 18px;"
>
<van-checkbox
shape=
"square"
style=
"margin: 10px 0px;
justify-content: center;
"
style=
"margin: 10px 0px;"
v-for=
"item in riskModelList"
:key=
"item.id"
:name=
"item"
...
...
@@ -519,11 +520,14 @@ export default {
this
.
projectDept
=
true
;
},
changeDept
(
id
,
name
)
{
if
(
id
!=
this
.
form
.
deptId
){
this
.
form
.
leaderUserName
=
''
this
.
form
.
workUserNames
=
''
}
this
.
form
.
deptId
=
id
;
this
.
form
.
deptName
=
name
;
},
closeDept
()
{
console
.
log
(
this
.
form
.
deptId
);
this
.
projectDept
=
false
;
},
getExecuteUser
()
{
...
...
@@ -827,6 +831,9 @@ export default {
this
.
show
=
false
;
},
onSave
(
e
)
{
if
(
e
.
id
!=
this
.
form
.
projectId
){
this
.
form
.
buildingNames
=
''
}
this
.
form
.
projectId
=
e
.
id
;
this
.
form
.
projectName
=
e
.
name
;
this
.
show
=
false
;
...
...
@@ -839,10 +846,13 @@ export default {
}
else
{
this
.
showSetRankMode
=
false
;
}
}
}
,
}
};
</
script
>
<
style
scoped
>
/* @import url(); 引入css类 */
.building-select
{
padding
:
10px
30px
;
}
</
style
>
src/views/riskProject/add/projectList.vue
View file @
fb278052
...
...
@@ -63,7 +63,8 @@
components
:
{
// LHeader
},
created
()
{
mounted
()
{
this
.
getInsideUser
()
},
data
()
{
return
{
...
...
@@ -115,9 +116,15 @@
},
save
()
{
this
.
$emit
(
'
onSave
'
,
this
.
itemSel
)
this
.
destoryList
();
},
cancel
()
{
this
.
destoryList
();
this
.
$emit
(
'
onClose
'
)
},
destoryList
(){
this
.
searchVal
=
''
;
this
.
onInput
()
}
}
};
...
...
src/views/riskProject/manage/index.vue
View file @
fb278052
...
...
@@ -9,7 +9,7 @@
v-model=
"searchValue"
show-action
placeholder=
"请输入搜索内容"
@
search
=
"onSearch"
@
input
=
"onSearch"
>
<template
#action
>
<div
@
click=
"onSearch"
>
搜索
</div>
...
...
@@ -117,6 +117,7 @@ import { timestampToTime, generateId } from "@/utils/format";
import
{
getFun
,
postFun
,
deleteFun
}
from
"
@/service/table.js
"
;
import
{
Toast
,
Dialog
}
from
'
vant
'
;
// import { postriskConList } from "@/service/risk";
import
{
debounce
}
from
"
@/utils/common.js
"
;
export
default
{
name
:
"
risk-confirme
"
,
components
:
{
...
...
@@ -169,9 +170,10 @@ export default {
loadingType
:
"
spinner
"
,
duration
:
0
});
const
name
=
`&name=
${
this
.
searchValue
}
`
// let formdata = new FormData();
// formdata.append("select", select);
getFun
(
this
.
tabs
[
this
.
active
][
"
api
"
])
getFun
(
this
.
tabs
[
this
.
active
][
"
api
"
]
+
name
)
.
then
(
res
=>
{
this
.
$toast
.
clear
();
this
.
messageList
=
res
.
data
||
res
.
rows
;
...
...
@@ -186,9 +188,12 @@ export default {
});
},
onSearch
(
val
)
{
this
.
postList
(
this
.
searchValue
);
},
// onSearch(val) {
// this.postList(this.searchValue);
// },
onSearch
:
debounce
(
function
(){
this
.
postList
()
},
800
),
touchstart
(
index
,
item
)
{
if
(
this
.
showIndex
!=
null
)
{
this
.
showIndex
=
null
;
...
...
src/views/riskProject/taskLedger/index.vue
View file @
fb278052
...
...
@@ -8,7 +8,7 @@
v-model=
"searchValue"
show-action
placeholder=
"请输入搜索内容"
@
search
=
"onSearch"
@
input
=
"onSearch"
>
<template
#action
>
<div
@
click=
"onSearch"
>
搜索
</div>
...
...
@@ -56,7 +56,9 @@
<
script
type=
"text/ecmascript-6"
>
import
LHeader
from
"
@/components/header.vue
"
;
import
{
timestampToTime
,
generateId
}
from
"
@/utils/format
"
;
import
{
debounce
}
from
"
@/utils/common.js
"
;
import
{
getFun
,
postFun
}
from
"
@/service/table.js
"
;
export
default
{
name
:
'
taskLedger
'
,
//任务台账
data
()
{
...
...
@@ -79,9 +81,21 @@ export default {
return
timestampToTime
(
new
Date
(
time
),
"
DT2
"
,
true
);
},
getList
()
{
getFun
(
'
/risk/plan/details/list
'
).
then
(
res
=>
{
console
.
log
(
'
%c [ res ]-77
'
,
'
font-size:13px; background:pink; color:#bf2c9f;
'
,
res
)
this
.
$toast
.
loading
({
message
:
"
加载中...
"
,
forbidClick
:
true
,
loadingType
:
"
spinner
"
,
duration
:
0
});
const
obj
=
{
name
:
this
.
searchValue
}
getFun
(
'
/risk/plan/details/list
'
,
obj
).
then
(
res
=>
{
this
.
$toast
.
clear
();
this
.
taskList
=
res
.
data
}).
catch
(()
=>
{
this
.
$toast
.
clear
();
this
.
$toast
.
fail
(
"
加载失败,请稍后再试
"
);
})
},
//点击列表
...
...
@@ -103,9 +117,9 @@ export default {
sessionStorage
.
setItem
(
"
buildingId
"
,
""
);
},
onSearch
(
searchValue
)
{
}
onSearch
:
debounce
(
function
()
{
this
.
getList
()
}
,
800
),
},
}
</
script
>
...
...
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