|  | @@ -1,16 +1,89 @@
 | 
	
		
			
				|  |  |  <template>
 | 
	
		
			
				|  |  | -  <div id="ChannelEdit" v-loading="isLoging" style="width: 100%">
 | 
	
		
			
				|  |  | -    <el-form ref="passwordForm" :rules="rules" status-icon label-width="80px">
 | 
	
		
			
				|  |  | -<!--      <el-form-item label="gbName" prop="gbName">-->
 | 
	
		
			
				|  |  | -<!--        <el-input v-model="form.gbName"></el-input>-->
 | 
	
		
			
				|  |  | -<!--      </el-form-item>-->
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -      <el-form-item>
 | 
	
		
			
				|  |  | -        <div style="float: right;">
 | 
	
		
			
				|  |  | -          <el-button type="primary" @click="onSubmit">保存</el-button>
 | 
	
		
			
				|  |  | -          <el-button @click="close">取消</el-button>
 | 
	
		
			
				|  |  | -        </div>
 | 
	
		
			
				|  |  | +  <div id="ChannelEdit" v-loading="locading" style="width: 100%">
 | 
	
		
			
				|  |  | +    <el-form ref="passwordForm" status-icon label-width="160px" style="padding-top: 1rem">
 | 
	
		
			
				|  |  | +      <el-form-item label="名称" >
 | 
	
		
			
				|  |  | +        <el-input v-if="form.name" v-model="form.gbName" :placeholder="form.name"></el-input>
 | 
	
		
			
				|  |  | +        <el-input v-if="!form.name" v-model="form.gbName" placeholder="请输入通道名称"></el-input>
 | 
	
		
			
				|  |  | +      </el-form-item>
 | 
	
		
			
				|  |  | +      <el-form-item label="编码" >
 | 
	
		
			
				|  |  | +        <el-input v-if="form.deviceId" v-model="form.gbDeviceId" :placeholder="form.deviceId"></el-input>
 | 
	
		
			
				|  |  | +        <el-input v-if="!form.deviceId" v-model="form.gbDeviceId" placeholder="请输入通道编码"></el-input>
 | 
	
		
			
				|  |  | +      </el-form-item>
 | 
	
		
			
				|  |  | +      <el-form-item label="设备厂商" >
 | 
	
		
			
				|  |  | +        <el-input v-if="form.manufacturer" v-model="form.gbManufacturer" :placeholder="form.manufacturer"></el-input>
 | 
	
		
			
				|  |  | +        <el-input v-if="!form.manufacturer" v-model="form.gbManufacturer" placeholder="请输入设备厂商"></el-input>
 | 
	
		
			
				|  |  | +      </el-form-item>
 | 
	
		
			
				|  |  | +      <el-form-item label="设备型号" >
 | 
	
		
			
				|  |  | +        <el-input v-if="form.model" v-model="form.gbModel" :placeholder="form.model"></el-input>
 | 
	
		
			
				|  |  | +        <el-input v-if="!form.model" v-model="form.gbModel" placeholder="请输入设备型号"></el-input>
 | 
	
		
			
				|  |  | +      </el-form-item>
 | 
	
		
			
				|  |  | +      <el-form-item label="设备归属" >
 | 
	
		
			
				|  |  | +        <el-input v-if="form.owner" v-model="form.gbOwner" :placeholder="form.owner"></el-input>
 | 
	
		
			
				|  |  | +        <el-input v-if="!form.owner" v-model="form.gbOwner" placeholder="请输入设备归属"></el-input>
 | 
	
		
			
				|  |  | +      </el-form-item>
 | 
	
		
			
				|  |  | +      <el-form-item label="行政区域" >
 | 
	
		
			
				|  |  | +        <el-input v-if="form.civilCode" v-model="form.gbCivilCode" :placeholder="form.civilCode"></el-input>
 | 
	
		
			
				|  |  | +        <el-input v-if="!form.civilCode" v-model="form.gbCivilCode" placeholder="请输入行政区域"></el-input>
 | 
	
		
			
				|  |  | +      </el-form-item>
 | 
	
		
			
				|  |  | +      <el-form-item label="警区" >
 | 
	
		
			
				|  |  | +        <el-input v-if="form.block" v-model="form.gbBlock" :placeholder="form.block"></el-input>
 | 
	
		
			
				|  |  | +        <el-input v-if="!form.block" v-model="form.gbBlock" placeholder="请输入警区"></el-input>
 | 
	
		
			
				|  |  | +      </el-form-item>
 | 
	
		
			
				|  |  | +      <el-form-item label="安装地址" >
 | 
	
		
			
				|  |  | +        <el-input v-if="form.address" v-model="form.gbAddress" :placeholder="form.address"></el-input>
 | 
	
		
			
				|  |  | +        <el-input v-if="!form.address" v-model="form.gbAddress" placeholder="请输入安装地址"></el-input>
 | 
	
		
			
				|  |  | +      </el-form-item>
 | 
	
		
			
				|  |  | +      <el-form-item label="子设备" >
 | 
	
		
			
				|  |  | +        <el-select v-model="form.gbParental" style="width: 100%" placeholder="请选择">
 | 
	
		
			
				|  |  | +          <el-option label="有" :value="1"></el-option>
 | 
	
		
			
				|  |  | +          <el-option label="无" :value="0"></el-option>
 | 
	
		
			
				|  |  | +        </el-select>
 | 
	
		
			
				|  |  | +      </el-form-item>
 | 
	
		
			
				|  |  | +      <el-form-item label="父节点编码" >
 | 
	
		
			
				|  |  | +        <el-input v-if="form.parentId" v-model="form.gbParentId" :placeholder="form.parentId"></el-input>
 | 
	
		
			
				|  |  | +        <el-input v-if="!form.parentId" v-model="form.gbParentId" placeholder="请输入父节点编码"></el-input>
 | 
	
		
			
				|  |  | +      </el-form-item>
 | 
	
		
			
				|  |  | +      <el-form-item label="信令安全模式" >
 | 
	
		
			
				|  |  | +        <el-select v-model="form.gbSafetyWay" style="width: 100%" placeholder="请选择">
 | 
	
		
			
				|  |  | +          <el-option label="不采用" :value="0"></el-option>
 | 
	
		
			
				|  |  | +          <el-option label="S/MIME签名" :value="2"></el-option>
 | 
	
		
			
				|  |  | +          <el-option label="S/MIME加密签名同时采用" :value="3"></el-option>
 | 
	
		
			
				|  |  | +          <el-option label="数字摘要" :value="4"></el-option>
 | 
	
		
			
				|  |  | +        </el-select>
 | 
	
		
			
				|  |  | +      </el-form-item>
 | 
	
		
			
				|  |  | +      <el-form-item label="注册方式" >
 | 
	
		
			
				|  |  | +        <el-select v-model="form.gbRegisterWay" style="width: 100%" placeholder="请选择">
 | 
	
		
			
				|  |  | +          <el-option label="IETFRFC3261标准" :value="1"></el-option>
 | 
	
		
			
				|  |  | +          <el-option label="基于口令的双向认证" :value="2"></el-option>
 | 
	
		
			
				|  |  | +          <el-option label="基于数字证书的双向认证注册" :value="3"></el-option>
 | 
	
		
			
				|  |  | +        </el-select>
 | 
	
		
			
				|  |  | +      </el-form-item>
 | 
	
		
			
				|  |  | +      <el-form-item label="证书序列号" >
 | 
	
		
			
				|  |  | +        <el-input type="number" v-if="form.certNum" v-model="form.gbCertNum" :placeholder="form.certNum"></el-input>
 | 
	
		
			
				|  |  | +        <el-input type="number" v-if="!form.certNum" v-model="form.gbCertNum" placeholder="请输入证书序列号"></el-input>
 | 
	
		
			
				|  |  | +      </el-form-item>
 | 
	
		
			
				|  |  | +      <el-form-item label="证书有效标识" >
 | 
	
		
			
				|  |  | +        <el-select v-model="form.gbCertifiable" style="width: 100%" placeholder="请选择">
 | 
	
		
			
				|  |  | +          <el-option label="有效" :value="1"></el-option>
 | 
	
		
			
				|  |  | +          <el-option label="无效" :value="0"></el-option>
 | 
	
		
			
				|  |  | +        </el-select>
 | 
	
		
			
				|  |  |        </el-form-item>
 | 
	
		
			
				|  |  | +      <el-form-item label="无效原因码" >
 | 
	
		
			
				|  |  | +        <el-input type="errCode" v-if="form.gbErrCode" v-model="form.gbCertNum" :placeholder="form.errCode"></el-input>
 | 
	
		
			
				|  |  | +        <el-input type="errCode" v-if="!form.gbErrCode" v-model="form.gbCertNum" placeholder="请输入无效原因码"></el-input>
 | 
	
		
			
				|  |  | +      </el-form-item>
 | 
	
		
			
				|  |  | +      <el-form-item label="证书终止有效期" >
 | 
	
		
			
				|  |  | +        <el-date-picker
 | 
	
		
			
				|  |  | +          v-model="form.gbEndTime"
 | 
	
		
			
				|  |  | +          type="datetime"
 | 
	
		
			
				|  |  | +          placeholder="选择日期时间">
 | 
	
		
			
				|  |  | +        </el-date-picker>
 | 
	
		
			
				|  |  | +      </el-form-item>
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +      <div style="float: right;">
 | 
	
		
			
				|  |  | +        <el-button type="primary" size="mini" @click="onSubmit">保存</el-button>
 | 
	
		
			
				|  |  | +        <el-button size="mini" @click="close">取消</el-button>
 | 
	
		
			
				|  |  | +      </div>
 | 
	
		
			
				|  |  |      </el-form>
 | 
	
		
			
				|  |  |    </div>
 | 
	
		
			
				|  |  |  </template>
 | 
	
	
		
			
				|  | @@ -23,12 +96,26 @@ export default {
 | 
	
		
			
				|  |  |    computed: {},
 | 
	
		
			
				|  |  |    created() {
 | 
	
		
			
				|  |  |      // 获取完整信息
 | 
	
		
			
				|  |  | -    // 国标类型特殊处理
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | +    this.getCommonChannel(data=>{
 | 
	
		
			
				|  |  | +      if (data.gbDeviceDbId) {
 | 
	
		
			
				|  |  | +        // 国标类型特殊处理
 | 
	
		
			
				|  |  | +        this.getDeviceChannel(chanel=>{
 | 
	
		
			
				|  |  | +          this.form = chanel;
 | 
	
		
			
				|  |  | +          console.log(chanel)
 | 
	
		
			
				|  |  | +        })
 | 
	
		
			
				|  |  | +      }else {
 | 
	
		
			
				|  |  | +        this.form = data;
 | 
	
		
			
				|  |  | +        console.log(data)
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +    })
 | 
	
		
			
				|  |  |    },
 | 
	
		
			
				|  |  |    data() {
 | 
	
		
			
				|  |  |      return {
 | 
	
		
			
				|  |  | -      form: {},
 | 
	
		
			
				|  |  | +      locading: true,
 | 
	
		
			
				|  |  | +      form: {
 | 
	
		
			
				|  |  | +        gbName: "测试",
 | 
	
		
			
				|  |  | +        gbNameLabel: "测试"
 | 
	
		
			
				|  |  | +      },
 | 
	
		
			
				|  |  |      };
 | 
	
		
			
				|  |  |    },
 | 
	
		
			
				|  |  |    methods: {
 | 
	
	
		
			
				|  | @@ -38,18 +125,43 @@ export default {
 | 
	
		
			
				|  |  |      close: function () {
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      },
 | 
	
		
			
				|  |  | -    getChannel:function () {
 | 
	
		
			
				|  |  | +    getCommonChannel:function (callback) {
 | 
	
		
			
				|  |  | +      this.$axios({
 | 
	
		
			
				|  |  | +        method: 'get',
 | 
	
		
			
				|  |  | +        url: "/api/common/channel/one",
 | 
	
		
			
				|  |  | +        params: {
 | 
	
		
			
				|  |  | +          id: this.id
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +      }).then((res) => {
 | 
	
		
			
				|  |  | +        if (res.data.code === 0) {
 | 
	
		
			
				|  |  | +          if(callback) {
 | 
	
		
			
				|  |  | +            callback(res.data.data)
 | 
	
		
			
				|  |  | +          }
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +      }).catch((error) => {
 | 
	
		
			
				|  |  | +        console.error(error)
 | 
	
		
			
				|  |  | +      }).finally(()=>[
 | 
	
		
			
				|  |  | +        this.locading = false
 | 
	
		
			
				|  |  | +      ])
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  | +    getDeviceChannel:function (callback) {
 | 
	
		
			
				|  |  |        this.$axios({
 | 
	
		
			
				|  |  |          method: 'get',
 | 
	
		
			
				|  |  | -        url: "/api/role/all"
 | 
	
		
			
				|  |  | +        url: "/api/device/query/channel/raw",
 | 
	
		
			
				|  |  | +        params: {
 | 
	
		
			
				|  |  | +          id: this.id
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  |        }).then((res) => {
 | 
	
		
			
				|  |  | -        this.loading = true;
 | 
	
		
			
				|  |  |          if (res.data.code === 0) {
 | 
	
		
			
				|  |  | -          this.options=res.data.data
 | 
	
		
			
				|  |  | +          if(callback) {
 | 
	
		
			
				|  |  | +            callback(res.data.data)
 | 
	
		
			
				|  |  | +          }
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |        }).catch((error) => {
 | 
	
		
			
				|  |  |          console.error(error)
 | 
	
		
			
				|  |  | -      });
 | 
	
		
			
				|  |  | +      }).finally(()=>[
 | 
	
		
			
				|  |  | +        this.locading = false
 | 
	
		
			
				|  |  | +      ])
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |    },
 | 
	
		
			
				|  |  |  };
 |