MrShi
23 小时以前 ffba2c405154eb6de9be00d9b5632e8a33ffc366
admin/src/components/business/OperaJkCabinetWindow.vue
@@ -32,7 +32,7 @@
            v-for="item in memberList"
            :key="item.id"
            :label="item.name+'-'+item.companyName"
            :value="item.id">
            :value="Number(item.id)">
          </el-option>
        </el-select>
      </el-form-item>
@@ -60,16 +60,16 @@
            v-for="item in memberList"
            :key="item.id"
            :label="item.name+'-'+item.companyName"
            :value="item.id">
            :value="Number(item.id)">
          </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="longitude">
      <el-form-item label="经纬度" prop="jwd">
        <div style="width: 100%; display: flex; align-items: center;">
          <el-input v-model="form.longitude" placeholder="请输入经纬度" v-trim/>
          <el-input v-model="form.jwd" placeholder="请输入经纬度" v-trim/>
          <a style="margin-left: 20px; flex-shrink: 0;" href="https://lbs.amap.com/tools/picker" target="_blank">经纬度在线拾取地址</a>
        </div>
      </el-form-item>
@@ -85,32 +85,32 @@
      <h3 style="margin: 20px 0;">柜组信息</h3>
      <el-form-item label="排列" prop="rowNum">
        <div style="width: 100%; display: flex; align-items: center;">
          <el-input v-model="form.rowNum" type="number" placeholder="请输入排数" v-trim>
          <el-input v-model="form.rowNum" :disabled="form.id ? true : false" type="number" placeholder="请输入排数" v-trim>
            <template slot="append">排</template>
          </el-input>
          <span style="margin: 0 20px;">x</span>
          <el-input v-model="form.columnNum" type="number" placeholder="请输入列数" v-trim>
          <el-input v-model="form.columnNum" :disabled="form.id ? true : false" type="number" placeholder="请输入列数" v-trim>
            <template slot="append">列</template>
          </el-input>
        </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">
        <el-radio-group v-model="form.sortType">
        <el-radio-group v-model="form.sortType" :disabled="form.id ? true : false">
          <el-radio :label="0">从左往右</el-radio>
          <el-radio :label="1">从上向下</el-radio>
        </el-radio-group>
@@ -123,11 +123,19 @@
import BaseOpera from '@/components/base/BaseOpera'
import GlobalWindow from '@/components/common/GlobalWindow'
import { allList } from '@/api/business/member'
import { getInfoById } from '@/api/business/jkCabinet'
export default {
  name: 'OperaJkCabinetWindow',
  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 {
      // 表单数据
      form: {
@@ -140,13 +148,13 @@
        status: 0,
        port: '',
        managerIdList: '',
        location: '',
        useTime: '',
        doubleAuth: 0,
        authMemberIdList: '',
        rowNum: '',
        columnNum: '',
        lacation: '',
        longitude: '',
        jwd: '',
        latitude: '',
        noType: 0,
        noPrefix: '',
@@ -184,7 +192,7 @@
          { required: true, message: '请选择编码', trigger: 'blur' }
        ],
        noPrefix: [
          { required: true, message: '请输入前缀', trigger: 'blur' }
          { required: true, validator: validate, trigger: 'blur' }
        ],
        sortType: [
          { required: true, message: '请输入排列顺序', trigger: 'blur' }
@@ -203,21 +211,48 @@
    open (title, target) {
      this.title = title
      this.loadMember()
      this.visible = true
      // 新建
      if (target == null) {
      if (target) {
        getInfoById(target.id)
          .then(res => {
            res.managerIdList = res.managerIdList.map(item => Number(item))
            res.authMemberIdList = res.authMemberIdList.map(item => Number(item))
            this.$nextTick(() => {
              for (const key in this.form) {
                this.form[key] = res[key]
              }
              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
        })
        return
        this.visible = true
      }
      // 编辑
      this.$nextTick(() => {
        for (const key in this.form) {
          this.form[key] = target[key]
        }
      })
    },
    loadMember () {
      allList({