|
@@ -0,0 +1,167 @@
|
|
|
|
|
+<template>
|
|
|
|
|
+ <div class="add-edit-box">
|
|
|
|
|
+ <div class="mb-20 baC-fff sys-radius-10 box-sizing-border pd-15-10 flex-justify-space">
|
|
|
|
|
+ <div class="fs-20 fw-600 p-15 ">签署合同</div>
|
|
|
|
|
+ <div class="align-items-center">
|
|
|
|
|
+ <el-button type="primary" @click="close()">返回</el-button>
|
|
|
|
|
+ <el-button type="warning" @click="close()">取消</el-button>
|
|
|
|
|
+ <el-button type="success" @click="save()">保存</el-button>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ </div>
|
|
|
|
|
+
|
|
|
|
|
+ <div class="baC-fff sys-radius-10 box-sizing-border pd-26-24">
|
|
|
|
|
+ <div class="align-items-center mb-20">
|
|
|
|
|
+ <div class="fs-16">合同编号:</div>
|
|
|
|
|
+ <el-input
|
|
|
|
|
+ class="input-w-280 mr-10"
|
|
|
|
|
+ placeholder="请输入签署的合同编号"
|
|
|
|
|
+ prefix-icon="el-icon-edit"
|
|
|
|
|
+ v-model="fromData.contract_no">
|
|
|
|
|
+ </el-input>
|
|
|
|
|
+ </div>
|
|
|
|
|
+
|
|
|
|
|
+ <div class="align-items-center mb-20">
|
|
|
|
|
+ <div class="fs-16">合同模板:</div>
|
|
|
|
|
+ <el-input
|
|
|
|
|
+ disabled
|
|
|
|
|
+ class="input-w-280 mr-10"
|
|
|
|
|
+ placeholder="请选择合同模板"
|
|
|
|
|
+ prefix-icon="el-icon-edit"
|
|
|
|
|
+ v-model="contractName">
|
|
|
|
|
+ </el-input>
|
|
|
|
|
+ <el-button type="primary" @click="selectContract()">选择合同模板</el-button>
|
|
|
|
|
+ </div>
|
|
|
|
|
+
|
|
|
|
|
+ <!-- 已选择合同模板 获取key名 输入val -->
|
|
|
|
|
+ <div class="" v-if="fromData.contract_id">
|
|
|
|
|
+ <div class="mb-20 fs-16">合同模板信息填写:</div>
|
|
|
|
|
+ <div class="align-items-center mb-20" v-for="(item,i) in texts" :key="i">
|
|
|
|
|
+ <div class="fs-16">{{item.name}}:</div>
|
|
|
|
|
+ <el-input
|
|
|
|
|
+ class="input-w-280 mr-10"
|
|
|
|
|
+ :placeholder="`请输入${item.name}`"
|
|
|
|
|
+ prefix-icon="el-icon-edit"
|
|
|
|
|
+ v-model="item.val">
|
|
|
|
|
+ </el-input>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ </div>
|
|
|
|
|
+
|
|
|
|
|
+ <div class="" v-if="fromData.contract_id">
|
|
|
|
|
+ <div class="align-items-center mb-20" v-for="(item,i) in sign_party" :key="i">
|
|
|
|
|
+ <div class="fs-16">{{item.keyword}}:</div>
|
|
|
|
|
+ <el-input
|
|
|
|
|
+ disabled
|
|
|
|
|
+ class="input-w-280 mr-10"
|
|
|
|
|
+ placeholder="签署类型(个人,企业)"
|
|
|
|
|
+ prefix-icon="el-icon-edit"
|
|
|
|
|
+ v-model="item.auth_type">
|
|
|
|
|
+ </el-input>
|
|
|
|
|
+ <el-input
|
|
|
|
|
+ disabled
|
|
|
|
|
+ class="input-w-280 mr-10"
|
|
|
|
|
+ placeholder="E签宝ID"
|
|
|
|
|
+ prefix-icon="el-icon-edit"
|
|
|
|
|
+ v-model="item.id_no">
|
|
|
|
|
+ </el-input>
|
|
|
|
|
+ <el-button type="primary" @click="selectUser(i)">选择个人签署</el-button>
|
|
|
|
|
+ <el-button type="primary" @click="selectOrgan(i)">选择机构签署</el-button>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ </div>
|
|
|
|
|
+
|
|
|
|
|
+ </div>
|
|
|
|
|
+
|
|
|
|
|
+ <ContractView ref="contractView" @setInfo='getContractView'></ContractView>
|
|
|
|
|
+ <UserView ref="userView" @setInfo='getUserView'></UserView>
|
|
|
|
|
+ <OrganView ref="organView" @setInfo='getOrganView'></OrganView>
|
|
|
|
|
+ </div>
|
|
|
|
|
+</template>
|
|
|
|
|
+
|
|
|
|
|
+<script>
|
|
|
|
|
+ import {signCreate} from '@/api/signContract.js';
|
|
|
|
|
+ import ContractView from './mod/contract.vue';
|
|
|
|
|
+ import UserView from './mod/user.vue';
|
|
|
|
|
+ import OrganView from './mod/organ.vue';
|
|
|
|
|
+
|
|
|
|
|
+ export default {
|
|
|
|
|
+ components:{ContractView,UserView,OrganView},
|
|
|
|
|
+ data(){
|
|
|
|
|
+ return{
|
|
|
|
|
+ fromData:{
|
|
|
|
|
+ contract_id:"",
|
|
|
|
|
+ contract_no:"",
|
|
|
|
|
+ textsJson:"",
|
|
|
|
|
+ signJson:"",
|
|
|
|
|
+ },
|
|
|
|
|
+ isAJAX:false,
|
|
|
|
|
+
|
|
|
|
|
+ contractName:'',
|
|
|
|
|
+ texts:[],
|
|
|
|
|
+ sign_party:[],
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ mounted() {
|
|
|
|
|
+
|
|
|
|
|
+ },
|
|
|
|
|
+ methods:{
|
|
|
|
|
+ close(){
|
|
|
|
|
+ this.$router.go(-1)
|
|
|
|
|
+ },
|
|
|
|
|
+ save(){
|
|
|
|
|
+ this.fromData.textsJson = this.texts.reduce((acc,item)=>{
|
|
|
|
|
+ acc[item.name] = item.val
|
|
|
|
|
+ return acc
|
|
|
|
|
+ },{})
|
|
|
|
|
+ },
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+ // 合同模板
|
|
|
|
|
+ selectContract(){
|
|
|
|
|
+ this.$refs.contractView.getList();
|
|
|
|
|
+ },
|
|
|
|
|
+ getContractView(e){
|
|
|
|
|
+ this.fromData.contract_id = e.id;
|
|
|
|
|
+ this.contractName = e.name;
|
|
|
|
|
+ let textsList = e.texts;
|
|
|
|
|
+ textsList.forEach((v)=>{
|
|
|
|
|
+ let obj = {
|
|
|
|
|
+ name:v,
|
|
|
|
|
+ val:'',
|
|
|
|
|
+ }
|
|
|
|
|
+ this.texts.push(obj)
|
|
|
|
|
+ })
|
|
|
|
|
+ let signPartyList = e.sign_party;
|
|
|
|
|
+ signPartyList.forEach((v)=>{
|
|
|
|
|
+ let obj = {
|
|
|
|
|
+ keyword:v,
|
|
|
|
|
+ auth_type:'',
|
|
|
|
|
+ id_no:'',
|
|
|
|
|
+ }
|
|
|
|
|
+ this.sign_party.push(obj)
|
|
|
|
|
+ })
|
|
|
|
|
+ },
|
|
|
|
|
+
|
|
|
|
|
+ // 人员
|
|
|
|
|
+ selectUser(i){
|
|
|
|
|
+ this.$refs.userView.index = i;
|
|
|
|
|
+ this.$refs.userView.getList();
|
|
|
|
|
+ },
|
|
|
|
|
+ getUserView(e){
|
|
|
|
|
+
|
|
|
|
|
+ },
|
|
|
|
|
+ // 企业
|
|
|
|
|
+ selectOrgan(i){
|
|
|
|
|
+ this.$refs.organView.index = i;
|
|
|
|
|
+ this.$refs.organView.getList();
|
|
|
|
|
+ },
|
|
|
|
|
+ getOrganView(e){
|
|
|
|
|
+
|
|
|
|
|
+ },
|
|
|
|
|
+ },
|
|
|
|
|
+ }
|
|
|
|
|
+</script>
|
|
|
|
|
+
|
|
|
|
|
+<style scoped lang="scss">
|
|
|
|
|
+ .add-edit-box{
|
|
|
|
|
+
|
|
|
|
|
+ }
|
|
|
|
|
+</style>
|