@@ -780,6 +780,22 @@ export function cbhtFirstSign(data,id) { | |||||
}) | }) | ||||
} | } | ||||
// 签字流程归档 | |||||
export function signProcessArchive(id) { | |||||
return request({ | |||||
url: '/service/cbht/sign/archive/' + id, | |||||
method: 'get' | |||||
}); | |||||
} | |||||
// 签署合同下载 | |||||
export function signedContractDownload(id) { | |||||
return request({ | |||||
url: '/service/cbht/sign/download/' + id, | |||||
method: 'get' | |||||
}); | |||||
} | |||||
// 查询承包合同详细 | // 查询承包合同详细 | ||||
export function getCbht(query, id) { | export function getCbht(query, id) { | ||||
return request({ | return request({ | ||||
@@ -911,7 +927,22 @@ export function getMessage(id) { | |||||
method: 'get', | method: 'get', | ||||
}) | }) | ||||
} | } | ||||
//e签宝-发包方合同网签 | |||||
export function eqbFbfhtwq(data){ | |||||
return request({ | |||||
url: '/open/villageAffairs/public/eqbFbfhtwq', | |||||
method: 'post', | |||||
data: data | |||||
}) | |||||
} | |||||
//e签宝-合同网签 | |||||
export function eqbCbfhtwq(data){ | |||||
return request({ | |||||
url: '/open/villageAffairs/public/eqbCbfhtwq', | |||||
method: 'post', | |||||
data: data | |||||
}) | |||||
} | |||||
// 资源公开 | // 资源公开 | ||||
export function orcodeList(query) { | export function orcodeList(query) { | ||||
return request({ | return request({ | ||||
@@ -74,4 +74,13 @@ export function examineSign(data){ | |||||
data: data | data: data | ||||
}) | }) | ||||
} | } | ||||
//承包方e签宝授权 | |||||
export function eqbEmpower(data){ | |||||
return request({ | |||||
url:'/open/villageAffairs/public/eqbEmpower', | |||||
method: 'post', | |||||
data: data | |||||
}) | |||||
} | |||||
@@ -44,6 +44,10 @@ | |||||
<img src="../../assets/images/sunVillage_info/signature_icon_03.png" alt="" width="35"> | <img src="../../assets/images/sunVillage_info/signature_icon_03.png" alt="" width="35"> | ||||
<p>预览</p> | <p>预览</p> | ||||
</div> --> | </div> --> | ||||
<div class="opera_btn" v-if="item.signingMode == '线上' && item.cbfqszt !='2'" @click="contractSign(item)"> | |||||
<img src="../../assets/images/sunVillage_info/signature_icon_02.png" alt="" width="35"> | |||||
<p>合同网签</p> | |||||
</div> | |||||
<div class="opera_btn" @click="openPopupGsjg(item.cbfbm)"> | <div class="opera_btn" @click="openPopupGsjg(item.cbfbm)"> | ||||
<img src="../../assets/images/sunVillage_info/signature_icon_02.png" alt="" width="30"> | <img src="../../assets/images/sunVillage_info/signature_icon_02.png" alt="" width="30"> | ||||
<p>公示结果签名</p> | <p>公示结果签名</p> | ||||
@@ -61,6 +65,9 @@ | |||||
</van-swipe-cell> | </van-swipe-cell> | ||||
</van-list> | </van-list> | ||||
</div> | </div> | ||||
<van-dialog v-model="htqsShow" title="合同签署" confirmButtonText="关闭" @confirm="confirmn"> | |||||
<iframe width="100%" height="600px;" :src="noticeUrl"></iframe> | |||||
</van-dialog> | |||||
<van-popup v-model="show" closeable position="right" :style="{ height: '100%' }" > | <van-popup v-model="show" closeable position="right" :style="{ height: '100%' }" > | ||||
<van-cell-group style="width: 100%;height:100%;overflow: hidden;padding-top: 10px;padding-bottom: 10px;"> | <van-cell-group style="width: 100%;height:100%;overflow: hidden;padding-top: 10px;padding-bottom: 10px;"> | ||||
<div class="signature-box" @mousedown="canvasTTdown" @touchstart="canvasTTdown"> | <div class="signature-box" @mousedown="canvasTTdown" @touchstart="canvasTTdown"> | ||||
@@ -95,7 +102,7 @@ | |||||
</template> | </template> | ||||
<script> | <script> | ||||
import { getCbf, getCbhtList, cbhtSecondSign,updateGsjgSign, attachmentQuery, attachmentUpload, attachmentRemove } from "@/api/sunVillage_info/fixedAssets"; | |||||
import { getCbf, eqbCbfhtwq,getCbhtList, cbhtSecondSign,updateGsjgSign, attachmentQuery, attachmentUpload, attachmentRemove } from "@/api/sunVillage_info/fixedAssets"; | |||||
import vueEsign from "vue-esign"; | import vueEsign from "vue-esign"; | ||||
import $ from "jquery"; | import $ from "jquery"; | ||||
import Cookies from "js-cookie"; | import Cookies from "js-cookie"; | ||||
@@ -110,6 +117,8 @@ | |||||
finished: false, | finished: false, | ||||
show: false, | show: false, | ||||
showFile: false, | showFile: false, | ||||
htqsShow:false, | |||||
noticeUrl:false, | |||||
fileList: [], | fileList: [], | ||||
listLength: '0', | listLength: '0', | ||||
cbfbm:"", | cbfbm:"", | ||||
@@ -191,6 +200,17 @@ | |||||
this.handleReset(); | this.handleReset(); | ||||
}); | }); | ||||
}, | }, | ||||
contractSign(val){ | |||||
eqbCbfhtwq(val).then(response => { | |||||
this.noticeUrl = response.data; | |||||
this.htqsShow = true; | |||||
}); | |||||
}, | |||||
confirmn(){ | |||||
this.applicationList = []; | |||||
this.getList(); | |||||
}, | |||||
openPopupFile(id){ | openPopupFile(id){ | ||||
this.fileList = []; | this.fileList = []; | ||||
this.signaId = id; | this.signaId = id; | ||||
@@ -83,16 +83,19 @@ | |||||
<van-field readonly v-model="isDepositName" label="是否纳入托管" placeholder="是否纳入托管" input-align="right" :border="false" /> | <van-field readonly v-model="isDepositName" label="是否纳入托管" placeholder="是否纳入托管" input-align="right" :border="false" /> | ||||
<van-field readonly v-model="form.tgmj" label="托管面积(亩)" placeholder="托管面积(亩)" input-align="right" :border="false" /> | <van-field readonly v-model="form.tgmj" label="托管面积(亩)" placeholder="托管面积(亩)" input-align="right" :border="false" /> | ||||
<div style="margin: 30px auto 0;width: 50%;"> | <div style="margin: 30px auto 0;width: 50%;"> | ||||
<van-button round block type="primary" native-type="submit" > | |||||
<van-button round block type="primary" v-if="sqbutShow" @click="cbfsq"> | |||||
授权 | 授权 | ||||
</van-button> | </van-button> | ||||
<van-button round block type="primary" v-if="!sqbutShow" > | |||||
授权完成 | |||||
</van-button> | |||||
</div> | </div> | ||||
</div> | </div> | ||||
</div> | </div> | ||||
</template> | </template> | ||||
<script> | <script> | ||||
import { getCbfList} from "@/api/sunVillage_info/sysCbf"; | |||||
import { getCbfList,eqbEmpower} from "@/api/sunVillage_info/sysCbf"; | |||||
import FieldSelect from "@/components/form/FieldSelect"; | import FieldSelect from "@/components/form/FieldSelect"; | ||||
import Cookies from "js-cookie"; | import Cookies from "js-cookie"; | ||||
import $ from "jquery"; | import $ from "jquery"; | ||||
@@ -104,6 +107,7 @@ | |||||
form:{}, | form:{}, | ||||
showForm2:false, | showForm2:false, | ||||
showesign:false, | showesign:false, | ||||
sqbutShow:false, | |||||
sysFarmer:JSON.parse(Cookies.get('user')), | sysFarmer:JSON.parse(Cookies.get('user')), | ||||
zjlxName:"", | zjlxName:"", | ||||
cbfTypeName:"", | cbfTypeName:"", | ||||
@@ -124,7 +128,7 @@ | |||||
}; | }; | ||||
}, | }, | ||||
created() { | created() { | ||||
this.getSysFfb(); | |||||
this.getSysCfb(); | |||||
}, | }, | ||||
methods: { | methods: { | ||||
InitOptions() { | InitOptions() { | ||||
@@ -133,11 +137,24 @@ | |||||
this.getDicts(k).then((resp) => this.options[k] = resp.data); | this.getDicts(k).then((resp) => this.options[k] = resp.data); | ||||
} | } | ||||
}, | }, | ||||
getSysFfb(){ | |||||
/*承包方授权*/ | |||||
cbfsq(){ | |||||
console.info(3333333333); | |||||
eqbEmpower(this.form).then(response => { | |||||
if(response.code === 200 ){ | |||||
this.sqbutShow = false; | |||||
} | |||||
}); | |||||
}, | |||||
getSysCfb(){ | |||||
getCbfList({deptId:this.sysFarmer.deptId,cbfzjhm:this.sysFarmer.idcard}).then(response => { | getCbfList({deptId:this.sysFarmer.deptId,cbfzjhm:this.sysFarmer.idcard}).then(response => { | ||||
this.sqbutShow = true; | |||||
let _this = this; | let _this = this; | ||||
if(response.rows.length > 0){ | if(response.rows.length > 0){ | ||||
this.form = response.rows[0]; | this.form = response.rows[0]; | ||||
if(this.form.accountId != null && this.form.accountId !== ""){ | |||||
this.sqbutShow = false; | |||||
} | |||||
this.getDicts("zjlx").then(response => { | this.getDicts("zjlx").then(response => { | ||||
response.data.forEach(function (item) { | response.data.forEach(function (item) { | ||||
if (item.dictValue === _this.form.cbfzjlx) { | if (item.dictValue === _this.form.cbfzjlx) { | ||||
@@ -10,6 +10,15 @@ | |||||
</div> | </div> | ||||
<div class="list_main"> | <div class="list_main"> | ||||
<van-search | |||||
v-model="searchKeyword" | |||||
shape="round" | |||||
background="transparent" | |||||
placeholder="请输入承包方姓名搜索" | |||||
@search="onSearch" | |||||
@clear="onSearch" | |||||
></van-search> | |||||
<van-list | <van-list | ||||
v-model="loading" | v-model="loading" | ||||
:finished="finished" | :finished="finished" | ||||
@@ -46,6 +55,20 @@ | |||||
<img src="../../assets/images/sunVillage_info/signature_icon_03.png" alt="" width="35"> | <img src="../../assets/images/sunVillage_info/signature_icon_03.png" alt="" width="35"> | ||||
<p>预览</p> | <p>预览</p> | ||||
</div> --> | </div> --> | ||||
<div class="opera_btn" v-if="item.signingMode == '线上' && item.fbfqszt !='2'" @click="contractSign(item)"> | |||||
<img src="../../assets/images/sunVillage_info/signature_icon_03.png" alt="" width="35"> | |||||
<p>合同网签</p> | |||||
</div> | |||||
<div class="opera_btn" v-if="item.signingMode === '线上' && item.signingStatus === '签字完成'" | |||||
@click="handleArchive(item.id)"> | |||||
<img src="../../assets/images/sunVillage_info/archive.png" alt="" width="35"> | |||||
<p>归档</p> | |||||
</div> | |||||
<div class="opera_btn" v-if="item.signingMode === '线上' && item.signingStatus === '合同归档'" | |||||
@click="handleDownload(item.id)"> | |||||
<img src="../../assets/images/sunVillage_info/download.png" alt="" width="35"> | |||||
<p>下载合同</p> | |||||
</div> | |||||
<div class="opera_btn"> | <div class="opera_btn"> | ||||
<img src="../../assets/images/sunVillage_info/signature_icon_03.png" alt="" width="35"> | <img src="../../assets/images/sunVillage_info/signature_icon_03.png" alt="" width="35"> | ||||
<p>预览</p> | <p>预览</p> | ||||
@@ -59,7 +82,9 @@ | |||||
</van-swipe-cell> | </van-swipe-cell> | ||||
</van-list> | </van-list> | ||||
</div> | </div> | ||||
<van-dialog v-model="htqsShow" title="合同签署" confirmButtonText="关闭" @confirm="confirmn"> | |||||
<iframe width="100%" height="600px;" :src="noticeUrl"></iframe> | |||||
</van-dialog> | |||||
<!-- 签字弹出层 --> | <!-- 签字弹出层 --> | ||||
<van-popup v-model="show" closeable position="right" :style="{ height: '100%' }"> | <van-popup v-model="show" closeable position="right" :style="{ height: '100%' }"> | ||||
<van-cell-group style="width: 100%;height:100%;overflow: hidden;padding-top: 10px;padding-bottom: 10px;"> | <van-cell-group style="width: 100%;height:100%;overflow: hidden;padding-top: 10px;padding-bottom: 10px;"> | ||||
@@ -95,7 +120,7 @@ | |||||
</template> | </template> | ||||
<script> | <script> | ||||
import { listCbht, cbhtFirstSign, attachmentList, commonAttach, systemAttachment } from "@/api/sunVillage_info/fixedAssets"; | |||||
import { listCbht,eqbFbfhtwq, signProcessArchive, signedContractDownload, cbhtFirstSign, attachmentList, commonAttach, systemAttachment } from "@/api/sunVillage_info/fixedAssets"; | |||||
import vueEsign from "vue-esign"; | import vueEsign from "vue-esign"; | ||||
import $ from "jquery"; | import $ from "jquery"; | ||||
@@ -109,11 +134,14 @@ | |||||
finished: false, | finished: false, | ||||
show: false, | show: false, | ||||
showFile: false, | showFile: false, | ||||
htqsShow:false, | |||||
noticeUrl:"", | |||||
fileList: [], | fileList: [], | ||||
listLength: '0', | listLength: '0', | ||||
queryParams: { | queryParams: { | ||||
pageNum: 1, | pageNum: 1, | ||||
pageSize: 10, | |||||
pageSize: 15, | |||||
cbfmc: null, | |||||
translate_dict: 1, | translate_dict: 1, | ||||
// 查询排序 | // 查询排序 | ||||
orderByColumn: "id", | orderByColumn: "id", | ||||
@@ -131,7 +159,9 @@ | |||||
isCrop: false, // 是否裁剪,在画布设定尺寸基础上裁掉四周空白部分 | isCrop: false, // 是否裁剪,在画布设定尺寸基础上裁掉四周空白部分 | ||||
}, | }, | ||||
signaId: '', | signaId: '', | ||||
height: null | |||||
height: null, | |||||
// 查询关键字 | |||||
searchKeyword: null, | |||||
}; | }; | ||||
}, | }, | ||||
created() { | created() { | ||||
@@ -145,6 +175,7 @@ | |||||
$('#canvasTT').css('display', 'none'); | $('#canvasTT').css('display', 'none'); | ||||
}, | }, | ||||
getList() { | getList() { | ||||
this.loading = true; | |||||
listCbht(this.queryParams).then(response => { | listCbht(this.queryParams).then(response => { | ||||
response.rows.forEach(item => { | response.rows.forEach(item => { | ||||
this.applicationList.push(item); | this.applicationList.push(item); | ||||
@@ -210,11 +241,22 @@ | |||||
signaImgFun(url) { | signaImgFun(url) { | ||||
this.signatureImg = url; | this.signatureImg = url; | ||||
}, | }, | ||||
confirmn(){ | |||||
this.applicationList = []; | |||||
this.getList(); | |||||
}, | |||||
// 清空画板 | // 清空画板 | ||||
handleReset() { | handleReset() { | ||||
this.$refs.esign.reset(); | this.$refs.esign.reset(); | ||||
$('#canvasTT').css('display', 'block') | $('#canvasTT').css('display', 'block') | ||||
}, | }, | ||||
contractSign(val){ | |||||
eqbFbfhtwq(val).then(response => { | |||||
this.noticeUrl = response.data; | |||||
this.htqsShow = true; | |||||
}); | |||||
}, | |||||
// 生成签字图 | // 生成签字图 | ||||
handleGenerate() { | handleGenerate() { | ||||
this.$refs.esign | this.$refs.esign | ||||
@@ -252,6 +294,53 @@ | |||||
type: mime | type: mime | ||||
}) | }) | ||||
}, | }, | ||||
// 签字流程归档 | |||||
handleArchive(id) { | |||||
this.$dialog.confirm({ | |||||
message: '是否确认归档?', | |||||
}).then(() => { | |||||
// on confirm | |||||
signProcessArchive(id).then(res => { | |||||
if (res.code === 200) { | |||||
this.$toast({ | |||||
icon: 'success', | |||||
message: '归档完成', | |||||
duration: "1000", | |||||
onClose: () => { | |||||
this.queryParams.pageNum = 1; | |||||
this.finished = false; | |||||
this.applicationList = []; | |||||
this.getList(); | |||||
} | |||||
}); | |||||
} | |||||
}); | |||||
}).catch(() => { | |||||
// on cancel | |||||
}); | |||||
}, | |||||
// 签署合同下载 | |||||
handleDownload(id) { | |||||
this.$dialog.confirm({ | |||||
message: '是否确认下载签署合同?', | |||||
}).then(() => { | |||||
// on confirm | |||||
signedContractDownload(id).then(res => { | |||||
if (res.code === 200) { | |||||
window.location.href = res.data; | |||||
} | |||||
}); | |||||
}).catch(() => { | |||||
// on cancel | |||||
}); | |||||
}, | |||||
onSearch(){ | |||||
this.queryParams.cbfmc = this.searchKeyword; | |||||
this.queryParams.pageNum = 1; | |||||
this.finished = false; | |||||
this.applicationList = []; | |||||
this.getList(); | |||||
} | |||||
}, | }, | ||||
} | } | ||||
</script> | </script> | ||||
@@ -57,7 +57,6 @@ | |||||
listFbf({deptId: this.$store.state.user.loginDeptId, translate_dict: 1}).then(response => { | listFbf({deptId: this.$store.state.user.loginDeptId, translate_dict: 1}).then(response => { | ||||
if (response.rows.length > 0) { | if (response.rows.length > 0) { | ||||
this.form = response.rows[0]; | this.form = response.rows[0]; | ||||
console.log(this.form); | |||||
} | } | ||||
}); | }); | ||||
}, | }, | ||||