From 9cb389b74302ce6b0a2333328922e7c462234a56 Mon Sep 17 00:00:00 2001 From: 石广澎 <shiguangpeng@163.com> Date: 星期五, 01 十二月 2023 18:31:27 +0800 Subject: [PATCH] feat: 基础信息 新增、编辑增加防重提交 列表也优化 --- admin-web/src/views/foundation/store/edit.vue | 98 ++++++++++++++++++++++++++++++------------------ 1 files changed, 61 insertions(+), 37 deletions(-) diff --git a/admin-web/src/views/foundation/store/edit.vue b/admin-web/src/views/foundation/store/edit.vue index f4f8a08..404140c 100644 --- a/admin-web/src/views/foundation/store/edit.vue +++ b/admin-web/src/views/foundation/store/edit.vue @@ -1,27 +1,41 @@ <template> - <win-sm :title="setting.title" @close="close" :width="'800px'"> + <win-sm :title="setting.title" @close="close" :width="'800px'" :loading="loading"> <el-form ref="ruleForm" :model="formData" :rules="rules" class="demo-ruleForm" label-width="100px"> - <el-form-item label="缂栧彿" prop="warehouseCode"> - <el-input disabled v-model="formData.warehouseCode" clearable maxlength="20" show-word-limit style="width: 100%" /> - </el-form-item> + <!-- <el-form-item label="缂栧彿" prop="warehouseCode"> + <el-input disabled v-model="formData.warehouseCode" clearable maxlength="20" show-word-limit style="width: 100%" /> + </el-form-item>--> <el-form-item label="浠撳簱鍚嶇О" prop="warehouseName"> - <el-input v-model="formData.warehouseName" clearable maxlength="20" show-word-limit style="width: 100%" /> + <el-input v-model="formData.warehouseName" placeholder="璇疯緭鍏ヤ粨搴撳悕绉�" clearable maxlength="20" show-word-limit + style="width: 100%"/> </el-form-item> <el-form-item label="浠撳簱绫诲瀷" prop="classificationCode"> - <el-select v-model="formData.classificationCode" clearable placeholder="璇烽�夋嫨" style="width: 100%"> + <el-select v-model="formData.classificationCode" clearable placeholder="璇烽�夋嫨浠撳簱绫诲瀷" style="width: 100%"> <el-option - v-for="item in classList" - :key="item.dict_code" - :label="item.dict_label" - :value="item.dict_code" + v-for="item in classList" + :key="item.dict_code" + :label="item.dict_label" + :value="item.dict_code" ></el-option> </el-select> </el-form-item> - <el-form-item label="鎵�灞炴満鏋�" prop="agencyIds"> - <el-cascader v-model="formData.agencyIds" :options="treeList" :props="{checkStrictly: true,value:'id'}" @change="handleChange" style="width: 100%"></el-cascader> + <el-form-item label="鎵�灞炴満鏋�" prop="agencyId"> + <el-cascader + v-model="formData.agencyId" + placeholder="璇烽�夋嫨鎵�灞炴満鏋�" + :options="treeList" + :props="{checkStrictly: true,emitPath: false,value:'id'}" + style="width: 100%"></el-cascader> </el-form-item> <el-form-item label="鍦板潃"> - <el-input v-model="formData.adress" clearable maxlength="20" show-word-limit style="width: 100%" /> + <el-input + style="width: 100%" + maxlength="200" + show-word-limit + type="textarea" + :rows="3" + placeholder="璇疯緭鍏ュ唴瀹�" + v-model="formData.adress"/> + </el-form-item> <el-form-item label="鐘舵��" prop="states"> <el-radio-group v-model="formData.states"> @@ -31,8 +45,8 @@ </el-form-item> </el-form> <div slot="footer" align="center" class="dialog-footer"> - <my-button name="鍙栨秷" site="form" @click="close" /> - <my-button name="淇濆瓨" site="form" @click="save" /> + <my-button name="鍙栨秷" site="form" @click="close"/> + <my-button name="淇濆瓨" site="form" @click="save"/> </div> </win-sm> </template> @@ -44,63 +58,65 @@ import {findParentIds} from '@/utils/index'; export default { - components: { winSm, myButton }, + components: {winSm, myButton}, props: { setting: { type: Object, - default: () => {}, + default: () => { + }, }, }, data() { return { + loading: true, classList: [], treeList: [], checkAll: false, checkedList: [], formData: { - warehouseCode:null, + warehouseCode: null, classificationId: null, - classificationCode:null, + classificationCode: null, states: 1, - agencyIds:[], - agencyId:'' + agencyId: '' }, rules: { - warehouseName: [{ required: true, message: '璇疯緭鍏�', trigger: 'blur' }], - classificationCode: [{ required: true, message: '璇烽�夋嫨', trigger: 'blur' }], - agencyIds: [{ required: true, message: '璇烽�夋嫨', trigger: 'blur' }], - states: [{ required: true, message: '璇烽�夋嫨鐘舵��', trigger: 'blur' }], + warehouseName: [{required: true, message: '璇疯緭鍏�', trigger: 'blur'}], + classificationCode: [{required: true, message: '璇烽�夋嫨', trigger: 'blur'}], + agencyId: [{required: true, message: '璇烽�夋嫨', trigger: ['blur', 'change']}], + states: [{required: true, message: '璇烽�夋嫨鐘舵��', trigger: 'blur'}], }, }; }, - created() { - this.class_List(); - this.tree_List(); + async created() { + await this.class_List(); + await this.tree_List(); + this.loading = false if (this.setting.info) { this.formData = Object.assign({}, JSON.parse(this.setting.info)); } }, methods: { - class_List() { - finsystenant.classList().then((res) => { + async class_List() { + await finsystenant.classList().then((res) => { if (res) { - console.log(res, 'res'); + res.map(item => { + item.dict_code = item.dict_code.toString() + }) this.classList = res; } }); }, - tree_List() { - finsystenant.getTree().then((res) => { + async tree_List() { + await finsystenant.getTree().then((res) => { if (res) { this.treeList = res; - this.$set(this.formData,'agencyIds',findParentIds(this.treeList,this.formData.agencyId)) + this.$set(this.formData, 'agencyIds', findParentIds(this.treeList, this.formData.agencyId)) } }); }, - handleChange(e){ - this.formData.agencyId = e[e.length-1] + getEditInfo(id) { }, - getEditInfo(id) {}, close() { this.$emit('close'); }, @@ -108,9 +124,12 @@ this.$refs.ruleForm.validate((valid) => { if (valid) { const params = Object.assign({}, this.formData); + if (this.loading) return + this.loading = true if (this.setting.id) { // 缂栬緫鎺ュ彛 finsystenant.editstore(params).then((res) => { + this.loading = false if (res) { this.$message.success('淇濆瓨鎴愬姛锛�'); this.close(); @@ -118,10 +137,13 @@ } else { this.$message.error('淇濆瓨澶辫触'); } + }).catch(()=>{ + this.loading = false }); } else { params.orgId = this.setting.orgId; finsystenant.addstore(params).then((res) => { + this.loading = false if (res) { this.$message.success('淇濆瓨鎴愬姛锛�'); this.close(); @@ -129,6 +151,8 @@ } else { this.$message.error('淇濆瓨澶辫触'); } + }).catch(()=>{ + this.loading = false }); } } else { -- Gitblit v1.9.1