gjy před 3 roky
rodič
revize
64bdf7cb88

+ 11 - 1
src/api/V2/warehouse/index.js

@@ -50,13 +50,23 @@ export const API_GET_STAFF = '/staff/query/getStaffListByCompIdAndWarehouseId'
 export const API_GET_WAREHOUSE_RECORDSS = '/warehouseInOutInfo/selectInfoTemporary'
 
 //临时出库货名下拉
-export const API_GET_GOODSNAME_XIALA = '/warehouseInOutInfo/selectTemporaryGoodsNameList'
+export const API_GET_GOODSNAME_XIALA = '/warehouseInOutInfo/selectTemporaryGoodsNameList '
 //临时仓库待完成
 export const API_GET_WAREHOUSE_LIST = '/warehouseInOutInfo/selectWarehouseInOutInfoTemporary'
 //任务列表
 export const API_GET_WAREHOUSE_TASKLIST = '/inOutWarehouseTask/selectInOutWarehouseTask'
 // 成本管理
 export const API_GET_COSTMANAGEMENT = '/costManagementInfo/selectCostManagementInfo'
+// 修改成本
+export const API_POST_EDITCOST = '/costManagementInfo/api/editCostManagementInfo'
+// 库点费用
+export const API_GET_INVENTORYCOSTINFO = '/inventoryCostInfo/selectInventoryCostInfo'
+// 添加库点费用
+export const API_POST_ADD_INVENTORYCOSTINFO = '/inventoryCostInfo/api/addInventoryCostInfo'
+// 编辑库点费用
+export const API_POST_EDIT_INVENTORYCOSTINFO = '/inventoryCostInfo/api/editInventoryCostInfo'
+// 加权明细
+export const API_GET_WEIGHTEDDETAILS = '/weightedDetails/selectInventoryCostInfo'
 
 
 

+ 4 - 0
src/lang/zh.js

@@ -502,6 +502,8 @@ export default {
 
     //仓库管理
     warehouseManagementList: '仓库管理',
+    warehouselocation:'成本管理  /  库点费用',
+    weightedsubsidiary:'加权明细',
     costmanagement:'成本管理',
     warehouseManagementAdd: '仓库管理添加',
     warehouseManagementEdit: '仓库管理编辑',
@@ -4803,6 +4805,8 @@ export default {
   //仓库管理
   warehouseManagement: {
     warehouseManagementList: '仓库管理',
+    warehouselocation:'成本管理  /  库点费用',
+    weightedsubsidiary:'加权明细',
     costmanagement:'成本管理',
     warehouseManagementAdd: '仓库管理添加',
     warehouseManagementEdit: '仓库管理编辑',

+ 16 - 1
src/model/warehouse/index.js

@@ -27,7 +27,12 @@ import {
     API_GET_GOODSNAME_XIALA,
     API_GET_WAREHOUSE_LIST,
     API_GET_WAREHOUSE_TASKLIST,
-    API_GET_COSTMANAGEMENT
+    API_GET_COSTMANAGEMENT,
+    API_POST_EDITCOST,
+    API_GET_INVENTORYCOSTINFO,
+    API_POST_ADD_INVENTORYCOSTINFO,
+    API_POST_EDIT_INVENTORYCOSTINFO,
+    API_GET_WEIGHTEDDETAILS
 } from '@/api/V2/warehouse'
 // import { app } from 'electron'
 // 列表
@@ -85,6 +90,16 @@ export const xialaNo = appRx.get(API_GET_WAREHOUSE_NO, errorCatcher, errorHandle
 export const taskList = appRx.get(API_GET_WAREHOUSE_TASKLIST,errorCatcher, errorHandle, filter)
 // 成本管理
 export const getcost = appRx.get(API_GET_COSTMANAGEMENT,errorCatcher, errorHandle, filter)
+// 修改成本
+export const editcost = appRx.post(API_POST_EDITCOST,errorCatcher, errorHandle, filter)
+// 库点费用列表
+export const getinventory = appRx.get(API_GET_INVENTORYCOSTINFO,errorCatcher, errorHandle, filter)
+// 添加库点费用
+export const addinventory = appRx.post(API_POST_ADD_INVENTORYCOSTINFO,errorCatcher, errorHandle, filter)
+// 编辑库点费用
+export const editinventory = appRx.post(API_POST_EDIT_INVENTORYCOSTINFO,errorCatcher, errorHandle, filter)
+// 编辑库点费用
+export const weighteddetails = appRx.post(API_GET_WEIGHTEDDETAILS,errorCatcher, errorHandle, filter)
 
 
 

+ 1 - 0
src/views/contractManagement/futuresPurchaseContract.vue

@@ -517,6 +517,7 @@ export default {
         )
       }
       this.appendixIdss = row.addressUrl
+      console.log(this.appendixIdss)
       this.accessoryTFs = true
     },
     handleExamine(row) {

+ 1 - 0
src/views/contractManagement/purchaseContract.vue

@@ -537,6 +537,7 @@ export default {
         this.accessoryTFs = true
       }
       this.appendixIdss = row.addressUrl
+      console.log(this.appendixIdss)
     },
     handleExamine(row) {
       console.log(row)

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

@@ -40,6 +40,36 @@ const warehouseManagementRouter = {
         // module: 'procurement.sparepart.applDetail'
       },
     },
+    {
+      path: 'warehouselocation',
+      component: () =>
+        import(/* webpackChunkName: "applDetail" */ '@/views/warehouse/warehouselocation'),
+      name: 'warehouselocation',
+      meta: {
+        title: 'warehouselocation',
+        shortcutEntrance: 'warehouseManagementList',
+        module: 'warehouseManagement.warehouse.warehouseInfo',
+        permissicon: [],
+        keepAlive: true
+        // module: 'procurement.sparepart.applDetail'
+      },
+      hidden:true
+    },
+    {
+      path: 'weightedsubsidiary',
+      component: () =>
+        import(/* webpackChunkName: "applDetail" */ '@/views/warehouse/weightedsubsidiary'),
+      name: 'weightedsubsidiary',
+      meta: {
+        title: 'weightedsubsidiary',
+        shortcutEntrance: 'warehouseManagementList',
+        module: 'warehouseManagement.warehouse.warehouseInfo',
+        permissicon: [],
+        keepAlive: true
+        // module: 'procurement.sparepart.applDetail'
+      },
+      hidden:true
+    },
     {
       path: 'warehouseManagementAdd',
       component: () =>

+ 121 - 185
src/views/warehouse/costmanagement.vue

@@ -13,17 +13,26 @@
             <el-radio-button label="1">常用仓库</el-radio-button>
             <el-radio-button label="2">临时仓库</el-radio-button>
           </el-radio-group>
+          <ws-button class="find" type="primary" @click="warehouselocation()"
+          >库点费用</ws-button>
         </div>
       </template>
       <template slot="right">
-        <ws-input
+       <ws-select
           v-model="warehouseName"
-          placeholder="请输入仓库名"
-          clearable
-          maxlength="500"
-          type="input"
-          class="findValue"
-        ></ws-input>
+          placeholder=""
+          @change="warehouseNameChange"
+          :value="searchType"
+          style="margin: 0 10px"
+        >
+          <ws-option
+            v-for="item in warehouseList1"
+            :key="item.value"
+            :label="item.value"
+            :value="item.value"
+            style="color: #8890b1"
+          />
+        </ws-select>
         <!-- v-hasPermission="'procurement.sparepart.directShip'" -->
         <ws-button class="find" type="primary" @click="find()"
           ><img
@@ -40,10 +49,9 @@
         /></ws-button>
       </template>
     </BaseHeaderLayout>
-    <div v-show="this.warehouseType == '1'">
       <el-table
         class="wenzi"
-        :data="warehouseList"
+        :data="warehouseList.records"
         style="width: 100%; margin-top: 20px"
         height="780"
       >
@@ -51,104 +59,46 @@
       </el-table-column>
         <el-table-column prop="warehouseName" label="仓库" >
         </el-table-column>
-        <el-table-column prop="binNumber" label="货名" >
+        <el-table-column prop="goodsName" label="货名" >
         </el-table-column>
-        <el-table-column prop="capacity" label="储量(吨)">
-          <template slot-scope="scope">
-
-          </template>
-        </el-table-column>
-        <el-table-column label="加权成本(元/吨)">
-          <template slot-scope="scope">
-            <div
-              style="height: 24px"
-              v-for="(item, i) in scope.row.warehouseNumViewList"
-            >
-              {{ item.goodsName }}
-            </div>
-          </template>
-        </el-table-column>
-        <el-table-column label="价值(元)">
-          <template slot-scope="scope">
-            <div
-              style="height: 24px"
-              v-for="(item, i) in scope.row.warehouseNumViewList"
-            >
-               {{item.inNetWeight}}
-            </div>
-          </template>
-        </el-table-column>
-        
-        <el-table-column prop="address" label="操作" width="200">
-          <template slot-scope="scope">
-            <div class="record" v-hasPermission="
-           `warehouseManagement.warehouse.warehouseInfo.view`
-          " @click="record(scope.row)">修改</div>
-            <div class="adjustment" v-hasPermission="
-           `warehouseManagement.warehouse.warehouseInfo.view`
-          " @click="loss(scope.row)">加权明细</div>
-          </template>
-        </el-table-column>
-      </el-table>
-    </div>
-
-    <div v-show="this.warehouseType == '2'">
-      <el-table
-        class="wenzi"
-        :data="warehouseList"
-        style="width: 100%; margin-top: 20px"
-        height="780"
-      >
-      <el-table-column label="序号" type="index" show-overflow-tooltip width="50">
-      </el-table-column>
-        <el-table-column prop="warehouseName" label="仓库" >
-        </el-table-column>
-        <el-table-column prop="binNumber" label="货名" >
-        </el-table-column>
-        <el-table-column prop="capacity" label="储量(吨)">
-          <template slot-scope="scope">
-
-          </template>
+        <el-table-column prop="storage" label="储量(吨)">
         </el-table-column>
-        <el-table-column label="加权成本(元/吨)">
-          <template slot-scope="scope">
-            <div
-              style="height: 24px"
-              v-for="(item, i) in scope.row.warehouseNumViewList"
-            >
-              {{ item.goodsName }}
-            </div>
-          </template>
+        <el-table-column  prop="cost" label="加权成本(元/吨)">
         </el-table-column>
-        <el-table-column label="价值(元)">
-          <template slot-scope="scope">
-            <div
-              style="height: 24px"
-              v-for="(item, i) in scope.row.warehouseNumViewList"
-            >
-               {{item.inNetWeight}}
-            </div>
-          </template>
+        <el-table-column  prop="value" label="价值(元)">
         </el-table-column>
         
         <el-table-column prop="address" label="操作" width="200">
           <template slot-scope="scope">
             <div class="record" v-hasPermission="
            `warehouseManagement.warehouse.warehouseInfo.view`
-          " @click="record(scope.row)">修改</div>
+          " @click="edit(scope.row)">修改</div>
             <div class="adjustment" v-hasPermission="
            `warehouseManagement.warehouse.warehouseInfo.view`
-          " @click="loss(scope.row)">加权明细</div>
+          " @click="weightedsubsidiary(scope.row)">加权明细</div>
           </template>
         </el-table-column>
       </el-table>
-      
-    </div>
+      <el-dialog title="修改加权成本价格" :visible.sync="editvisible">
+        <el-form >
+          <el-form-item label="价格(元/吨)" >
+            <el-input v-model="price" autocomplete="off"></el-input>
+          </el-form-item>
+        </el-form>
+        <div slot="footer" class="dialog-footer">
+          <el-button @click="editvisible = false">取 消</el-button>
+          <el-button type="primary" @click="editprice">确 定</el-button>
+        </div>
+      </el-dialog>
   </div>
 </template>
 <script>
+import {
+  selectWarehouseSelf
+} from '@/model/houseSelfCollect/index'
 import {
   getcost,
+  editcost,
   export1,
   editstatus,
   billoperatehis,
@@ -183,7 +133,7 @@ export default {
       monetaryKey: null,
       // 表格显示数据
       tableDate: [],
-
+      price:'',
       // 是否显示
       showType: true,
       // 年
@@ -198,10 +148,14 @@ export default {
       submitType: true,
       size: 10,
       spanArr: [],
+      id:0,
       warehouseName: '',
+      warehouseId:'',
+      editvisible:false,
       compId: sessionStorage.getItem('ws-pf_compId'),
       deptCircularPage: {},
       warehouseList: [],
+      warehouseList1: [],
       deptBudgetList: {},
       historyList: [],
       deptBudgetTotal: 0,
@@ -214,32 +168,54 @@ export default {
     }
   },
   activated() {
-    this.getList()
+    this.selectWarehouse()
+    // this.getList()
+
     this.showType = this.isShow
   },
-
   methods: {
-    //查看
-    handleLook() {
-      this.$router.push({ path: 'warehouseManagementLook' })
+    warehouselocation(){
+      this.$router.push({ path: 'warehouselocation'})
     },
-    //添加
-    handleAdd() {
-      this.$router.push({ path: 'warehouseManagementAdd' })
+     weightedsubsidiary(){
+      this.$router.push({ path: 'weightedsubsidiary'  })
     },
-    //编辑
-    handleEdit() {
-      this.$router.push({ path: 'warehouseManagementEdit' })
-    },
-    handleDelete() {
-      this.$router.push({ path: 'warehouseManagementDelete' })
+    warehouseNameChange(e) {
+      for(let i = 0 ; i < this.warehouseList1.length; i++){
+        if(this.warehouseList1[i].value == e){
+           this.warehouseName = this.warehouseList1[i].value
+          this.warehouseCount = this.warehouseList1[i].count
+          this.warehouseNo = this.warehouseList1[i].No
+          this.cangid = this.warehouseList1[i].id
+          this.WAREHOUSE[1].payname = this.warehouseList1[i].value
+          this.purchasePriceList = this.warehouseList1[i].purchasePriceList
+        }
+      }
+      this.getList()
     },
-    //任务
-    handlTask(){
-      this.$router.push({ path: 'tranManagementWarehouseInOutTask' })
+    edit(item){
+      this.price=item.cost
+      this.editvisible=true
+      this.id=item.id
     },
-    handleClose() {
-      this.accessoryTFs = false
+    editprice(){
+      this.$confirm(`加权成本价格修改后不可恢复,确认提交`, {
+        confirmButtonText: '确定',
+        cancelButtonText: '取消',
+        type: 'warning',
+      })
+        .then(() => {
+          editcost({id:this.id,cost:this.price}).toPromise()
+        .then((response) => {
+          this.$notify.success({
+                title: '成功',
+                message: '价格修改成功',
+              })
+           this.editvisible=false
+           this.getList()
+        })
+        })
+     
     },
     handleSizeChange(val) {
       console.log(`每页 ${val} 条`)
@@ -251,10 +227,43 @@ export default {
       console.log(`当前页: ${val}`)
       this.getList()
     },
+    selectWarehouse(){
+       selectWarehouseSelf({
+        compId: sessionStorage.getItem('ws-pf_compId'),
+      })
+        .toPromise()
+        .then((response) => {
+          this.warehouseList1 = []
+          for (let i = 0; i < response.length; i++) {
+            this.warehouseList1.push({
+              value: response[i].warehouseName,
+              id: response[i].id,
+              count: response[i].count,
+              purchasePriceList: response[i].purchasePriceList,
+              No:response[i].commonWarehouseNo
+            })
+            if (this.cangid&&this.cangid == response[i].id) {
+              this.warehouseName = response[i].warehouseName
+              this.warehouseCount =  response[i].count
+              this.warehouseNo =  response[i].commonWarehouseNo
+              this.purchasePriceList =  response[i].purchasePriceList
+            } 
+          }
+          if(this.warehouseList1.length > 0 && !this.cangid){
+            this.warehouseName = this.warehouseList1[0].value
+            this.warehouseCount =  this.warehouseList1[0].count
+            this.warehouseNo =  this.warehouseList1[0].No
+            this.cangid =  this.warehouseList1[0].id
+            this.purchasePriceList =  this.warehouseList1[0].purchasePriceList
+            this.WAREHOUSE[1].payname = this.warehouseList1[0].value
+          }
+          this.getList()
+        })
+    },
     getList() {
       getcost({
         compId: sessionStorage.getItem('ws-pf_compId'),
-        warehouseName: this.warehouseName,
+        warehouseId: this.cangid,
         warehouseType: this.warehouseType,
         currectPage:this.currectPage,
         pageSize:this.pageSize
@@ -264,59 +273,6 @@ export default {
           this.warehouseList = 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',
@@ -339,29 +295,6 @@ export default {
       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>
@@ -370,6 +303,9 @@ export default {
   width: 90%;
   margin: 0 auto;
 }
+.bg-left {
+  padding-left: 30px;
+}
 .vertical-text-left {
   width: 62px;
   text-align: right;

+ 738 - 0
src/views/warehouse/warehouselocation.vue

@@ -0,0 +1,738 @@
+<!--仓库管理-->
+<template>
+  <div>
+      <el-row>
+      <el-col :span="12">
+        <h2 class="bg-left title">库点费用</h2>
+      </el-col>
+      <el-col :span="12" class="bg-right">
+        <el-button
+          class="bg-bottom"
+          type="primary"
+          size="small"
+          @click="returnsales()"
+          ><img
+            width="6"
+            height="10"
+            style="vertical-align: bottom; margin-right: 3px"
+            src="../../../public/img/lujing.png"
+            alt=""
+          />返回</el-button
+        >
+      </el-col>
+    </el-row>
+    <el-row>
+      <el-col class='bg-left' :span="12">
+        <div style='align-items:center;' class='flex'>
+          <ws-button class="find" type="primary" @click="addlist()"
+          >添加</ws-button>
+          <div style='align-items:center;' class='flex'>
+              <div :class='{"forbidden":forbidden==true}' @click='minus'><i class="el-icon-arrow-left"></i></div>
+              <ws-select
+                v-model="year"
+                placeholder=""
+                @change="yearChange"
+                :value="searchType"
+                style="margin: 0 10px"
+                >
+                <ws-option
+                    v-for="item in yearList"
+                    :key="item.value"
+                    :label="item.value"
+                    :value="item.value"
+                    style="color: #8890b1"
+                />
+                </ws-select>
+              <div :class='{"forbidden":forbidden1==true}' @click='add'><i class="el-icon-arrow-right"></i></div>
+          </div>
+          <span>合计:{{count}}元</span>
+        </div>
+      </el-col>
+      <el-col :span="12" class="bg-right">
+       <ws-select
+          v-model="warehouseName"
+          placeholder=""
+          @change="warehouseNameChange"
+          :value="searchType"
+          style="margin: 0 10px"
+        >
+          <ws-option
+            v-for="item in warehouseList1"
+            :key="item.value"
+            :label="item.value"
+            :value="item.value"
+            style="color: #8890b1"
+          />
+        </ws-select>
+        <!-- v-hasPermission="'procurement.sparepart.directShip'" -->
+        <ws-button class="find" type="primary" @click="find()"
+          ><img
+            width="16"
+            height="16"
+            style="
+              vertical-align: text-top;
+              position: relative;
+              top: 0px;
+              left: -8px;
+            "
+            src="../../../public/img/sousuo.png"
+            alt=""
+        /></ws-button>
+     </el-col>
+    </el-row>
+      <el-table
+        class="wenzi"
+        :data="warehouseList.records"
+        style="width: 100%; margin-top: 20px"
+        height="780"
+      >
+      <el-table-column label="序号" type="index" show-overflow-tooltip width="50">
+      </el-table-column>
+        <el-table-column prop="expenseName" label="费用名称" >
+        </el-table-column>
+        <el-table-column prop="amount" label="金额(元)" >
+        </el-table-column>
+        <el-table-column prop="storage" label="附件">
+            <template slot-scope="scope">
+                <img
+            width="18"
+            height="20"
+            style="vertical-align: text-top; position: relative; top: -1px"
+            src="../../../public/img/fujian.png"
+            @click="fujian(scope.row)"
+            alt=""
+          />
+            </template>
+        </el-table-column>
+        <el-table-column  prop="costDate" label="日期">
+        </el-table-column>
+        
+        <el-table-column prop="address" label="操作" width="200">
+          <template slot-scope="scope">
+            <div class="adjustment" v-hasPermission="
+           `warehouseManagement.warehouse.warehouseInfo.view`
+          " @click="editlist(scope.row)">编辑</div>
+          </template>
+        </el-table-column>
+      </el-table>
+      <el-pagination
+      @size-change="handleSizeChange"
+      @current-change="handleCurrentChange"
+      :current-page="currentPage"
+      :page-size="deptCircularPage.pageSize"
+      layout="total, sizes, prev, pager, next, jumper"
+      :total="deptBudgetTotal"
+    >
+    </el-pagination>
+    <WinseaContentModal
+      v-model="accessoryTFs"
+      :title="$t('system.noticeCircular.information')"
+      @on-cancel="handleClose"
+    >
+    <ws-upload
+        ref="upload"
+        :comp-id="compId"
+        :appendix-ids="appendixIdss"
+        :editable="false"
+        accept=".jpg, .jpeg, .png, .pdf, .doc, .zip, .rar"
+      />
+      
+    </WinseaContentModal>
+      <el-dialog :title="dialogtitle" :visible.sync="addvisible">
+        <el-form label-width="140px" label-position='right'>
+          <el-form-item  label="费用名称" >
+            <el-input v-model="expenseName" autocomplete="off"></el-input>
+          </el-form-item>
+          <el-form-item  label="金额" >
+            <el-input v-model="amount" autocomplete="off"></el-input>
+          </el-form-item>
+          <el-form-item label="付款截图" >
+            <ws-upload
+        ref="upload"
+        :comp-id="compId"
+        :appendix-ids="applUrl"
+        :size-limit="size"
+        :limit='limit'
+        @onChange="onChange"
+        accept=".jpg, .jpeg, .png, .pdf, .doc, .zip, .rar"
+      />
+          </el-form-item>
+        </el-form>
+        <div slot="footer" class="dialog-footer">
+          <el-button @click="addvisible = false">取 消</el-button>
+          <el-button type="primary" @click="addInventory">确 定</el-button>
+        </div>
+      </el-dialog>
+  </div>
+</template>
+<script>
+import {
+  selectWarehouseSelf
+} from '@/model/houseSelfCollect/index'
+import {
+  getinventory,
+  addinventory,
+  editinventory,
+  editcost,
+  export1,
+  editstatus,
+  billoperatehis,
+  clearancee,
+} from '@/model/warehouse/index'
+import { downloadFile } from '@/utils/batchDown'
+import Pagination from '@/components/Pagination'
+import WsUpload from '@/components/WsUpload'
+import { EventBus } from 'base-core-lib'
+export default {
+  name: 'viewSpareMoney',
+  components: {
+    WsUpload,
+    Pagination,
+  },
+  watch: {
+    vesselId(val) {
+      this.getList()
+    },
+    isShow(val) {
+      this.showType = val
+    },
+  },
+  data() {
+    return {
+        currectPage:1,
+        pageSize:10,
+      //弹出框
+      dialogViewSpareMoney: false,
+      dialogApproveFormVisible: false,
+      // 船舶类型
+      monetaryKey: null,
+      // 表格显示数据
+      tableDate: [],
+      expenseName:'',
+      yearList:[],
+      dialogtitle:'',
+      appendixIdss:[],
+      amount:'',
+      applUrl:'',
+      price:'',
+      costDate:'',
+      // 是否显示
+      showType: true,
+      // 年
+      year: '',
+
+      searchType: 1,
+      searchTypeText: '未完成',
+      searchKeyWord: '',
+      contractType: 2,
+      currentPage:1,
+      warehouseType: '1',
+      // 提交类型
+      submitType: true,
+      size: 10,
+      limit:1,
+      spanArr: [],
+      id:0,
+      warehouseName: '',
+      warehouseId:'',
+      forbidden:false,
+      forbidden1:false,
+      addvisible:false,
+      compId: sessionStorage.getItem('ws-pf_compId'),
+      deptCircularPage: {},
+      warehouseList: [],
+      warehouseList1: [],
+      deptBudgetList: {},
+      historyList: [],
+      count:0,
+      deptBudgetTotal: 0,
+      pickerBeginDateBefore: {
+        disabledDate: (time) => {
+          return time.getTime() > Date.now()
+        },
+      },
+      accessoryTFs: false,
+    }
+  },
+  activated() {
+
+      this.year=new Date().getFullYear()
+      for(var i=2021;i<=this.year;i++){
+          this.yearList.push({value:i})
+      }
+      if(this.year>=new Date().getFullYear()){
+          this.forbidden1=true
+      }
+      if(this.year<=2021){
+          this.forbidden=true
+      }
+    this.selectWarehouse()
+    // this.getList()
+
+    this.showType = this.isShow
+  },
+  methods: {
+      returnsales(){
+          this.$router.go(-1)
+      },
+      fujian(row) {
+      if (row.applUrl === null || row.applUrl === '') {
+        EventBus.$emit(
+          'warning',
+          this.$t('system.noticeCircular.NoInformation')
+        )
+      }
+      this.appendixIdss = row.applUrl
+      this.accessoryTFs = true
+    },
+    uploadSuccessHandle(e){
+        this.applUrl=e.url
+    },
+    counttotal(){
+        for (let i = 0; i < this.warehouseList.records.length; i++) {
+            this.count+=this.warehouseList.records[i].amount
+        }
+    },
+    onChange() {
+     this.$refs.upload
+        .handleSaveBill()
+        .then(async response => {
+          this.applUrl = response
+        })
+        .catch(res => {
+          EventBus.$emit('error', (JSON.parse(res) || {}).message)
+          this.$refs.upload.clearFiles()
+        })
+    },
+    minus(){
+
+        if(this.year<=2021){
+            this.forbidden=true
+        }else{
+            this.year--
+        }
+    },
+    add(){
+
+        if(this.year>=new Date().getFullYear()){
+            this.forbidden1=true
+        }else{
+            this.year++
+        }
+    },
+    addInventory(){
+        if(!this.expenseName){
+            this.$message({
+              message: '费用名称不能为空!',
+              type: 'warning'
+            })
+            return
+        }
+        if(this.expenseName.length<1||this.expenseName.length>10){
+            this.$message({
+              message: '费用名称1-10个字!',
+              type: 'warning'
+            })
+            return
+        }
+        if(!this.amount){
+            this.$message({
+              message: '金额不能为空!',
+              type: 'warning'
+            })
+            return
+        }
+        if(this.amount<0||this.amount>100000000){
+            this.$message({
+              message: '金额输入错误!',
+              type: 'warning'
+            })
+            return
+        }
+        addinventory({applUrl:this.applUrl,expenseName:this.expenseName,amount:this.amount,warehouseId:this.cangid,warehouseName:this.warehouseName}).toPromise()
+        .then((response) => {
+            this.$notify.success({
+                title: '成功',
+                message: '添加成功',
+              })
+           this.addvisible=false
+           this.getList()
+        })
+    },
+    editInventory(){
+        if(!this.expenseName){
+            this.$message({
+              message: '费用名称不能为空!',
+              type: 'warning'
+            })
+            return
+        }
+        if(this.expenseName.length<1||this.expenseName.length>10){
+            this.$message({
+              message: '费用名称1-10个字!',
+              type: 'warning'
+            })
+            return
+        }
+        if(!this.amount){
+            this.$message({
+              message: '金额不能为空!',
+              type: 'warning'
+            })
+            return
+        }
+        if(this.amount<0||this.amount>100000000){
+            this.$message({
+              message: '金额输入错误!',
+              type: 'warning'
+            })
+            return
+        }
+        editinventory({applUrl:this.applUrl,expenseName:this.expenseName,amount:this.amount,warehouseId:this.cangid,warehouseName:this.warehouseName}).toPromise()
+        .then((response) => {
+            this.$notify.success({
+                title: '成功',
+                message: '编辑成功',
+              })
+           this.addvisible=false
+           this.getList()
+        })
+    },
+    yearChange(){
+
+    },
+    addlist(){
+        this.addvisible=true
+        this.dialogtitle='添加费用'
+    },
+    editlist(item){
+        this.addvisible=true
+        this.dialogtitle='编辑费用'
+        this.id=item.id
+        this.applUrl=item.applUrl
+        this.expenseName=item.expenseName
+        this.amount=item.amount
+    },
+    warehouselocation(){
+      this.$router.push({ path: 'warehouselocation' })
+    },
+    warehouseNameChange(e) {
+      for(let i = 0 ; i < this.warehouseList1.length; i++){
+        if(this.warehouseList1[i].value == e){
+           this.warehouseName = this.warehouseList1[i].value
+          this.warehouseCount = this.warehouseList1[i].count
+          this.warehouseNo = this.warehouseList1[i].No
+          this.cangid = this.warehouseList1[i].id
+          this.WAREHOUSE[1].payname = this.warehouseList1[i].value
+          this.purchasePriceList = this.warehouseList1[i].purchasePriceList
+        }
+      }
+      this.getList()
+    },
+    edit(item){
+      this.price=item.cost
+      this.editvisible=true
+      this.id=item.id
+    },
+    editprice(){
+      this.$confirm(`加权成本价格修改后不可恢复,确认提交`, {
+        confirmButtonText: '确定',
+        cancelButtonText: '取消',
+        type: 'warning',
+      })
+        .then(() => {
+          editcost({id:this.id,cost:this.price}).toPromise()
+        .then((response) => {
+          this.$notify.success({
+                title: '成功',
+                message: '价格修改成功',
+              })
+           this.editvisible=false
+           this.getList()
+        })
+        })
+     
+    },
+    //查看
+    handleLook() {
+      this.$router.push({ path: 'warehouseManagementLook' })
+    },
+    //添加
+    handleAdd() {
+      this.$router.push({ path: 'warehouseManagementAdd' })
+    },
+    //编辑
+    handleEdit() {
+      this.$router.push({ path: 'warehouseManagementEdit' })
+    },
+    handleDelete() {
+      this.$router.push({ path: 'warehouseManagementDelete' })
+    },
+    //任务
+    handlTask(){
+      this.$router.push({ path: 'tranManagementWarehouseInOutTask' })
+    },
+    handleClose() {
+      this.accessoryTFs = false
+    },
+    handleSizeChange(val) {
+      console.log(`每页 ${val} 条`)
+      this.pageSize = val
+      this.getList()
+    },
+    handleCurrentChange(val) {
+      this.currentPage = val
+      console.log(`当前页: ${val}`)
+      this.getList()
+    },
+    selectWarehouse(){
+       selectWarehouseSelf({
+        compId: sessionStorage.getItem('ws-pf_compId'),
+      })
+        .toPromise()
+        .then((response) => {
+          this.warehouseList1 = []
+          for (let i = 0; i < response.length; i++) {
+            this.warehouseList1.push({
+              value: response[i].warehouseName,
+              id: response[i].id,
+              count: response[i].count,
+              purchasePriceList: response[i].purchasePriceList,
+              No:response[i].commonWarehouseNo
+            })
+            if (this.cangid&&this.cangid == response[i].id) {
+              this.warehouseName = response[i].warehouseName
+              this.warehouseCount =  response[i].count
+              this.warehouseNo =  response[i].commonWarehouseNo
+              this.purchasePriceList =  response[i].purchasePriceList
+            } 
+          }
+          if(this.warehouseList1.length > 0 && !this.cangid){
+            this.warehouseName = this.warehouseList1[0].value
+            this.warehouseCount =  this.warehouseList1[0].count
+            this.warehouseNo =  this.warehouseList1[0].No
+            this.cangid =  this.warehouseList1[0].id
+            this.purchasePriceList =  this.warehouseList1[0].purchasePriceList
+            this.WAREHOUSE[1].payname = this.warehouseList1[0].value
+          }
+          this.getList()
+        })
+    },
+    getList() {
+      getinventory({
+        compId: sessionStorage.getItem('ws-pf_compId'),
+        warehouseId: this.cangid,
+        year: this.year,
+        currectPage:this.currectPage,
+        pageSize:this.pageSize
+      })
+        .toPromise()
+        .then((response) => {
+          this.warehouseList = response
+          this.counttotal()
+        })
+    },
+    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
+        }
+      }
+    },
+    handleExamine(row) {
+      this.$router.push({
+        name: 'salesContractExamine',
+        query: { id: row.id },
+      })
+    },
+    // 关闭 dialog时 处理文件url 初始化upload组件
+    handleCloe() {
+      this.dialogViewSpareMoney = false
+    },
+
+    history(row) {
+      billoperatehis({ id: row.id })
+        .toPromise()
+        .then((response) => {
+          this.historyList = response
+        })
+    },
+    find() {
+      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>
+.connert {
+  width: 90%;
+  margin: 0 auto;
+}
+.bg-left {
+  padding-left: 30px;
+}
+.bg-right {
+  text-align: right;
+  padding: 16px 20px;
+}
+.el-icon-arrow-left,.el-icon-arrow-right{
+    font-size:24px;
+}
+.vertical-text-left {
+  width: 62px;
+  text-align: right;
+}
+.el-button--primary {
+  background-color: #5878e8;
+  border-color: #5878e8;
+}
+.el-button--default {
+  color: #8890b1;
+  border-color: #e8eaf1;
+}
+/deep/.base_header_layout .grid-content.right .find.el-button--primary {
+  width: 30px;
+  margin-left: 0;
+  border-top-left-radius: 0px;
+  border-bottom-left-radius: 0px;
+}
+/deep/.findValue .el-input__inner {
+  border-top-right-radius: 0px;
+  border-bottom-right-radius: 0px;
+}
+.completed.el-button--default {
+  border-color: #5878e8;
+  background-color: #f6f7fc;
+  color: #5878e8;
+}
+.putstorage.el-button--default,
+.deliverystorage.el-button--default {
+  border-color: #8890b1;
+  background-color: #fff;
+  color: #8890b1;
+}
+/deep/.el-table td,
+/deep/.el-table th.is-leaf {
+  border-right: 1px solid #e9ecf7;
+  text-align: center;
+}
+/deep/.el-table tr td:first-child,
+/deep/.el-table tr th.is-leaf:first-child {
+  border-left: 1px solid #e9ecf7;
+}
+/deep/.el-table .el-table__header .cell,
+/deep/.el-table .el-table__body .cell {
+  -webkit-line-clamp: 10;
+  max-height: 400px;
+}
+.record,
+.adjustment {
+  display: inline-block;
+  color: #5878e8;
+  padding: 0 4px !important;
+  position: relative;
+}
+.record:after {
+  position: absolute;
+  content: '';
+  display: block;
+  top: 5px;
+  right: -2px;
+  width: 1px;
+  height: 12px;
+  background: #e9ecf7;
+}
+/deep/.el-radio-button:first-child .el-radio-button__inner {
+  margin-left: 10px;
+}
+//分页
+.el-pagination {
+  text-align: center;
+    white-space: nowrap;
+    padding: 2px 5px;
+    color: #303133;
+    font-weight: 700;
+    margin-bottom: 20px;
+}
+.forbidden{
+    cursor: not-allowed;
+}
+ .avatar-uploader .el-upload {
+    border: 1px dashed #d9d9d9;
+    border-radius: 6px;
+    cursor: pointer;
+    position: relative;
+    overflow: hidden;
+  }
+  .avatar-uploader .el-upload:hover {
+    border-color: #409EFF;
+  }
+  .avatar-uploader-icon {
+    font-size: 28px;
+    color: #8c939d;
+    width: 178px;
+    height: 178px;
+    line-height: 178px;
+    text-align: center;
+  }
+  .avatar {
+    width: 178px;
+    height: 178px;
+    display: block;
+  }
+</style>

+ 613 - 0
src/views/warehouse/weightedsubsidiary.vue

@@ -0,0 +1,613 @@
+<!--仓库管理-->
+<template>
+  <div>
+      <el-row>
+      <el-col :span="12">
+        <h2 class="bg-left title">加权明细</h2>
+      </el-col>
+      <el-col :span="12" class="bg-right">
+        <el-button
+          class="bg-bottom"
+          type="primary"
+          size="small"
+          @click="returnsales()"
+          ><img
+            width="6"
+            height="10"
+            style="vertical-align: bottom; margin-right: 3px"
+            src="../../../public/img/lujing.png"
+            alt=""
+          />返回</el-button
+        >
+      </el-col>
+    </el-row>
+    <el-row>
+      <el-col class='bg-left' :span="12">
+        <div style='align-items:center;' class='flex'>
+          <div style='align-items:center;' class='flex'>
+              <div :class='{"forbidden":forbidden==true}' @click='minus'><i class="el-icon-arrow-left"></i></div>
+              <ws-select
+                v-model="year"
+                placeholder=""
+                @change="yearChange"
+                :value="searchType"
+                style="margin: 0 10px"
+                >
+                <ws-option
+                    v-for="item in yearList"
+                    :key="item.value"
+                    :label="item.value"
+                    :value="item.value"
+                    style="color: #8890b1"
+                />
+                </ws-select>
+              <div :class='{"forbidden":forbidden1==true}' @click='add'><i class="el-icon-arrow-right"></i></div>
+          </div>
+        </div>
+      </el-col>
+      <el-col :span="12" class="bg-right">
+       <ws-select
+          v-model="warehouseName"
+          placeholder=""
+          @change="warehouseNameChange"
+          :value="searchType"
+          style="margin: 0 10px"
+        >
+          <ws-option
+            v-for="item in warehouseList1"
+            :key="item.value"
+            :label="item.value"
+            :value="item.value"
+            style="color: #8890b1"
+          />
+        </ws-select>
+        <ws-select
+            v-model="goodsName"
+            placeholder=""
+            class="typeselect"
+            @change="selectgoodsName"
+          >
+            <ws-option
+              v-for="item in goodnameList"
+              :key="item.constKey"
+              :label="item.constValue"
+              :value="item.constValue"
+            />
+          </ws-select>
+        <!-- v-hasPermission="'procurement.sparepart.directShip'" -->
+        <ws-button class="find" type="primary" @click="find()"
+          ><img
+            width="16"
+            height="16"
+            style="
+              vertical-align: text-top;
+              position: relative;
+              top: 0px;
+              left: -8px;
+            "
+            src="../../../public/img/sousuo.png"
+            alt=""
+        /></ws-button>
+     </el-col>
+    </el-row>
+      <el-table
+        class="wenzi"
+        :data="warehouseList.records"
+        style="width: 100%; margin-top: 20px"
+        height="780"
+      >
+      <el-table-column label="序号" type="index" show-overflow-tooltip width="50">
+      </el-table-column>
+        <el-table-column prop="expenseName" label="费用名称" >
+        </el-table-column>
+        <el-table-column prop="amount" label="金额(元)" >
+        </el-table-column>
+        <el-table-column prop="storage" label="附件">
+            <template slot-scope="scope">
+                <img
+            width="18"
+            height="20"
+            style="vertical-align: text-top; position: relative; top: -1px"
+            src="../../../public/img/fujian.png"
+            @click="fujian(scope.row)"
+            alt=""
+          />
+            </template>
+        </el-table-column>
+        <el-table-column  prop="costDate" label="日期">
+        </el-table-column>
+        
+        <el-table-column prop="address" label="操作" width="200">
+          <template slot-scope="scope">
+            <div class="adjustment" v-hasPermission="
+           `warehouseManagement.warehouse.warehouseInfo.view`
+          " @click="editlist(scope.row)">编辑</div>
+          </template>
+        </el-table-column>
+      </el-table>
+      <el-pagination
+      @size-change="handleSizeChange"
+      @current-change="handleCurrentChange"
+      :current-page="currentPage"
+      :page-size="pageSize"
+      layout="total, sizes, prev, pager, next, jumper"
+      :total="deptBudgetTotal"
+    >
+    </el-pagination>
+  </div>
+</template>
+<script>
+import {
+  selectWarehouseSelf
+} from '@/model/houseSelfCollect/index'
+import {
+  weighteddetails,
+  editcost,
+  export1,
+  editstatus,
+  billoperatehis,
+} from '@/model/warehouse/index'
+import {
+  packList,
+} from '@/model/contarct/index'
+import { downloadFile } from '@/utils/batchDown'
+import Pagination from '@/components/Pagination'
+import WsUpload from '@/components/WsUpload'
+import { EventBus } from 'base-core-lib'
+export default {
+  name: 'viewSpareMoney',
+  components: {
+    WsUpload,
+    Pagination,
+  },
+  watch: {
+    vesselId(val) {
+      this.getList()
+    },
+    isShow(val) {
+      this.showType = val
+    },
+  },
+  data() {
+    return {
+        currectPage:1,
+        pageSize:10,
+      //弹出框
+      dialogViewSpareMoney: false,
+      dialogApproveFormVisible: false,
+      // 船舶类型
+      monetaryKey: null,
+      // 表格显示数据
+      tableDate: [],
+      goodnameList:[],
+      goodName:'玉米',
+      ooodNameKey:1,
+      expenseName:'',
+      yearList:[],
+      dialogtitle:'',
+      appendixIdss:[],
+      amount:'',
+      applUrl:'',
+      price:'',
+      costDate:'',
+      // 是否显示
+      showType: true,
+      // 年
+      year: '',
+
+      searchType: 1,
+      searchTypeText: '未完成',
+      searchKeyWord: '',
+      contractType: 2,
+      currentPage:1,
+      warehouseType: '1',
+      // 提交类型
+      submitType: true,
+      size: 10,
+      limit:1,
+      spanArr: [],
+      id:0,
+      warehouseName: '',
+      warehouseId:'',
+      forbidden:false,
+      forbidden1:false,
+      addvisible:false,
+      compId: sessionStorage.getItem('ws-pf_compId'),
+      deptCircularPage: {},
+      warehouseList: [],
+      warehouseList1: [],
+      deptBudgetList: {},
+      historyList: [],
+      count:0,
+      deptBudgetTotal: 0,
+      pickerBeginDateBefore: {
+        disabledDate: (time) => {
+          return time.getTime() > Date.now()
+        },
+      },
+      accessoryTFs: false,
+    }
+  },
+  activated() {
+// 货名
+      packList({ constId: 'CON2' })
+        .toPromise()
+        .then((response) => {
+          this.goodnameList = response
+        })
+      this.year=new Date().getFullYear()
+      for(var i=2021;i<=this.year;i++){
+          this.yearList.push({value:i})
+      }
+      if(this.year>=new Date().getFullYear()){
+          this.forbidden1=true
+      }
+      if(this.year<=2021){
+          this.forbidden=true
+      }
+    this.selectWarehouse()
+    // this.getList()
+
+    this.showType = this.isShow
+  },
+  methods: {
+      selectgoodsName(e) {
+      for (var i = 0; i < this.goodnameList.length; i++) {
+        if (this.goodnameList[i].constValue == e) {
+          this.goodsNameKey = this.goodnameList[i].constKey
+        }
+      }
+    },
+      returnsales(){
+          this.$router.go(-1)
+      },
+      fujian(row) {
+      if (row.applUrl === null || row.applUrl === '') {
+        EventBus.$emit(
+          'warning',
+          this.$t('system.noticeCircular.NoInformation')
+        )
+      }
+      this.appendixIdss = row.applUrl
+      this.accessoryTFs = true
+    },
+    uploadSuccessHandle(e){
+        this.applUrl=e.url
+    },
+    counttotal(){
+        for (let i = 0; i < this.warehouseList.records.length; i++) {
+            this.count+=this.warehouseList.records[i].amount
+        }
+    },
+    onChange() {
+     this.$refs.upload
+        .handleSaveBill()
+        .then(async response => {
+          this.applUrl = response
+        })
+        .catch(res => {
+          EventBus.$emit('error', (JSON.parse(res) || {}).message)
+          this.$refs.upload.clearFiles()
+        })
+    },
+    minus(){
+
+        if(this.year<=2021){
+            this.forbidden=true
+        }else{
+            this.year--
+        }
+    },
+    add(){
+
+        if(this.year>=new Date().getFullYear()){
+            this.forbidden1=true
+        }else{
+            this.year++
+        }
+    },
+    yearChange(){
+
+    },
+    warehouseNameChange(e) {
+      for(let i = 0 ; i < this.warehouseList1.length; i++){
+        if(this.warehouseList1[i].value == e){
+           this.warehouseName = this.warehouseList1[i].value
+          this.warehouseCount = this.warehouseList1[i].count
+          this.warehouseNo = this.warehouseList1[i].No
+          this.cangid = this.warehouseList1[i].id
+          this.WAREHOUSE[1].payname = this.warehouseList1[i].value
+          this.purchasePriceList = this.warehouseList1[i].purchasePriceList
+        }
+      }
+      this.getList()
+    },
+    edit(item){
+      this.price=item.cost
+      this.editvisible=true
+      this.id=item.id
+    },
+    editprice(){
+      this.$confirm(`加权成本价格修改后不可恢复,确认提交`, {
+        confirmButtonText: '确定',
+        cancelButtonText: '取消',
+        type: 'warning',
+      })
+        .then(() => {
+          editcost({id:this.id,cost:this.price}).toPromise()
+        .then((response) => {
+          this.$notify.success({
+                title: '成功',
+                message: '价格修改成功',
+              })
+           this.editvisible=false
+           this.getList()
+        })
+        })
+     
+    },
+    //查看
+    handleClose() {
+      this.accessoryTFs = false
+    },
+    handleSizeChange(val) {
+      console.log(`每页 ${val} 条`)
+      this.pageSize = val
+      this.getList()
+    },
+    handleCurrentChange(val) {
+      this.currentPage = val
+      console.log(`当前页: ${val}`)
+      this.getList()
+    },
+    selectWarehouse(){
+       selectWarehouseSelf({
+        compId: sessionStorage.getItem('ws-pf_compId'),
+      })
+        .toPromise()
+        .then((response) => {
+          this.warehouseList1 = []
+          for (let i = 0; i < response.length; i++) {
+            this.warehouseList1.push({
+              value: response[i].warehouseName,
+              id: response[i].id,
+              count: response[i].count,
+              purchasePriceList: response[i].purchasePriceList,
+              No:response[i].commonWarehouseNo
+            })
+            if (this.cangid&&this.cangid == response[i].id) {
+              this.warehouseName = response[i].warehouseName
+              this.warehouseCount =  response[i].count
+              this.warehouseNo =  response[i].commonWarehouseNo
+              this.purchasePriceList =  response[i].purchasePriceList
+            } 
+          }
+          if(this.warehouseList1.length > 0 && !this.cangid){
+            this.warehouseName = this.warehouseList1[0].value
+            this.warehouseCount =  this.warehouseList1[0].count
+            this.warehouseNo =  this.warehouseList1[0].No
+            this.cangid =  this.warehouseList1[0].id
+            this.purchasePriceList =  this.warehouseList1[0].purchasePriceList
+            this.WAREHOUSE[1].payname = this.warehouseList1[0].value
+          }
+          this.getList()
+        })
+    },
+    getList() {
+      weighteddetails({
+        compId: sessionStorage.getItem('ws-pf_compId'),
+        warehouseId: this.cangid,
+        year: this.year,
+        currectPage:this.currectPage,
+        pageSize:this.pageSize
+      })
+        .toPromise()
+        .then((response) => {
+          this.warehouseList = response
+          this.counttotal()
+        })
+    },
+    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
+        }
+      }
+    },
+    handleExamine(row) {
+      this.$router.push({
+        name: 'salesContractExamine',
+        query: { id: row.id },
+      })
+    },
+    // 关闭 dialog时 处理文件url 初始化upload组件
+    handleCloe() {
+      this.dialogViewSpareMoney = false
+    },
+
+    history(row) {
+      billoperatehis({ id: row.id })
+        .toPromise()
+        .then((response) => {
+          this.historyList = response
+        })
+    },
+    find() {
+      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>
+.connert {
+  width: 90%;
+  margin: 0 auto;
+}
+.bg-left {
+  padding-left: 30px;
+}
+.bg-right {
+  text-align: right;
+  padding: 16px 20px;
+}
+.el-icon-arrow-left,.el-icon-arrow-right{
+    font-size:24px;
+}
+.vertical-text-left {
+  width: 62px;
+  text-align: right;
+}
+.el-button--primary {
+  background-color: #5878e8;
+  border-color: #5878e8;
+}
+.el-button--default {
+  color: #8890b1;
+  border-color: #e8eaf1;
+}
+/deep/.base_header_layout .grid-content.right .find.el-button--primary {
+  width: 30px;
+  margin-left: 0;
+  border-top-left-radius: 0px;
+  border-bottom-left-radius: 0px;
+}
+/deep/.findValue .el-input__inner {
+  border-top-right-radius: 0px;
+  border-bottom-right-radius: 0px;
+}
+.completed.el-button--default {
+  border-color: #5878e8;
+  background-color: #f6f7fc;
+  color: #5878e8;
+}
+.putstorage.el-button--default,
+.deliverystorage.el-button--default {
+  border-color: #8890b1;
+  background-color: #fff;
+  color: #8890b1;
+}
+/deep/.el-table td,
+/deep/.el-table th.is-leaf {
+  border-right: 1px solid #e9ecf7;
+  text-align: center;
+}
+/deep/.el-table tr td:first-child,
+/deep/.el-table tr th.is-leaf:first-child {
+  border-left: 1px solid #e9ecf7;
+}
+/deep/.el-table .el-table__header .cell,
+/deep/.el-table .el-table__body .cell {
+  -webkit-line-clamp: 10;
+  max-height: 400px;
+}
+.record,
+.adjustment {
+  display: inline-block;
+  color: #5878e8;
+  padding: 0 4px !important;
+  position: relative;
+}
+.record:after {
+  position: absolute;
+  content: '';
+  display: block;
+  top: 5px;
+  right: -2px;
+  width: 1px;
+  height: 12px;
+  background: #e9ecf7;
+}
+/deep/.el-radio-button:first-child .el-radio-button__inner {
+  margin-left: 10px;
+}
+//分页
+.el-pagination {
+  text-align: center;
+    white-space: nowrap;
+    padding: 2px 5px;
+    color: #303133;
+    font-weight: 700;
+    margin-bottom: 20px;
+}
+.forbidden{
+    cursor: not-allowed;
+}
+ .avatar-uploader .el-upload {
+    border: 1px dashed #d9d9d9;
+    border-radius: 6px;
+    cursor: pointer;
+    position: relative;
+    overflow: hidden;
+  }
+  .avatar-uploader .el-upload:hover {
+    border-color: #409EFF;
+  }
+  .avatar-uploader-icon {
+    font-size: 28px;
+    color: #8c939d;
+    width: 178px;
+    height: 178px;
+    line-height: 178px;
+    text-align: center;
+  }
+  .avatar {
+    width: 178px;
+    height: 178px;
+    display: block;
+  }
+</style>

+ 2 - 1
vue.config.js

@@ -141,7 +141,8 @@ module.exports = {
         // target: 'https://product-server.winsea.com/', //目标地址
         // target: 'http://standard-dev.winsea.com/', //目标地址
         // target: 'http://localhost:8090/',
-        target: 'http://192.168.1.115:8090/',
+        target: 'http://192.168.1.120:8090/',
+        // target: 'http://192.168.1.115:8090/',
         // target: 'http://192.168.1.122:9100/',
         // target: 'http://192.168.1.121:8090/',
         // target: 'http://192.168.1.119:8090/',