石广澎
2023-12-01 87f07e589fb1c8103513a5fcc8febe3b14f5535f
feat:
1、图片预览使用半路径
2、部门物品退回详情
1个文件已添加
10个文件已修改
229 ■■■■ 已修改文件
admin-web/src/api/deptGoods/itemret.js 36 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin-web/src/api/deptGoods/scrap.js 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin-web/src/components/upload/index.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin-web/src/views/departmentitem/itemdis/distribution/detail.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin-web/src/views/departmentitem/itemret/returnNote/detail.vue 79 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin-web/src/views/departmentitem/itemscr/scrapping/detail.vue 98 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin-web/src/views/stock/accessStock/outbound/detail.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin-web/src/views/stock/procure/purchaseOrder/detail.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin-web/src/views/stock/scrap/itemScrapping/detail.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin-web/src/views/stock/transfer/transferApplication/detail.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin-web/src/views/stock/transfer/transferissue/detail.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin-web/src/api/deptGoods/itemret.js
New file
@@ -0,0 +1,36 @@
import request from '@/utils/request';
// 新增
export function returnAdd(data) {
    return request({
        url: '/pc/l/wh/form/scrapped/add',
        method: 'post',
        data,
    });
}
// 列表
export function returnList(params) {
    return request({
        url: '/pc/l/wh/form/scrapped/deptList',
        method: 'get',
        params,
    });
}
// 详情
export function returnDetail(params) {
    return request({
        url: '/pc/l/wh/form/scrapped/deptDetail',
        method: 'get',
        params,
    });
}
// 明细列表
export function returnDetailList(params) {
    return request({
        url: '/pc/l/wh/form/scrapped/list/detailList',
        method: 'get',
        params,
    });
}
admin-web/src/api/deptGoods/scrap.js
@@ -38,7 +38,7 @@
// 详情
export function scrappedDetail(params) {
  return request({
    url: '/pc/l/wh/form/scrapped/detail',
    url: '/pc/l/wh/form/scrapped/deptDetail',
    method: 'get',
    params,
  });
admin-web/src/components/upload/index.vue
@@ -44,7 +44,7 @@
        <img
          v-if="checkImg(src.name)"
          class="v-img"
          :src="src.url"
          :src="getUrl(src.path)"
          :alt="src.name"
          style="width: 100px;height: 100px;"
        >
admin-web/src/views/departmentitem/itemdis/distribution/detail.vue
@@ -104,7 +104,7 @@
        <img
            v-if="checkImg(src.name)"
            class="v-img"
            :src="src.url"
            :src="getUrl(src.path)"
            :alt="src.name"
            style="width: 100px; height: 100px"
        />
admin-web/src/views/departmentitem/itemret/returnNote/detail.vue
@@ -1,5 +1,5 @@
<template>
  <win-lg class="stock-detail" :title="setting.title" @close="close" :width="'800px'" :loading="loading">
  <win-lg class="stock-detail" title="部门物品退回单详情" @close="close" :loading="loading">
    <el-row :gutter="20">
      <el-col :span="8">
        <span>退回单号:</span>
@@ -7,7 +7,7 @@
      </el-col>
      <el-col :span="8">
        <span>所属机构:</span>
        <span>{{detail.departmentName}}</span>
        <span>{{detail.agencyName}}</span>
      </el-col>
      <el-col :span="8">
        <span>部门:</span>
@@ -21,7 +21,7 @@
      </el-col>
      <el-col :span="8">
        <span>退回时间:</span>
        <span>{{detail.dealTime | formatTime }}</span>
        <span>{{detail.dealTime|formatTime}}</span>
      </el-col>
    </el-row>
    <el-row :gutter="20" style="margin-top: 20px">
@@ -32,80 +32,62 @@
        </div>
      </el-col>
    </el-row>
    <div class="goods-card" v-for="(goodsItem, goodsIndex) in detail.procureGoods" :key="goodsIndex">
    <div class="goods-card" v-for="(goodsItem, goodsIndex) in detail.goods" :key="goodsIndex">
      <el-row :gutter="20">
        <el-col :span="8">
          <span>物品分类:</span>
          <span>{{ goodsItem.baseCategoryName }}</span>
          <span>{{ goodsItem.categoryName }}</span>
        </el-col>
        <el-col :span="8">
          <span>物品名称:</span>
          <span>{{ goodsItem.baseGoodsTemplateName }}</span>
        </el-col>
        <el-col :span="4">
          <span>物品类别:</span>
          <span>{{ goodsItem.modelName }}</span>
          <span>类别:</span>
          <span>{{ goodsItem.classification }}类</span>
        </el-col>
        <el-col :span="4">
          <span>分发单号:</span>
          <span>{{ goodsItem.businessFormCode }}</span>
        </el-col>
      </el-row>
      <div v-for="(mItem, mIndex) in goodsItem.models" :key="mIndex">
        <el-row :gutter="24" type="flex" align="middle" style="height: 50px">
      <!--      <div v-for="(mItem,k) in goodsItem.models" :key="k">-->
      <div class="card3">
        <el-row v-if="goodsItem.models[0].goodsUserName" :gutter="24" type="flex" align="middle">
          <el-col :span="8">
            <span>规格型号:</span>
            <span>{{ mItem[0].modelName }}</span>
            <span>{{ goodsItem.models[0].baseGoodsModelsName }}</span>
          </el-col>
          <el-col :span="4">
            <span>单位:</span>
            <span>{{ mItem[0].unit }}</span>
            <span>{{ goodsItem.models[0].unit }}</span>
          </el-col>
        </el-row>
        <el-table :data="mItem" :stripe="true" style="margin-top: 20px">
          <el-table-column prop="baseGoodsModelsName" label="规格型号" align="center" v-if="!mItem[0].nowUserName">
            <template slot-scope="scope">
              {{ scope.row.baseGoodsModelsName }}
            </template>
          </el-table-column>
          <el-table-column label="单位" align="center" v-if="!mItem[0].nowUserName">
            <template slot-scope="scope">
              {{ scope.row.unit }}
            </template>
          </el-table-column>
          <el-table-column label="使用人" align="center" v-if="mItem[0].nowUserName">
            <template slot-scope="scope">
              {{ scope.row.nowUserName }}
            </template>
          </el-table-column>
          <el-table-column prop="price" label="退回数量" align="center">
            <template slot-scope="scope">
              {{ scope.row.counts }}
            </template>
          </el-table-column>
          <el-table-column prop="counts" label="在用数量" align="center">
            <template slot-scope="scope">
              {{ scope.row.userUseCount }}
            </template>
          </el-table-column>
        <el-table :data="goodsItem.models" style="margin-top: 15px">
          <el-table-column prop="baseGoodsModelsName" label="规格型号" align="center" v-if="!goodsItem.models[0].goodsUserName"/>
          <el-table-column prop="unit" label="单位" align="center" v-if="!goodsItem.models[0].goodsUserName"/>
          <el-table-column prop="goodsUserName" label="使用人" align="center" v-if="goodsItem.models[0].goodsUserName"/>
          <el-table-column prop="useCount" label="在用数量" align="center"/>
          <el-table-column prop="counts" label="退回数量" align="center"/>
          <el-table-column prop="scrappedName" label="退回原因" align="center"/>
        </el-table>
      </div>
    </div>
    <div id="uploadPreviewImages" style="display: none">
      <span v-for="(src, index) in fileList" :key="index">
        <img
          v-if="checkImg(src.name)"
          class="v-img"
          :src="src.url"
          :alt="src.name"
          style="width: 100px; height: 100px"
            v-if="checkImg(src.name)"
            class="v-img"
            :src="getUrl(src.path)"
            :alt="src.name"
            style="width: 100px; height: 100px"
        />
      </span>
    </div>
  </win-lg>
</template>
<script>
import {procureDetail} from '@/api/stock/procure/purchaseOrder';
import {scrappedDetail} from '@/api/deptGoods/scrap';
import winLg from '@/components/win/win-lg';
import * as DateFormatter from '@/utils/DateFormatter';
import {getDownUrl} from '@/utils/base';
@@ -124,7 +106,7 @@
  },
  data() {
    return {
      loading:false,
      loading: true,
      fileList: [],
      detail: {
        baseCategoryName: '',
@@ -151,8 +133,9 @@
    }
  },
  created() {
    procureDetail({ id: this.setting.id }).then((res) => {
    scrappedDetail({ id: this.setting.id }).then((res) => {
      this.detail = res;
      this.loading = false
      this.fileList = this.detail.procureDoc ? JSON.parse(this.detail.procureDoc) : [];
      this.$nextTick(() => {
        this.initPreviewImg();
@@ -212,4 +195,10 @@
</script>
<style lang="scss" scoped>
//@import url(../../../../styles/store.scss);
.card3 {
  padding: 15px;
  margin-top: 20px;
  border-radius: 2px;
  background: #ffffff;
}
</style>
admin-web/src/views/departmentitem/itemscr/scrapping/detail.vue
@@ -1,27 +1,27 @@
<template>
  <win-lg class="stock-detail" :title="setting.title" @close="close" :width="'800px'" :loading="loading">
  <win-lg class="stock-detail" title="部门物品报废单详情" @close="close" :loading="loading">
    <el-row :gutter="20">
      <el-col :span="8">
        <span>报废单号:</span>
        <span>SL2023001</span>
        <span>{{detail.businessFormCode}}</span>
      </el-col>
      <el-col :span="8">
        <span>所属机构:</span>
        <span>河南省邮政分公司</span>
        <span>{{detail.agencyName}}</span>
      </el-col>
      <el-col :span="8">
        <span>部门:</span>
        <span>金融业务部</span>
        <span>{{detail.departmentName}}</span>
      </el-col>
    </el-row>
    <el-row :gutter="20" style="margin-top: 20px">
      <el-col :span="8">
        <span>报废人:</span>
        <span>张爱生</span>
        <span>{{detail.operatorName}}</span>
      </el-col>
      <el-col :span="8">
        <span>报废时间:</span>
        <span>2023-08-08 10:23:12</span>
        <span>{{detail.dealTime|formatTime}}</span>
      </el-col>
    </el-row>
    <el-row :gutter="20" style="margin-top: 20px">
@@ -32,57 +32,44 @@
        </div>
      </el-col>
    </el-row>
    <div class="goods-card" v-for="(goodsItem, goodsIndex) in detail.procureGoods" :key="goodsIndex">
    <div class="goods-card" v-for="(goodsItem, goodsIndex) in detail.goods" :key="goodsIndex">
      <el-row :gutter="20">
        <el-col :span="6">
        <el-col :span="8">
          <span>物品分类:</span>
          <span>{{ goodsItem.baseCategoryName }}</span>
          <span>{{ goodsItem.categoryName }}</span>
        </el-col>
        <el-col :span="6">
        <el-col :span="8">
          <span>物品名称:</span>
          <span>{{ goodsItem.goodsTemplateName }}</span>
          <span>{{ goodsItem.baseGoodsTemplateName }}</span>
        </el-col>
        <el-col :span="6">
          <span>物品类别:</span>
          <span>{{ goodsItem.supplier }}</span>
        <el-col :span="4">
          <span>类别:</span>
          <span>{{ goodsItem.classification }}类</span>
        </el-col>
        <el-col :span="6">
        <el-col :span="4">
          <span>分发单号:</span>
          <span>{{ goodsItem.supplier }}</span>
          <span>{{ goodsItem.businessFormCode }}</span>
        </el-col>
      </el-row>
      <div>
        <el-table :data="goodsItem.models" :stripe="true" style="margin-top: 20px">
          <el-table-column prop="baseGoodsModelsName" label="规格型号" align="center">
            <template slot-scope="scope">
              {{ scope.row.baseGoodsModelsName }}
            </template>
          </el-table-column>
          <el-table-column label="单位" align="center">
            <template slot-scope="scope">
              {{ scope.row.unit }}
            </template>
          </el-table-column>
          <el-table-column label="使用人" align="center" v-if="goodsItem.type===1">
            <template slot-scope="scope">
              {{ scope.row.unit }}
            </template>
          </el-table-column>
          <el-table-column prop="price" label="再用数量" align="center">
            <template slot-scope="scope">
              {{ scope.row.counts }}
            </template>
          </el-table-column>
          <el-table-column prop="counts" label="报废数量" align="center">
            <template slot-scope="scope">
              {{ scope.row.counts }}
            </template>
          </el-table-column>
          <el-table-column prop="counts" label="报废原因" align="center">
            <template slot-scope="scope">
              {{ scope.row.price }}
            </template>
          </el-table-column>
<!--      <div v-for="(mItem,k) in goodsItem.models" :key="k">-->
      <div class="card3">
        <el-row v-if="goodsItem.models[0].goodsUserName" :gutter="24" type="flex" align="middle">
          <el-col :span="8">
            <span>规格型号:</span>
            <span>{{ goodsItem.models[0].baseGoodsModelsName }}</span>
          </el-col>
          <el-col :span="4">
            <span>单位:</span>
            <span>{{ goodsItem.models[0].unit }}</span>
          </el-col>
        </el-row>
        <el-table :data="goodsItem.models" style="margin-top: 15px">
          <el-table-column prop="baseGoodsModelsName" label="规格型号" align="center" v-if="!goodsItem.models[0].goodsUserName"/>
          <el-table-column prop="unit" label="单位" align="center" v-if="!goodsItem.models[0].goodsUserName"/>
          <el-table-column prop="goodsUserName" label="使用人" align="center" v-if="goodsItem.models[0].goodsUserName"/>
          <el-table-column prop="useCount" label="在用数量" align="center"/>
          <el-table-column prop="counts" label="报废数量" align="center"/>
          <el-table-column prop="scrappedName" label="报废原因" align="center"/>
        </el-table>
      </div>
    </div>
@@ -91,7 +78,7 @@
        <img
          v-if="checkImg(src.name)"
          class="v-img"
          :src="src.url"
          :src="getUrl(src.path)"
          :alt="src.name"
          style="width: 100px; height: 100px"
        />
@@ -100,7 +87,7 @@
  </win-lg>
</template>
<script>
import {procureDetail} from '@/api/stock/procure/purchaseOrder';
import {scrappedDetail} from '@/api/deptGoods/scrap';
import winLg from '@/components/win/win-lg';
import * as DateFormatter from '@/utils/DateFormatter';
import {getDownUrl} from '@/utils/base';
@@ -119,7 +106,7 @@
  },
  data() {
    return {
      loading:false,
      loading: true,
      fileList: [],
      detail: {
        baseCategoryName: '',
@@ -146,8 +133,9 @@
    }
  },
  created() {
    procureDetail({ id: this.setting.id }).then((res) => {
    scrappedDetail({ id: this.setting.id }).then((res) => {
      this.detail = res;
      this.loading = false
      this.fileList = this.detail.procureDoc ? JSON.parse(this.detail.procureDoc) : [];
      this.$nextTick(() => {
        this.initPreviewImg();
@@ -207,4 +195,10 @@
</script>
<style lang="scss" scoped>
//@import url(../../../../styles/store.scss);
.card3 {
  padding: 15px;
  margin-top: 20px;
  border-radius: 2px;
  background: #ffffff;
}
</style>
admin-web/src/views/stock/accessStock/outbound/detail.vue
@@ -71,7 +71,7 @@
        <img
            v-if="checkImg(src.name)"
            class="v-img"
            :src="src.url"
            :src="getUrl(src.path)"
            :alt="src.name"
            style="width: 100px; height: 100px"
        />
admin-web/src/views/stock/procure/purchaseOrder/detail.vue
@@ -90,7 +90,7 @@
        <img
          v-if="checkImg(src.name)"
          class="v-img"
          :src="src.url"
          :src="getUrl(src.path)"
          :alt="src.name"
          style="width: 100px; height: 100px"
        />
admin-web/src/views/stock/scrap/itemScrapping/detail.vue
@@ -55,7 +55,7 @@
        <img
          v-if="checkImg(src.name)"
          class="v-img"
          :src="src.url"
          :src="getUrl(src.path)"
          :alt="src.name"
          style="width: 100px; height: 100px"
        />
admin-web/src/views/stock/transfer/transferApplication/detail.vue
@@ -77,7 +77,7 @@
        <img
            v-if="checkImg(src.name)"
            class="v-img"
            :src="src.url"
            :src="getUrl(src.path)"
            :alt="src.name"
            style="width: 100px; height: 100px"
        />
admin-web/src/views/stock/transfer/transferissue/detail.vue
@@ -84,7 +84,7 @@
        <img
            v-if="checkImg(src.name)"
            class="v-img"
            :src="src.url"
            :src="getUrl(src.path)"
            :alt="src.name"
            style="width: 100px; height: 100px"
        />