zhongtianhaoyuan 4 vuotta sitten
vanhempi
commit
b812b56aa8

+ 5 - 1
src/lang/zh.js

@@ -494,10 +494,11 @@
     warehouseManagementEdit:'仓库管理编辑',
     warehouseManagementPut:'入库',
     warehouseManagementDelivery:'出库',
-
+    warehouseManagementIossRecord:'盘损详情',
     warehouseManagementLook:'仓库管理查看',
     warehouseManagementDelete:'仓库管理删除',
     warehouseManagementIoss:'仓库管理盘损',
+    warehouseManagementRecord:'记录',
 
     // 采购模块
     procurement: '采购管理',
@@ -4687,6 +4688,9 @@
     warehouseManagementLook:'仓库管理查看',
     warehouseManagementDelete:'仓库管理删除',
     warehouseManagementIoss:'仓库管理盘损',
+    warehouseManagementIossRecord:'盘损详情',
+    warehouseManagementRecord:'记录',
+
   },
   // 年度培训
   annualTraining: {

+ 34 - 0
src/views/warehouse/component/router/index.js

@@ -130,6 +130,40 @@ const warehouseManagementRouter = {
       },
       hidden: true
     },
+
+    {
+      path: 'warehouseManagementIossRecord',
+      component: () =>
+        import(/* webpackChunkName: "applDetail" */ '@/views/warehouse/warehouseManagementIossRecord'),
+      name: 'warehouseManagementIossRecord',
+      meta: {
+        title: 'warehouseManagementIossRecord',
+        shortcutEntrance: 'warehouseManagementIossRecord',
+        module: 'warehouse.warehouseManagementIossRecord',
+
+        permissicon: [],
+        keepAlive: true
+        // module: 'procurement.sparepart.applDetail'
+      },
+      hidden: true
+    },
+
+    {
+      path: 'warehouseManagementRecord',
+      component: () =>
+        import(/* webpackChunkName: "applDetail" */ '@/views/warehouse/warehouseManagementRecord'),
+      name: 'warehouseManagementRecord',
+      meta: {
+        title: 'warehouseManagementRecord',
+        shortcutEntrance: 'warehouseManagementRecord',
+        module: 'warehouse.warehouseManagementRecord',
+
+        permissicon: [],
+        keepAlive: true
+        // module: 'procurement.sparepart.applDetail'
+      },
+      hidden: true
+    },
   ],
 };
 export default warehouseManagementRouter;

+ 2 - 9
src/views/warehouse/warehouseManagementDelete.vue

@@ -189,15 +189,8 @@ export default {
     this.showType = this.isShow
   },
   methods: {
-    handleLook() {
-       this.$router.push({ path: 'warehouseManagementLook' })
-    },
-    handleAdd() {
-      this.$router.push({ path: 'warehouseManagementAdd' })
-    },
-    handleEdit() {},
-    handleDelete() {
-       this.$router.push({ path: 'warehouseManagementDelete' })
+    returnWarehouse(){
+      this.$router.push({ path: 'warehouseManagementList' })
     },
     dateFormat(fmt, date) {
       let ret

+ 511 - 0
src/views/warehouse/warehouseManagementDelivery.vue

@@ -0,0 +1,511 @@
+<template>
+  <div class="container">
+    <el-row>
+      <el-col :span="20">
+        <h2 class="bg-left title">出库登记</h2>
+      </el-col>
+      <el-col :span="4" class="bg-right">
+        <el-button
+          class="bg-bottom"
+          type="primary"
+          size="small"
+          @click="returnWarehouse()"
+          >返回</el-button
+        >
+      </el-col>
+    </el-row>
+    <div class="center">
+      <h2>鲅鱼圈一号库 102仓位</h2>
+      <ws-form ref="deptBudgetList" :model="deptBudgetList">
+        <!-- 货名 -->
+        <ws-form-item label="货名" span="1" class="readonly">
+          <ws-select
+            placeholder=""
+            class="typeselect"
+            @change="selectpackingMethod"
+          >
+            <ws-option
+              v-for="item in goodnameList"
+              :key="item.constKey"
+              :label="item.constValue"
+              :value="item.constValue"
+            />
+          </ws-select>
+        </ws-form-item>
+        <!--毛重(吨)-->
+        <ws-form-item label="毛重(吨)" span="1" prop="shippingType">
+          <ws-input
+            v-model="deptBudgetList.shippingType"
+            placeholder="请输入毛重"
+            maxlength="20"
+            size="small"
+          />
+        </ws-form-item>
+
+        <!--皮重(吨)-->
+        <ws-form-item label="皮重(吨)" span="1" prop="buyer" class="readonly">
+          <ws-input
+            v-model="deptBudgetList.buyer"
+            placeholder="请输入皮重"
+            maxlength="100"
+            size="small"
+          />
+        </ws-form-item>
+
+        <!--净重(吨)-->
+        <ws-form-item label="净重(吨)" span="1" prop="settlementMethod">
+          <ws-input
+            v-model="deptBudgetList.settlementMethod"
+            placeholder="不可编辑,自动计算"
+            maxlength="120"
+            size="small"
+          />
+        </ws-form-item>
+        <!-- 品级 -->
+        <ws-form-item label="品级" span="1" class="readonly">
+          <ws-select
+            placeholder=""
+            class="typeselect"
+            @change="selectpackingMethod"
+          >
+            <ws-option
+              v-for="item in goodnameList"
+              :key="item.constKey"
+              :label="item.constValue"
+              :value="item.constValue"
+            />
+          </ws-select>
+        </ws-form-item>
+
+        <!--经办人-->
+        <ws-form-item label="经办人" span="1" prop="seller" class="readonly">
+          <ws-input
+            v-model="deptBudgetList.seller"
+            placeholder="请输入出库经办人姓名"
+            maxlength="100"
+            size="small"
+          />
+        </ws-form-item>
+        <!--出库日期-->
+        <ws-form-item label="出库日期" span="1" prop="signingDate">
+          <ws-date-picker 
+            v-model="deptBudgetList.signingDate"
+            type="date"
+            placeholder="请选择出库日期"
+            value-format="yyyy-MM-dd"
+          />
+        </ws-form-item>
+        <!-- 出库类型 -->
+        <ws-form-item label="品级" span="1" class="readonly">
+          <ws-select
+            placeholder=""
+            class="typeselect"
+            @change="selectpackingMethod"
+          >
+            <ws-option
+              v-for="item in goodnameList"
+              :key="item.constKey"
+              :label="item.constValue"
+              :value="item.constValue"
+            />
+          </ws-select>
+        </ws-form-item>
+
+        <!--车牌号-->
+        <ws-form-item label="车牌号" span="1" prop="sourceGoods">
+          <ws-input
+            v-model="deptBudgetList.sourceGoods"
+            placeholder="请输入车牌号"
+            maxlength="20"
+            size="small"
+          />
+        </ws-form-item>
+
+        <!--合同编号-->
+        <ws-form-item label="合同编号" span="1" prop="contractNo">
+          <ws-input
+            v-model.number="deptBudgetList.buyerPhone"
+            placeholder="请输入合同编号"
+            maxlength="100"
+            size="small"
+          />
+        </ws-form-item>
+
+        <ws-upload
+          ref="upload"
+          table-name="maintain_work_order"
+          oss-key="mainPlan"
+          :comp-id="compId"
+          :appendix-ids="appendixIdsAdd"
+          :vesselId="deptBudgetList.addressUrl"
+          :size-limit="size"
+          @uploadSuccess="uploadSuccess"
+          @onChange="onChange"
+          accept=".jpg, .jpeg, .png, .pdf, .doc, .zip, .rar"
+        />
+       
+        <div class="choice">
+          <h2>化验数据(选填)</h2>
+          <ws-info-table>
+            <!--自检员-->
+            <ws-form-item label="自检员" span="1" prop="settlementMethod">
+              <ws-input
+                v-model="deptBudgetList.settlementMethod"
+                placeholder="请输入自检员姓名"
+                maxlength="120"
+                size="small"
+              />
+            </ws-form-item>
+
+            <!--水分(%)<=-->
+            <ws-form-item label="水分(%)<=" span="1" prop="settlementMethod">
+              <ws-input
+                v-model="deptBudgetList.settlementMethod"
+                placeholder="请输入水分占比"
+                maxlength="120"
+                size="small"
+              />
+            </ws-form-item>
+            <!--杂质(%)<=-->
+            <ws-form-item label="杂质(%)<=" span="1" prop="settlementMethod">
+              <ws-input
+                v-model="deptBudgetList.settlementMethod"
+                placeholder="请输入杂质占比"
+                maxlength="120"
+                size="small"
+              />
+            </ws-form-item>
+            <!--容重(克/升)>=-->
+            <ws-form-item
+              label="容重(克/升)>="
+              span="1"
+              prop="settlementMethod"
+            >
+              <ws-input
+                v-model="deptBudgetList.settlementMethod"
+                placeholder="请输入容重"
+                maxlength="120"
+                size="small"
+              />
+            </ws-form-item>
+            <!--霉变粒(%)<=-->
+            <ws-form-item
+              label="霉变粒(%)<="
+              span="1"
+              prop="settlementMethod"
+            >
+              <ws-input
+                v-model="deptBudgetList.settlementMethod"
+                placeholder="请输入霉变粒占比"
+                maxlength="120"
+                size="small"
+              />
+            </ws-form-item>
+            <!--热损伤(%)<=-->
+            <ws-form-item
+              label="热损伤(%)<="
+              span="1"
+              prop="settlementMethod"
+            >
+              <ws-input
+                v-model="deptBudgetList.settlementMethod"
+                placeholder="请输入热损伤占比"
+                maxlength="120"
+                size="small"
+              />
+            </ws-form-item>
+            <!--不完整粒(%)<=-->
+            <ws-form-item
+              label="不完整粒(%)<="
+              span="1"
+              prop="settlementMethod"
+            >
+              <ws-input
+                v-model="deptBudgetList.settlementMethod"
+                placeholder="请输入不完整粒占比"
+                maxlength="120"
+                size="small"
+              />
+            </ws-form-item>
+          </ws-info-table>
+        </div>
+      
+
+      <div style="text-align: right; padding: 10px">
+        <el-button
+          class="bg-bottom-up"
+          type="primary"
+          size="small"
+          @click="submit()"
+          >提交</el-button
+        >
+      </div>
+      </ws-form>
+    </div> 
+  </div>
+</template>
+<script>
+import { getList, export1, billoperatehis } from '@/model/contarct/index'
+import { downloadFile } from '@/utils/batchDown'
+import Pagination from '@/components/Pagination'
+import WsUpload from '@/components/WsUpload'
+// import { dayjs, fmoney, EventBus } from 'base-core-lib'
+import { dayjs, EventBus } from 'base-core-lib'
+export default {
+  name: 'viewSpareMoney',
+  components: {
+    WsUpload,
+    Pagination,
+  },
+  watch: {
+    vesselId(val) {
+      this.getList()
+    },
+    isShow(val) {
+      this.showType = val
+    },
+  },
+  data() {
+    return {
+      //弹出框
+      dialogViewSpareMoney: false,
+      dialogApproveFormVisible: false,
+      // 船舶类型
+      monetaryKey: null,
+      // 表格显示数据
+      tableDate: [],
+      // 是否显示
+      showType: true,
+      // 年
+      year: '',
+      deptBudgetTotal: 0,
+      currentPage: 1,
+      pageSize: 10,
+      searchType: 1,
+      searchKeyWord: '',
+      contractType: 2,
+      startDate: null,
+      endDate: null,
+      goodnameList:{},
+      // 提交类型
+      submitType: true,
+      selectpackingMethod:{},
+
+      appendixIdsAdd:{},
+      uploadSuccess:{},
+      onChange:{},
+
+      size: 10,
+      compId: sessionStorage.getItem('ws-pf_compId'),
+      deptCircularPage: {},
+      packtypeList: {},
+      date: {
+        year: dayjs().format('YYYY'),
+        month: dayjs().format('MM'),
+      },
+      contractList: [],
+      deptBudgetList: {},
+      historyList: [],
+
+      pickerBeginDateBefore: {
+        disabledDate: (time) => {
+          return time.getTime() > Date.now()
+        },
+      },
+      accessoryTFs: false,
+    }
+  },
+  activated() {
+    //cg.viewBudget
+    //cg.viewSpareMoney
+    // this.getVesselData();
+    this.getList()
+    this.showType = this.isShow
+  },
+  methods: {
+    //返回按钮
+    returnWarehouse() {
+      this.$router.push({ path: 'warehouseManagementList' })
+    },
+    //提交按钮
+    submit() {
+      this.$router.push({ path: 'warehouseManagementList' })
+    },
+    dateFormat(fmt, date) {
+      let ret
+      const opt = {
+        'Y+': date.getFullYear().toString(), // 年
+        'm+': (date.getMonth() + 1).toString(), // 月
+        'd+': date.getDate().toString(), // 日
+        'H+': date.getHours().toString(), // 时
+        // "M+": date.getMinutes().toString(),         // 分
+        // "S+": date.getSeconds().toString()          // 秒
+        // 有其他格式化字符需求可以继续添加,必须转化成字符串
+      }
+      for (let k in opt) {
+        ret = new RegExp('(' + k + ')').exec(fmt)
+        if (ret) {
+          fmt = fmt.replace(
+            ret[1],
+            ret[1].length == 1 ? opt[k] : opt[k].padStart(ret[1].length, '0')
+          )
+        }
+      }
+      return fmt
+    },
+    handleClose() {
+      this.accessoryTFs = false
+    },
+    handleSizeChange(val) {
+      console.log(`每页 ${val} 条`)
+      this.pageSize = val
+      this.getList()
+    },
+    handleCurrentChange(val) {
+      this.currentPage = val
+      console.log(`当前页: ${val}`)
+      this.getList()
+    },
+    getList() {
+      getList({
+        compId: sessionStorage.getItem('ws-pf_compId'),
+        contractType: this.contractType,
+        currentPage: this.currentPage,
+        pageSize: this.pageSize,
+        searchType: this.searchType,
+        searchKeyWord: this.searchKeyWord,
+        startDate: this.startDate,
+        endDate: this.endDate,
+        contrPage: this.contrPage,
+      })
+        .toPromise()
+        .then((response) => {
+          for (var i = 0; i < response.records.length; i++) {
+            if (response.records[i].addressUrl != null) {
+              response.records[i].addressUrlArray = response.records[
+                i
+              ].addressUrl.split(',')
+            } else {
+              response.records[i].addressUrlArray = []
+            }
+          }
+          this.deptCircularPage.currentPage = response.current
+          this.deptCircularPage.pageSize = response.size
+          this.deptBudgetTotal = response.total
+          this.contractList = response
+        })
+    },
+    selecttaskType(e) {
+      for (var i = 0; i < this.taskTypeList.length; i++) {
+        if (this.taskTypeList[i].value == e) {
+          this.searchType = this.taskTypeList[i].type
+        }
+      }
+    },
+    fujian(row) {
+      if (
+        row.receiveAttachmentPath === null ||
+        row.receiveAttachmentPath === ''
+      ) {
+        EventBus.$emit(
+          'warning',
+          this.$t('system.noticeCircular.NoInformation')
+        )
+      } else {
+        this.accessoryTFs = true
+      }
+      this.appendixIdss = row.receiveAttachmentPath
+    },
+    handleExamine(row) {
+      this.$router.push({
+        name: 'salesContractExamine',
+        query: { id: row.id },
+      })
+    },
+
+    // 关闭 dialog时 处理文件url 初始化upload组件
+    handleCloe() {
+      this.dialogViewSpareMoney = false
+    },
+    history(row) {
+      console.log(row)
+      billoperatehis({ id: row.id })
+        .toPromise()
+        .then((response) => {
+          this.historyList = response
+        })
+    },
+    find() {
+      this.startDate = this.dateFormat('YYYY-mm-dd', this.value2[0])
+      this.endDate = this.dateFormat('YYYY-mm-dd', this.value2[1])
+      this.currentPage = 1
+      this.getList()
+    },
+    async exportlist() {
+      const { data } = await export1(
+        {
+          compId: sessionStorage.getItem('ws-pf_compId'),
+          contractType: this.contractType,
+          currentPage: this.currentPage,
+          pageSize: this.pageSize,
+          searchType: this.searchType,
+          searchKeyWord: this.searchKeyWord,
+          startDate: this.startDate,
+          endDate: this.endDate,
+        },
+        {},
+        { responseType: 'blob' }
+      ).toPromise()
+      downloadFile({
+        res: data,
+        fileName: `${
+          this.date.year + (this.date.month ? `-${this.date.month}` : '')
+        }_采购合同`,
+        type: 'xls',
+      })
+    },
+    // deletecontract(){},
+    //删除
+    approve() {},
+    listQuery() {},
+    total() {},
+    clearfiltQuery() {},
+    selectCrtDuty() {},
+  },
+}
+</script>
+<style lang="scss" scoped>
+.container .bg-left {
+  margin-left: 40px;
+}
+.container .bg-bottom {
+  position: absolute;
+  float: right;
+  top: 15px;
+  right: 20px;
+}
+.center {
+  position: relative;
+  top: 50px;
+  width: 50%;
+  height: 2000px;
+  margin: 0 auto;
+}
+
+/deep/.el-form-item__label {
+  width: 160px;
+}
+/deep/.el-input--small {
+  width: 70%;
+}
+.container .bg-bottom {
+  position: absolute;
+  float: right;
+  top: 15px;
+  right: 20px;
+}
+//选填
+/deep/.el-form-item {
+    width: 50%;
+}
+</style>

+ 2 - 2
src/views/warehouse/warehouseManagementIoss.vue

@@ -121,13 +121,13 @@
 import {
   getList,
   export1,
-  editstatus,
   billoperatehis,
 } from '@/model/contarct/index'
 import { downloadFile } from '@/utils/batchDown'
 import Pagination from '@/components/Pagination'
 import WsUpload from '@/components/WsUpload'
-import { dayjs, fmoney, EventBus } from 'base-core-lib'
+// import { dayjs, fmoney, EventBus } from 'base-core-lib'
+import { dayjs, EventBus } from 'base-core-lib'
 export default {
   name: 'viewSpareMoney',
   components: {

+ 317 - 0
src/views/warehouse/warehouseManagementIossRecord.vue

@@ -0,0 +1,317 @@
+<!--仓库管理-->
+<template>
+  <div class="container">
+     <el-row>
+      <el-col :span="20">
+        <h2 class="bg-left title">盘损详情</h2>
+      </el-col>
+      <el-col :span="4" class="bg-right">
+        <el-button
+          class="bg-bottom"
+          type="primary"
+          size="small"
+          @click="returnWarehouse()"
+          >返回</el-button
+        >
+      </el-col>
+    </el-row>
+    <div class="connert">
+      <h2>鲅鱼圈一号库  102仓位</h2>
+      <el-table
+        class="wenzi"
+        :data="contractList.records"
+        style="width: 100%; margin-top: 20px"
+        height="780"
+      >
+      <el-table-column type="index" label="序号">
+        <template scope="scope">
+          <span v-if="scope.$index < 9">0{{ scope.$index + 1 }}</span>
+          <span v-else>{{ scope.$index + 1 }}</span>
+        </template>
+      </el-table-column> 
+        <el-table-column prop="contractNo" label="货名" >
+        </el-table-column>
+        <el-table-column prop="goodsName" label="当前累计入库(吨)" >
+        </el-table-column>
+        <el-table-column prop="weight" label="当前累计出库(吨)">
+         </el-table-column>
+        <el-table-column prop="unitContractPrice" label="应余库存">
+        </el-table-column>
+        <el-table-column prop="packingMethod" label="实际库存(吨)">
+        </el-table-column>
+        <el-table-column prop="buyer" label="损耗量(吨)"> 
+        </el-table-column>
+        <el-table-column prop="seller" label="库损比例(‰)">
+         </el-table-column>
+         <el-table-column prop="seller" label="内勤" >
+         </el-table-column>
+          <el-table-column prop="seller" label="录入时间" >
+         </el-table-column>
+      </el-table>
+      
+    </div>
+  </div>
+</template>
+<script>
+import {
+  getList,
+  export1,
+  editstatus,
+  billoperatehis,
+} from '@/model/contarct/index'
+import { downloadFile } from '@/utils/batchDown'
+import Pagination from '@/components/Pagination'
+import WsUpload from '@/components/WsUpload'
+//import { dayjs, fmoney, EventBus } from 'base-core-lib'
+import { dayjs, EventBus } from 'base-core-lib'
+export default {
+  name: 'viewSpareMoney',
+  components: {
+    WsUpload,
+    Pagination,
+  },
+  watch: {
+    vesselId(val) {
+      this.getList()
+    },
+    isShow(val) {
+      this.showType = val
+    },
+  },
+  data() {
+    return {
+      //弹出框
+      dialogViewSpareMoney: false,
+      dialogApproveFormVisible: false,
+      // 船舶类型
+      monetaryKey: null,
+      // 表格显示数据
+      tableDate: [],
+
+      // 是否显示
+      showType: true,
+      // 年
+      year: '',
+      currentPage: 1,
+      pageSize: 10,
+      searchType: 1,
+       searchTypeText: '未完成',
+       searchKeyWord: '',
+      contractType: 2,
+      startDate: null,
+      endDate: null,
+      // 提交类型
+      submitType: true,
+      size: 10,
+      compId: sessionStorage.getItem('ws-pf_compId'),
+      deptCircularPage: {},
+      date: {
+        year: dayjs().format('YYYY'),
+        month: dayjs().format('MM'),
+      },
+      contractList: [],
+      deptBudgetList: {},
+      historyList: [],
+      pickerBeginDateBefore: {
+        disabledDate: (time) => {
+          return time.getTime() > Date.now()
+        },
+      },
+      accessoryTFs: false,
+    }
+  },
+  activated() {
+    //cg.viewBudget
+    //cg.viewSpareMoney
+    // this.getVesselData();
+    this.getList()
+    this.showType = this.isShow
+  },
+  methods: {
+    dateFormat(fmt, date) {
+      let ret
+      const opt = {
+        'Y+': date.getFullYear().toString(), // 年
+        'm+': (date.getMonth() + 1).toString(), // 月
+        'd+': date.getDate().toString(), // 日
+        'H+': date.getHours().toString(), // 时
+        // "M+": date.getMinutes().toString(),         // 分
+        // "S+": date.getSeconds().toString()          // 秒
+        // 有其他格式化字符需求可以继续添加,必须转化成字符串
+      }
+      for (let k in opt) {
+        ret = new RegExp('(' + k + ')').exec(fmt)
+        if (ret) {
+          fmt = fmt.replace(
+            ret[1],
+            ret[1].length == 1 ? opt[k] : opt[k].padStart(ret[1].length, '0')
+          )
+        }
+      }
+      return fmt
+    },
+    handleClose() {
+      this.accessoryTFs = false
+    },
+    handleSizeChange(val) {
+      console.log(`每页 ${val} 条`)
+      this.pageSize = val
+      this.getList()
+    },
+    handleCurrentChange(val) {
+      this.currentPage = val
+      console.log(`当前页: ${val}`)
+      this.getList()
+    },
+    getList() {
+      getList({
+        compId: sessionStorage.getItem('ws-pf_compId'),
+        contractType: this.contractType,
+        currentPage: this.currentPage,
+        pageSize: this.pageSize,
+        searchType: this.searchType,
+        searchKeyWord: this.searchKeyWord,
+        startDate: this.startDate,
+        endDate: this.endDate,
+        contrPage: this.contrPage,
+      })
+        .toPromise()
+        .then((response) => {
+          for (var i = 0; i < response.records.length; i++) {
+            if (response.records[i].addressUrl != null) {
+              response.records[i].addressUrlArray = response.records[
+                i
+              ].addressUrl.split(',')
+            } else {
+              response.records[i].addressUrlArray = []
+            }
+          }
+          this.deptCircularPage.currentPage = response.current
+          this.deptCircularPage.pageSize = response.size
+          this.deptBudgetTotal = response.total
+          this.contractList = response
+        })
+    },
+    editClick(row) {
+      var status = ''
+      if (row.status == '待执行' || row.status == '已完成') {
+        status = '执行中'
+      } else if (row.status == '执行中') {
+        status = '已完成'
+      }
+      //cancelButtonClass: "btn-custom-cancel"
+      this.$confirm(`是否将状态改为${status}`, {
+        confirmButtonText: '确定',
+        cancelButtonText: '取消',
+        type: 'warning',
+      })
+        .then(() => {
+          editstatus({ id: row.id })
+            .toPromise()
+            .then((response) => {
+              this.$notify.success({
+                title: '成功',
+                message: '状态修改成功',
+              })
+              this.getList()
+            })
+            .catch((response) => {
+              // EventBus.$emit('error', this.$t('showMessage.asteriskRequired'))
+            })
+        })
+        .catch(() => {
+          return false
+        })
+    },
+    selecttaskType(e) {
+      for (var i = 0; i < this.taskTypeList.length; i++) {
+        if (this.taskTypeList[i].value == e) {
+          this.searchType = this.taskTypeList[i].type
+        }
+      }
+    },
+    fujian(row) {
+      if (
+        row.receiveAttachmentPath === null ||
+        row.receiveAttachmentPath === ''
+      ) {
+        EventBus.$emit(
+          'warning',
+          this.$t('system.noticeCircular.NoInformation')
+        )
+      } else {
+        this.accessoryTFs = true
+      }
+      this.appendixIdss = row.receiveAttachmentPath
+    },
+    handleExamine(row) {
+      this.$router.push({
+        name: 'salesContractExamine',
+        query: { id: row.id },
+      })
+    },
+    // 关闭 dialog时 处理文件url 初始化upload组件
+    handleCloe() {
+      this.dialogViewSpareMoney = false
+    },
+    history(row) {
+      console.log(row)
+      billoperatehis({ id: row.id })
+        .toPromise()
+        .then((response) => {
+          this.historyList = response
+        })
+    },
+    find() {
+      this.startDate = this.dateFormat('YYYY-mm-dd', this.value2[0])
+      this.endDate = this.dateFormat('YYYY-mm-dd', this.value2[1])
+      this.currentPage = 1
+      this.getList()
+    },
+    async exportlist() {
+      const { data } = await export1(
+        {
+          compId: sessionStorage.getItem('ws-pf_compId'),
+          contractType: this.contractType,
+          currentPage: this.currentPage,
+          pageSize: this.pageSize,
+          searchType: this.searchType,
+          searchKeyWord: this.searchKeyWord,
+          startDate: this.startDate,
+          endDate: this.endDate,
+        },
+        {},
+        { responseType: 'blob' }
+      ).toPromise()
+      downloadFile({
+        res: data,
+        fileName: `${
+          this.date.year + (this.date.month ? `-${this.date.month}` : '')
+        }_采购合同`,
+        type: 'xls',
+      })
+    },
+  },
+}
+</script>
+<style lang="scss" scoped>
+.container .bg-left {
+  margin-left: 40px;
+}
+.container .bg-bottom {
+  position: absolute;
+  float: right;
+  top: 15px;
+  right: 20px;
+}
+.connert {
+  width: 90%;
+  margin: 0 auto;
+}
+.vertical-text-left {
+  width: 62px;
+  text-align: right;
+}
+
+
+</style>

+ 8 - 15
src/views/warehouse/warehouseManagementList.vue

@@ -94,12 +94,14 @@
         </el-table-column>
         <el-table-column prop="goodsName" label="仓库编号" width="80">
         </el-table-column>
-        <el-table-column prop="weight" label="容量(吨)"> </el-table-column>
+        <el-table-column prop="weight" label="容量(吨)"> 
+        </el-table-column>
         <el-table-column prop="unitContractPrice" label="入库量(吨)">
         </el-table-column>
         <el-table-column prop="packingMethod" label="出库量(吨)">
         </el-table-column>
-        <el-table-column prop="buyer" label="应余量(吨)"> </el-table-column>
+        <el-table-column prop="buyer" label="应余量(吨)">
+        </el-table-column>
         <el-table-column prop="seller" label="出入库" width="160">
            <button
               type="primary"
@@ -241,36 +243,27 @@ export default {
     },
     //记录
     record(){
-
+      this.$router.push({path:'warehouseManagementRecord'})
     },
     //盘损
     loss(){
         this.$router.push({ path: 'warehouseManagementIoss' })
     },
-
+    //查看
     handleLook() {
        this.$router.push({ path: 'warehouseManagementLook' })
     },
+    //添加
     handleAdd() {
       this.$router.push({ path: 'warehouseManagementAdd' })
     },
-
+    //编辑
     handleEdit() {
       this.$router.push({ path: 'warehouseManagementEdit' })
     },
-    handleDelete() {},
-  //   handlePut(){
-  //     this.$router.push({ path: 'warehouseManagementPut' })
-  //   },
-  //  handleDelivery(){
-  //     this.$router.push({ path: 'warehouseManagementDelivery' })
-  //  },
-
-    handleEdit() {},
     handleDelete() {
        this.$router.push({ path: 'warehouseManagementDelete' })
     },
-
     dateFormat(fmt, date) {
       let ret
       const opt = {

+ 332 - 0
src/views/warehouse/warehouseManagementRecord.vue

@@ -0,0 +1,332 @@
+<template>
+  <div class="container">
+    <el-row>
+      <el-col :span="20">
+        <h2 class="bg-left title">流转记录</h2>
+      </el-col>
+      <el-col :span="4" class="bg-right">
+        <el-button
+          class="bg-bottom"
+          type="primary"
+          size="small"
+          @click="iossrecord()"
+          >盘损记录</el-button
+        >
+      </el-col>
+    </el-row>
+    <div class="center">
+      <h2>鲅鱼圈一号库 102仓位(容量100吨)</h2>
+      <p>我是备注我是备注。。。。。。。。。。。。。</p>
+      <ws-form ref="deptBudgetList" :model="deptBudgetList">
+        <ws-button
+          type="primary"
+          @click="1"
+          v-hasPermission="
+            `${$permission('PERMISSIONS.PURSPAPPLINFO_CREATEINSTORE')}`
+          "
+          >全部记录</ws-button
+        >
+        <ws-button
+          type="primary"
+          @click="1"
+          v-hasPermission="
+            `${$permission('PERMISSIONS.PURSPAPPLINFO_CREATEINSTORE')}`
+          "
+          >出库记录</ws-button
+        >
+        <ws-button
+          type="primary"
+          @click="1"
+          v-hasPermission="
+            `${$permission('PERMISSIONS.PURSPAPPLINFO_CREATEINSTORE')}`
+          "
+          >入库记录</ws-button
+        >
+        <el-table>
+          <el-table-column type="index" label="序号">
+            <template scope="scope">
+              <span v-if="scope.$index < 9">0{{ scope.$index + 1 }}</span>
+              <span v-else>{{ scope.$index + 1 }}</span>
+            </template>
+          </el-table-column>
+          <el-table-column prop="contractNo" label="货名"> </el-table-column>
+          <el-table-column prop="goodsName" label="毛重(吨)"></el-table-column>
+          <el-table-column prop="weight" label="皮重(吨)"> </el-table-column>
+          <el-table-column prop="unitContractPrice" label="净重(吨)"></el-table-column>   
+          <el-table-column prop="packingMethod" label="品级"> </el-table-column>
+          <el-table-column prop="buyer" label="出入库日期"> </el-table-column>
+          <el-table-column prop="buyer" label="类型"> </el-table-column>
+          <el-table-column prop="buyer" label="合同编号"> </el-table-column>
+          <el-table-column prop="buyer" label="车牌号"> </el-table-column>
+          <el-table-column prop="buyer" label="经办人"> </el-table-column>
+          <el-table-column prop="buyer" label="内勤"> </el-table-column>
+          <el-table-column prop="buyer" label="附件"> </el-table-column>
+          <el-table-column prop="buyer" label="录入时间"> </el-table-column>
+        </el-table>
+        <div style="text-align: right; padding: 10px">
+          <el-button
+            class="bg-bottom-up"
+            type="primary"
+            size="small"
+            @click="returnWarehouse()"
+            >关闭</el-button
+          >
+        </div>
+      </ws-form>
+    </div>
+  </div>
+</template>
+<script>
+import {
+  getList,
+  export1,
+  editstatus,
+  billoperatehis,
+} from '@/model/contarct/index'
+import { downloadFile } from '@/utils/batchDown'
+import Pagination from '@/components/Pagination'
+import WsUpload from '@/components/WsUpload'
+import { dayjs, fmoney, EventBus } from 'base-core-lib'
+export default {
+  name: 'viewSpareMoney',
+  components: {
+    WsUpload,
+    Pagination,
+  },
+  watch: {
+    vesselId(val) {
+      this.getList()
+    },
+    isShow(val) {
+      this.showType = val
+    },
+  },
+  data() {
+    return {
+      //弹出框
+      dialogViewSpareMoney: false,
+      dialogApproveFormVisible: false,
+      // 船舶类型
+      monetaryKey: null,
+      // 表格显示数据
+      tableDate: [],
+      // 是否显示
+      showType: true,
+      // 年
+      year: '',
+      deptBudgetTotal: 0,
+      currentPage: 1,
+      pageSize: 10,
+      searchType: 1,
+      searchKeyWord: '',
+      contractType: 2,
+      startDate: null,
+      endDate: null,
+      // 提交类型
+      submitType: true,
+      selectpackingMethod: {},
+      size: 10,
+      compId: sessionStorage.getItem('ws-pf_compId'),
+      deptCircularPage: {},
+      packtypeList: {},
+      date: {
+        year: dayjs().format('YYYY'),
+        month: dayjs().format('MM'),
+      },
+      contractList: [],
+      deptBudgetList: {},
+      historyList: [],
+
+      pickerBeginDateBefore: {
+        disabledDate: (time) => {
+          return time.getTime() > Date.now()
+        },
+      },
+      accessoryTFs: false,
+    }
+  },
+  activated() {
+    //cg.viewBudget
+    //cg.viewSpareMoney
+    // this.getVesselData();
+    this.getList()
+    this.showType = this.isShow
+  },
+  methods: {
+    //返回按钮
+    returnWarehouse() {
+      this.$router.push({ path: 'warehouseManagementList' })
+    },
+    //
+    iossrecord() {
+      this.$router.push({ path: 'warehouseManagementIossRecord' })
+    },
+    dateFormat(fmt, date) {
+      let ret
+      const opt = {
+        'Y+': date.getFullYear().toString(), // 年
+        'm+': (date.getMonth() + 1).toString(), // 月
+        'd+': date.getDate().toString(), // 日
+        'H+': date.getHours().toString(), // 时
+        // "M+": date.getMinutes().toString(),         // 分
+        // "S+": date.getSeconds().toString()          // 秒
+        // 有其他格式化字符需求可以继续添加,必须转化成字符串
+      }
+      for (let k in opt) {
+        ret = new RegExp('(' + k + ')').exec(fmt)
+        if (ret) {
+          fmt = fmt.replace(
+            ret[1],
+            ret[1].length == 1 ? opt[k] : opt[k].padStart(ret[1].length, '0')
+          )
+        }
+      }
+      return fmt
+    },
+    handleClose() {
+      this.accessoryTFs = false
+    },
+    handleSizeChange(val) {
+      console.log(`每页 ${val} 条`)
+      this.pageSize = val
+      this.getList()
+    },
+    handleCurrentChange(val) {
+      this.currentPage = val
+      console.log(`当前页: ${val}`)
+      this.getList()
+    },
+    getList() {
+      getList({
+        compId: sessionStorage.getItem('ws-pf_compId'),
+        contractType: this.contractType,
+        currentPage: this.currentPage,
+        pageSize: this.pageSize,
+        searchType: this.searchType,
+        searchKeyWord: this.searchKeyWord,
+        startDate: this.startDate,
+        endDate: this.endDate,
+        contrPage: this.contrPage,
+      })
+        .toPromise()
+        .then((response) => {
+          for (var i = 0; i < response.records.length; i++) {
+            if (response.records[i].addressUrl != null) {
+              response.records[i].addressUrlArray = response.records[
+                i
+              ].addressUrl.split(',')
+            } else {
+              response.records[i].addressUrlArray = []
+            }
+          }
+          this.deptCircularPage.currentPage = response.current
+          this.deptCircularPage.pageSize = response.size
+          this.deptBudgetTotal = response.total
+          this.contractList = response
+        })
+    },
+    selecttaskType(e) {
+      for (var i = 0; i < this.taskTypeList.length; i++) {
+        if (this.taskTypeList[i].value == e) {
+          this.searchType = this.taskTypeList[i].type
+        }
+      }
+    },
+    fujian(row) {
+      if (
+        row.receiveAttachmentPath === null ||
+        row.receiveAttachmentPath === ''
+      ) {
+        EventBus.$emit(
+          'warning',
+          this.$t('system.noticeCircular.NoInformation')
+        )
+      } else {
+        this.accessoryTFs = true
+      }
+      this.appendixIdss = row.receiveAttachmentPath
+    },
+    handleExamine(row) {
+      this.$router.push({
+        name: 'salesContractExamine',
+        query: { id: row.id },
+      })
+    },
+
+    // 关闭 dialog时 处理文件url 初始化upload组件
+    handleCloe() {
+      this.dialogViewSpareMoney = false
+    },
+    history(row) {
+      console.log(row)
+      billoperatehis({ id: row.id })
+        .toPromise()
+        .then((response) => {
+          this.historyList = response
+        })
+    },
+    find() {
+      this.startDate = this.dateFormat('YYYY-mm-dd', this.value2[0])
+      this.endDate = this.dateFormat('YYYY-mm-dd', this.value2[1])
+      this.currentPage = 1
+      this.getList()
+    },
+    async exportlist() {
+      const { data } = await export1(
+        {
+          compId: sessionStorage.getItem('ws-pf_compId'),
+          contractType: this.contractType,
+          currentPage: this.currentPage,
+          pageSize: this.pageSize,
+          searchType: this.searchType,
+          searchKeyWord: this.searchKeyWord,
+          startDate: this.startDate,
+          endDate: this.endDate,
+        },
+        {},
+        { responseType: 'blob' }
+      ).toPromise()
+      downloadFile({
+        res: data,
+        fileName: `${
+          this.date.year + (this.date.month ? `-${this.date.month}` : '')
+        }_采购合同`,
+        type: 'xls',
+      })
+    },
+    // deletecontract(){},
+    //删除
+
+    approve() {},
+    listQuery() {},
+    total() {},
+    clearfiltQuery() {},
+    selectCrtDuty() {},
+  },
+}
+</script>
+<style lang="scss" scoped>
+.center {
+  position: relative;
+  top: 50px;
+  width: 90%;
+  height: 500px;
+  margin: 0 auto;
+}
+.container .bg-left {
+  margin-left: 40px;
+}
+.container .bg-bottom {
+  position: absolute;
+  float: right;
+  top: 15px;
+  right: 20px;
+}
+.vertical-text-left {
+  width: 62px;
+  text-align: right;
+}
+/deep/.el-form-item {
+  width: 33%;
+}
+</style>