石广澎
2023-11-29 bdea6f89251e2e11a92d38e41a64edf53b2cb95d
feat:
1、物品分发使用人修改,使用记录
5个文件已修改
275 ■■■■ 已修改文件
admin-web/public/static/config.js 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin-web/src/api/stock/transfer.js 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin-web/src/views/departmentitem/itemdis/disDetails/edit.vue 249 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin-web/src/views/departmentitem/itemdis/distribution/detail.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin-web/src/views/departmentitem/itemdis/distribution/index.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
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时会输出请求日志
};
admin-web/src/api/stock/transfer.js
@@ -83,4 +83,20 @@
// 导出
export function transferDetailListApi(params) {
  return '/pc/l/wh/form/transfer/detail/list'
}
}
// 部门物品使用人记录
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,
  });
}
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;
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;
admin-web/src/views/departmentitem/itemdis/distribution/index.vue
@@ -115,7 +115,7 @@
        },
        {
          type: 'select',
          dataIndex: 'inWarehouseId',
          dataIndex: 'inAgencyId',
          label: '分发部门',
          placeholder: '请选择',
          optionsConfig: {