|  |  |  | 
|---|
|  |  |  | 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> | 
|---|
|  |  |  | 
|---|
|  |  |  | 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> | 
|---|
|  |  |  | 
|---|
|  |  |  | <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" :disabled="form.id" 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" :disabled="form.id" 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> | 
|---|
|  |  |  | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | </el-form-item> | 
|---|
|  |  |  | <el-form-item label="排列顺序" prop="sortType" v-if="form.noType === 1"> | 
|---|
|  |  |  | <el-radio-group v-model="form.sortType" :disabled="form.id"> | 
|---|
|  |  |  | <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> | 
|---|
|  |  |  | 
|---|
|  |  |  | 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: { | 
|---|
|  |  |  | 
|---|
|  |  |  | status: 0, | 
|---|
|  |  |  | port: '', | 
|---|
|  |  |  | managerIdList: '', | 
|---|
|  |  |  | location: '', | 
|---|
|  |  |  | useTime: '', | 
|---|
|  |  |  | doubleAuth: 0, | 
|---|
|  |  |  | authMemberIdList: '', | 
|---|
|  |  |  | rowNum: '', | 
|---|
|  |  |  | columnNum: '', | 
|---|
|  |  |  | lacation: '', | 
|---|
|  |  |  | longitude: '', | 
|---|
|  |  |  | jwd: '', | 
|---|
|  |  |  | latitude: '', | 
|---|
|  |  |  | noType: 0, | 
|---|
|  |  |  | noPrefix: '', | 
|---|
|  |  |  | 
|---|
|  |  |  | { required: true, message: '请选择编码', trigger: 'blur' } | 
|---|
|  |  |  | ], | 
|---|
|  |  |  | noPrefix: [ | 
|---|
|  |  |  | { required: true, message: '请输入前缀', trigger: 'blur' } | 
|---|
|  |  |  | { required: true, validator: validate, trigger: 'blur' } | 
|---|
|  |  |  | ], | 
|---|
|  |  |  | sortType: [ | 
|---|
|  |  |  | { required: true, message: '请输入排列顺序', trigger: 'blur' } | 
|---|
|  |  |  | 
|---|
|  |  |  | 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({ | 
|---|