| | |
| | | <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> |
| | |
| | | <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"> |
| | |
| | | </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 }} |
| | |
| | | </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"> |
| | |
| | | <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> |
| | |
| | | <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'); |
| | |
| | | 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('校验未通过,请检查。'); |
| | | } |
| | |
| | | .dialog-title { |
| | | display: flex; |
| | | align-items: center; |
| | | |
| | | .tab-item { |
| | | color: #3d3d3d; |
| | | font-size: 16px; |
| | |
| | | padding: 0 10px; |
| | | position: relative; |
| | | cursor: pointer; |
| | | |
| | | &.active::after { |
| | | content: ''; |
| | | width: 100%; |
| | |
| | | } |
| | | } |
| | | } |
| | | |
| | | .edit-text { |
| | | color: #409eff; |
| | | cursor: pointer; |
| | | } |
| | | |
| | | .item-header { |
| | | ::v-deep { |
| | | .el-form-item__label, |
| | |
| | | } |
| | | } |
| | | } |
| | | |
| | | ::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; |