weimingfei
8 天以前 1beef58a3db5cc1245bb8d91887bdf787b06a6e0
admin/src/components/business/OperaJkCabinetWindow.vue
@@ -64,8 +64,8 @@
          </el-option>
        </el-select>
      </el-form-item>
      <el-form-item label="所在位置" prop="lacation">
        <el-input v-model="form.lacation" placeholder="请输入所在位置" v-trim/>
      <el-form-item label="所在位置" prop="location">
        <el-input v-model="form.location" placeholder="请输入所在位置" v-trim/>
      </el-form-item>
      <el-form-item label="经纬度" prop="jwd">
        <div style="width: 100%; display: flex; align-items: center;">
@@ -82,6 +82,20 @@
          :inactive-value="1">
        </el-switch>
      </el-form-item>
      <el-form-item label="附件" prop="activateFile">
        <el-upload
          accept=".zip"
          class="upload-demo"
          :action="base"
          :limit="1"
          :data="{ folder: 'activate' }"
          :file-list="fileList"
          :on-success="getFile"
          :on-remove="removeFile">
          <el-button size="small" type="primary">点击上传</el-button>
          <div slot="tip" class="el-upload__tip">只能上传zip文件</div>
        </el-upload>
      </el-form-item>
      <h3 style="margin: 20px 0;">柜组信息</h3>
      <el-form-item label="排列" prop="rowNum">
        <div style="width: 100%; display: flex; align-items: center;">
@@ -95,18 +109,18 @@
        </div>
      </el-form-item>
      <el-form-item label="编码" prop="noType">
        <el-radio-group v-model="form.noType" @change="changeNoType">
        <el-radio-group v-model="form.noType" :disabled="form.id ? true : false" @change="changeNoType">
          <el-radio :label="0">自动编码</el-radio>
          <el-radio :label="1">手动编码</el-radio>
        </el-radio-group>
      </el-form-item>
      <el-form-item label="前缀" prop="noPrefix" v-if="form.noType === 1">
        <div style="width: 100%; display: flex; align-items: center;">
          <el-input style="flex: 1;" v-model="form.noPrefix" placeholder="请输入数字或字母" v-trim/>
          <el-input style="flex: 1;" v-model="form.noPrefix" :disabled="form.id ? true : false" placeholder="请输入数字或字母" v-trim/>
          <span style="margin: 0 20px;">位数</span>
          <el-input style="flex: 1;" v-model="form.noLength" placeholder="请输入数字" v-trim/>
          <el-input style="flex: 1;" v-model="form.noLength" :disabled="form.id ? true : false" placeholder="请输入数字" v-trim/>
          <span style="margin: 0 20px;">起始编号</span>
          <el-input style="flex: 1;" v-model="form.noIndex" placeholder="请输入数字" v-trim/>
          <el-input style="flex: 1;" v-model="form.noIndex" :disabled="form.id ? true : false" placeholder="请输入数字" v-trim/>
        </div>
      </el-form-item>
      <el-form-item label="排列顺序" prop="sortType" v-if="form.noType === 1">
@@ -129,7 +143,16 @@
  extends: BaseOpera,
  components: { GlobalWindow },
  data () {
    var validate = (rule, value, callback) => {
      if (this.form.noType === 1 && this.form.noLength === '' || this.form.noIndex === '') {
        callback(new Error('位数和起始编号不能为空!'));
      } else {
        callback();
      }
    };
    return {
      base: process.env.VUE_APP_API_PREFIX + 'visitsAdmin/cloudService/public/upload',
      fileList: [],
      // 表单数据
      form: {
        id: null,
@@ -141,6 +164,7 @@
        status: 0,
        port: '',
        managerIdList: '',
        location: '',
        useTime: '',
        doubleAuth: 0,
        authMemberIdList: '',
@@ -152,7 +176,8 @@
        noPrefix: '',
        noLength: '',
        noIndex: '',
        sortType: 0
        sortType: 0,
        activateFile: null
      },
      // 验证规则
      rules: {
@@ -184,7 +209,7 @@
          { required: true, message: '请选择编码', trigger: 'blur' }
        ],
        noPrefix: [
          { required: true, message: '请输入前缀', trigger: 'blur' }
          { required: true, validator: validate, trigger: 'blur' }
        ],
        sortType: [
          { required: true, message: '请输入排列顺序', trigger: 'blur' }
@@ -200,6 +225,22 @@
    })
  },
  methods: {
    getFile(response) {
      this.fileList = [{
        name: response.data.originname,
        fileurl: response.data.imgaddr,
        ...response.data
      }]
      this.form.activateFile = {
        name: response.data.originname,
        fileurl: response.data.imgaddr,
        ...response.data
      }
    },
    removeFile() {
      this.form.activateFile = null
      this.fileList = []
    },
    open (title, target) {
      this.title = title
      this.loadMember()
@@ -212,11 +253,41 @@
              for (const key in this.form) {
                this.form[key] = res[key]
              }
              if (res.activateFile) {
                this.fileList = [{
                  name: res.activateFile.name,
                  url: res.activateFile.fileurlFull,
                  ...res.activateFile
                }]
              }
              this.visible = true
            })
          })
      } else {
        this.$nextTick(() => {
          this.form = {
            id: null,
            code: '',
            name: '',
            devId: '',
            serialNo: '',
            linkAddr: '',
            status: 0,
            port: '',
            managerIdList: '',
            useTime: '',
            doubleAuth: 0,
            authMemberIdList: '',
            rowNum: '',
            columnNum: '',
            jwd: '',
            latitude: '',
            noType: 0,
            noPrefix: '',
            noLength: '',
            noIndex: '',
            sortType: 0
          }
          this.$refs.form.resetFields()
          this.form[this.configData['field.id']] = null
        })