ソースを参照

签章代码起脚

hongchuangyanfa 2 年 前
コミット
93db8809bc

+ 88 - 22
src/views/manager/projectinfo/treeTemplate/template/electronicSignature.vue

@@ -11,6 +11,17 @@
       </el-row>
 
       <el-row :span="24">
+        <el-col :span="3.3" style="line-height: 40px">
+          证书类型:
+        </el-col>
+        <el-col :span="18">
+            <el-select v-model="signType" placeholder="请选择证书类型" @change="signTypeChang()">
+            <el-option  v-for="item in seloptions" :label="item.label" :value="item.value" ></el-option>
+          </el-select>
+        </el-col>
+      </el-row>
+
+      <el-row :span="24" v-if="signType==1">
         <el-col :span="3.3">
           所属方:
         </el-col>
@@ -19,17 +30,28 @@
         </el-col>
       </el-row>
 
-      <el-row :span="24">
+      <el-row :span="24" v-if="signType==1">
         <el-col :span="3.3" style="line-height: 40px">
           签字角色:
         </el-col>
         <el-col :span="18">
-          <el-select v-model="roleInfo" @change="selectChanged" placeholder="请选择签字岗位" >
+          <el-select v-model="roleInfo"  placeholder="请选择签字岗位" >
             <el-option v-for="item in options" :key="item.value" :value="item" :label="item.label"></el-option>
           </el-select>
         </el-col>
       </el-row>
 
+      <el-row :span="24" v-if="signType==2">
+        <el-col :span="3.3" style="line-height: 40px">
+          签章类型:
+        </el-col>
+        <el-col :span="18">
+          <el-select v-model="signInfo" placeholder="请选择签章类型" >
+            <el-option v-for="item in options" :key="item.dictKey" :value="item" :label="item.dictValue"></el-option>
+          </el-select>
+        </el-col>
+      </el-row>
+
       <el-row :span="24">
         <el-col :span="3.3" style="line-height: 40px">
           偏移位X:
@@ -106,6 +128,8 @@
 <script>
 
 import {getRoleInfoByParentId, getRoleType, getSigList, saveSig} from "../../../../../api/manager/AdjustForm";
+import {findPfxType} from "../../../../../api/certificate/list";
+
 
 export default {
   props: ['pkeyId1', 'htmlData1'],
@@ -115,9 +139,21 @@ export default {
       roleType:[],
       options: [],
       roleInfo: '',
+      signInfo: '',
+      signType: '1', // 证书类型
       pyzbx: 0.0,
       pyzby: 0.0 ,
-      setsignaTable:[]
+      setsignaTable:[],
+      seloptions : [
+        {
+          value: '1',
+          label: '个人证书',
+        },
+        {
+          value: '2',
+          label: '企业证书',
+        }
+      ]
     }
   },
   methods: {
@@ -127,17 +163,33 @@ export default {
         this.roleType = res.data
       }
     },
+
+    // 签证类型
+    async signTypeChang(){
+      setTimeout(async () => {
+        if(this.signType==2){
+          const {data: res} = await findPfxType({ typeOrStatus: 'pfx_type'})
+          if (res.code === 200) {
+            this.options = res.data
+          }
+        }
+      }, 200);
+    },
+
     // 单选按钮改变事件
     async roleTypeChang(){
       setTimeout(async () => {
-        console.log(this.radio);
-        const {data: res} = await getRoleInfoByParentId({ParentId: this.radio})
-        if (res.code === 200) {
-          this.options = res.data
-        }
+          const {data: res} = await getRoleInfoByParentId({ParentId: this.radio})
+          if (res.code === 200) {
+            this.options = res.data
+          }
       }, 200);
     },
     async addRoleInfo(){
+      var isadd = true;
+      // 集合中添加数据
+      var data = {};
+
       // 坐标位置
       if(this.htmlData1.name ===''){
         this.$message({
@@ -147,29 +199,40 @@ export default {
         return;
       }
       // 签字岗位
-      if(this.roleInfo ===''){
-        this.$message({
-          type: "error",
-          message: "请选择签字岗位"
-        });
-        return;
+
+      if (this.signType==1){
+        if(this.roleInfo ==='') {
+          this.$message({
+            type: "error",
+            message: "请选择签字岗位"
+          });
+          return;
+        }
+        data.sigRoleId = this.roleInfo.value;
+        data.sigRoleName = this.roleInfo.label;
+        data.type=2;
+      }else if(this.signType==2){
+        if(this.signInfo ===''){
+          this.$message({
+            type: "error",
+            message: "请选择签章类型"
+          });
+          return;
+        }
+        data.sigRoleId = this.signInfo.dictKey;
+        data.sigRoleName = this.signInfo.dictValue;
+        data.type=6;
       }
 
-      var isadd = true;
-      // 集合中添加数据
-      var data = {};
       data.colKey="__"+this.htmlData1.tr+"_"+this.htmlData1.td;
       data.tabId = this.pkeyId1;
       data.colName= this.htmlData1.name;
-      data.sigRoleId = this.roleInfo.value;
-      data.sigRoleName = this.roleInfo.label;
+
 
       data.pyzbx = this.pyzbx;
       data.pyzby = this.pyzby;
 
       try {
-
-
         this.setsignaTable.forEach(val => {
           if(val.colName == this.htmlData1.name){ // 位置只能添加一个
             this.$message({
@@ -201,7 +264,7 @@ export default {
         this.saveSingInfo();
     },
     async saveSingInfo() {
-      const {data: res} = await saveSig({dataInfo: this.setsignaTable})
+      const {data: res} = await saveSig({dataInfo: this.setsignaTable,tabId:this.pkeyId1})
       if (res.code === 200) {
         this.$message({
           type: "success",
@@ -227,8 +290,11 @@ export default {
     this.getRoleType();  //获取文本类型接口
     this.getSingInfo();
     this.setsignaTable=[];
+
   },
 }
+
+
 </script>
 <style lang="scss" scoped>
 .table {