Commit 71b5cf87 authored by liudong1993's avatar liudong1993

1

parent d959ed00
...@@ -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();
......
...@@ -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"), {
......
...@@ -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;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment