石广澎
2023-11-29 bdea6f89251e2e11a92d38e41a64edf53b2cb95d
admin-web/src/views/departmentitem/itemdis/disDetails/edit.vue
@@ -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,12 +51,14 @@
              <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>
@@ -67,50 +70,53 @@
      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-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="规格型号:">
              {{ item.modelName }}
                {{ record.baseGoodModelName }}
            </el-form-item>
          </el-col>
          <el-col :span="6">
            <el-form-item label="单位:">
              {{ item.unit }}
                {{ record.unit }}
            </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="(use, k) in record.recordUserInfos" :key="k+'_'+i">
          <el-col :span="6">
            <el-form-item label="分发数量:">
              {{ childItem.count }}
                {{ use.num }}
            </el-form-item>
          </el-col>
          <el-col :span="6">
            <el-form-item label="使用人:">
              {{ childItem.user }}
                {{ use.useName }}
            </el-form-item>
          </el-col>
          <el-col :span="6">
            <el-form-item label="联系电话:">
              <span>{{ childItem.phone }}</span>
                <span>{{ use.phone }}</span>
            </el-form-item>
          </el-col>
        </el-row>
        <div class="line"></div>
<!--          <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">
@@ -123,49 +129,24 @@
<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 },
  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' }],
@@ -174,11 +155,35 @@
      },
    };
  },
  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) {
          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');
              } else {
          }).catch(()=>{
                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('保存失败');
              }
            });
          }
        } 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;