Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
S
source-trace-manage
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
JIRA
JIRA
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
chenqikuai
source-trace-manage
Commits
fdd3646f
Commit
fdd3646f
authored
Jun 17, 2022
by
chenqikuai
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fix
parent
20675600
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
36 changed files
with
790 additions
and
115 deletions
+790
-115
package-lock.json
package-lock.json
+0
-0
package.json
package.json
+0
-1
index.vue
src/components/HandleAllKindsOfType/UploadPercent/index.vue
+1
-1
index.vue
src/components/HandleAllKindsOfType/index.vue
+2
-2
Layout.vue
src/components/Layout.vue
+1
-0
ChainBrowser.vue
src/components/Menu/ChainBrowser.vue
+1
-1
MenuItem.vue
src/components/Menu/MenuItem.vue
+1
-1
index.vue
src/components/Table/index.vue
+3
-2
types.ts
src/components/Table/types.ts
+1
-0
router.ts
src/router.ts
+1
-1
style.css
src/style.css
+11
-0
AlbumItem.vue
...Collection/AlbumManagement/components/Album/AlbumItem.vue
+1
-1
Search.vue
src/views/Collection/PassList/Search.vue
+1
-1
TransferCollection.vue
src/views/Collection/PassList/TransferCollection.vue
+2
-2
TransferPass.vue
src/views/Collection/PassList/TransferPass.vue
+2
-2
index.vue
src/views/Collection/PassMaker/DialogOfSelectAlbum/index.vue
+1
-1
index.vue
src/views/Collection/PassMaker/index.vue
+3
-3
IncrementalTable.vue
src/views/category/components/IncrementalTable.vue
+2
-1
IssuePass.vue
src/views/category/components/IssuePass.vue
+1
-1
uploadFile.vue
src/views/category/components/uploadFile.vue
+1
-1
tracingManagement.vue
src/views/category/tracingManagement.vue
+0
-73
AddProof.vue
src/views/category/tracingManagement/components/AddProof.vue
+189
-0
IntroCard.vue
...views/category/tracingManagement/components/IntroCard.vue
+32
-0
constants.ts
...gory/tracingManagement/components/ProofTable/constants.ts
+37
-0
index.vue
...ategory/tracingManagement/components/ProofTable/index.vue
+224
-0
index.vue
src/views/category/tracingManagement/index.vue
+252
-0
FileDisplayItem.vue
...s/copyrightApplication/FileUploadForm/FileDisplayItem.vue
+1
-1
HeaderLine.vue
src/views/copyrightApplication/HeaderLine.vue
+1
-1
index.vue
src/views/copyrightApplication/WorkMsgUploadForm/index.vue
+1
-1
Search.vue
src/views/pass/PassList/Search.vue
+1
-1
TransferCollection.vue
src/views/pass/PassList/TransferCollection.vue
+2
-2
TransferPass.vue
src/views/pass/PassList/TransferPass.vue
+2
-2
index.vue
src/views/pass/PassMaker/index.vue
+3
-3
index.vue
src/views/userCenter/PersonVerify/index.vue
+1
-1
index.vue
src/views/userCenter/choosePackage/index.vue
+7
-7
vite.config.ts
vite.config.ts
+1
-1
No files found.
package-lock.json
View file @
fdd3646f
This diff is collapsed.
Click to expand it.
package.json
View file @
fdd3646f
...
...
@@ -10,7 +10,6 @@
"dependencies"
:
{
"
axios
"
:
"^0.26.1"
,
"
comlink
"
:
"^4.3.1"
,
"
cqk-sy-ui
"
:
"^1.2.34"
,
"
crypto-js
"
:
"^4.1.1"
,
"
element-plus
"
:
"^2.1.9"
,
"
js-md5
"
:
"^0.7.3"
,
...
...
src/components/HandleAllKindsOfType/UploadPercent/index.vue
View file @
fdd3646f
...
...
@@ -44,7 +44,7 @@ defineEmits(["cancel"]);
font-size
:
10px
;
font-family
:
PingFangSC-Regular
,
PingFang
SC
;
font-weight
:
400
;
color
:
#353535
;
color
:
var
(
--
sy-black
)
;
}
.percentContainer
{
height
:
10px
;
...
...
src/components/HandleAllKindsOfType/index.vue
View file @
fdd3646f
...
...
@@ -60,7 +60,7 @@
font-size: 12px;
font-family: PingFangSC-Regular, PingFang SC;
font-weight: 400;
color:
#353535
;
color:
var(--sy-black)
;
line-height: 32px;
"
>
{{
file
.
name
}}
</span
...
...
@@ -144,7 +144,7 @@ watch(
font-size
:
12px
;
font-family
:
PingFangSC-Regular
,
PingFang
SC
;
font-weight
:
400
;
color
:
#353535
;
color
:
var
(
--
sy-black
)
;
line-height
:
17px
;
}
</
style
>
src/components/Layout.vue
View file @
fdd3646f
...
...
@@ -12,5 +12,6 @@
background
:
white
;
height
:
100%
;
box-sizing
:
border-box
;
min-width
:
1000px
;
}
</
style
>
src/components/Menu/ChainBrowser.vue
View file @
fdd3646f
...
...
@@ -11,7 +11,7 @@
font-size: 14px;
font-family: PingFangSC-Medium, PingFang SC;
font-weight: 500;
color:
#353535
;
color:
var(--sy-black)
;
"
>
区块链浏览器
...
...
src/components/Menu/MenuItem.vue
View file @
fdd3646f
...
...
@@ -18,7 +18,7 @@ const props = defineProps<{
}
>
();
</
script
>
<
style
lang=
"scss"
scoped
>
$selectColor
:
#353535
;
$selectColor
:
var
(
--
sy-black
)
;
.menuItem
{
cursor
:
pointer
;
...
...
src/components/Table/index.vue
View file @
fdd3646f
...
...
@@ -6,6 +6,7 @@
:prop=
"column.prop"
:label=
"column.label"
:width=
"column.width"
:header-align=
"column.headerAlign"
:min-width=
"column.minWidth"
:show-overflow-tooltip=
"column.showOverflowTooltip || false"
:show-tooltip-when-overflow=
"column.showOverflowTooltip || false"
...
...
@@ -25,7 +26,7 @@
>
{{
scope
.
row
[
column
.
prop
]
}}
</div>
<div
v-else
>
<div
v-else
class=
"overflow-hidden text-ellipsis"
>
<slot
:name=
"column.slotName"
v-bind=
"scope.row"
></slot>
</div>
</
template
>
...
...
@@ -68,7 +69,7 @@ defineExpose({
font-size
:
14px
;
font-family
:
PingFangSC-Regular
,
PingFang
SC
;
font-weight
:
400
;
color
:
#353535
;
color
:
var
(
--
sy-black
)
;
}
.tableCell
{
font-size
:
14px
;
...
...
src/components/Table/types.ts
View file @
fdd3646f
...
...
@@ -5,5 +5,6 @@ export type iTableColumn = {
width
?:
string
;
slotName
?:
string
;
headerSlotName
?:
string
;
headerAlign
?:
string
;
showOverflowTooltip
?:
boolean
;
};
src/router.ts
View file @
fdd3646f
...
...
@@ -36,7 +36,7 @@ const routes = [
{
path
:
"/tracingManagement"
,
name
:
"tracingManagement"
,
component
:
()
=>
import
(
"@/views/category/tracingManagement.vue"
),
component
:
()
=>
import
(
"@/views/category/tracingManagement
/index
.vue"
),
},
// {
// path: "/copyrightManagement",
...
...
src/style.css
View file @
fdd3646f
...
...
@@ -43,3 +43,14 @@
color
:
var
(
--el-button-disabled-text-color
);
cursor
:
not-allowed
;
}
.v-enter-active
,
.v-leave-active
{
transition
:
opacity
0.2s
ease
;
}
.v-enter-from
,
.v-leave-to
{
opacity
:
0
;
}
src/views/Collection/AlbumManagement/components/Album/AlbumItem.vue
View file @
fdd3646f
...
...
@@ -92,7 +92,7 @@ const clickItem = (item: string) => {
font-size
:
16px
;
font-family
:
PingFangSC-Semibold
,
PingFang
SC
;
font-weight
:
600
;
color
:
#353535
;
color
:
var
(
--
sy-black
)
;
}
.time
{
font-size
:
12px
;
...
...
src/views/Collection/PassList/Search.vue
View file @
fdd3646f
...
...
@@ -163,7 +163,7 @@ export default defineComponent({
.choose-type
{
font-size
:
14px
;
color
:
#353535
;
color
:
var
(
--
sy-black
)
;
position
:
relative
;
display
:
flex
;
margin-right
:
4px
;
...
...
src/views/Collection/PassList/TransferCollection.vue
View file @
fdd3646f
...
...
@@ -142,7 +142,7 @@ export default defineComponent({
line-height
:
60px
;
font-size
:
18px
;
font-weight
:
600
;
color
:
#353535
;
color
:
var
(
--
sy-black
)
;
text-align
:
center
;
border-bottom
:
1px
solid
#f0f1f5
;
}
...
...
@@ -177,7 +177,7 @@ export default defineComponent({
.pass-type
{
margin-left
:
auto
;
margin-right
:
23px
;
color
:
#353535
;
color
:
var
(
--
sy-black
)
;
}
}
...
...
src/views/Collection/PassList/TransferPass.vue
View file @
fdd3646f
...
...
@@ -157,7 +157,7 @@ export default defineComponent({
line-height
:
60px
;
font-size
:
18px
;
font-weight
:
600
;
color
:
#353535
;
color
:
var
(
--
sy-black
)
;
text-align
:
center
;
border-bottom
:
1px
solid
#f0f1f5
;
}
...
...
@@ -194,7 +194,7 @@ export default defineComponent({
.pass-type
{
margin-left
:
auto
;
margin-right
:
23px
;
color
:
#353535
;
color
:
var
(
--
sy-black
)
;
}
}
...
...
src/views/Collection/PassMaker/DialogOfSelectAlbum/index.vue
View file @
fdd3646f
...
...
@@ -142,7 +142,7 @@ watch(searchInput, (newSearch) => {
font-size
:
14px
;
font-family
:
PingFangSC-Regular
,
PingFang
SC
;
font-weight
:
400
;
color
:
#353535
;
color
:
var
(
--
sy-black
)
;
}
.noResult
{
font-size
:
14px
;
...
...
src/views/Collection/PassMaker/index.vue
View file @
fdd3646f
...
...
@@ -547,7 +547,7 @@ export default defineComponent({
height
:
50px
;
background-color
:
#ffffff
;
border
:
1px
solid
#efefef
;
color
:
#353535
;
color
:
var
(
--
sy-black
)
;
font-size
:
16px
;
padding
:
0
47px
;
.back_btn
{
...
...
@@ -626,7 +626,7 @@ export default defineComponent({
margin-bottom
:
5px
;
color
:
#8b8b8b
;
.file_name
{
color
:
#353535
;
color
:
var
(
--
sy-black
)
;
width
:
33
.3%
;
overflow
:
hidden
;
text-overflow
:
ellipsis
;
...
...
@@ -679,7 +679,7 @@ export default defineComponent({
margin-right
:
11px
;
}
.relatived_text
{
color
:
#353535
;
color
:
var
(
--
sy-black
)
;
font-size
:
14px
;
margin-right
:
11px
;
}
...
...
src/views/category/components/IncrementalTable.vue
View file @
fdd3646f
...
...
@@ -636,6 +636,7 @@ const openBlock = (item: any, index: any) => {
.show-box
{
position
:
absolute
;
width
:
135px
;
border-radius
:
var
(
--
sy-border-radius
);
background
:
rgba
(
255
,
255
,
255
,
1
);
box-shadow
:
0px
2px
10px
0px
rgba
(
0
,
0
,
0
,
0
.13
);
overflow
:
hidden
;
...
...
@@ -712,7 +713,7 @@ const openBlock = (item: any, index: any) => {
color
:
#c4c4c4
;
}
.text-black
{
color
:
#353535
;
color
:
var
(
--
sy-black
)
;
}
.text-btn
{
color
:
var
(
--
sy-blue
)
!
important
;
...
...
src/views/category/components/IssuePass.vue
View file @
fdd3646f
...
...
@@ -415,7 +415,7 @@ export default defineComponent({
line-height
:
60px
;
font-size
:
18px
;
font-weight
:
600
;
color
:
#353535
;
color
:
var
(
--
sy-black
)
;
text-align
:
center
;
border-bottom
:
1px
solid
#f0f1f5
;
}
...
...
src/views/category/components/uploadFile.vue
View file @
fdd3646f
...
...
@@ -370,7 +370,7 @@ export default defineComponent({
margin-bottom
:
5px
;
color
:
#8b8b8b
;
.file_name
{
color
:
#353535
;
color
:
var
(
--
sy-black
)
;
width
:
33
.3%
;
overflow
:
hidden
;
text-overflow
:
ellipsis
;
...
...
src/views/category/tracingManagement.vue
deleted
100644 → 0
View file @
20675600
<
template
>
<Layout>
<div
class=
"flex justify-end"
>
<Avatar></Avatar>
</div>
<syTraceProofRecord
:showTip=
"showTip"
:setDepositCertificate=
"setDepositCertificate"
:userInfos_auth_suc=
"userInfos_auth_suc"
:navigate=
"navigate"
:setListOfInformation=
"setListOfInformation"
:setGoodsNum=
"setGoodsNum"
:setChainStatus=
"setChainStatus"
:theAnchor=
"theAnchor"
:setTheAnchor=
"setTheAnchor"
:depositCertificate=
"depositCertificate"
:page=
"page"
:setPage=
"setPage"
>
<template
#
table=
"slotProps"
>
<IncrementalTable
@
increment=
"slotProps.incrementOperation"
@
delete-goods=
"slotProps.deleteGoodsShow"
@
upload=
"slotProps.upload"
@
delete-incremental=
"slotProps.deleteTheIncremental"
@
incremental-chain=
"slotProps.incrementalOnChain"
@
create-copy=
"slotProps.createCopy"
@
privacy-settings=
"slotProps.privacySettings"
@
update=
"slotProps.getList"
></IncrementalTable>
</
template
>
</syTraceProofRecord>
</Layout>
</template>
<
script
lang=
"ts"
setup
>
import
{
syTraceProofRecord
}
from
"cqk-sy-ui"
;
import
IncrementalTable
from
"./components/IncrementalTable.vue"
;
import
{
showTip
}
from
"@/components/GlobalMount/api"
;
import
{
setChainStatus
,
setDepositCertificate
,
setGoodsNum
,
setListOfInformation
,
setTheAnchor
,
}
from
"@/store/mutations"
;
import
{
router
}
from
"@/router"
;
import
{
globalState
}
from
"@/store/state"
;
import
{
computed
}
from
"vue"
;
import
Layout
from
"@/components/Layout.vue"
;
import
Avatar
from
"@/components/Avatar/index.vue"
;
const
navigate
=
router
.
push
;
const
userInfos_auth_suc
=
computed
(()
=>
{
return
globalState
.
userInfos
.
auth_suc
;
});
const
theAnchor
=
computed
(()
=>
{
return
globalState
.
theAnchor
;
});
const
depositCertificate
=
computed
(()
=>
{
return
globalState
.
depositCertificate
;
});
const
page
=
computed
(()
=>
{
return
globalState
.
page
;
});
const
setPage
=
(
v
:
number
)
=>
{
globalState
.
page
=
v
;
};
</
script
>
<
style
lang=
"scss"
></
style
>
src/views/category/tracingManagement/components/AddProof.vue
0 → 100644
View file @
fdd3646f
<
template
>
<div
class=
"subject"
>
<syDialogInput
class=
"w-full"
v-model:value=
"name"
placeholder=
"请输入存证名称"
></syDialogInput>
</div>
</
template
>
<
script
lang=
"ts"
>
import
{
defineComponent
}
from
"vue"
;
import
{
ElMessage
}
from
"element-plus"
;
import
{
GO_URLS
,
syDialogInput
}
from
"cqk-sy-ui"
;
import
{
$ajax
}
from
"@/service"
;
export
default
defineComponent
({
components
:
{
syDialogInput
,
},
props
:
[
"navigate"
],
expose
:
[
"determine"
],
data
()
{
return
{
name
:
""
,
isactive
:
false
,
};
},
methods
:
{
// 确认按钮
async
determine
()
{
if
(
!
this
.
name
)
{
ElMessage
(
"请输入名称"
);
return
false
;
}
if
(
this
.
isactive
)
{
return
false
;
}
this
.
isactive
=
true
;
const
res
=
await
$ajax
({
type
:
"post"
,
url
:
GO_URLS
.
add
,
params
:
{
name
:
this
.
name
,
note
:
JSON
.
stringify
({
version
:
1
,
evidenceName
:
this
.
name
,
stepName
:
""
,
banners
:
[],
}),
detail
:
JSON
.
stringify
([
{
label
:
"ext"
,
key
:
""
,
type
:
3
,
data
:
[
{
data
:
{
type
:
"text"
,
format
:
"string"
,
value
:
this
.
name
,
},
type
:
0
,
key
:
"存证名称"
,
label
:
"存证名称"
,
},
{
data
:
{
type
:
"text"
,
format
:
"hash"
,
value
:
"null"
,
},
type
:
0
,
key
:
"basehash"
,
label
:
"basehash"
,
},
{
data
:
{
type
:
"text"
,
format
:
"hash"
,
value
:
"null"
,
},
type
:
0
,
key
:
"prehash"
,
label
:
"prehash"
,
},
{
data
:
{
type
:
"text"
,
format
:
"string"
,
value
:
null
,
},
type
:
0
,
key
:
"存证类型"
,
label
:
"存证类型"
,
},
],
},
{},
]),
},
});
if
(
res
)
{
ElMessage
({
message
:
"添加成功"
,
type
:
"success"
,
});
this
.
isactive
=
false
;
this
.
navigate
({
path
:
"/editTemplate"
,
query
:
{
personalTemplateId
:
res
.
data
.
id
,
},
});
return
true
;
}
},
},
});
</
script
>
<
style
scoped
lang=
"scss"
>
.subject
{
width
:
100%
;
background
:
rgba
(
255
,
255
,
255
,
1
);
box-sizing
:
content-box
;
}
h1
{
padding-top
:
34px
;
padding-bottom
:
42px
;
font-size
:
22px
;
font-family
:
PingFangSC-Medium
,
PingFang
SC
;
font-weight
:
500
;
color
:
rgba
(
53
,
53
,
53
,
1
);
}
input
{
height
:
44px
;
width
:
100%
;
border
:
1px
solid
rgba
(
226
,
226
,
226
,
1
);
font-size
:
18px
;
font-family
:
PingFangSC-Regular
,
PingFang
SC
;
font-weight
:
400
;
color
:
black
;
line-height
:
25px
;
text-indent
:
26px
;
&
:
:-
webkit-input-placeholder
{
/* WebKit browsers */
color
:
#b6b5ba
;
}
&
:
-
moz-placeholder
{
color
:
#b6b5ba
;
}
&
:
:-
moz-placeholder
{
/* Mozilla Firefox 19+ */
color
:
#b6b5ba
;
}
&
:
-
ms-input-placeholder
{
/* Internet Explorer 10+ */
color
:
#b6b5ba
;
}
}
input
:focus
{
outline
:
none
;
border
:
1px
solid
rgba
(
226
,
226
,
226
,
1
);
}
.btn-box
{
overflow
:
hidden
;
padding-top
:
40px
;
float
:
right
;
}
.btn
{
float
:
left
;
width
:
120px
;
height
:
40px
;
border-radius
:
4px
;
text-align
:
center
;
font-size
:
14px
;
font-family
:
PingFangSC-Regular
,
PingFang
SC
;
font-weight
:
400
;
line-height
:
40px
;
cursor
:
pointer
;
}
.btn-cancel
{
color
:
rgba
(
92
,
100
,
118
,
1
);
}
.btn-determine
{
background
:
var
(
--
sy-blue
);
color
:
white
;
}
</
style
>
src/views/category/tracingManagement/components/IntroCard.vue
0 → 100644
View file @
fdd3646f
<
template
>
<div
class=
"introCard flow-root"
>
<div
class=
"name"
style=
"margin-top: 34px; margin-left: 43px"
>
区块链存证
</div>
<div
class=
"intro"
style=
"margin-left: 43px; margin-top: 9px"
>
满足团队所需:溯源创建、版权登记、数字资产发行、二维码打印,让工作更简单。
</div>
</div>
</
template
>
<
script
setup
lang=
"ts"
></
script
>
<
style
lang=
"scss"
scoped
>
.introCard
{
height
:
125px
;
background
:
#3661eb
;
border-radius
:
10px
;
.name
{
font-size
:
24px
;
line-height
:
24px
;
font-weight
:
600
;
color
:
#ffffff
;
letter-spacing
:
1px
;
}
.intro
{
font-size
:
13px
;
font-weight
:
400
;
color
:
#ffffff
;
}
}
</
style
>
src/views/category/tracingManagement/components/ProofTable/constants.ts
0 → 100644
View file @
fdd3646f
import
{
iTableColumn
}
from
"@/components/Table/types"
;
export
const
columns
=
[
{
prop
:
"name"
,
label
:
"溯源名称"
,
showOverflowTooltip
:
true
,
slotName
:
"name"
,
}
as
iTableColumn
,
{
prop
:
""
,
label
:
"创建时间"
,
slotName
:
"date"
,
}
as
iTableColumn
,
{
prop
:
"qrcode"
,
label
:
"二维码管理"
,
headerAlign
:
"center"
,
slotName
:
"qrcode"
,
width
:
"150px"
,
showOverflowTooltip
:
true
,
}
as
iTableColumn
,
{
prop
:
""
,
label
:
"浏览器查询"
,
slotName
:
"query"
,
width
:
"150px"
,
headerAlign
:
"center"
,
}
as
iTableColumn
,
{
prop
:
""
,
label
:
"操作"
,
width
:
"100px"
,
headerAlign
:
"center"
,
slotName
:
"operate"
,
}
as
iTableColumn
,
];
src/views/category/tracingManagement/components/ProofTable/index.vue
0 → 100644
View file @
fdd3646f
<
template
>
<div
class=
"proofTable h-full"
>
<Table
ref=
"tableRef"
:columns=
"columns"
:data=
"data"
height=
"100%"
v-loading=
"loading"
element-loading-text=
"加载中..."
>
<template
#
name=
"slotProps"
>
<div
class=
"whitespace-nowrap overflow-hidden text-ellipsis"
>
{{
slotProps
.
name
}}
</div>
</
template
>
<
template
#
date=
"slotProps"
>
{{
getRelativeTime
(
slotProps
.
create_time
)
}}
</
template
>
<
template
#
qrcode=
"slotProps"
>
<div
class=
"text-center"
>
<syMoreOperate
:use-slot=
"true"
teleport
:width=
"121"
:border=
"false"
:disabled=
"slotProps.status !== 2"
>
<template
#
default
>
<div
class=
"text-center w-6 h-6"
@
click=
"openQRcode(slotProps)"
>
<i
class=
"iconfont iconerweima1"
:class=
"[
slotProps.status === 2 ? 'Icon--check' : 'Icon--no-check',
]"
></i>
</div>
</
template
>
<
template
#
content
>
<div
class=
"qrcode-show-box text-center"
>
<div
class=
"imgbox"
>
<img
:src=
"QRcode"
:draggable=
"false"
/>
</div>
<p
class=
"select-none"
@
click=
"
downloadQrCode(
slotProps.hash,
globalState.urlList.chain_browser_url
)
"
>
下载二维码
</p>
</div>
</
template
>
</syMoreOperate>
</div>
</template>
<
template
#
query=
"slotProps"
>
<div
class=
"text-center"
>
<syMoreOperate
:width=
"156"
:list=
"getSearchOperateList()"
:disabled=
"slotProps.status !== 2"
:teleport=
"true"
@
click-item=
"
(value) => handleClickSearchMoreOperateItem(value, slotProps)
"
>
<template
#
default
>
<div
class=
"w-6 h-6"
>
<i
class=
"iconfont iconfangdajing1"
:class=
"[
slotProps.status === 2 ? 'Icon--check' : 'Icon--no-check',
]"
></i>
</div>
</
template
>
</syMoreOperate>
</div>
</template>
<
template
#
operate=
"slotProps"
>
<div
class=
"text-center"
>
<syMoreOperate
:teleport=
"true"
:list=
"getOperateList(slotProps)"
@
click-item=
"(value) => handleClickItem(value, slotProps)"
:margin-left=
"-20"
class=
"align-middle"
>
<Icon
icon-name=
"iconbianzu7-copy"
style=
"font-size: 26px"
class=
"cursor-pointer"
></Icon>
</syMoreOperate>
</div>
</
template
>
</Table>
</div>
</template>
<
script
setup
lang=
"ts"
>
import
{
computed
,
ref
}
from
"vue"
;
import
Table
from
"@/components/Table/index.vue"
;
import
Icon
from
"@/components/Icon/index.vue"
;
import
{
syMoreOperate
,
getRelativeTime
,
copyText
,
getQR
,
downloadQrCode
,
openChainBrowser
,
}
from
"cqk-sy-ui"
;
import
{
useTableScrollListener
}
from
"@/components/Table/hooks"
;
import
{
columns
}
from
"./constants"
;
import
{
globalState
}
from
"@/store/state"
;
const
props
=
defineProps
<
{
data
:
any
[];
loading
:
boolean
;
}
>
();
const
tableRef
=
ref
<
InstanceType
<
typeof
Table
>>
();
const
emit
=
defineEmits
([
"scrollToEnd"
,
"deleteAlbum"
]);
const
QRcode
=
ref
<
string
>
();
useTableScrollListener
(
tableRef
,
()
=>
{
emit
(
"scrollToEnd"
);
});
defineExpose
({
tableRef
,
});
const
getOperateList
=
(
slotProps
:
any
)
=>
{
return
[
{
name
:
"删除"
,
value
:
"delete"
,
},
];
};
const
handleClickItem
=
(
value
:
any
,
slotProps
:
any
)
=>
{
emit
(
"deleteAlbum"
,
{
...
slotProps
,
});
};
const
openQRcode
=
async
(
item
:
any
)
=>
{
QRcode
.
value
=
(
await
getQR
(
item
.
hash
,
globalState
.
urlList
.
chain_browser_url
))
||
""
;
};
const
searchOpearteList
=
[
{
name
:
"浏览器查询"
,
value
:
"浏览器查询"
,
click
(
props
:
any
)
{
openChainBrowser
(
props
.
hash
,
globalState
.
urlList
.
chain_browser_url
);
},
},
{
name
:
"复制hash地址"
,
value
:
"复制hash地址"
,
click
(
props
:
any
)
{
copyText
(
props
.
hash
);
},
},
];
const
getSearchOperateList
=
()
=>
{
return
searchOpearteList
;
};
const
handleClickSearchMoreOperateItem
=
(
value
:
string
,
props
:
any
)
=>
{
searchOpearteList
.
find
((
i
)
=>
i
.
value
===
value
)?.
click
(
props
);
};
</
script
>
<
style
lang=
"scss"
scoped
>
.proofTable
{
.Icon--check
{
color
:
var
(
--
sy-blue
);
cursor
:
pointer
;
}
.Icon--no-check
{
cursor
:
no-drop
;
color
:
#b6b5ba
;
}
}
</
style
>
<
style
lang=
"scss"
>
.qrcode-show-box
{
background
:
rgba
(
255
,
255
,
255
,
1
);
box-shadow
:
0px
2px
10px
0px
rgba
(
0
,
0
,
0
,
0
.13
);
overflow
:
hidden
;
font-size
:
12px
;
color
:
rgba
(
155
,
155
,
155
,
1
);
line-height
:
17px
;
.imgbox
{
width
:
106px
;
height
:
106px
;
margin
:
0
auto
;
margin-top
:
10px
;
margin-bottom
:
10px
;
img
{
width
:
100%
;
height
:
100%
;
}
}
p
{
cursor
:
pointer
;
margin-bottom
:
16px
;
font-size
:
14px
;
font-weight
:
400
;
color
:
var
(
--
sy-black
);
}
}
</
style
>
src/views/category/tracingManagement/index.vue
0 → 100644
View file @
fdd3646f
<
template
>
<Layout
class=
"flex flex-col"
>
<div
class=
"flex items-center flex-shrink-0"
>
<Search
placeholder=
"搜索"
v-model=
"searchStr"
></Search>
<Avatar
class=
"ml-7"
></Avatar>
</div>
<div
class=
"flex justify-between flex-shrink-0"
style=
"margin-top: 26px"
>
<Title>
{{
debouncedSearchStr
!==
""
?
"搜索结果"
:
"溯源管理"
}}
</Title>
<div
class=
"flex items-center"
v-if=
"debouncedSearchStr === ''"
>
<syButton
style=
"width: 113px"
mode=
"elementBtn"
size=
"large"
type=
"default"
>
模板管理
</syButton
>
<syButton
style=
"width: 113px"
mode=
"elementBtn"
@
click=
"addProofVisible = true"
size=
"large"
type=
"primary"
>
新建
</syButton
>
</div>
</div>
<div
v-show=
"debouncedSearchStr === ''"
>
<syMoreOperate
:teleport=
"true"
:list=
"sortList"
:width=
"170"
@
click-item=
"(v) => handleClickSortList(v)"
>
<div
style=
"font-size: 13px; font-weight: 400; color: #717171"
>
{{
sortList
.
find
((
i
)
=>
i
.
value
===
sortBy
)?.
name
}}
</div>
</syMoreOperate>
</div>
<div
class=
"flex-grow overflow-hidden -mr-2"
>
<syScrollBar
class=
"syScrollBarInTraceManagement"
>
<div
class=
"h-full pr-2"
>
<IntroCard
v-if=
"debouncedSearchStr === ''"
style=
"margin-top: 14px"
class=
"flex-shrink-0"
></IntroCard>
<ProofTable
style=
"margin-top: 22px"
ref=
"proofTableRef"
:data=
"tableData"
:loading=
"loading"
@
scroll-to-end=
"fetchNextPage"
></ProofTable>
</div>
</syScrollBar>
</div>
<!--
<syTraceProofRecord
:showTip=
"showTip"
:setDepositCertificate=
"setDepositCertificate"
:userInfos_auth_suc=
"userInfos_auth_suc"
:navigate=
"navigate"
:setListOfInformation=
"setListOfInformation"
:setGoodsNum=
"setGoodsNum"
:setChainStatus=
"setChainStatus"
:theAnchor=
"theAnchor"
:setTheAnchor=
"setTheAnchor"
:depositCertificate=
"depositCertificate"
:page=
"page"
:setPage=
"setPage"
>
<template
#
table=
"slotProps"
>
<IncrementalTable
@
increment=
"slotProps.incrementOperation"
@
delete-goods=
"slotProps.deleteGoodsShow"
@
upload=
"slotProps.upload"
@
delete-incremental=
"slotProps.deleteTheIncremental"
@
incremental-chain=
"slotProps.incrementalOnChain"
@
create-copy=
"slotProps.createCopy"
@
privacy-settings=
"slotProps.privacySettings"
@
update=
"slotProps.getList"
></IncrementalTable>
</
template
>
</syTraceProofRecord>
-->
<syCommonDialog
:visible=
"addProofVisible"
@
closePopup=
"addProofVisible = false"
showMask
type=
"element"
:elementDialogProps=
"{
title: '添加存证',
}"
:btnConfig=
"{
type: 'noBorder',
btns: [{
name: '取消',
disabled: false,
loading: false,
type: 'default' as const,
},
{
name: '确定',
disabled: false,
loading: false,
type: 'primary' as const,
}
],
btnFunctions: [
{
name: '取消',
async click() {
return true;
},
},
{
name: '确定',
click: () => {
return addProofRef.determine();
},
},
],
}"
>
<AddProof
v-if=
"addProofVisible"
ref=
"addProofRef"
@
cancel=
"addProofVisible = false"
:navigate=
"navigate"
>
</AddProof>
</syCommonDialog>
</Layout>
</template>
<
script
lang=
"ts"
setup
>
import
{
syButton
,
syMoreOperate
,
syCommonDialog
,
GO_URLS
,
syScrollBar
,
}
from
"cqk-sy-ui"
;
import
Search
from
"@/components/Search/index.vue"
;
import
IncrementalTable
from
"../components/IncrementalTable.vue"
;
import
{
showTip
}
from
"@/components/GlobalMount/api"
;
import
{
setChainStatus
,
setDepositCertificate
,
setGoodsNum
,
setListOfInformation
,
setTheAnchor
,
}
from
"@/store/mutations"
;
import
{
router
}
from
"@/router"
;
import
{
globalState
}
from
"@/store/state"
;
import
{
computed
,
ref
}
from
"vue"
;
import
Layout
from
"@/components/Layout.vue"
;
import
Avatar
from
"@/components/Avatar/index.vue"
;
import
Title
from
"@/components/Title.vue"
;
import
IntroCard
from
"@/views/category/tracingManagement/components/IntroCard.vue"
;
import
AddProof
from
"@/views/category/tracingManagement/components/AddProof.vue"
;
import
ProofTable
from
"./components/ProofTable/index.vue"
;
import
{
useTableData
}
from
"@/components/Table/hooks"
;
import
{
$ajax
}
from
"@/service"
;
import
{
watchDebounced
}
from
"@vueuse/core"
;
import
{
watchStrChangeDebounceTime
}
from
"@/config/time"
;
const
proofTableRef
=
ref
<
InstanceType
<
typeof
ProofTable
>
|
null
>
(
null
);
const
addProofRef
=
ref
<
any
>
();
const
addProofVisible
=
ref
(
false
);
const
searchStr
=
ref
(
""
);
const
debouncedSearchStr
=
ref
(
""
);
const
sortBy
=
ref
(
"modified"
);
const
sortList
=
[
{
name
:
"最新修改"
,
value
:
"modified"
,
click
()
{
sortBy
.
value
=
"modified"
;
},
},
{
name
:
"最早创建"
,
value
:
"created"
,
click
()
{
sortBy
.
value
=
"created"
;
},
},
];
const
handleClickSortList
=
(
v
:
string
)
=>
{
sortList
.
find
((
i
)
=>
i
.
value
===
v
)?.
click
();
};
const
navigate
=
router
.
push
;
const
userInfos_auth_suc
=
computed
(()
=>
{
return
globalState
.
userInfos
.
auth_suc
;
});
const
theAnchor
=
computed
(()
=>
{
return
globalState
.
theAnchor
;
});
const
depositCertificate
=
computed
(()
=>
{
return
globalState
.
depositCertificate
;
});
const
page
=
computed
(()
=>
{
return
globalState
.
page
;
});
const
setPage
=
(
v
:
number
)
=>
{
globalState
.
page
=
v
;
};
watchDebounced
(
searchStr
,
(
newV
)
=>
{
proofTableRef
.
value
?.
tableRef
?.
scrollTo
(
0
,
0
);
refetch
().
then
(()
=>
{
debouncedSearchStr
.
value
=
newV
;
});
},
{
debounce
:
watchStrChangeDebounceTime
}
);
const
{
tableData
,
refetch
,
loading
,
fetchNextPage
}
=
useTableData
({
fetchData
:
async
(
pageConfig
:
{
page
:
number
;
page_size
:
number
})
=>
{
const
res
=
await
$ajax
({
type
:
"post"
,
url
:
GO_URLS
.
list
,
params
:
{
status
:
[],
is_valid
:
0
,
page
:
pageConfig
.
page
,
key_words
:
searchStr
.
value
,
page_size
:
pageConfig
.
page_size
,
},
});
return
{
total
:
res
?.
data
.
total
||
0
,
data
:
res
?.
data
.
results
||
[],
};
},
});
</
script
>
<
style
lang=
"scss"
>
.syScrollBarInTraceManagement
{
.el-scrollbar__view
{
height
:
100%
;
}
}
</
style
>
src/views/copyrightApplication/FileUploadForm/FileDisplayItem.vue
View file @
fdd3646f
...
...
@@ -97,7 +97,7 @@ const suffixName = computed(() => {
font-weight
:
400
;
line-height
:
17px
;
.name
{
color
:
#353535
;
color
:
var
(
--
sy-black
)
;
}
.size
{
color
:
#8b8b8b
;
...
...
src/views/copyrightApplication/HeaderLine.vue
View file @
fdd3646f
...
...
@@ -40,6 +40,6 @@ import Icon from "@/components/Icon/index.vue";
font-size
:
16px
;
font-family
:
PingFangSC-Medium
,
PingFang
SC
;
font-weight
:
500
;
color
:
#353535
;
color
:
var
(
--sy-black
)
;
}
</
style
>
src/views/copyrightApplication/WorkMsgUploadForm/index.vue
View file @
fdd3646f
...
...
@@ -247,7 +247,7 @@ defineExpose({
.el-input__inner
{
padding-left
:
18px
!
important
;
height
:
36px
;
color
:
#353535
;
color
:
var
(
--
sy-black
)
;
&
:hover
{
box-shadow
:
0
0
0
1px
#c4c4c4
inset
;
}
...
...
src/views/pass/PassList/Search.vue
View file @
fdd3646f
...
...
@@ -163,7 +163,7 @@ export default defineComponent({
.choose-type
{
font-size
:
14px
;
color
:
#353535
;
color
:
var
(
--
sy-black
)
;
position
:
relative
;
display
:
flex
;
margin-right
:
4px
;
...
...
src/views/pass/PassList/TransferCollection.vue
View file @
fdd3646f
...
...
@@ -126,7 +126,7 @@ export default defineComponent({
line-height
:
60px
;
font-size
:
18px
;
font-weight
:
600
;
color
:
#353535
;
color
:
var
(
--
sy-black
)
;
text-align
:
center
;
border-bottom
:
1px
solid
#f0f1f5
;
}
...
...
@@ -161,7 +161,7 @@ export default defineComponent({
.pass-type
{
margin-left
:
auto
;
margin-right
:
23px
;
color
:
#353535
;
color
:
var
(
--
sy-black
)
;
}
}
...
...
src/views/pass/PassList/TransferPass.vue
View file @
fdd3646f
...
...
@@ -157,7 +157,7 @@ export default defineComponent({
line-height
:
60px
;
font-size
:
18px
;
font-weight
:
600
;
color
:
#353535
;
color
:
var
(
--
sy-black
)
;
text-align
:
center
;
border-bottom
:
1px
solid
#f0f1f5
;
}
...
...
@@ -194,7 +194,7 @@ export default defineComponent({
.pass-type
{
margin-left
:
auto
;
margin-right
:
23px
;
color
:
#353535
;
color
:
var
(
--
sy-black
)
;
}
}
...
...
src/views/pass/PassMaker/index.vue
View file @
fdd3646f
...
...
@@ -677,7 +677,7 @@ export default defineComponent({
height
:
50px
;
background-color
:
#ffffff
;
border
:
1px
solid
#efefef
;
color
:
#353535
;
color
:
var
(
--
sy-black
)
;
font-size
:
16px
;
padding
:
0
47px
;
.back_btn
{
...
...
@@ -756,7 +756,7 @@ export default defineComponent({
margin-bottom
:
5px
;
color
:
#8b8b8b
;
.file_name
{
color
:
#353535
;
color
:
var
(
--
sy-black
)
;
width
:
33
.3%
;
overflow
:
hidden
;
text-overflow
:
ellipsis
;
...
...
@@ -809,7 +809,7 @@ export default defineComponent({
margin-right
:
11px
;
}
.relatived_text
{
color
:
#353535
;
color
:
var
(
--
sy-black
)
;
font-size
:
14px
;
margin-right
:
11px
;
}
...
...
src/views/userCenter/PersonVerify/index.vue
View file @
fdd3646f
...
...
@@ -271,7 +271,7 @@ h2 {
height
:
25px
;
font-family
:
PingFangSC-Medium
,
PingFang
SC
;
font-weight
:
500
;
color
:
#353535
;
color
:
var
(
--
sy-black
)
;
line-height
:
25px
;
}
</
style
>
src/views/userCenter/choosePackage/index.vue
View file @
fdd3646f
...
...
@@ -503,7 +503,7 @@ export default defineComponent({
font-size
:
16px
;
font-family
:
PingFangSC-Regular
,
PingFang
SC
;
font-weight
:
400
;
color
:
#353535
;
color
:
var
(
--
sy-black
)
;
display
:
inline-block
;
span
{
color
:
#f3322d
;
...
...
@@ -525,7 +525,7 @@ export default defineComponent({
font-size
:
14px
;
font-family
:
PingFangSC-Regular
,
PingFang
SC
;
font-weight
:
400
;
color
:
#353535
;
color
:
var
(
--
sy-black
)
;
line-height
:
20px
;
margin-bottom
:
17px
;
span
{
...
...
@@ -586,7 +586,7 @@ export default defineComponent({
font-size
:
12px
;
font-family
:
PingFangSC-Regular
,
PingFang
SC
;
font-weight
:
400
;
color
:
#353535
;
color
:
var
(
--
sy-black
)
;
line-height
:
17px
;
}
.top-up-hints
{
...
...
@@ -802,7 +802,7 @@ export default defineComponent({
line-height
:
42px
;
span
{
color
:
#353535
;
color
:
var
(
--
sy-black
)
;
font-size
:
14px
;
}
}
...
...
@@ -905,7 +905,7 @@ export default defineComponent({
font-size
:
20px
;
font-family
:
PingFangSC-Medium
,
PingFang
SC
;
font-weight
:
500
;
color
:
#353535
;
color
:
var
(
--
sy-black
)
;
line-height
:
28px
;
padding-top
:
32px
;
padding-bottom
:
8px
;
...
...
@@ -924,7 +924,7 @@ export default defineComponent({
border-top
:
1px
solid
#e7e7e7
;
font-family
:
PingFangSC-Regular
,
PingFang
SC
;
font-weight
:
400
;
color
:
#353535
;
color
:
var
(
--
sy-black
)
;
span
{
color
:
#ff3838
;
font-size
:
22px
;
...
...
@@ -938,7 +938,7 @@ export default defineComponent({
font-size
:
16px
;
font-family
:
PingFangSC-Regular
,
PingFang
SC
;
font-weight
:
400
;
color
:
#353535
;
color
:
var
(
--
sy-black
)
;
line-height
:
22px
;
margin-bottom
:
19px
;
}
...
...
vite.config.ts
View file @
fdd3646f
...
...
@@ -42,7 +42,7 @@ export default defineConfig({
// __category: ["./src/views/category/Index.vue"],
__recycleBin
:
[
"./src/views/category/recycleBin.vue"
],
__templateManagement
:
[
"./src/views/category/templateManagement.vue"
],
__tracingManagement
:
[
"./src/views/category/tracingManagement.vue"
],
__tracingManagement
:
[
"./src/views/category/tracingManagement
/index
.vue"
],
// __copyrightManagement: ["./src/views/copyrightManagement/index.vue"],
// __draftBox: ["./src/views/draftBox/index.vue"],
__CollectionManagement
:
[
...
...
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