| | |
| | | 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> |
| | |
| | | :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;"> |
| | | <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> |
| | |
| | | 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 { |
| | | base: process.env.VUE_APP_API_PREFIX + 'visitsAdmin/cloudService/public/upload', |
| | | fileList: [], |
| | | // 表单数据 |
| | | form: { |
| | | id: null, |
| | |
| | | status: 0, |
| | | port: '', |
| | | managerIdList: '', |
| | | location: '', |
| | | useTime: '', |
| | | doubleAuth: 0, |
| | | authMemberIdList: '', |
| | | rowNum: '', |
| | | columnNum: '', |
| | | lacation: '', |
| | | longitude: '', |
| | | jwd: '', |
| | | latitude: '', |
| | | noType: 0, |
| | | noPrefix: '', |
| | | noLength: '', |
| | | noIndex: '', |
| | | sortType: 0 |
| | | sortType: 0, |
| | | activateFile: null |
| | | }, |
| | | // 验证规则 |
| | | rules: { |
| | |
| | | { required: true, message: '请选择编码', trigger: 'blur' } |
| | | ], |
| | | noPrefix: [ |
| | | { required: true, message: '请输入前缀', trigger: 'blur' } |
| | | { required: true, validator: validate, trigger: 'blur' } |
| | | ], |
| | | sortType: [ |
| | | { required: true, message: '请输入排列顺序', trigger: 'blur' } |
| | |
| | | }) |
| | | }, |
| | | 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() |
| | | 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] |
| | | } |
| | | 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 |
| | | }) |
| | | return |
| | | this.visible = true |
| | | } |
| | | // 编辑 |
| | | this.$nextTick(() => { |
| | | for (const key in this.form) { |
| | | this.form[key] = target[key] |
| | | } |
| | | }) |
| | | }, |
| | | loadMember () { |
| | | allList({ |