Browse Source

新增电签下一个按钮

duy 1 tuần trước cách đây
mục cha
commit
c1bab17023
1 tập tin đã thay đổi với 62 bổ sung703 xóa
  1. 62 703
      src/views/certificate/lists/addList.vue

+ 62 - 703
src/views/certificate/lists/addList.vue

@@ -1,708 +1,67 @@
-<template>
-  <basic-container class="addList">
-    <el-form
-      ref="form"
-      :model="form"
-      :rules="rules"
-      label-width="170px"
-      :inline="true"
-    >
-      <el-form-item
-        label="证书类型"
-        prop="certificateType"
-        style="width:45%;"
-      >
-        <el-radio-group v-model="form.certificateType" @change="changeCertificateType">
-          <el-radio :label="1">个人证书</el-radio>
-          <el-radio :label="2">企业证书</el-radio>
-        </el-radio-group>
-      </el-form-item>
-      <el-form-item
-        label="签字公司"
-        prop="company"
-        style="width:45%;"
-        v-if="form.certificateType===2"
-      >
-          <el-select
-              v-model="form.company"
-              placeholder="请选择"
-              style="width: 400px;"
-              clearable
-              @visible-change="changeCompany"
-            >
-              <el-option
-                v-for="item in options"
-                :key="item.id"
-                :label="item.dictValue"
-                :value="item.dictKey"
-              ></el-option>
-          </el-select>
-      </el-form-item>
-      <el-form-item
-        label="证书所有者"
-        prop="certificateUserName"
-        style="width:45%;"
-
-      >
-        <el-input
-          v-model="form.certificateUserName"
-          style="width:400px;"
-          placeholder="请输入内容"
-        ></el-input>
-      </el-form-item>
-      <el-form-item
-        label="所持证书者身份证ID"
-        prop="certificateId"
-        v-if="form.certificateType==1&&form.company!=3"
-        style="width:45%;"
-      >
-        <el-input
-          v-model="form.certificateId"
-          style="width:400px;"
-          placeholder="请输入内容"
-        ></el-input>
-      </el-form-item>
-      <el-form-item
-        label="企业统一社会信用代码"
-        style="width:45%;"
-        prop="enterpriseUnifiedCode"
-        v-if="form.certificateType!==1&&form.company!=3"
-      >
-        <el-input
-          v-model="form.enterpriseUnifiedCode"
-          style="width:400px;"
-          placeholder="请输入内容"
-        ></el-input>
-      </el-form-item>
-      <el-form-item
-        label="证书编号"
-        prop="certificateNumber"
-        style="width:45%;"
-      >
-        <el-input
-          v-model="form.certificateNumber"
-          style="width:400px;"
-          placeholder="请输入内容"
-        ></el-input>
-      </el-form-item>
-      <el-form-item
-        label="证书密码"
-        prop="certificatePassword"
-        style="width:45%;"
-        v-if="form.company!=3"
-      >
-        <el-input
-          v-model="form.certificatePassword"
-          style="width:400px;"
-          placeholder="请输入内容"
-        ></el-input>
-      </el-form-item>
-      <el-form-item
-        label="签章类型"
-        style="width:45%;"
-        prop="pfxType"
-
-      >
-        <el-select
-          v-model="form.pfxType"
-          style="width:400px;"
-          placeholder="请选择"
-        >
-          <el-option
-            v-for="item in pfxType"
-            :key="item.dictKey"
-            :label="item.dictValue"
-            :value="item.dictKey"
-          >
-          </el-option>
-        </el-select>
-      </el-form-item>
-      <el-form-item
-        label="关联用户"
-        style="width:45%;"
-        prop="certificateUserId"
-        v-if="form.certificateType==1"
-      >
-        <el-select
-          filterable
-          v-model="form.certificateUserId"
-          style="width:400px;"
-          placeholder="请选择"
-          @change="selectUser"
-        >
-          <el-option
-            v-for="item in userData"
-            :key="item.id"
-            :label="item.name"
-            :value="item.id"
-          >
-          </el-option>
-        </el-select>
-      </el-form-item>
-      <el-form-item
-        label="证书文件"
-        style="width:100%;"
-        prop="certificateFileUrl"
-        v-if="form.company!=3"
-      >
-        <el-upload
-          class="upload-demo" action="#" multiple :limit="1" :auto-upload="false" accept='.pfx'
-          :file-list="form.certificateFileUrl" :before-remove="beforeRemove" :on-change="changecertificateFileUrl"
-        >
-          <el-button size="small" type="primary">上传文件</el-button>
-          <div slot="tip" class="el-upload__tip">支持上传文件格式为pfx文件</div>
-        </el-upload>
-      </el-form-item>
-
-      <el-form-item label="签名体图片" style="width:100%;" prop="signatureFileUrl" v-if="form.company!=3">
-        <el-upload
-          class="upload-demo" action="#" multiple :limit="1" :auto-upload="false" accept='.jpg,.png'
-          :file-list="form.signatureFileUrl" :before-remove="beforeRemove2" :on-change="changecertificateFileUrl2"
-        >
-          <div style="position: relative; display: flex; align-items: center;">
-            <el-button size="small" type="primary">上传文件</el-button>
-            <div style="position: relative; display: flex;align-items: center; color: #1A1A1A; cursor: default;" @click.stop="stopClick">
-              <el-input v-model="form.wide" style="width:60px; margin-left: 24px;" placeholder="宽度" size="small" :disabled="form.signatureFileUrl.length<=0"></el-input>
-              <div style="display: inline-block; margin-left: 8px;">x</div>
-              <el-input v-model="form.high" style="width:60px; margin-left: 8px;" placeholder="高度" size="small" :disabled="form.signatureFileUrl.length<=0"></el-input>
-              <el-button size="small" type="warning" style="margin-left: 12px" :disabled="form.signatureFileUrl.length <= 0 " @click.stop="signaturePreview">预览</el-button>
-            </div>
-          </div>
-          <div
-            slot="tip"
-            class="el-upload__tip"
-          >支持上传文件格式为JPG/PNG</div>
-        </el-upload>
-      </el-form-item>
-      <el-form-item
-        label="关联项目"
-        tyle="width:100%;"
-        prop="signPfxDeputieList"
-        v-if="form.certificateType==2"
-      >
-        <i
-          class="el-icon-circle-plus"
-          style="color:red;font-size:24px;line-height:40px;cursor: pointer;"
-          @click="pushSignPfxDeputieList"
-        ></i>
-        <div
-          v-for="(item,key) in form.signPfxDeputieList"
-          :key='key'
-        >
-          <!-- 项目 -->
-          <el-select
-            style="width:300px;"
-            class="martop20"
-            v-model="form.signPfxDeputieList[key].projectId"
-            placeholder="请选择"
-            @change="changeProjectId(key)"
-          >
-            <el-option
-              v-for="item in projectMeiju"
-              :key="item.id"
-              :label="item.name"
-              :value="item.id"
-            >
-            </el-option>
-          </el-select>
-          <!-- 合同段 -->
-          <el-select
-            style="width:300px;"
-            class="marleft20 martop20"
-            @focus="focusContractSection(form.signPfxDeputieList[key].projectId,key)"
-            :disabled='!form.signPfxDeputieList[key].projectId'
-            v-model="form.signPfxDeputieList[key].contractId"
-            placeholder="请选择"
-            @change="checkRoleRepeat(key)"
-          >
-            <el-option
-              v-for="item in form.signPfxDeputieList[key].contractList"
-              :key="item.id"
-              :label="item.name"
-              :value="item.id"
-            >
-            </el-option>
-          </el-select>
-          <el-select
-            class="marleft20 martop20"
-            style="width:300px;"
-            v-model="form.signPfxDeputieList[key].roleId"
-            placeholder="请选择参建方"
-            @change="checkRoleRepeat(key)"
-          >
-            <el-option
-              v-for="item in ParticipationConstruction"
-              :key="item.id"
-              :label="item.roleName"
-              :value="item.id"
-            >
-            </el-option>
-          </el-select>
-          <i
-            class="el-icon-error marleft10"
-            @click="deleteSignPfxDeputie(key)"
-            style="fontSize:20px;color:#F0630A;cursor: pointer;"
-          ></i>
-        </div>
-        <!-- signPfxDeputieList -->
-      </el-form-item>
-    </el-form>
-    <div class="flexCenter">
-      <el-button @click="cancel">取消</el-button>
-      <el-button
-        class="marleft30"
-        type="primary"
-        v-throttle='2000'
-        @click="savess()"
-      >保存</el-button>
-    </div>
-  </basic-container>
-</template>
-
-<script>
-import { save, getById, findUserByName, queryRole, queryProjectAndContract, addFileInfo, update, findPfxType, picPresave, prePicture, compressAndUpload } from "@/api/certificate/list";
-import {getDictionary as getDictbiz} from "@/api/system/dictbiz";
-export default {
-  data () {
-    return {
-      form: {
-        certificateType: 1,
-        certificateUserName: '',
-        certificateId: '',//所持证书者身份证ID
-        enterpriseUnifiedCode: '',//企业统一社会信用代码
-        certificateNumber: '',
-        certificatePassword: '123456',
-        certificateUserId: '',
-        pfxType: '',
-        certificateFileUrl: [],//证书文件
-        certificateFileName: '',//证书文件名称
-        signatureFileUrl: [],//签名体图片
-        signatureFileName: '',//签名体图片文件名称
-        signPfxDeputieList: [],
-        company:2,
-        wide: '',
-        high: ''
-      },
-      rules: {
-        company:[{ required: false, message: '请选择', trigger: 'change' }],
-        certificateType: [{ required: true, message: '请选择', trigger: 'change' }],
-        certificateUserName: [{ required: true, message: '请输入证书所有者', trigger: 'blur' }],
-        certificateId: [{ required: true, message: '请输入所持证书者身份ID', trigger: 'blur' }],
-        enterpriseUnifiedCode: [{ required: true, message: '请输入企业统一社会信用代码', trigger: 'blur' }],
-        //  certificateNumber: [{ required: true, message: '请输入证书编号', trigger: 'blur' }],
-        certificateNumber:[],
-        certificatePassword: [{ required: true, message: '请输入证书密码', trigger: 'blur' }],
-        certificateUserId: [{ required: true, message: '请选择关联用户', trigger: 'change' }],
-        certificateFileUrl: [{ required: true, message: '请选择证书文件', trigger: 'change' }],
-        signatureFileUrl: [{ required: true, message: '请选择签名体图片', trigger: 'change', }],
-        signPfxDeputieList: [{ required: true, message: '请设置关联项目', trigger: 'change', }],
-        pfxType: [{ required: true, message: '请选择签章类型', trigger: 'change', }],
-      },
-      ParticipationConstruction: [],//参见项目方
-      projectMeiju: [],//项目
-      ContractSection: [],//合同段
-      userData: [],//关联用户
-      pfxType: [],//
-      options:[],
-      signatureId: '',
-    }
+{
+  "name": "saber-admin",
+  "version": "2.9.1",
+  "private": true,
+  "buildName": "saber",
+  "scripts": {
+    "serve": "vue-cli-service serve",
+    "build": "vue-cli-service build",
+    "build:zip": "node ./scripts/build.js",
+    "server:all": "node ./scripts/server.js all",
+    "server:test": "node ./scripts/server.js test",
+    "server:user": "node ./scripts/server.js user"
   },
-  methods: {
-   // 根据条件动态设置 dependentField 的验证规则
-   updateDependentFieldValidation() {
-      const conditionFieldValue = this.form.company;
-      console.log(conditionFieldValue,'conditionFieldValue');
-      // 清空 dependentField 的验证规则
-      this.rules.certificateNumber = [];
-
-      // 根据条件字段的值来决定是否必填
-      if (conditionFieldValue === 3) {
-        // 设置为必填项
-        this.rules.certificateNumber.push({ required: true, message: 'Dependent Field 是必填项', trigger: 'change' });
-      }else{
-        this.rules.certificateNumber = [];
-      }
-    },
-    //获取签字公司
-    getOptions() {
-      getDictbiz({
-        code: 'es_type_name'
-      }).then((res) => {
-
-        this.options = res.data.data;
-      this.options.forEach((ele)=>{
-          ele.dictKey=Number(ele.dictKey)
-        })
-      })
-      console.log( this.options,' this.options');
-    },
-    selectUser(){
-      let _this = this;
-      this.userData.forEach(vo => {
-        if(_this.form.certificateUserId == vo.id){
-          _this.form.certificateId = vo.idNumber;
-          console.log(vo,'vo');
-           _this.form.certificateUserName=vo.realName
-
-        }
-      });
-    },
-    changeCompany(){
-      this.$forceUpdate()
-      this.updateDependentFieldValidation()
-    },
-    async init () {
-
-      if (this.$route.query.id != 0) {
-        await this.getById()
-      }
-      this.queryProjectAndContract()//获取项目和合同段
-
-    },
-    //#region
-    cancel () {//取消按钮
-      this.$router.push('/certificate/list')
-    },
-    savess () {//保存按钮
-      this.$refs.form.validate(async valid => {
-        if (valid) {
-          let fromData = {
-            certificateType: this.form.certificateType,
-            certificateUserName: this.form.certificateUserName,
-            certificateNumber: this.form.certificateNumber,
-            certificatePassword: this.form.certificatePassword,
-            certificateId: this.form.certificateId,
-            pfxType: this.form.pfxType,
-            wide: this.form.wide,
-            high: this.form.high,
-          }
-
-          if (this.form.certificateFileUrl[0]&&this.form.certificateFileUrl[0].name&&this.form.certificateFileUrl[0].raw && this.form.certificateFileUrl[0].status === "ready") {
-            let fileData = await this.addFileInfo(this.form.certificateFileUrl[0].raw);
-            fromData.certificateFileUrl = fileData.link;
-            fromData.certificateFileName = fileData.originalName;
-          } else {
-            // fromData.certificateFileUrl = this.form.certificateFileUrl[0].raw
-            if(this.form.certificateFileUrl&&this.form.certificateFileUrl[0]&&this.form.certificateFileUrl[0].raw){
-               fromData.certificateFileUrl = this.form.certificateFileUrl[0].raw
-            }
-
-            console.log(this.form.certificateFileUrl,'this.form.certificateFileUrl');
-          }
-
-          if (this.form.signatureFileUrl[0]&&this.form.signatureFileUrl[0].name && this.form.signatureFileUrl[0].status === "ready") {
-            const url = await this.prePictureApi()
-            if (url) {
-              fromData.wide = this.form.wide
-              fromData.high = this.form.high
-            }
-            let fileData = await this.compressAndUploadApi(this.form.signatureFileUrl[0].raw, fromData.wide, fromData.high);
-            fromData.signatureFileUrl = fileData.link;
-            fromData.signatureFileName = fileData.originalName;
-          } else {
-            if(this.form.signatureFileUrl&&this.form.signatureFileUrl[0]&&this.form.signatureFileUrl[0].raw){
-              const url = await this.prePictureApi()
-              if (url) {
-                fromData.wide = this.form.wide
-                fromData.high = this.form.high
-              }
-               fromData.signatureFileUrl = this.form.signatureFileUrl[0].raw
-            }
-          }
-          let tag = true
-          let enterpriseUnifiedCode = ''
-          if (this.form.certificateType == 1) {
-            fromData.certificateUserId = this.form.certificateUserId//关联用户
-          } else {
-            this.form.signPfxDeputieList.forEach(val => {
-              if (!val.projectId || !val.contractId || !val.roleId) {
-                tag = false
-                return
-              } else {
-                if (enterpriseUnifiedCode) {
-                  enterpriseUnifiedCode += ','
-                }
-                enterpriseUnifiedCode += `${val.projectId}-${val.contractId}-${val.roleId}`
-              }
-            })
-            fromData.projectContractRole = enterpriseUnifiedCode  //关联项目
-            fromData.enterpriseUnifiedCode = this.form.enterpriseUnifiedCode
-          }
-         console.log(fromData,'fromData');
-         console.log(this.form,'fromData');
-         if(this.form.company=='3'){
-          fromData.certificateType=3
-         }
-          if (tag) {
-            if (this.$route.query.id == 0) {
-              this.save(fromData)//新增接口
-            } else {
-              fromData.id = this.form.id
-              this.update(fromData)//编辑接口
-            }
-          } else {
-            this.$message({
-              type: 'error',
-              message: "请填写完整关联项目!"
-            })
-          }
-        }
-      })
-    },
-
-    async compressAndUploadApi(file, wide, high) {
-      let fromData = new FormData();
-      fromData.append('file', file);
-      fromData.append('wide', wide);
-      fromData.append('high', high);
-      const { data: res } = await compressAndUpload(fromData)
-      if (res.code == 200) {
-        return res.data;
-      }
-    },
-
-    deleteSignPfxDeputie (key) {//删除关联项目
-      this.form.signPfxDeputieList.splice(key, 1)
-    },
-    //#endregion
-
-    //#region 上传文件得方法
-    beforeRemove (file, fileList) {//证书文件删除回调
-      this.form.certificateFileUrl = []
-    },
-    changecertificateFileUrl (file) {//证书文件变化回调
-      this.form.certificateFileUrl = [file]
-    },
-    beforeRemove2 (file, fileList) {//签名体图片删除回调
-      this.form.signatureFileUrl = []
-    },
-    changecertificateFileUrl2 (file) {//签名体图片变化回调
-      this.form.signatureFileUrl = [file]
-      this.form.wide = ''
-      this.form.high = ''
-    },
-    pushSignPfxDeputieList () {//添加关联项目
-      // this.form.signPfxDeputieList.unshift({
-      //   projectId: '',
-      //   contractId: '',
-      //   roleId: '',
-      // })
-
-      this.form.signPfxDeputieList.push({
-        projectId: '',
-        contractId: '',
-        roleId: '',
-        contractList: []
-      })
-
-    },
-    focusContractSection (projectId, key) {//获取合同段数据
-      this.projectMeiju.forEach(val => {
-        if (val.id == projectId) {
-          // this.ContractSection[key] = val.contractInfoList
-          this.form.signPfxDeputieList[key].contractList = val.contractInfoList
-        }
-      })
-    },
-    changeProjectId (key) {//项目id发生改变
-      this.form.signPfxDeputieList[key].contractId = ''
-    },
-    //#endregion
-
-    //#region //接口
-    async getById () {//获取详细信息
-      const { data: res } = await getById({ id: this.$route.query.id })
-      console.log(res);
-      if (res.code == 200) {
-        this.form = res.data
-        if(res.data.certificateType!==1){
-          this.form.company=res.data.certificateType
-          this.form.certificateType=2
-        }
-
-        if(res.data.certificateFileUrl&&this.form.certificateFileName){
-           this.form.certificateFileUrl = [{ raw: res.data.certificateFileUrl, name: this.form.certificateFileName }]
-        }else{
-          this.form.certificateFileUrl=[]
-        }
-          if(res.data.signatureFileUrl&&this.form.signatureFileName){
-           this.form.signatureFileUrl = [{ raw: res.data.signatureFileUrl, name: this.form.signatureFileName }]
-        }else{
-          this.form.signatureFileUrl = []
-        }
-        //宽度
-        this.form.wide = res.data.wide ? res.data.wide : ''
-        //高度
-        this.form.high = res.data.high ? res.data.high : ''
-      }
-    },
-    async save (da) {//新增
-      const { data: res } = await save(da)
-      if (res.code == 200) {
-        this.$message({
-          type: 'success',
-          message: '新增电签成功!'
-        })
-        // this.$router.push('/certificate/list')
-        this.$router.push({
-          path: '/certificate/list',
-          query: {
-            value:this.$route.query.value
-          }
-        })
-      }
-    },
-    async findUserByName () { //关联用户
-      const { data: res } = await findUserByName()
-      if (res.code == 200) {
-        this.userData = res.data
-      }
-    },
-    async queryRole () { //获取角色方
-      const { data: res } = await queryRole()
-      if (res.code == 200) {
-        this.ParticipationConstruction = res.data
-      }
-    },
-    async queryProjectAndContract () {//获取项目和合同段
-      const { data: res } = await queryProjectAndContract()
-      console.log(res);
-      if (res.code == 200) {
-        this.projectMeiju = res.data
-        // this.form.signPfxDeputieList.forEach((val, key) => {
-        //   this.ContractSection.push(res.data[key].contractInfoList)
-        // })
-        if(this.form.signPfxDeputieList.length > 0){
-            this.form.signPfxDeputieList.forEach((val, key) => {
-              this.projectMeiju.forEach((project, key) => {
-                if(val.projectId == project.id){
-                  val.contractList = project.contractInfoList;
-                }
-              })
-            })
-        }
-        console.log(this.form.signPfxDeputieList);
-      }
-    },
-    async findPfxType () {
-      const { data: res } = await findPfxType({ typeOrStatus: 'pfx_type' })
-      if (res.code == 200) {
-        this.pfxType = res.data;
-      }
-    },
-    async addFileInfo (file) {//上传图片
-      let fromData = new FormData();
-      fromData.append('file', file);
-      const { data: res } = await addFileInfo(fromData)
-      if (res.code == 200) {
-        return res.data;
-      }
-    },
-    async update (da) {//编辑保存接口
-      const { data: res } = await update(da)
-      if (res.code == 200) {
-        this.$message({
-          type: 'success',
-          message: '修改电签成功!'
-        })
-        // this.$router.push('/certificate/list')
-        this.$router.push({
-          path: '/certificate/list',
-          query: {
-            value:this.$route.query.value
-          }
-        })
-      }
-    },
-    //#endregion
-
-    //检测参建方是否重复
-    checkRoleRepeat(index){
-      let cur = this.form.signPfxDeputieList[index];
-      if(!cur.roleId){
-        return;
-      }
-
-      this.form.signPfxDeputieList.forEach((info,i)=>{
-        if(i === index){
-          return;
-        }
-        if(info.contractId == cur.contractId && info.roleId == cur.roleId){
-          this.$message({
-            message: "关联的项目参见方不可重复",
-            type: 'error'
-          });
-          this.form.signPfxDeputieList[index].roleId = '';
-        }
-      })
-    },
-    //改变证书类型
-    changeCertificateType(val){
-      if(val==1){
-        console.log(this.form.company,'公司');
-        this.form.company=2
-        this.$forceUpdate();//强制刷新视图
-        this.updateDependentFieldValidation()
-      }
-    },
-    //预览
-    async signaturePreview() {
-      const form = this.form
-      const isImg = form.signatureFileUrl.length <= 0
-      if (isImg) {
-        this.$message({
-          message: '请先上传签名图片',
-          type: 'error'
-        })
-        return false
-      }
-      const file = form.signatureFileUrl[0].raw
-      if (!file) {
-        this.$message({
-          message: '请重新上传签名文件',
-          type: 'error'
-        })
-        return false
-      }
-      const url = await this.prePictureApi()
-      if (!url) return
-      window.open(url, '_blank')
-    },
-    async prePictureApi() {
-      const form = this.form
-      const file = form.signatureFileUrl[0].raw
-      if (!file) return false
-      let fromData = new FormData();
-      if (typeof file === 'object') {
-        fromData.append('file', file);
-        fromData.append('fileStr', '');
-      } else {
-        fromData.append('file', '');
-        fromData.append('fileStr', file);
-      }
-      fromData.append('wide', form.wide);
-      fromData.append('high', form.high);
-      const { data: res } = await prePicture(fromData)
-      const data = res.data;
-      if (!data.preUrl) return false
-      this.form.wide = data.wide //宽度
-      this.form.high = data.high //高度
-      return data.preUrl
-    },
-    stopClick() {},
+  "dependencies": {
+    "@antv/g2plot": "^2.4.20",
+    "@johmun/vue-tags-input": "^2.1.0",
+    "avue-plugin-ueditor": "^0.1.4",
+    "axios": "^1.4.0",
+    "babel-polyfill": "^6.26.0",
+    "classlist-polyfill": "^1.2.0",
+    "crypto-js": "^4.0.0",
+    "element-ui": "^2.15.14",
+    "exceljs": "^4.4.0",
+    "file-saver": "^2.0.5",
+    "js-base64": "^2.5.1",
+    "js-cookie": "^2.2.0",
+    "js-fast-way": "^0.5.6",
+    "js-md5": "^0.7.3",
+    "luckyexcel": "^1.0.1",
+    "mockjs": "^1.0.1-beta3",
+    "node-gyp": "^5.0.6",
+    "nprogress": "^0.2.0",
+    "pdfjs-dist": "^2.10.377",
+    "portfinder": "^1.0.23",
+    "script-loader": "^0.7.2",
+    "sortablejs": "^1.15.6",
+    "split.js": "^1.6.5",
+    "vue": "^2.6.10",
+    "vue-axios": "^2.1.2",
+    "vue-i18n": "^8.7.0",
+    "vue-router": "^3.0.1",
+    "vuedraggable": "^2.24.3",
+    "vuex": "^3.1.1"
   },
-  created () {
-    this.getOptions()
-    this.init()
-    this.queryRole()//获取角色方
-    this.findUserByName()//关联用户
-    this.findPfxType();//查询企业签章类型
+  "devDependencies": {
+    "@vue/cli-plugin-babel": "^3.1.4",
+    "@vue/cli-service": "^3.1.4",
+    "archiver": "^5.3.1",
+    "chai": "^4.1.2",
+    "sass": "^1.77.6",
+    "sass-loader": "^10.4.1",
+    "screenfull": "^5.1.0",
+    "vue-template-compiler": "^2.5.17",
+    "vue2-ace-editor": "^0.0.15",
+    "webpack-bundle-analyzer": "^4.5.0"
   },
-  mounted () {
-    this.updateDependentFieldValidation();
+  "lint-staged": {
+    "*.js": [
+      "vue-cli-service lint",
+      "git add"
+    ],
+    "*.vue": [
+      "vue-cli-service lint",
+      "git add"
+    ]
   }
 }
-</script>
-
-<style lang="scss" scoped>
-</style>