From 5e10fe06e80c7d146cbb5eb8f7b3e1e447a80b88 Mon Sep 17 00:00:00 2001 From: haoyahui <2032914783@qq.com> Date: 星期五, 17 十一月 2023 17:07:53 +0800 Subject: [PATCH] 部门物品:物品分发,物品报废静态。调拨管理联调,price由元改为分,仓库管理库管员 --- admin-web/src/views/departmentitem/itemdis/disDetails/edit.vue | 302 ++++++++++++++++++++++++++++++++++++++------------ 1 files changed, 229 insertions(+), 73 deletions(-) diff --git a/admin-web/src/views/departmentitem/itemdis/disDetails/edit.vue b/admin-web/src/views/departmentitem/itemdis/disDetails/edit.vue index 37b0db9..43846f4 100644 --- a/admin-web/src/views/departmentitem/itemdis/disDetails/edit.vue +++ b/admin-web/src/views/departmentitem/itemdis/disDetails/edit.vue @@ -1,111 +1,267 @@ <template> - <win-sm :title="setting.title" @close="close" :width="'800px'"> - <el-form ref="ruleForm" :model="formData" :rules="rules" class="demo-ruleForm" label-width="100px"> - <el-form-item label="缂栧彿" prop="code"> - <el-input disabled v-model="formData.code" clearable maxlength="20" show-word-limit style="width: 100%"/> - </el-form-item> - <el-form-item label="浠撳簱鍚嶇О" prop="name"> - <el-input v-model="formData.name" clearable maxlength="20" show-word-limit style="width: 100%"/> - </el-form-item> - <el-form-item label="鍦板潃" > - <el-input v-model="formData.adss" clearable maxlength="20" show-word-limit style="width: 100%"/> - </el-form-item> - <el-form-item label="鐘舵��" prop="status"> - <el-switch - v-model="formData.status" - active-color="#0d997c" - inactive-color="#C0CCDA"> - </el-switch> - </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"/> + <el-dialog + width="1000px" + :visible="true" + :top="'15vh'" + :close-on-click-modal="false" + :append-to-body="true" + :destroy-on-close="true" + @close="close" + > + <div slot="title" align="left" class="dialog-title"> + <div + class="tab-item" + :class="tabIndex == index ? 'active' : ''" + v-for="(item, index) in tabs" + :key="index" + @click="tabIndex = index" + > + {{ item }} + </div> </div> - </win-sm> + <el-form v-show="tabIndex == 0" ref="ruleForm" :model="formData" :rules="rules" class="demo-ruleForm"> + <div v-for="(item, index) in formData.list" :key="index"> + <el-row :gutter="20"> + <el-col :span="6"> + <el-form-item label="瑙勬牸鍨嬪彿:"> + {{ item.modelName }} + </el-form-item> + </el-col> + <el-col :span="6"> + <el-form-item label="鍗曚綅:"> + {{ item.unit }} + </el-form-item> + </el-col> + </el-row> + <el-row :gutter="20" v-for="(childItem, childIndex) in item.list" :key="childIndex"> + <el-col :span="6"> + <el-form-item label="鍒嗗彂鏁伴噺:"> + {{ childItem.count }} + </el-form-item> + </el-col> + <el-col :span="6"> + <el-form-item label="浣跨敤浜�:"> + {{ childItem.user }} + </el-form-item> + </el-col> + <el-col :span="6"> + <el-form-item label="鑱旂郴鐢佃瘽:"> + <el-input v-if="childItem.isEdit" v-model="childItem.phone" style="width: 120px"></el-input> + <span v-else>{{ childItem.phone }}</span> + </el-form-item> + </el-col> + <el-col :span="6" v-if="!childItem.isEdit"> + <el-form-item> + <span class="edit-text" @click="handleEditItem(index, childIndex, childItem.isEdit)">淇敼</span> + </el-form-item> + </el-col> + </el-row> + </div> + </el-form> + + <el-form + v-show="tabIndex == 1" + ref="ruleForm" + :model="formData" + :rules="rules" + class="demo-ruleForm" + style="width: 96%" + > + <div v-for="(item, index) in formData.list" :key="index"> + <el-row :gutter="20" class="item-header"> + <el-col :span="6"> + <el-form-item label="淇敼鏃堕棿:"> + {{ item.time }} + </el-form-item> + </el-col> + <el-col :span="6"> + <el-form-item label="淇敼浜�:"> + {{ item.userName }} + </el-form-item> + </el-col> + </el-row> + <div class="line"></div> + <el-row :gutter="20"> + <el-col :span="6"> + <el-form-item label="瑙勬牸鍨嬪彿:"> + {{ item.modelName }} + </el-form-item> + </el-col> + <el-col :span="6"> + <el-form-item label="鍗曚綅:"> + {{ item.unit }} + </el-form-item> + </el-col> + </el-row> + <el-row :gutter="20" v-for="(childItem, childIndex) in item.list" :key="childIndex"> + <el-col :span="6"> + <el-form-item label="鍒嗗彂鏁伴噺:"> + {{ childItem.count }} + </el-form-item> + </el-col> + <el-col :span="6"> + <el-form-item label="浣跨敤浜�:"> + {{ childItem.user }} + </el-form-item> + </el-col> + <el-col :span="6"> + <el-form-item label="鑱旂郴鐢佃瘽:"> + <span>{{ childItem.phone }}</span> + </el-form-item> + </el-col> + </el-row> + <div class="line"></div> + </div> + </el-form> + <div v-if="tabIndex == 0" slot="footer" align="center" class="dialog-footer"> + <my-button name="鍙栨秷" site="form" @click="close" /> + <my-button name="淇濆瓨" site="form" @click="save" /> + </div> + </el-dialog> </template> <script> -import winSm from '@/components/win/win-sm' -import myButton from '@/components/myButton/myButton' -import * as finsystenant from '@/api/baseSetting/finsystenant' +import myButton from '@/components/myButton/myButton'; +import * as finsystenant from '@/api/baseSetting/finsystenant'; export default { - components: {winSm, myButton}, + components: { myButton }, props: { setting: { type: Object, - default: () => { - } - } + default: () => {}, + }, }, data() { return { - checkAll: false, + tabs: ['淇敼浣跨敤浜�', '浣跨敤璁板綍'], + tabIndex: 0, checkedList: [], formData: { - code: '', - name: '', - status: true, - summary: '', + list: [ + { + modelName: '鍨嬪彿111111', + unit: '濂�', + time: '2023-08-08 10:23:34', + userName: '绠$悊鍛�', + list: [ + { + count: 1, + user: '寮犱笁', + phone: '18500000001', + isEdit: false, + }, + ], + }, + { + modelName: '鍨嬪彿222222', + unit: '濂�', + list: [ + { + count: 1, + user: '寮犱笁', + phone: '18500000001', + isEdit: false, + }, + ], + }, + ], }, rules: { - code: [ - {required: true, message: '璇疯緭鍏ユ満鏋勭紪鍙�', trigger: 'blur'} - ], - name: [ - {required: true, message: '璇疯緭鍏ユ満鏋勫悕绉�', trigger: 'blur'} - ], - status: [ - {required: true, message: '璇烽�夋嫨鐘舵��', trigger: 'blur'} - ] - } - } + code: [{ required: true, message: '璇疯緭鍏ユ満鏋勭紪鍙�', trigger: 'blur' }], + name: [{ required: true, message: '璇疯緭鍏ユ満鏋勫悕绉�', trigger: 'blur' }], + status: [{ required: true, message: '璇烽�夋嫨鐘舵��', trigger: 'blur' }], + }, + }; }, - created() { - if(this.setting.info){ - this.formData = Object.assign({},JSON.parse(this.setting.info)) - } - }, + created() {}, methods: { - getEditInfo(id){ - + getEditInfo(id) {}, + handleEditItem(index, childIndex) { + this.formData.list[index].list[childIndex].isEdit = true; }, close() { - this.$emit('close') + this.$emit('close'); }, save() { this.$refs.ruleForm.validate((valid) => { if (valid) { - const params = Object.assign({}, this.formData) - if(this.setting.id){ + const params = Object.assign({}, this.formData); + if (this.setting.id) { // 缂栬緫鎺ュ彛 - finsystenant.edit(params).then(res => { + finsystenant.edit(params).then((res) => { if (res) { - this.$message.success('淇濆瓨鎴愬姛锛�') - this.close() - this.$emit('search') + this.$message.success('淇濆瓨鎴愬姛锛�'); + this.close(); + this.$emit('search'); } else { - this.$message.error('淇濆瓨澶辫触') + this.$message.error('淇濆瓨澶辫触'); } - }) - }else{ - params.orgId = this.setting.orgId - finsystenant.add(params).then(res => { + }); + } else { + params.orgId = this.setting.orgId; + finsystenant.add(params).then((res) => { if (res) { - this.$message.success('淇濆瓨鎴愬姛锛�') - this.close() - this.$emit('search') + this.$message.success('淇濆瓨鎴愬姛锛�'); + this.close(); + this.$emit('search'); } else { - this.$message.error('淇濆瓨澶辫触') + this.$message.error('淇濆瓨澶辫触'); } - }) + }); } } else { - this.$message.error('鏍¢獙鏈�氳繃锛岃妫�鏌ャ��') + this.$message.error('鏍¢獙鏈�氳繃锛岃妫�鏌ャ��'); } - }) + }); + }, + }, +}; +</script> +<style lang="scss" scoped> +.dialog-title { + display: flex; + align-items: center; + .tab-item { + color: #3d3d3d; + font-size: 16px; + font-style: normal; + padding: 0 10px; + position: relative; + cursor: pointer; + &.active::after { + content: ''; + width: 100%; + height: 2px; + background: #409eff; + position: absolute; + bottom: -10px; + left: 0; } } } -</script> +.edit-text { + color: #409eff; + cursor: pointer; +} +.item-header { + ::v-deep { + .el-form-item__label, + .el-form-item__content { + font-weight: 700; + } + } +} +::v-deep { + .el-form-item { + margin-top: 10px; + margin-bottom: 10px; + } +} +.line { + width: 100%; + height: 1px; + margin: 10px 0; + background: rgba($color: #dcdfe6, $alpha: 0.45); +} +</style> -- Gitblit v1.9.1