Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
S
SuperMan
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
1
Issues
1
List
Board
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
罗超
SuperMan
Commits
71b5cf87
Commit
71b5cf87
authored
Apr 13, 2026
by
liudong1993
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
1
parent
d959ed00
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
77 additions
and
3 deletions
+77
-3
TravelContractDetail.vue
src/components/TravelContractDetail.vue
+36
-2
TravelContractView.vue
src/components/TravelContractView.vue
+24
-0
ContractManage.vue
src/components/administrative/ContractManage.vue
+17
-1
No files found.
src/components/TravelContractDetail.vue
View file @
71b5cf87
...
@@ -308,6 +308,10 @@
...
@@ -308,6 +308,10 @@
opacity
:
0.8
;
opacity
:
0.8
;
}
}
.copy-link-btn
{
position
:
relative
;
}
/*灰色遮罩层*/
/*灰色遮罩层*/
.TD_MainContent
.fade
{
.TD_MainContent
.fade
{
width
:
100%
;
width
:
100%
;
...
@@ -467,14 +471,17 @@
...
@@ -467,14 +471,17 @@
</
template
>
</
template
>
<input
type=
"button"
class=
"TCbtn-info"
v-if=
"dataList.status==1"
@
click=
"getinvalid()"
<input
type=
"button"
class=
"TCbtn-info"
v-if=
"dataList.status==1"
@
click=
"getinvalid()"
:value=
"$t('active.cl_zuofei')"
/>
:value=
"$t('active.cl_zuofei')"
/>
<input
type=
"button"
class=
"TCbtn-info"
v-if=
"dataList.companySignature==''"
<input
type=
"button"
class=
"TCbtn-info"
v-if=
"dataList.companySignature==''
&& !dataList.thirdContractFileUrl
"
@
click=
"isShowFade=true,GetQrCode()"
:value=
"$t('objFill.v101.Contract.kehuqz')"
/>
@
click=
"isShowFade=true,GetQrCode()"
:value=
"$t('objFill.v101.Contract.kehuqz')"
/>
<input
type=
"button"
class=
"TCbtn-info"
:value=
"$t('objFill.xz')"
<input
type=
"button"
class=
"TCbtn-info"
:value=
"$t('objFill.xz')"
v-if=
"!dataList.thirdContractFileUrl"
@
click=
"toContractPDF(dataList.contractNum)"
/>
@
click=
"toContractPDF(dataList.contractNum)"
/>
<input
v-if=
"dataList.thirdContractState == 1"
type=
"button"
class=
"TCbtn-info"
value=
"发送短信通知"
<input
v-if=
"dataList.thirdContractState == 1"
type=
"button"
class=
"TCbtn-info"
value=
"发送短信通知"
@
click=
"SMSnotification()"
/>
@
click=
"SMSnotification()"
/>
<input
v-if=
"dataList.thirdContractFileUrl"
type=
"button"
class=
"TCbtn-info"
<input
v-if=
"dataList.thirdContractFileUrl"
type=
"button"
class=
"TCbtn-info"
@
click=
"OpenNewUrl(dataList.thirdContractFileUrl)"
:value=
"'旅游局合同'+$t('sm.yulan')"
/>
@
click=
"OpenNewUrl(dataList.thirdContractFileUrl)"
:value=
"'旅游局合同'+$t('sm.yulan')"
/>
<input
v-if=
"dataList.thirdContractSignUrl"
type=
"button"
class=
"TCbtn-info copy-link-btn"
:title=
"dataList.thirdContractSignUrl"
@
click=
"copyToClipboard(dataList.thirdContractSignUrl)"
value=
"旅游局合同签字链接"
/>
</div>
</div>
</div>
</div>
<div
class=
"contract"
>
<div
class=
"contract"
>
...
@@ -1702,6 +1709,33 @@
...
@@ -1702,6 +1709,33 @@
getKongge
(
str
)
{
getKongge
(
str
)
{
return
str
.
replace
(
/
\s
+/g
,
""
);
return
str
.
replace
(
/
\s
+/g
,
""
);
},
},
copyToClipboard
(
text
)
{
if
(
!
text
)
return
;
if
(
navigator
.
clipboard
&&
navigator
.
clipboard
.
writeText
)
{
navigator
.
clipboard
.
writeText
(
text
).
then
(()
=>
{
this
.
Success
(
'链接已复制到剪贴板'
);
}).
catch
(()
=>
{
this
.
fallbackCopy
(
text
);
});
}
else
{
this
.
fallbackCopy
(
text
);
}
},
fallbackCopy
(
text
)
{
const
textarea
=
document
.
createElement
(
'textarea'
);
textarea
.
value
=
text
;
textarea
.
style
.
position
=
'fixed'
;
textarea
.
style
.
opacity
=
'0'
;
document
.
body
.
appendChild
(
textarea
);
textarea
.
select
();
try
{
document
.
execCommand
(
'copy'
);
this
.
Success
(
'链接已复制到剪贴板'
);
}
catch
(
err
)
{
this
.
Error
(
'复制失败,请手动复制'
);
}
document
.
body
.
removeChild
(
textarea
);
},
// 生成二维码
// 生成二维码
GetQrCode
:
function
()
{
GetQrCode
:
function
()
{
let
urlObj
=
this
.
domainManager
();
let
urlObj
=
this
.
domainManager
();
...
...
src/components/TravelContractView.vue
View file @
71b5cf87
...
@@ -395,6 +395,9 @@
...
@@ -395,6 +395,9 @@
color
:
gray
;
color
:
gray
;
}
}
.copy-link-btn
{
position
:
relative
;
}
</
style
>
</
style
>
<
template
>
<
template
>
...
@@ -415,6 +418,9 @@
...
@@ -415,6 +418,9 @@
<input
v-if=
"CtObj.ThirdContractState == 1"
type=
"button"
class=
"TCbtn-info"
value=
"发送短信通知"
@
click=
"SMSnotification()"
/>
<input
v-if=
"CtObj.ThirdContractState == 1"
type=
"button"
class=
"TCbtn-info"
value=
"发送短信通知"
@
click=
"SMSnotification()"
/>
<input
v-if=
"CtObj.ThirdContractFileUrl"
type=
"button"
class=
"TCbtn-info"
@
click=
"OpenNewUrl(CtObj.ThirdContractFileUrl)"
<input
v-if=
"CtObj.ThirdContractFileUrl"
type=
"button"
class=
"TCbtn-info"
@
click=
"OpenNewUrl(CtObj.ThirdContractFileUrl)"
:value=
"'旅游局合同'+$t('sm.yulan')"
/>
:value=
"'旅游局合同'+$t('sm.yulan')"
/>
<input
v-if=
"CtObj.ThirdContractSignUrl"
type=
"button"
class=
"TCbtn-info copy-link-btn"
:title=
"CtObj.ThirdContractSignUrl"
@
click=
"copyToClipboard(CtObj.ThirdContractSignUrl)"
value=
"旅游局合同签字链接"
/>
</div>
</div>
</div>
</div>
<div
class=
"contract"
>
<div
class=
"contract"
>
...
@@ -1055,6 +1061,9 @@
...
@@ -1055,6 +1061,9 @@
<input
v-if=
"CtObj.ThirdContractState == 1"
type=
"button"
class=
"TCbtn-info"
value=
"发送短信通知"
@
click=
"SMSnotification()"
/>
<input
v-if=
"CtObj.ThirdContractState == 1"
type=
"button"
class=
"TCbtn-info"
value=
"发送短信通知"
@
click=
"SMSnotification()"
/>
<input
v-if=
"CtObj.ThirdContractFileUrl"
type=
"button"
class=
"TCbtn-info"
@
click=
"OpenNewUrl(CtObj.ThirdContractFileUrl)"
<input
v-if=
"CtObj.ThirdContractFileUrl"
type=
"button"
class=
"TCbtn-info"
@
click=
"OpenNewUrl(CtObj.ThirdContractFileUrl)"
:value=
"'旅游局合同'+$t('sm.yulan')"
/>
:value=
"'旅游局合同'+$t('sm.yulan')"
/>
<input
v-if=
"CtObj.ThirdContractSignUrl"
type=
"button"
class=
"TCbtn-info copy-link-btn"
:title=
"CtObj.ThirdContractSignUrl"
@
click=
"copyToClipboard(CtObj.ThirdContractSignUrl)"
value=
"旅游局合同签字链接"
/>
</div>
</div>
</div>
</div>
<div
class=
"contract"
>
<div
class=
"contract"
>
...
@@ -1871,6 +1880,9 @@
...
@@ -1871,6 +1880,9 @@
<input
v-if=
"CtObj.ThirdContractState == 1"
type=
"button"
class=
"TCbtn-info"
value=
"发送短信通知"
@
click=
"SMSnotification()"
/>
<input
v-if=
"CtObj.ThirdContractState == 1"
type=
"button"
class=
"TCbtn-info"
value=
"发送短信通知"
@
click=
"SMSnotification()"
/>
<input
v-if=
"CtObj.ThirdContractFileUrl"
type=
"button"
class=
"TCbtn-info"
@
click=
"OpenNewUrl(CtObj.ThirdContractFileUrl)"
<input
v-if=
"CtObj.ThirdContractFileUrl"
type=
"button"
class=
"TCbtn-info"
@
click=
"OpenNewUrl(CtObj.ThirdContractFileUrl)"
:value=
"'旅游局合同'+$t('sm.yulan')"
/>
:value=
"'旅游局合同'+$t('sm.yulan')"
/>
<input
v-if=
"CtObj.ThirdContractSignUrl"
type=
"button"
class=
"TCbtn-info copy-link-btn"
:title=
"CtObj.ThirdContractSignUrl"
@
click=
"copyToClipboard(CtObj.ThirdContractSignUrl)"
value=
"旅游局合同签字链接"
/>
</div>
</div>
</div>
</div>
<div
class=
"contract"
>
<div
class=
"contract"
>
...
@@ -2545,6 +2557,18 @@
...
@@ -2545,6 +2557,18 @@
},
},
methods
:
{
methods
:
{
copyToClipboard
(
text
)
{
if
(
!
text
)
return
;
if
(
navigator
.
clipboard
&&
navigator
.
clipboard
.
writeText
)
{
navigator
.
clipboard
.
writeText
(
text
).
then
(()
=>
{
this
.
Success
(
'链接已复制到剪贴板'
);
}).
catch
(()
=>
{
this
.
fallbackCopy
(
text
);
});
}
else
{
this
.
fallbackCopy
(
text
);
}
},
SMSnotification
(){
SMSnotification
(){
if
(
this
.
SMLoading
)
return
if
(
this
.
SMLoading
)
return
this
.
$confirm
(
"是否发送短信通知?"
,
this
.
$t
(
"tips.tips"
),
{
this
.
$confirm
(
"是否发送短信通知?"
,
this
.
$t
(
"tips.tips"
),
{
...
...
src/components/administrative/ContractManage.vue
View file @
71b5cf87
...
@@ -243,10 +243,14 @@
...
@@ -243,10 +243,14 @@
v-if=
"item.Status==0||item.Status==3"
>
v-if=
"item.Status==0||item.Status==3"
>
<el-button
type=
"info"
icon=
"el-icon-upload2"
circle
@
click=
"SubmitContract(item)"
></el-button>
<el-button
type=
"info"
icon=
"el-icon-upload2"
circle
@
click=
"SubmitContract(item)"
></el-button>
</el-tooltip>
</el-tooltip>
<el-tooltip
class=
"item"
v-if=
"item.Status==2"
effect=
"dark"
:content=
"$t('objFill.fuzhiljfsgkh')"
>
<el-tooltip
class=
"item"
v-if=
"item.Status==2
&& !item.ThirdContractSignUrl
"
effect=
"dark"
:content=
"$t('objFill.fuzhiljfsgkh')"
>
<el-button
type=
"info"
icon=
"iconfont icon-copy-l"
circle
@
click=
"GetQrCode(item)"
<el-button
type=
"info"
icon=
"iconfont icon-copy-l"
circle
@
click=
"GetQrCode(item)"
style=
"padding:4px;background-color:#9266f9;border-color:#9266f9;"
></el-button>
style=
"padding:4px;background-color:#9266f9;border-color:#9266f9;"
></el-button>
</el-tooltip>
</el-tooltip>
<el-tooltip
class=
"item"
v-if=
"item.Status==2 && item.ThirdContractSignUrl"
effect=
"dark"
:content=
"$t('objFill.fuzhiljfsgkh')"
>
<el-button
type=
"info"
icon=
"iconfont icon-copy-l"
circle
@
click=
"copyToClipboard(item.ThirdContractSignUrl)"
style=
"padding:4px;background-color:#9266f9;border-color:#9266f9;"
></el-button>
</el-tooltip>
<el-tooltip
class=
"item"
effect=
"dark"
:content=
"$t('active.cl_zuofei')"
placement=
"top-start"
>
<el-tooltip
class=
"item"
effect=
"dark"
:content=
"$t('active.cl_zuofei')"
placement=
"top-start"
>
<el-button
type=
"danger"
icon=
"el-icon-close"
circle
@
click=
"DeleteContract(item)"
></el-button>
<el-button
type=
"danger"
icon=
"el-icon-close"
circle
@
click=
"DeleteContract(item)"
></el-button>
</el-tooltip>
</el-tooltip>
...
@@ -337,6 +341,18 @@
...
@@ -337,6 +341,18 @@
this
.
getList
();
this
.
getList
();
},
},
methods
:
{
methods
:
{
copyToClipboard
(
text
)
{
if
(
!
text
)
return
;
if
(
navigator
.
clipboard
&&
navigator
.
clipboard
.
writeText
)
{
navigator
.
clipboard
.
writeText
(
text
).
then
(()
=>
{
this
.
Success
(
'链接已复制到剪贴板'
);
}).
catch
(()
=>
{
this
.
fallbackCopy
(
text
);
});
}
else
{
this
.
fallbackCopy
(
text
);
}
},
//提交并盖章
//提交并盖章
SubmitContract
(
item
)
{
SubmitContract
(
item
)
{
var
that
=
this
;
var
that
=
this
;
...
...
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