From bdea6f89251e2e11a92d38e41a64edf53b2cb95d Mon Sep 17 00:00:00 2001 From: 石广澎 <shiguangpeng@163.com> Date: 星期三, 29 十一月 2023 16:22:25 +0800 Subject: [PATCH] feat: 1、物品分发使用人修改,使用记录 --- admin-web/src/views/departmentitem/itemdis/disDetails/edit.vue | 249 +++++++++++++++++++++++++------------------------ admin-web/src/api/stock/transfer.js | 18 +++ admin-web/src/views/departmentitem/itemdis/distribution/index.vue | 2 admin-web/public/static/config.js | 4 admin-web/src/views/departmentitem/itemdis/distribution/detail.vue | 2 5 files changed, 147 insertions(+), 128 deletions(-) diff --git a/admin-web/public/static/config.js b/admin-web/public/static/config.js index b7e2788..2c5f21a 100644 --- a/admin-web/public/static/config.js +++ b/admin-web/public/static/config.js @@ -4,8 +4,8 @@ // 涓婁紶璺緞 ftpUrl: 'https://yqzx.jinmingyuan.com/lowConsum',//寮�鍙� // 鎺ュ彛璇锋眰鍦板潃 - // apiBaseURL: 'http://172.16.20.2:8083/lowConsum',//寮�鍙� - apiBaseURL: 'http://172.16.60.155:8083/lowConsum',//寮�鍙� + apiBaseURL: 'http://172.16.20.2:8083/lowConsum',//寮�鍙� + // apiBaseURL: 'http://172.16.60.155:8083/lowConsum',//寮�鍙� // apiBaseURL: 'https://yqzx.jinmingyuan.com/lowConsum',//寮�鍙� debug: false //璋冭瘯寮�鍏� true鏃朵細杈撳嚭璇锋眰鏃ュ織 }; diff --git a/admin-web/src/api/stock/transfer.js b/admin-web/src/api/stock/transfer.js index ac8792b..fa88b6a 100644 --- a/admin-web/src/api/stock/transfer.js +++ b/admin-web/src/api/stock/transfer.js @@ -83,4 +83,20 @@ // 瀵煎嚭 export function transferDetailListApi(params) { return '/pc/l/wh/form/transfer/detail/list' -} \ No newline at end of file +} +// 閮ㄩ棬鐗╁搧浣跨敤浜鸿褰� +export function useRecord(params) { + return request({ + url: '/pc/l/wh/form/transfer/use/record', + method: 'get', + params, + }); +} +// 閮ㄩ棬鐗╁搧浣跨敤浜轰慨鏀� +export function useInfoUpdate(data) { + return request({ + url: '/pc/l/wh/form/transfer/useInfo/update', + method: 'POST', + data, + }); +} diff --git a/admin-web/src/views/departmentitem/itemdis/disDetails/edit.vue b/admin-web/src/views/departmentitem/itemdis/disDetails/edit.vue index 43846f4..8314d8e 100644 --- a/admin-web/src/views/departmentitem/itemdis/disDetails/edit.vue +++ b/admin-web/src/views/departmentitem/itemdis/disDetails/edit.vue @@ -1,20 +1,20 @@ <template> <el-dialog - width="1000px" - :visible="true" - :top="'15vh'" - :close-on-click-modal="false" - :append-to-body="true" - :destroy-on-close="true" - @close="close" + 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" + class="tab-item" + :class="tabIndex == index ? 'active' : ''" + v-for="(item, index) in tabs" + :key="index" + @click="tabIndex = index" > {{ item }} </div> @@ -24,7 +24,7 @@ <el-row :gutter="20"> <el-col :span="6"> <el-form-item label="瑙勬牸鍨嬪彿:"> - {{ item.modelName }} + {{ item.baseGoodModelName }} </el-form-item> </el-col> <el-col :span="6"> @@ -33,7 +33,7 @@ </el-form-item> </el-col> </el-row> - <el-row :gutter="20" v-for="(childItem, childIndex) in item.list" :key="childIndex"> + <el-row :gutter="20" v-for="(childItem, childIndex) in item.recordUserInfos" :key="childIndex"> <el-col :span="6"> <el-form-item label="鍒嗗彂鏁伴噺:"> {{ childItem.count }} @@ -41,7 +41,8 @@ </el-col> <el-col :span="6"> <el-form-item label="浣跨敤浜�:"> - {{ childItem.user }} + <el-input v-if="childItem.isEdit" v-model="childItem.userName" style="width: 120px"></el-input> + <span v-else>{{ childItem.userName }}</span> </el-form-item> </el-col> <el-col :span="6"> @@ -50,72 +51,77 @@ <span v-else>{{ childItem.phone }}</span> </el-form-item> </el-col> - <el-col :span="6" v-if="!childItem.isEdit"> + <el-col :span="6"> <el-form-item> - <span class="edit-text" @click="handleEditItem(index, childIndex, childItem.isEdit)">淇敼</span> + <span class="edit-text" @click="handleEditItem(childItem)">{{childItem.isEdit?'鍙栨秷':'淇敼'}}</span> </el-form-item> </el-col> </el-row> + + <el-divider v-if="index+1<formData.list.length"></el-divider> </div> </el-form> <el-form - v-show="tabIndex == 1" - ref="ruleForm" - :model="formData" - :rules="rules" - class="demo-ruleForm" - style="width: 96%" + 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"> + <div v-for="(item, index) in list" :key="index"> <el-row :gutter="20" class="item-header"> <el-col :span="6"> <el-form-item label="淇敼鏃堕棿:"> - {{ item.time }} + {{ item.updateTime }} </el-form-item> </el-col> <el-col :span="6"> <el-form-item label="淇敼浜�:"> - {{ item.userName }} + {{ item.updateUserName }} </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> + <el-divider></el-divider> + <template v-for="(record,i) in item.recordSkuDtoList"> + <el-row :key="i" :gutter="20"> + <el-col :span="6"> + <el-form-item label="瑙勬牸鍨嬪彿:"> + {{ record.baseGoodModelName }} + </el-form-item> + </el-col> + <el-col :span="6"> + <el-form-item label="鍗曚綅:"> + {{ record.unit }} + </el-form-item> + </el-col> + </el-row> + <el-row :gutter="20" v-for="(use, k) in record.recordUserInfos" :key="k+'_'+i"> + <el-col :span="6"> + <el-form-item label="鍒嗗彂鏁伴噺:"> + {{ use.num }} + </el-form-item> + </el-col> + <el-col :span="6"> + <el-form-item label="浣跨敤浜�:"> + {{ use.useName }} + </el-form-item> + </el-col> + <el-col :span="6"> + <el-form-item label="鑱旂郴鐢佃瘽:"> + <span>{{ use.phone }}</span> + </el-form-item> + </el-col> + </el-row> +<!-- <el-divider v-if="index+1<list.length"></el-divider>--> + <el-divider></el-divider> + </template> </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" /> + <my-button name="鍙栨秷" site="form" @click="close"/> + <my-button name="淇濆瓨" site="form" @click="save"/> </div> </el-dialog> </template> @@ -123,62 +129,61 @@ <script> import myButton from '@/components/myButton/myButton'; import * as finsystenant from '@/api/baseSetting/finsystenant'; +import {transferDetail, useInfoUpdate, useRecord} from "@/api/stock/transfer"; export default { - components: { myButton }, + components: {myButton}, props: { setting: { type: Object, - default: () => {}, + default: () => { + }, }, }, data() { return { tabs: ['淇敼浣跨敤浜�', '浣跨敤璁板綍'], tabIndex: 0, - checkedList: [], + list: [], formData: { - 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, - }, - ], - }, - ], + list: [], }, 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() {}, + created() { + useRecord({transferOrderId: this.setting.id}).then((res) => { + let model = JSON.parse(JSON.stringify(res[0].recordSkuDtoList)) + model.map(m => { + m.recordUserInfos.map(u => { + u.baseGoodModelId = m.baseGoodModelId + u.baseUnit = m.unit + u.businessId = this.setting.id + u.count = u.num + u.tel = u.phone + u.procureModelId = m.procureModelId + u.userName = u.useName + u.isEdit = false + }) + }) + this.formData.list = model; + this.list = res + }); + }, methods: { - getEditInfo(id) {}, - handleEditItem(index, childIndex) { - this.formData.list[index].list[childIndex].isEdit = true; + getEditInfo(id) { + }, + handleEditItem(user) { + user.isEdit = !user.isEdit; + if(!user.isEdit){ + console.log(user) + user.phone = user.tel + user.userName = user.useName + } }, close() { this.$emit('close'); @@ -186,30 +191,19 @@ save() { this.$refs.ruleForm.validate((valid) => { if (valid) { - const params = Object.assign({}, this.formData); - if (this.setting.id) { - // 缂栬緫鎺ュ彛 - finsystenant.edit(params).then((res) => { - if (res) { - this.$message.success('淇濆瓨鎴愬姛锛�'); - this.close(); - this.$emit('search'); - } else { - this.$message.error('淇濆瓨澶辫触'); - } - }); - } else { - params.orgId = this.setting.orgId; - finsystenant.add(params).then((res) => { - if (res) { - this.$message.success('淇濆瓨鎴愬姛锛�'); - this.close(); - this.$emit('search'); - } else { - this.$message.error('淇濆瓨澶辫触'); - } - }); - } + let recordInfoList = [] + this.formData.list.map(item=>{ + item.recordUserInfos.map(re=>{ + recordInfoList.push(re) + }) + }) + useInfoUpdate({recordInfoList}).then((res) => { + this.$message.success('淇濆瓨鎴愬姛锛�'); + this.close(); + this.$emit('search'); + }).catch(()=>{ + this.$message.error('淇濆瓨澶辫触'); + }); } else { this.$message.error('鏍¢獙鏈�氳繃锛岃妫�鏌ャ��'); } @@ -222,6 +216,7 @@ .dialog-title { display: flex; align-items: center; + .tab-item { color: #3d3d3d; font-size: 16px; @@ -229,6 +224,7 @@ padding: 0 10px; position: relative; cursor: pointer; + &.active::after { content: ''; width: 100%; @@ -240,10 +236,12 @@ } } } + .edit-text { color: #409eff; cursor: pointer; } + .item-header { ::v-deep { .el-form-item__label, @@ -252,12 +250,17 @@ } } } + +::v-deep .el-divider--horizontal { + margin: 10px 0; +} + ::v-deep { .el-form-item { - margin-top: 10px; - margin-bottom: 10px; + margin-bottom: 5px; } } + .line { width: 100%; height: 1px; diff --git a/admin-web/src/views/departmentitem/itemdis/distribution/detail.vue b/admin-web/src/views/departmentitem/itemdis/distribution/detail.vue index e27de51..a655472 100644 --- a/admin-web/src/views/departmentitem/itemdis/distribution/detail.vue +++ b/admin-web/src/views/departmentitem/itemdis/distribution/detail.vue @@ -225,7 +225,7 @@ }; </script> <style lang="scss" scoped> -//@import url(../../../../styles/store.scss); +@import url(../../../../styles/store.scss); .card3 { padding: 10px; margin-top: 10px; diff --git a/admin-web/src/views/departmentitem/itemdis/distribution/index.vue b/admin-web/src/views/departmentitem/itemdis/distribution/index.vue index 681e679..ec48b4d 100644 --- a/admin-web/src/views/departmentitem/itemdis/distribution/index.vue +++ b/admin-web/src/views/departmentitem/itemdis/distribution/index.vue @@ -115,7 +115,7 @@ }, { type: 'select', - dataIndex: 'inWarehouseId', + dataIndex: 'inAgencyId', label: '鍒嗗彂閮ㄩ棬', placeholder: '璇烽�夋嫨', optionsConfig: { -- Gitblit v1.9.1