From ffba2c405154eb6de9be00d9b5632e8a33ffc366 Mon Sep 17 00:00:00 2001 From: MrShi <1878285526@qq.com> Date: 星期四, 30 十月 2025 18:09:26 +0800 Subject: [PATCH] 改bug --- admin/src/components/business/OperaJkCabinetWindow.vue | 87 ++++++++++++++++++++++++++++++------------- 1 files changed, 61 insertions(+), 26 deletions(-) diff --git a/admin/src/components/business/OperaJkCabinetWindow.vue b/admin/src/components/business/OperaJkCabinetWindow.vue index fe508bb..19370db 100644 --- a/admin/src/components/business/OperaJkCabinetWindow.vue +++ b/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" :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> </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" :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> @@ -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({ -- Gitblit v1.9.3