瀏覽代碼

Merge branch 'master' of http://47.100.3.209:3000/gdc/yiliangyiyun-pc

ccj 2 年之前
父節點
當前提交
bdb7d9b43b
共有 31 個文件被更改,包括 5051 次插入336 次删除
  1. 3 3
      src/components/WsUpload/index.vue
  2. 6 1
      src/lang/zh.js
  3. 83 39
      src/views/contractManagement/acquisitionContract.vue
  4. 769 0
      src/views/contractManagement/acquisitionContractAudit.vue
  5. 76 3
      src/views/contractManagement/collectionContract.vue
  6. 760 0
      src/views/contractManagement/collectionContractAudit.vue
  7. 85 0
      src/views/contractManagement/component/routers/route.js
  8. 107 44
      src/views/contractManagement/purchaseContract.vue
  9. 852 0
      src/views/contractManagement/purchaseContractAudit.vue
  10. 114 24
      src/views/contractManagement/salesContract.vue
  11. 978 0
      src/views/contractManagement/salesContractAudit.vue
  12. 105 3
      src/views/contractManagement/storageContract.vue
  13. 784 0
      src/views/contractManagement/storageContractAudit.vue
  14. 5 3
      src/views/customerFundManagement/customerFundEdit.vue
  15. 12 3
      src/views/outboundManagement/weighingManagementNew.vue
  16. 12 3
      src/views/outboundManagement/weighingManagementrecord.vue
  17. 27 27
      src/views/profitable/component/routers/route.js
  18. 41 7
      src/views/profitable/contractprofits.vue
  19. 13 42
      src/views/profitable/contractprofitsdetails.vue
  20. 46 9
      src/views/profitable/expensemanagement.vue
  21. 21 47
      src/views/profitable/expensemanagementdetails.vue
  22. 10 10
      src/views/statisticalReport/autoSettlementList.vue
  23. 2 2
      src/views/statisticalReport/component/routers/route.js
  24. 5 0
      src/views/statisticalReport/huoyunList.vue
  25. 5 0
      src/views/statisticalReport/shippingList.vue
  26. 2 2
      src/views/taskManagement/supplyofgoods.vue
  27. 1 1
      src/views/taskManagement/tranManagementWarehouseInOutTaskAdd.vue
  28. 18 3
      src/views/tranManagement/tranManagementVehicleDispatching.vue
  29. 48 48
      src/views/warehousenew/component/router/index.js
  30. 54 11
      src/views/warehousenew/goodsrollIn.vue
  31. 7 1
      src/views/warehousenew/warehousingOrder.vue

+ 3 - 3
src/components/WsUpload/index.vue

@@ -411,7 +411,7 @@ export default {
         const index = this.fileList.findIndex((itm) => itm.uid === file.uid)
         this.fileList.splice(index, 1)
       }
-      this.$emit('onChange', this.fileList.length)
+      this.$emit('onChange', this.fileList.length,this.fileList)
     },
 
     // 自定义上传过程
@@ -480,7 +480,7 @@ export default {
           })
         )
         this.tempFileList = []
-        this.$emit('onChange', this.fileList.length)
+        this.$emit('onChange', this.fileList.length,this.fileList)
         this.hideLoading()
       }
     },
@@ -796,7 +796,7 @@ $ctrl-margin-left: 10px;
   .doc {
     background-image: url('~@/assets/images/common/upload/doc.png');
   }
-  .docx {
+  .docx,.DocX,.DOCX  {
     background-image: url('~@/assets/images/common/upload/docx.png');
   }
   .eml {

+ 6 - 1
src/lang/zh.js

@@ -484,16 +484,19 @@ export default {
     purchaseContract: '采购合同',
     collectionContract: '代收合同',
     purchaseContractAdd: '采购合同  /  添加',
+    purchaseContractAudit: '采购合同  /  审核',
     purchaseContractcost:'采购合同  /  费用',
     collectionContractAdd: '代收合同  /  添加',
     purchaseContractEdit: '采购合同  /  编辑',
     collectionContractEdit: '代收合同  /  编辑',
     collectionContractExamine:'代收合同  /  查看',
     collectionContractRecord:'代收合同  /  记录',
+    collectionContractAudit:'代收合同  /  审核',
     storageContract:'代储合同',
     storageContractAdd: '代储合同  /  添加',
     storageContractEdit: '代储合同  /  编辑',
     storageContractExamine: '代储合同  /  查看',
+    storageContractAudit: '代储合同  /  审核',
     storageContractRecord:'代储合同  /  代储费',
     storageContractRecord:'代储合同  /  记录',
     purchaseContractExamine: '采购合同  /  查看',
@@ -501,6 +504,7 @@ export default {
     acquisitionContractAdd: '收购合同  /  添加',
     acquisitionContractEdit: '收购合同  /  编辑',
     acquisitionContractExamine: '收购合同  /  查看',
+    acquisitionContractAudit:'收购合同  /  审核',
     salesContract: '销售合同',
     salesContractEdit: '销售合同  /  编辑',
     salesContractcost: '销售合同  /  费用',
@@ -1086,7 +1090,7 @@ export default {
     //利润核算
     profitable:'利润核算',
     contractOtherMoney: '合同外费用',
-    contractprofitsdetails:'合同利润  /  利润详情',
+    contractprofitsdetailsoverview:'合同利润  /  合同利润概览',
     warehouseprofitsdetails:'库点利润  /  利润详情',
     expensemanagementdetails:'费用管理  /  费用详情',
     contractinventory:'合同利润  /  利润详情  /  库存',
@@ -1107,6 +1111,7 @@ export default {
     contractprofits: '合同利润',
     warehouseprofits: '库点利润',
     expensemanagement: '费用管理',
+    summaryOfIncomeAndExpenditure:'费用管理  /  收支概览',
     inOutDetailed: '收支明细',
     fixedAssets:'固定资产',
 

+ 83 - 39
src/views/contractManagement/acquisitionContract.vue

@@ -167,8 +167,48 @@
           </span>
         </template>
       </el-table-column>
-      <el-table-column prop="address" label="操作" width="160">
+      <el-table-column prop="address" label="操作" width="150">
         <template slot-scope="scope">
+          <el-link v-hasPermission="
+              `contractManagement.buyContract.buyContractInfo.view`
+            " target="_blank" type="primary" :underline="false" @click="handleExamine(scope.row)"
+            >查看</el-link>
+            <el-divider direction="vertical"></el-divider>
+            <el-link v-hasPermission="
+              `contractManagement.buyContract.buyContractInfo.edit`
+            " target="_blank" type="primary" :underline="false" @click="handleEdit(scope.row)"
+              :disabled="scope.row.approveStatus">编辑</el-link>
+              <el-dropdown>
+              <span class="btn_css">•••</span>
+              <el-dropdown-menu slot="dropdown">
+                <el-dropdown-item v-hasPermission="
+              `contractManagement.buyContract.buyContractInfo.delete`
+            "><el-link target="_blank" type="primary" :underline="false" @click="handleDelete(scope.row)"
+              :disabled="scope.row.approveStatus">删除</el-link>
+                </el-dropdown-item>
+                <el-dropdown-item v-hasPermission="
+              `contractManagement.buyContract.buyContractInfo.edit`
+            ">
+                  <el-link  target="_blank" type="primary" :underline="false" @click="withdraw(scope.row)"
+              :disabled="scope.row.approveStatus && scope.row.approveStatus=='发起人撤回'">撤回</el-link>
+                </el-dropdown-item>
+                <el-dropdown-item v-hasPermission="
+              `contractManagement.buyContract.buyContractInfo.view`
+            ">
+                  <el-link target="_blank" type="primary" :underline="false" @click="handleaudit(scope.row)"
+              :disabled="!scope.row.taskId">审核</el-link>
+                </el-dropdown-item>
+                <el-dropdown-item v-hasPermission="`contractManagement.buyContract.buyContractInfo.view`">
+                <el-link target="_blank" type="primary" :underline="false" @click="handlecost(scope.row)">费用详情</el-link>
+              </el-dropdown-item>
+              <el-dropdown-item v-hasPermission="`contractManagement.buyContract.buyContractInfo.view`">
+                <el-link target="_blank" type="primary" :underline="false" @click="handleprofit(scope.row)">利润详情</el-link>
+              </el-dropdown-item>
+              </el-dropdown-menu>
+            </el-dropdown>
+              
+              
+              
            <!-- <img width="16" height="17" style="
                 vertical-align: text-top;
                 position: relative;
@@ -178,33 +218,6 @@
                v-hasPermission="
               `contractManagement.nonContract.nonContractInfo.view`"
              @click="handlecost(scope.row)" alt="" /> -->
-             
-          <img width="16" height="16" style="vertical-align: text-top; margin: 0 6px"
-            src="../../../public/img/chakan.png" @click="handleExamine(scope.row)" v-hasPermission="
-              `contractManagement.buyContract.buyContractInfo.view`
-            " alt="" />
-          <div v-if="
-              (scope.row.approveStatus != '待决策人审核' &&
-                !scope.row.approveStatus || scope.row.approveStatus == '发起人撤回')
-            " style="display: inline-block">
-            <img width="17" height="16" style="vertical-align: text-top; margin: 0 6px"
-              src="../../../public/img/bianji.png" @click="handleEdit(scope.row)" v-hasPermission="
-                `contractManagement.buyContract.buyContractInfo.edit`
-              " alt="" />
-          </div>
-          <img width="16" height="17" style="
-              vertical-align: text-top;
-              position: relative;
-              top: -1px;
-              margin: 0 6px;
-            " v-if="scope.row.status == '待执行'&&!scope.row.approveStatus||scope.row.status == '已驳回'" src="../../../public/img/shanchu.png"
-            v-hasPermission="
-              `contractManagement.buyContract.buyContractInfo.delete`
-            " @click="handleDelete(scope.row)" alt="" />
-            <div v-show="scope.row.showFlag" v-if="scope.row.approveStatus && scope.row.approveStatus!='发起人撤回'" style="display: inline-block">
-              <img width="17" height="16" style="vertical-align: text-top; margin: 0 6px" src="../../../public/img/chehui.png"
-                @click="withdraw(scope.row)" v-hasPermission="`contractManagement.buyContract.buyContractInfo.edit`" alt="" />
-            </div>
             <!-- <ws-button v-if="scope.row.approveStatus && scope.row.approveStatus!='发起人撤回'" type="primary" @click="withdraw(scope.row)" >撤回</ws-button> -->
         </template>
       </el-table-column>
@@ -392,6 +405,31 @@
 
     },
     methods: {
+      handleaudit(row) {
+      this.$router.push({
+        name: 'acquisitionContractAudit',
+        query: {
+          id: row.id,
+          status: row.status,
+        },
+      })
+    },
+    handlecost(row) {
+      this.$router.push({
+        name: 'expensemanagementdetails',
+        query: {
+          contractNo: row.contractNo,
+        },
+      })
+    },
+    handleprofit(row) {
+      this.$router.push({
+        name: 'contractprofits',
+        query: {
+          contractNo: row.contractNo,
+        },
+      })
+    },
       withdraw(row) {
       this.$confirm(`撤回成功后,可再次提交,确定撤回该合同吗?`, {
         cancelButtonText: '取消',
@@ -417,17 +455,17 @@
           this.persionList = response
         })
     },
-      handlecost(row){
-         this.$router.push({
-          name: 'buyContractcost',
-          query: {
-            id: row.id,
-            contractNo: row.contractNo,
-            status:row.status,
-            seller:row.seller
-          },
-        })
-      },
+      // handlecost(row){
+      //    this.$router.push({
+      //     name: 'buyContractcost',
+      //     query: {
+      //       id: row.id,
+      //       contractNo: row.contractNo,
+      //       status:row.status,
+      //       seller:row.seller
+      //     },
+      //   })
+      // },
       onChange() {
         this.$refs.upload
           .handleSaveBill()
@@ -1094,4 +1132,10 @@
     color: #8890b1;
     width:100%;
   }
+  .btn_css {
+    color: #409eff;
+    cursor: pointer;
+    position:relative;
+    top:2px;
+  }
 </style>

+ 769 - 0
src/views/contractManagement/acquisitionContractAudit.vue

@@ -0,0 +1,769 @@
+<!--采购合同查看-->
+<!--2019年5月30日 20:25:16 by jlx-->
+<template>
+  <div class="container">
+    <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>
+
+    <ws-form class="ws-form" ref="deptBudgetList" :rules="mainReportAdd" :model="deptBudgetList">
+      <div class="title-top">
+        收购合同<span class="title-number">【编号:{{ deptBudgetList.contractNo }}】</span>
+        <div class="icon" v-if="deptBudgetList.status">
+          <template>
+            <el-popover placement="right" :width="285" trigger="click" visible-arrow="false"
+              @show="history(deptBudgetList.id)">
+              <template>
+                <div slot="reference"> {{deptBudgetList.status }}</div>
+              </template>
+              <div>
+                <p style="margin-top: 0; padding-left: 10px">操作历史</p>
+                <div v-for="(item, index) in historyList" class="flex">
+                  <div class="vertical-text vertical-text-left">
+                    {{ item.updateDate }}
+                  </div>
+                  <div>
+                    <div class="vertical-circle"></div>
+                    <div v-if="index != historyList.length - 1" class="vertical-line"></div>
+                  </div>
+                  <div class="vertical-text">
+                    {{ item.operateUser }}<br />{{ item.dealMsg }}
+                  </div>
+                </div>
+              </div>
+            </el-popover>
+          </template>
+        </div>
+      </div>
+      <div class="remark">
+        <h3>基本信息</h3>
+      </div>
+      <ws-info-table>
+        <ws-form-item label="合同编号" span="1" prop="contractNo">
+          {{ deptBudgetList.contractNo }}
+        </ws-form-item>
+        <ws-form-item label="交易主体" span="1" prop="transactionSubject" class="readonly">
+          {{deptBudgetList.transactionSubject}}
+        </ws-form-item>
+        <ws-form-item label="收购方" span="1" prop="buyer">
+          {{ deptBudgetList.buyer }}
+        </ws-form-item>
+        <ws-form-item label="卖方" span="1" prop="buyer">
+          {{ deptBudgetList.sellerer }}
+        </ws-form-item>
+        <ws-form-item label="交货方式" span="1" prop="deliverType1">{{ deptBudgetList.deliverType1 }}
+        </ws-form-item>
+        <ws-form-item v-if="deptBudgetList.transactionSubject == '合营'" label="合营方" span="1" prop="seller">{{ deptBudgetList.jointVentureParties }}
+        </ws-form-item>
+        <ws-form-item label="交货日期(起)" span="1" prop="deliveryDateStart">
+          {{ deptBudgetList.deliveryDateStart }}
+        </ws-form-item>
+        <ws-form-item label="收购方电话" span="1" prop="buyerPhone">{{ deptBudgetList.buyerPhone }}
+        </ws-form-item>
+        <ws-form-item label="卖方电话" span="1" prop="buyerPhone">{{ deptBudgetList.sellerPhone }}
+        </ws-form-item>
+        <ws-form-item label="交货日期(止)" span="1" prop="deliveryDateEnd">
+          {{ deptBudgetList.deliveryDateEnd }}
+        </ws-form-item>
+        <ws-form-item v-if="deptBudgetList.transactionSubject == '合营'" label="合营方电话" span="1" prop="sellerPhone">
+          {{ deptBudgetList.jointPhone }}
+        </ws-form-item>
+        <ws-form-item v-if="deptBudgetList.transactionSubject == '合营'" label="合营加价" span="1" prop="seller" class="readonly">
+          {{ deptBudgetList.jointVentureMarkup }}
+        </ws-form-item>
+        <ws-form-item label="价格类型" span="1" prop="priceType">
+          {{ deptBudgetList.priceType }}
+        </ws-form-item>
+        <ws-form-item label="合同单价(元/吨)" span="1" prop="unitContractPrice" v-if="deptBudgetList.priceType == '定价收购'">
+          {{ deptBudgetList.unitContractPrice }}
+        </ws-form-item>
+        <ws-form-item label="重量(吨)" span="1" prop="weight">
+          {{ deptBudgetList.weight }}
+        </ws-form-item>
+        <ws-form-item label="合同总价(元)" span="1" prop="totalContractPrice" v-if="deptBudgetList.priceType == '定价收购'">
+          {{ deptBudgetList.totalContractPrice }}
+        </ws-form-item>
+        <ws-form-item label="溢短装(%)" span="1" prop="overShort">
+          {{ deptBudgetList.overShort }}
+        </ws-form-item>
+        <ws-form-item label="签订日期" span="1" prop="signingDate">
+          {{ deptBudgetList.signingDate }}
+        </ws-form-item>
+        <ws-form-item label="最终实际交易量(吨)" span="1" prop="finalTradingVolume">
+          {{ deptBudgetList.finalTradingVolume }}
+        </ws-form-item>
+        <ws-form-item label="结算单价(元/吨)" span="1" prop="settlementPrice" >
+          {{ deptBudgetList.settlementPrice?deptBudgetList.settlementPrice:'自动结算,不可编辑'}}
+        </ws-form-item>
+      </ws-info-table>
+      <!--面试信息-->
+      <div class="remark">
+        <h3>货物信息</h3>
+      </div>
+      <ws-info-table>
+        <ws-form-item label="货名" span="1" prop="waterContent">
+          {{ deptBudgetList.contractGoodsInfo.goodsName }}
+        </ws-form-item>
+        <ws-form-item label="水分(%)<=" span="1" prop="intendedShipId">
+          {{ deptBudgetList.contractGoodsInfo.waterContent }}
+        </ws-form-item>
+        <ws-form-item label="品级" span="1" prop="grade">
+          {{ deptBudgetList.contractGoodsInfo.grade }}
+        </ws-form-item>
+        <ws-form-item label="杂质(%)<=" span="1" prop="impurity">
+          {{ deptBudgetList.contractGoodsInfo.impurity }}
+        </ws-form-item>
+        <ws-form-item label="容重(克/升)>=" span="1" prop="bulkDensity">
+          {{ deptBudgetList.contractGoodsInfo.bulkDensity }}
+        </ws-form-item>
+        <ws-form-item label="霉变粒(%)<=" span="1" prop="mildewGrain" class="result">
+          {{ deptBudgetList.contractGoodsInfo.mildewGrain }}
+        </ws-form-item>
+        <ws-form-item label="热损伤(%)<=" span="1" prop="jiaorenli">
+          {{ deptBudgetList.contractGoodsInfo.jiaorenli }}
+        </ws-form-item>
+        <ws-form-item label="不完善粒(%)<=" span="1" prop="imperfectGrain" class="result">
+          {{ deptBudgetList.contractGoodsInfo.imperfectGrain }}
+        </ws-form-item>
+      </ws-info-table>
+      <div class="remark">
+        <h3>流程信息</h3>
+      </div>
+      <ws-info-table>
+        <!--已付款(元)-->
+        <ws-form-item label="已付款(元)" span="1" prop="mildewGrain">
+          {{deptBudgetList.contractProcessInfo.mildewGrain}}
+        </ws-form-item>
+        <ws-form-item label="已开发票(元)" span="1" prop="goodsName">
+          {{ deptBudgetList.contractProcessInfo.goodsName }}
+        </ws-form-item>
+        <ws-form-item label="费用支出(元)" span="1" prop="waterContent">{{ deptBudgetList.contractProcessInfo.waterContent }}
+        </ws-form-item>
+        <ws-form-item label="未开发票(元)" span="1" prop="impurity">{{ deptBudgetList.contractProcessInfo.impurity }}
+        </ws-form-item>
+        <ws-form-item label="已完成发运量(吨)" span="1" prop="imperfectGrain" class="result">
+          {{ deptBudgetList.contractProcessInfo.imperfectGrain }}
+        </ws-form-item>
+        <ws-form-item label="双章原件回收情况" span="1" prop="grade">{{ deptBudgetList.contractProcessInfo.grade }}
+        </ws-form-item>
+      </ws-info-table>
+      <div class="remark">
+        <h3>备注信息</h3>
+      </div>
+    <div style=" color: #afb5cb;margin-left: 20px;margin-bottom: 20px;">
+        <ws-input v-model="deptBudgetList.remarks" disabled type="textarea" :row="3" autosize placeholder="暂无备注信息"
+          maxlength="200" />
+      </div>
+      <ws-upload ref="upload" :comp-id="compId" :appendix-ids="deptBudgetList.addressUrl" :editable="false"
+        accept=".jpg, .jpeg, .png, .pdf, .doc, .zip, .rar" />
+
+    </ws-form>
+
+    <div style="text-align: right; padding: 10px">
+      <el-button class="bg-bottom" type="primary" size="small" @click="reject()">驳回</el-button>
+      <el-button class="bg-bottom" type="primary" size="small" @click="pass()">通过</el-button>
+    </div>
+    <el-dialog :title="title" :visible.sync="dialogTableVisible">
+      <el-form ref="form" :model="form" label-width="80px">
+        <el-form-item :label="title">
+          <el-input size="medium" type="textarea" placeholder="请输入审核原因" maxlength="1000" show-word-limit v-model="form.auditMind"></el-input>
+        </el-form-item>
+        <el-form-item label="附件">
+          <ws-upload ref="upload" :size-limit="size"  @onChange="onChange" @uploadSuccess="uploadSuccess" :comp-id="compId" :appendix-ids="appendixIdss1"
+          accept=".jpg, .jpeg, .png, .pdf, .doc, .docx, .zip, .rar" />
+        </el-form-item>
+        <el-form-item>
+          <el-button @click="dialogTableVisible=false">取消</el-button>
+          <el-button type="primary" @click="onSubmit">确定</el-button>
+        </el-form-item>
+      </el-form>
+    </el-dialog>
+  </div>
+</template>
+<script>
+  import {
+    packList,
+    xiala,
+    examineList,
+    billoperatehis,
+  } from '@/model/contarct/index'
+  import {
+    gettaskhistories
+  } from '@/model/tasksport/index'
+  import {
+  woekflowhandle
+} from '@/model/tasksport/index'
+import WsUpload from '@/components/WsUpload'
+  export default {
+    name: 'viewSpareMoney',
+    watch: {
+      vesselId(val) {
+        this.getVesselData()
+      },
+      isShow(val) {
+        this.showType = val
+      },
+    },
+    components: {
+      WsUpload,
+    },
+    data() {
+      
+      return {
+        //弹出框
+        dialogViewSpareMoney: false,
+        dialogApproveFormVisible: false,
+        // 船舶类型
+        monetaryKey: null,
+        // 表格显示数据
+        tableDate: [],
+        // 是否显示
+        showType: true,
+        // 年
+        year: '',
+        status: '',
+        // 提交类型
+        submitType: true,
+        historyList: [],
+        tableData: [{
+          date: 1111,
+          name: 'qqqq',
+          address: 'errrtt'
+        }],
+        dialogTableVisible:false,
+        
+        ruleDeptBudget: [],
+        taskhistories: [],
+        deptBudgetList: {
+          contractProcessInfo: {},
+          contractGoodsInfo: {},
+        },
+        size: 10,
+        form:{},
+        fileList:[],
+        title:'',
+        mainReportAdd: {},
+        list: {},
+        compId: localStorage.getItem('ws-pf_compId'),
+      }
+    },
+
+    activated() {
+      this.status = this.$route.query.status
+      this.loaddata()
+      this.showType = this.isShow
+    },
+    methods: {
+      onSubmit() {
+      if (this.title == '驳回原因') {
+        woekflowhandle({
+          taskId: this.deptBudgetList.taskId,
+          approved: false,
+          auditMind: this.form.auditMind+ "##" + this.fileList.toString(),
+          needReapply: true,
+        }).toPromise()
+          .then((response) => {
+            this.$message({
+              message: '驳回成功!',
+              type: 'success',
+            })
+            this.dialogTableVisible = false
+            this.$router.go(-1)
+          }).catch((response) => {
+            this.$message({
+              message: '驳回失败!',
+              type: 'error',
+            })
+          })
+      } else {
+        woekflowhandle({
+          taskId: this.deptBudgetList.taskId,
+          approved: true,
+          auditMind: this.form.auditMind+ "##" + this.fileList.toString(),
+          needReapply: true,
+        }).toPromise()
+          .then((response) => {
+            this.$message({
+              message: '通过成功!',
+              type: 'success',
+            })
+            this.dialogTableVisible = false
+            this.$router.go(-1)
+          }).catch((response) => {
+            this.$message({
+              message: '通过失败!',
+              type: 'error',
+            })
+          })
+      }
+
+    },
+      onChange(file,fileList) {
+        for (let i = 0; i < fileList.length; i++) {
+          this.fileList.push(fileList[i].appendixPath)
+        }
+        
+        console.log(file,fileList)
+            // this.deptBudgetList.addressUrl = response
+            // this.deptBudgetList.id = this.id
+            // this.deptBudgetList.flag = 1
+            // editInfo(this.deptBudgetList)
+            //   .toPromise()
+            //   .then((response) => {
+            //     this.accessoryTFs = false
+            //     this.$message.success('上传成功')
+            //     this.getList()
+            //   })
+      },
+      reject(){
+        this.title='驳回原因'
+        this.dialogTableVisible=true
+      },
+      pass(){
+        this.title='通过原因'
+        this.dialogTableVisible=true
+      },
+      loaddata() {
+        gettaskhistories({
+            businessKey: this.$route.query.id,
+            workflowId: this.$route.query.workflowId
+          }).toPromise()
+          .then((response) => {
+            this.taskhistories = response
+          })
+        // 数据
+        examineList({
+            id: this.$route.query.id
+          })
+          .toPromise()
+          .then((response) => {
+            this.deptBudgetList = response
+            if (this.deptBudgetList.deliverType == 1) {
+              this.deptBudgetList.deliverType1 = '我方自提'
+            } else if (this.deptBudgetList.deliverType == 2) {
+              this.deptBudgetList.deliverType1 = '对方送货'
+            }
+            else if (this.deptBudgetList.deliverType == 3) {
+              this.deptBudgetList.deliverType1 = '对方送货(临时库)'
+            }
+          })
+        // 包装方式
+        packList({
+            constId: 'CON1'
+          })
+          .toPromise()
+          .then((response) => {
+            this.packtypeList = response
+          })
+        // 验收方式
+        this.getUnitList()
+        // 货名
+        packList({
+            constId: 'CON2'
+          })
+          .toPromise()
+          .then((response) => {
+            this.goodnameList = response
+          })
+        // 品级
+        packList({
+            constId: 'CON3'
+          })
+          .toPromise()
+          .then((response) => {
+            this.gradeList = response
+          })
+        // 双章
+        packList({
+            constId: 'CON4'
+          })
+          .toPromise()
+          .then((response) => {
+            this.ChapterTwoList = response
+          })
+      },
+      getUnitList() {
+        xiala({
+            compId: localStorage.getItem('ws-pf_compId'),
+            constCode: 'TYPEYAN',
+          })
+          .toPromise()
+          .then((response) => {
+            this.unitList = response
+            let currItem
+            this.unitList.forEach((item, index, arr) => {
+              item.flag = 'delete'
+              if (this.vModel == item.constKey) {
+                currItem = item
+              }
+            })
+            //
+            if (currItem) {
+              this.selectContract(currItem.constValue)
+            }
+          })
+      },
+      history(id1) {
+        billoperatehis({
+            id: id1
+          })
+          .toPromise()
+          .then((response) => {
+            this.historyList = response
+          })
+      },
+      // 关闭 dialog时 处理文件url 初始化upload组件
+      handleClose() {
+        this.dialogViewSpareMoney = false
+      },
+      returnsales() {
+        this.$router.push({
+          path: 'acquisitionContract'
+        })
+      },
+    },
+  }
+</script>
+<style lang="scss" scoped>
+  // .status-orange,
+  // .status-bule,
+  // .status-green {
+  //   border: 1px solid;
+  //   border-radius: 30px;
+  //   padding: 3px 10px;
+  //   font-size: 16px;
+  // }
+
+  // .status-orange {
+  //   border-color: #ff9f24;
+  //   color: #ff9f24;
+  //   background: #ffedd5;
+  // }
+
+  // .status-bule {
+  //   border-color: #5473e8;
+  //   color: #5473e8;
+  //   background: #f0f3fe;
+  // }
+
+  // .status-green {
+  //   border-color: #50cad4;
+  //   color: #50cad4;
+  //   background: #ecfeff;
+  // }
+
+
+  /deep/.ws-info-table .el-form-item {
+    border-right: 1px solid #cdd2dc;
+    border-bottom: 1px solid #cdd2dc;
+  }
+
+  .readonly {
+    position: relative;
+  }
+
+  .readonly:after {
+    content: '*';
+    color: #ff2727;
+    position: absolute;
+    right: 8px;
+    z-index: 10;
+    top: 21%;
+    font-size: 20px;
+  }
+
+  .title {
+    position: relative;
+  }
+
+  .title::before {
+    content: '';
+    display: inline-block;
+    width: 5px;
+    height: 30px;
+    background: #5473e8;
+    position: absolute;
+    left: 0;
+  }
+
+  .el-button--primary {
+    background-color: #5878e8;
+    border-color: #5878e8;
+  }
+
+  .el-col {
+    background: #f6f7fc;
+  }
+
+  /deep/.ws-info-table .el-form-item .el-form-item__content {
+    padding: 0 25px;
+    border-left: 1px solid #cdd2dc;
+    background: #fafbfc;
+    color: #afb5cb;
+  }
+
+  /deep/.ws-info-table .el-form-item .el-form-item__label {
+    width: 140px;
+    text-align: center;
+    background: #f0f2f6;
+    // border: 1px solid #cdd2dc;
+  }
+
+  // .button-container {
+  //   display: flex;
+  //   flex-wrap: nowrap;
+  //   justify-content: space-between;
+  //   align-items: center;
+  //   background-color: #fff;
+  //   width: 100%;
+  //   height: 50px;
+  //   padding: 0 10px;
+
+  //   &>div {
+  //     margin-left: 10px;
+  //     display: flex;
+  //     flex-wrap: nowrap;
+  //     flex-direction: row;
+
+  //     &>span {
+  //       line-height: 50px;
+  //     }
+  //   }
+
+  //   /deep/.auditFlow-box {
+  //     position: unset;
+  //     margin-left: 10px;
+
+  //     &/deep/.auditFlow-icon {
+  //       width: auto;
+  //       padding-right: 30px;
+  //     }
+
+  //     &/deep/.auditFlow-main {
+  //       position: absolute;
+  //     }
+  //   }
+  // }
+
+  // .box-app {
+  //   display: inline-block;
+  //   float: left;
+  //   margin-left: 30px;
+  //   line-height: 50px;
+  // }
+
+  /deep/.el-dialog {
+    .el-form-item {
+      margin-bottom: 0 !important;
+
+      .el-input--medium {
+        textarea {
+          min-height: 100px !important;
+        }
+      }
+    }
+  }
+
+  .collapse-bottom {
+    margin-bottom: 20px;
+  }
+
+  .input-main .textarea .el-textarea__inner {
+    width: 100%;
+    z-index: 1;
+  }
+
+  .bg-left {
+    padding-left: 30px;
+  }
+
+  .bg-right {
+    padding-right: 10px;
+    text-align: right;
+  }
+
+  .bg-bottom {
+    margin: 15px 0px;
+  }
+
+  .wenzi {
+    width: 900px;
+    margin: 0 auto;
+  }
+
+  .wenzi h3 {
+    display: inline-block;
+    left: 10px;
+  }
+
+  .wenzi p {
+    display: inline-block;
+  }
+
+  .center {
+    width: 900px;
+    margin: 0 auto;
+  }
+.ws-form.el-form{
+  padding:0 15%;
+}
+  .ws-info-table .el-form-item {
+    width: 50%;
+  }
+
+  .el-form-item__label {
+    text-align: center;
+  }
+
+  .ce {
+    width: 900px;
+    margin: 0 auto;
+  }
+
+  /*.crt-main .textarea /deep/ .el-form-item__label {*/
+  /*  height: 82px;*/
+  /*}*/
+  // 控制select为只读的时候显示样式
+
+  // .hide-sel {
+  //   .el-input__inner {
+  //     border: 0px;
+  //   }
+
+  //   .el-icon-arrow-up {
+  //     display: none;
+  //   }
+
+  //   .el-textarea__inner {
+  //     background-color: #fff !important;
+  //     border: 0;
+  //   }
+
+  //   .el-date-editor {
+  //     i {
+  //       display: none;
+  //     }
+  //   }
+
+  //   .is-disabled {
+  //     .el-input__inner:hover {
+  //       background-color: #fff !important;
+  //       border: 0;
+  //     }
+
+  //     color: #606266;
+
+  //     .el-input__inner {
+  //       background-color: #fff !important;
+  //       border: 0;
+  //       color: #606266;
+  //     }
+
+  //     .el-textarea__inner {
+  //       background-color: #fff !important;
+  //       border: 0;
+  //       color: #606266;
+  //     }
+  //   }
+  // }
+
+  // 控制select为只读的时候显示样式
+  /deep/.ws-class-table-col {
+    height: auto;
+    padding: 0px 2px;
+
+    /deep/.el-input__inner {
+      padding: 0px 2px;
+    }
+  }
+
+  /deep/.is-disabled {
+    .el-input__prefix,
+    .el-input__suffix {
+      display: none;
+    }
+
+    .el-input__inner {
+      background-color: #fff;
+      border-color: #fff !important;
+      color: #000 !important;
+      font-size: 14px;
+      cursor: text;
+      padding: 0 !important;
+    }
+  }
+
+  .winseaview-view {
+    padding: 0 0 20px;
+  }
+
+  .container {
+    overflow: scroll;
+    height: 93vh;
+  }
+
+  /deep/.ws-info-table[data-v-850a44a6] .el-form-item .el-form-item__label {
+    width: 130px;
+  }
+
+  .vertical-text-left {
+    width: 62px;
+    text-align: right;
+  }
+
+  .vertical-text {
+    margin: 0 10px;
+    color: #8890b1;
+    font-size: 12px;
+    margin-top: -4px;
+  }
+
+  .vertical-line {
+    height: 100px;
+    border-left: 2px solid #e9ecf7;
+    margin-left: 4px;
+    padding: 0 3px;
+  }
+
+  .vertical-circle {
+    width: 10px;
+    height: 10px;
+    border: 2px solid #5878e8;
+    background-color: #ffffff;
+    -webkit-border-radius: 100px;
+  }
+
+  .vertical-circle:first-child {
+    color: red;
+  }
+
+  .icon {
+    display: inline-block;
+    width: 60px;
+    background: #ecfeff;
+    border-radius: 12px;
+    border: 1px solid #50cad4;
+    position: relative;
+    font-size: 14px;
+    color: #50cad4;
+    padding: 1px 7px;
+  }
+
+  .title-top {
+    margin-top: 20px;
+    font-size: 21px;
+    font-weight: 600;
+  }
+
+  .title-number {
+    font-size: 14px;
+    font-weight: 400;
+  }
+</style>

+ 76 - 3
src/views/contractManagement/collectionContract.vue

@@ -111,9 +111,51 @@
         </template>
       </el-table-column>
       <el-table-column prop="signingDate" label="签订日期"> </el-table-column>
-      <el-table-column prop="address" label="操作" width="160">
+      <el-table-column class="handle" prop="address" label="操作" width="150">
         <template slot-scope="scope">
-          <img width="16" height="16" style="vertical-align: text-top; margin: 0 6px"
+          <el-link v-hasPermission="
+              `contractManagement.dsContract.dsContractInfo.view`
+            " target="_blank" type="primary" :underline="false" @click="handleExamine(scope.row)"
+            >查看</el-link>
+            <el-divider direction="vertical"></el-divider>
+            <el-link v-hasPermission="
+              `contractManagement.dsContract.dsContractInfo.edit`
+            " target="_blank" type="primary" :underline="false" @click="handleEdit(scope.row)"
+              :disabled="scope.row.approveStatus">编辑</el-link>
+              <el-dropdown>
+              <span class="btn_css">•••</span>
+              <el-dropdown-menu slot="dropdown">
+                <el-dropdown-item v-hasPermission="
+              `contractManagement.dsContract.dsContractInfo.delete`
+            "><el-link target="_blank" type="primary" :underline="false" @click="handleDelete(scope.row)"
+              :disabled="scope.row.approveStatus">删除</el-link>
+                </el-dropdown-item>
+                <el-dropdown-item v-hasPermission="
+              `contractManagement.dsContract.dsContractInfo.edit`
+            ">
+                  <el-link  target="_blank" type="primary" :underline="false" @click="withdraw(scope.row)"
+              :disabled="scope.row.approveStatus && scope.row.approveStatus=='发起人撤回'">撤回</el-link>
+                </el-dropdown-item>
+                <el-dropdown-item v-hasPermission="
+              `contractManagement.dsContract.dsContractInfo.list`
+            ">
+                  <el-link target="_blank" type="primary" :underline="false" @click="handleRecord(scope.row)">记录</el-link>
+                </el-dropdown-item>
+                <el-dropdown-item v-hasPermission="
+              `contractManagement.dsContract.dsContractInfo.view`
+            ">
+                  <el-link target="_blank" type="primary" :underline="false" @click="handleaudit(scope.row)"
+              :disabled="!scope.row.taskId">审核</el-link>
+                </el-dropdown-item>
+                <el-dropdown-item v-hasPermission="`contractManagement.buyContract.buyContractInfo.view`">
+                <el-link target="_blank" type="primary" :underline="false" @click="handlecost(scope.row)">费用详情</el-link>
+              </el-dropdown-item>
+              <el-dropdown-item v-hasPermission="`contractManagement.buyContract.buyContractInfo.view`">
+                <el-link target="_blank" type="primary" :underline="false" @click="handleprofit(scope.row)">利润详情</el-link>
+              </el-dropdown-item>
+              </el-dropdown-menu>
+            </el-dropdown>
+          <!-- <img width="16" height="16" style="vertical-align: text-top; margin: 0 6px"
             src="../../../public/img/chakan.png" @click="handleExamine(scope.row)" v-hasPermission="
               `contractManagement.dsContract.dsContractInfo.view`
             " alt="" />
@@ -147,7 +189,7 @@
               <div v-show="scope.row.showFlag" v-if="scope.row.approveStatus && scope.row.approveStatus!='发起人撤回'" style="display: inline-block">
                 <img width="17" height="16" style="vertical-align: text-top; margin: 0 6px" src="../../../public/img/chehui.png"
                   @click="withdraw(scope.row)" v-hasPermission="`contractManagement.dsContract.dsContractInfo.edit`" alt="" />
-              </div>
+              </div> -->
         </template>
       </el-table-column>
     </el-table>
@@ -320,6 +362,31 @@
       this.persionXiaLa()
     },
     methods: {
+      handleaudit(row) {
+      this.$router.push({
+        name: 'collectionContractAudit',
+        query: {
+          id: row.id,
+          status: row.status,
+        },
+      })
+    },
+    handlecost(row) {
+      this.$router.push({
+        name: 'expensemanagementdetails',
+        query: {
+          contractNo: row.contractNo,
+        },
+      })
+    },
+    handleprofit(row) {
+      this.$router.push({
+        name: 'contractprofits',
+        query: {
+          contractNo: row.contractNo,
+        },
+      })
+    },
       withdraw(row) {
       this.$confirm(`撤回成功后,可再次提交,确定撤回该合同吗?`, {
         cancelButtonText: '取消',
@@ -978,4 +1045,10 @@
   /deep/.typeselect .el-input__inner {
     color: #8890b1;
   }
+  .btn_css {
+    color: #409eff;
+    cursor: pointer;
+    position:relative;
+    top:2px;
+  }
 </style>

+ 760 - 0
src/views/contractManagement/collectionContractAudit.vue

@@ -0,0 +1,760 @@
+<!--采购合同查看-->
+<!--2019年5月30日 20:25:16 by jlx-->
+<template>
+  <div class="container">
+    <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>
+
+    <ws-form class="ws-form" ref="deptBudgetList" :rules="mainReportAdd" :model="deptBudgetList">
+      <div class="title-top">
+        代收合同<span class="title-number">【编号:{{ deptBudgetList.contractNo }}】</span>
+        <div class="icon" v-if="deptBudgetList.status">
+          <template>
+            <el-popover placement="right" :width="285" trigger="click" visible-arrow="false"
+              @show="history(deptBudgetList.id)">
+              <template>
+                <div slot="reference"> {{deptBudgetList.status }}</div>
+              </template>
+              <div>
+                <p style="margin-top: 0; padding-left: 10px">操作历史</p>
+                <div v-for="(item, index) in historyList" class="flex">
+                  <div class="vertical-text vertical-text-left">
+                    {{ item.updateDate }}
+                  </div>
+                  <div>
+                    <div class="vertical-circle"></div>
+                    <div v-if="index != historyList.length - 1" class="vertical-line"></div>
+                  </div>
+                  <div class="vertical-text">
+                    {{ item.operateUser }}<br />{{ item.dealMsg }}
+                  </div>
+                </div>
+              </div>
+            </el-popover>
+          </template>
+        </div>
+      </div>
+      <div class="remark">
+        <h3>基本信息</h3>
+      </div>
+      <ws-info-table>
+
+        <ws-form-item label="合同编号" span="1" prop="contractNo">
+          {{ deptBudgetList.contractNo }}
+        </ws-form-item>
+        <ws-form-item label="结算方式" span="1" prop="settlementMethod">{{ deptBudgetList.settlementMethod }}
+        </ws-form-item>
+        <ws-form-item label="买方" span="1" prop="buyer">
+          {{ deptBudgetList.buyer }}
+        </ws-form-item>
+        <ws-form-item label="溢短装(%)" span="1" prop="overShort">
+          {{ deptBudgetList.overShort }}
+        </ws-form-item>
+        <ws-form-item label="卖方" span="1" prop="seller">{{ deptBudgetList.seller }}
+        </ws-form-item>
+        <ws-form-item label="验收方式" span="1" prop="acceptanceMethod">
+          {{ deptBudgetList.acceptanceMethod }}
+        </ws-form-item>
+        <ws-form-item label="买方电话" span="1" prop="buyerPhone">{{ deptBudgetList.buyerPhone }}
+        </ws-form-item>
+        <ws-form-item label="交货日期(起)" span="1" prop="deliveryDateStart">
+          {{ deptBudgetList.deliveryDateStart }}
+        </ws-form-item>
+        <ws-form-item label="卖方电话" span="1" prop="sellerPhone">
+          {{ deptBudgetList.sellerPhone }}
+        </ws-form-item>
+        <ws-form-item label="交货日期(止)" span="1" prop="deliveryDateEnd">
+          {{ deptBudgetList.deliveryDateEnd }}
+        </ws-form-item>
+        <ws-form-item label="重量(吨)" span="1" prop="weight">
+          {{ deptBudgetList.weight }}
+        </ws-form-item>
+
+        <ws-form-item label="签订日期" span="1" prop="signingDate">
+          {{ deptBudgetList.signingDate }}
+        </ws-form-item>
+        <ws-form-item label="交货地所在地区" span="1">
+          {{ deptBudgetList.deliveryProvince }}
+          {{ deptBudgetList.deliveryCity }}
+          {{ deptBudgetList.deliveryArea }}
+        </ws-form-item>
+        <ws-form-item label="交货地详细地址" span="1" prop=" placeDelivery">
+          {{ deptBudgetList.placeDelivery }}
+        </ws-form-item>
+        <ws-form-item label="代收费(元/吨)" span="1" prop="agencyCharge">
+          {{deptBudgetList.agencyCharge}}
+        </ws-form-item>
+        <ws-form-item label="最终实际交易量(吨)" span="1" prop="finalTradingVolume">
+          {{ deptBudgetList.finalTradingVolume }}
+        </ws-form-item>
+        <ws-form-item label="代收库负责人" span="1" prop="personCharge" v-if="deptBudgetList.deliverType == 1">
+          {{ deptBudgetList.personCharge }}
+        </ws-form-item>
+        <!--客户送粮上限(元/吨)-->
+        <ws-form-item label="客户送粮上限(吨)" span="1" prop="grainDelivery">
+          {{deptBudgetList.grainDelivery}}
+        </ws-form-item>
+      </ws-info-table>
+      <div class="remark">
+        <h3>货物信息</h3>
+      </div>
+      <ws-info-table>
+        <ws-form-item label="货名" span="1" prop="waterContent">
+          {{ deptBudgetList.contractGoodsInfo.goodsName }}
+        </ws-form-item>
+        <ws-form-item label="水分(%)<=" span="1" prop="intendedShipId">
+          {{ deptBudgetList.contractGoodsInfo.waterContent }}
+        </ws-form-item>
+        <ws-form-item label="品级" span="1" prop="grade">
+          {{ deptBudgetList.contractGoodsInfo.grade }}
+        </ws-form-item>
+        <ws-form-item label="杂质(%)<=" span="1" prop="impurity">
+          {{ deptBudgetList.contractGoodsInfo.impurity }}
+        </ws-form-item>
+        <ws-form-item label="容重(克/升)>=" span="1" prop="bulkDensity">
+          {{ deptBudgetList.contractGoodsInfo.bulkDensity }}
+        </ws-form-item>
+        <ws-form-item label="霉变粒(%)<=" span="1" prop="mildewGrain" class="result">
+          {{ deptBudgetList.contractGoodsInfo.mildewGrain }}
+        </ws-form-item>
+        <ws-form-item label="热损伤(%)<=" span="1" prop="jiaorenli">
+          {{ deptBudgetList.contractGoodsInfo.jiaorenli }}
+        </ws-form-item>
+        <ws-form-item label="不完善粒(%)<=" span="1" prop="imperfectGrain" class="result">
+          {{ deptBudgetList.contractGoodsInfo.imperfectGrain }}
+        </ws-form-item>
+      </ws-info-table>
+      <div class="remark">
+        <h3>流程信息</h3>
+      </div>
+      <ws-info-table>
+        <!--已付款(元)-->
+        <ws-form-item label="已付款(元)" span="1" prop="mildewGrain">
+          {{deptBudgetList.contractProcessInfo.mildewGrain}}
+        </ws-form-item>
+        <ws-form-item label="已开销售发票(元)" span="1" prop="goodsName">
+          {{ deptBudgetList.contractProcessInfo.goodsName }}
+        </ws-form-item>
+        <ws-form-item label="费用支出(元)" span="1" prop="waterContent">{{ deptBudgetList.contractProcessInfo.waterContent }}
+        </ws-form-item>
+        <ws-form-item label="未开销售发票(元)" span="1" prop="impurity">{{ deptBudgetList.contractProcessInfo.impurity }}
+        </ws-form-item>
+       <!--未回款(元)-->
+       <ws-form-item label="未回款(元)" span="1" prop="mildewGrain">
+         {{deptBudgetList.contractProcessInfo.mildewGrain}}
+       </ws-form-item>
+        <ws-form-item label="双章原件回收情况" span="1" prop="grade">{{ deptBudgetList.contractProcessInfo.grade }}
+        </ws-form-item>
+      </ws-info-table>
+      <div class="remark">
+        <h3>备注信息</h3>
+      </div>
+      <div style=" color: #afb5cb;margin-left: 20px;">
+        <ws-input v-model="deptBudgetList.remarks" autosize disabled type="textarea" row="3" placeholder="暂无备注"
+          maxlength="3000" />
+      </div>
+      <ws-upload ref="upload" :comp-id="compId" :appendix-ids="deptBudgetList.addressUrl" :editable="false"
+        accept=".jpg, .jpeg, .png, .pdf, .doc, .zip, .rar" />
+    </ws-form>
+
+    <div style="text-align: right; padding: 10px">
+      <el-button class="bg-bottom" type="primary" size="small" @click="reject()">驳回</el-button>
+      <el-button class="bg-bottom" type="primary" size="small" @click="pass()">通过</el-button>
+    </div>
+    <el-dialog :title="title" :visible.sync="dialogTableVisible">
+      <el-form ref="form" :model="form" label-width="80px">
+        <el-form-item :label="title">
+          <el-input size="medium" type="textarea" placeholder="请输入审核原因" maxlength="1000" show-word-limit v-model="form.auditMind"></el-input>
+        </el-form-item>
+        <el-form-item label="附件">
+          <ws-upload ref="upload" :size-limit="size"  @onChange="onChange" @uploadSuccess="uploadSuccess" :comp-id="compId" :appendix-ids="appendixIdss1"
+          accept=".jpg, .jpeg, .png, .pdf, .doc, .docx, .zip, .rar" />
+        </el-form-item>
+        <el-form-item>
+          <el-button @click="dialogTableVisible=false">取消</el-button>
+          <el-button type="primary" @click="onSubmit">确定</el-button>
+        </el-form-item>
+      </el-form>
+    </el-dialog>
+  </div>
+</template>
+<script>
+  import {
+    packList,
+    xiala,
+    examineList,
+    billoperatehis,
+  } from '@/model/contarct/index'
+  import {
+    gettaskhistories
+  } from '@/model/tasksport/index'
+  import WsUpload from '@/components/WsUpload'
+  import {
+  woekflowhandle
+} from '@/model/tasksport/index'
+  export default {
+    name: 'viewSpareMoney',
+    components: {
+      WsUpload,
+    },
+    watch: {
+      vesselId(val) {
+        this.getVesselData()
+      },
+      isShow(val) {
+        this.showType = val
+      },
+    },
+    data() {
+      return {
+        //弹出框
+        dialogViewSpareMoney: false,
+        dialogApproveFormVisible: false,
+        // 船舶类型
+        monetaryKey: null,
+        // 表格显示数据
+        tableDate: [],
+        // 是否显示
+        showType: true,
+        // 年
+        year: '',
+        status: '',
+        // 提交类型
+        submitType: true,
+        historyList: [],
+        tableData: [{
+          date: 1111,
+          name: 'qqqq',
+          address: 'errrtt'
+        }],
+        ruleDeptBudget: [],
+        taskhistories: [],
+        deptBudgetList: {
+          contractProcessInfo: {},
+          contractGoodsInfo: {},
+        },
+        mainReportAdd: {},
+        list: {},
+        size: 10,
+        form:{},
+        fileList:[],
+        title:'',
+        dialogTableVisible:false,
+        compId: localStorage.getItem('ws-pf_compId'),
+      }
+    },
+
+    activated() {
+      this.status = this.$route.query.status
+      this.loaddata()
+      this.showType = this.isShow
+    },
+    methods: {
+      onSubmit() {
+      if (this.title == '驳回原因') {
+        woekflowhandle({
+          taskId: this.deptBudgetList.taskId,
+          approved: false,
+          auditMind: this.form.auditMind+ "##" + this.fileList.toString(),
+          needReapply: true,
+        }).toPromise()
+          .then((response) => {
+            this.$message({
+              message: '驳回成功!',
+              type: 'success',
+            })
+            this.dialogTableVisible = false
+            this.$router.go(-1)
+          }).catch((response) => {
+            this.$message({
+              message: '驳回失败!',
+              type: 'error',
+            })
+          })
+      } else {
+        woekflowhandle({
+          taskId: this.deptBudgetList.taskId,
+          approved: true,
+          auditMind: this.form.auditMind+ "##" + this.fileList.toString(),
+          needReapply: true,
+        }).toPromise()
+          .then((response) => {
+            this.$message({
+              message: '通过成功!',
+              type: 'success',
+            })
+            this.dialogTableVisible = false
+            this.$router.go(-1)
+          }).catch((response) => {
+            this.$message({
+              message: '通过失败!',
+              type: 'error',
+            })
+          })
+      }
+    },
+      onChange(file,fileList) {
+        for (let i = 0; i < fileList.length; i++) {
+          this.fileList.push(fileList[i].appendixPath)
+        }
+        
+        console.log(file,fileList)
+            // this.deptBudgetList.addressUrl = response
+            // this.deptBudgetList.id = this.id
+            // this.deptBudgetList.flag = 1
+            // editInfo(this.deptBudgetList)
+            //   .toPromise()
+            //   .then((response) => {
+            //     this.accessoryTFs = false
+            //     this.$message.success('上传成功')
+            //     this.getList()
+            //   })
+      },
+      reject(){
+        this.title='驳回原因'
+        this.dialogTableVisible=true
+      },
+      pass(){
+        this.title='通过原因'
+        this.dialogTableVisible=true
+      },
+      loaddata() {
+        gettaskhistories({
+            businessKey: this.$route.query.id,
+            workflowId: this.$route.query.workflowId
+          }).toPromise()
+          .then((response) => {
+            this.taskhistories = response
+          })
+        // 数据
+        examineList({
+            id: this.$route.query.id
+          })
+          .toPromise()
+          .then((response) => {
+            this.deptBudgetList = response
+            if (this.deptBudgetList.deliverType == 1) {
+              this.deptBudgetList.deliverType1 = '我方自提'
+            } else if (this.deptBudgetList.deliverType == 2) {
+              this.deptBudgetList.deliverType1 = '对方送货'
+            }
+          })
+        // 包装方式
+        packList({
+            constId: 'CON1'
+          })
+          .toPromise()
+          .then((response) => {
+            this.packtypeList = response
+          })
+        // 验收方式
+        this.getUnitList()
+        // 货名
+        packList({
+            constId: 'CON2'
+          })
+          .toPromise()
+          .then((response) => {
+            this.goodnameList = response
+          })
+        // 品级
+        packList({
+            constId: 'CON3'
+          })
+          .toPromise()
+          .then((response) => {
+            this.gradeList = response
+          })
+        // 双章
+        packList({
+            constId: 'CON4'
+          })
+          .toPromise()
+          .then((response) => {
+            this.ChapterTwoList = response
+          })
+      },
+      getUnitList() {
+        xiala({
+            compId: localStorage.getItem('ws-pf_compId'),
+            constCode: 'TYPEYAN',
+          })
+          .toPromise()
+          .then((response) => {
+            this.unitList = response
+            let currItem
+            this.unitList.forEach((item, index, arr) => {
+              item.flag = 'delete'
+              if (this.vModel == item.constKey) {
+                currItem = item
+              }
+            })
+            //
+            if (currItem) {
+              this.selectContract(currItem.constValue)
+            }
+          })
+      },
+      history(id1) {
+        billoperatehis({
+            id: id1
+          })
+          .toPromise()
+          .then((response) => {
+            this.historyList = response
+          })
+      },
+      // 关闭 dialog时 处理文件url 初始化upload组件
+      handleClose() {
+        this.dialogViewSpareMoney = false
+      },
+      returnsales() {
+        this.$router.go(-1)
+      },
+    },
+  }
+</script>
+<style lang="scss" scoped>
+  // .status-orange,
+  // .status-bule,
+  // .status-green {
+  //   border: 1px solid;
+  //   border-radius: 30px;
+  //   padding: 3px 10px;
+  //   font-size: 16px;
+  // }
+
+  // .status-orange {
+  //   border-color: #ff9f24;
+  //   color: #ff9f24;
+  //   background: #ffedd5;
+  // }
+
+  // .status-bule {
+  //   border-color: #5473e8;
+  //   color: #5473e8;
+  //   background: #f0f3fe;
+  // }
+
+  // .status-green {
+  //   border-color: #50cad4;
+  //   color: #50cad4;
+  //   background: #ecfeff;
+  // }
+
+
+  /deep/.ws-info-table .el-form-item {
+    border-right: 1px solid #cdd2dc;
+    border-bottom: 1px solid #cdd2dc;
+  }
+
+  // .readonly {
+  //   position: relative;
+  // }
+
+  // .readonly:after {
+  //   content: '*';
+  //   color: #ff2727;
+  //   position: absolute;
+  //   right: 8px;
+  //   z-index: 10;
+  //   top: 21%;
+  //   font-size: 20px;
+  // }
+
+  .title {
+    position: relative;
+  }
+
+  .title::before {
+    content: '';
+    display: inline-block;
+    width: 5px;
+    height: 30px;
+    background: #5473e8;
+    position: absolute;
+    left: 0;
+  }
+
+  .el-button--primary {
+    background-color: #5878e8;
+    border-color: #5878e8;
+  }
+
+  .el-col {
+    background: #f6f7fc;
+  }
+
+  /deep/.ws-info-table .el-form-item .el-form-item__content {
+    padding: 0 25px;
+    border-left: 1px solid #cdd2dc;
+    background: #fafbfc;
+    color: #afb5cb;
+  }
+
+  /deep/.ws-info-table .el-form-item .el-form-item__label {
+    width: 140px;
+    text-align: center;
+    background: #f0f2f6;
+    // border: 1px solid #cdd2dc;
+  }
+
+  // .button-container {
+  //   display: flex;
+  //   flex-wrap: nowrap;
+  //   justify-content: space-between;
+  //   align-items: center;
+  //   background-color: #fff;
+  //   width: 100%;
+  //   height: 50px;
+  //   padding: 0 10px;
+
+  //   &>div {
+  //     margin-left: 10px;
+  //     display: flex;
+  //     flex-wrap: nowrap;
+  //     flex-direction: row;
+
+  //     &>span {
+  //       line-height: 50px;
+  //     }
+  //   }
+
+  //   /deep/.auditFlow-box {
+  //     position: unset;
+  //     margin-left: 10px;
+
+  //     &/deep/.auditFlow-icon {
+  //       width: auto;
+  //       padding-right: 30px;
+  //     }
+
+  //     &/deep/.auditFlow-main {
+  //       position: absolute;
+  //     }
+  //   }
+  // }
+
+  .box-app {
+    display: inline-block;
+    float: left;
+    margin-left: 30px;
+    line-height: 50px;
+  }
+
+  /deep/.el-dialog {
+    .el-form-item {
+      margin-bottom: 0 !important;
+
+      .el-input--medium {
+        textarea {
+          min-height: 100px !important;
+        }
+      }
+    }
+  }
+
+  .collapse-bottom {
+    margin-bottom: 20px;
+  }
+
+  .input-main .textarea .el-textarea__inner {
+    width: 100%;
+    z-index: 1;
+  }
+
+  .bg-left {
+    padding-left: 30px;
+  }
+
+  .bg-right {
+    padding-right: 10px;
+    text-align: right;
+  }
+
+  .bg-bottom {
+    margin: 15px 0px;
+  }
+
+  .wenzi {
+    width: 900px;
+    margin: 0 auto;
+  }
+
+  .wenzi h3 {
+    display: inline-block;
+    left: 10px;
+  }
+
+  .wenzi p {
+    display: inline-block;
+  }
+
+  .center {
+    width: 900px;
+    margin: 0 auto;
+  }
+  .ws-form.el-form{
+  padding:0 15%;
+}
+  .ws-info-table .el-form-item {
+    width: 50%;
+  }
+
+  .el-form-item__label {
+    text-align: center;
+  }
+
+  .ce {
+    width: 900px;
+    margin: 0 auto;
+  }
+
+  /*.crt-main .textarea /deep/ .el-form-item__label {*/
+  /*  height: 82px;*/
+  /*}*/
+  // 控制select为只读的时候显示样式
+
+  // .hide-sel {
+  //   .el-input__inner {
+  //     border: 0px;
+  //   }
+
+  //   .el-icon-arrow-up {
+  //     display: none;
+  //   }
+
+  //   .el-textarea__inner {
+  //     background-color: #fff !important;
+  //     border: 0;
+  //   }
+
+  //   .el-date-editor {
+  //     i {
+  //       display: none;
+  //     }
+  //   }
+
+  //   .is-disabled {
+  //     .el-input__inner:hover {
+  //       background-color: #fff !important;
+  //       border: 0;
+  //     }
+
+  //     color: #606266;
+
+  //     .el-input__inner {
+  //       background-color: #fff !important;
+  //       border: 0;
+  //       color: #606266;
+  //     }
+
+  //     .el-textarea__inner {
+  //       background-color: #fff !important;
+  //       border: 0;
+  //       color: #606266;
+  //     }
+  //   }
+  // }
+
+  // 控制select为只读的时候显示样式
+  /deep/.ws-class-table-col {
+    height: auto;
+    padding: 0px 2px;
+
+    /deep/.el-input__inner {
+      padding: 0px 2px;
+    }
+  }
+
+  /deep/.is-disabled {
+    .el-input__prefix,
+    .el-input__suffix {
+      display: none;
+    }
+
+    .el-input__inner {
+      background-color: #fff;
+      border-color: #fff !important;
+      color: #000 !important;
+      font-size: 14px;
+      cursor: text;
+      padding: 0 !important;
+    }
+  }
+
+  .winseaview-view {
+    padding: 0 0 20px;
+  }
+
+  .container {
+    overflow: scroll;
+    height: 93vh;
+  }
+
+  /deep/.ws-info-table[data-v-850a44a6] .el-form-item .el-form-item__label {
+    width: 130px;
+  }
+
+  .vertical-text-left {
+    width: 62px;
+    text-align: right;
+  }
+
+  .vertical-text {
+    margin: 0 10px;
+    color: #8890b1;
+    font-size: 12px;
+    margin-top: -4px;
+  }
+
+  .vertical-line {
+    height: 100px;
+    border-left: 2px solid #e9ecf7;
+    margin-left: 4px;
+    padding: 0 3px;
+  }
+
+  .vertical-circle {
+    width: 10px;
+    height: 10px;
+    border: 2px solid #5878e8;
+    background-color: #ffffff;
+    -webkit-border-radius: 100px;
+  }
+
+  .vertical-circle:first-child {
+    color: red;
+  }
+
+  .icon {
+    display: inline-block;
+    width: 60px;
+    background: #ecfeff;
+    border-radius: 12px;
+    border: 1px solid #50cad4;
+    position: relative;
+    font-size: 14px;
+    color: #50cad4;
+    padding: 1px 7px;
+  }
+
+  .title-top {
+    margin-top: 20px;
+    font-size: 21px;
+    font-weight: 600;
+  }
+
+  .title-number {
+    font-size: 14px;
+    font-weight: 400;
+  }
+</style>

+ 85 - 0
src/views/contractManagement/component/routers/route.js

@@ -61,6 +61,23 @@ const contractManagementRouter = {
       },
       hidden: true
     },
+    //现货采购合同审核
+    {
+      path: 'purchaseContractAudit',
+      component: () =>
+        import(/* webpackChunkName: "applDetail" */ '@/views/contractManagement/purchaseContractAudit'),
+      name: 'purchaseContractAudit',
+      meta: {
+        title: 'purchaseContractAudit',
+        shortcutEntrance: 'contractManagement',
+        module: 'contractManagement.buyContract.buyContractInfo.view',
+        permissicon: [],
+        keepAlive: true,
+        _title:'采购合同审核'
+        // module: 'procurement.sparepart.applDetail'
+      },
+      hidden: true
+    },
     //现货采购合同编辑
     {
       path: 'purchaseContractEdit',
@@ -213,6 +230,23 @@ const contractManagementRouter = {
       },
       hidden: true
     },
+    //现货销售合同审核
+    {
+      path: 'salesContractAudit',
+      component: () =>
+        import(/* webpackChunkName: "applDetail" */ '@/views/contractManagement/salesContractAudit'),
+      name: 'salesContractAudit',
+      meta: {
+        title: 'salesContractAudit',
+        shortcutEntrance: 'contractManagement',
+        module: 'contractManagement.salesContract.salesContractInfo.view',
+        permissicon: [],
+        keepAlive: true,
+        _title:'销售合同审核'
+        // module: 'procurement.sparepart.applDetail'
+      },
+      hidden: true
+    },
     //现货销售合同编辑
     {
       path: 'salesContractEdit',
@@ -279,6 +313,23 @@ const contractManagementRouter = {
       },
       hidden: true
     },
+    //收购合同审核
+    {
+      path: 'acquisitionContractAudit',
+      component: () =>
+        import(/* webpackChunkName: "applDetail" */ '@/views/contractManagement/acquisitionContractAudit'),
+      name: 'acquisitionContractAudit',
+      meta: {
+        title: 'acquisitionContractAudit',
+        shortcutEntrance: 'contractManagement',
+        module: 'contractManagement.buyContract.buyContractInfo.view',
+        permissicon: [],
+        keepAlive: true,
+        _title:'收购合同审核'
+        // module: 'procurement.sparepart.applDetail'
+      },
+      hidden: true
+    },
     //收购合同编辑
     {
       path: 'acquisitionContractEdit',
@@ -498,6 +549,23 @@ const contractManagementRouter = {
       },
       hidden: true
     },
+    //代收合同审核
+    {
+      path: 'collectionContractAudit',
+      component: () =>
+        import(/* webpackChunkName: "applDetail" */ '@/views/contractManagement/collectionContractAudit'),
+      name: 'collectionContractAudit',
+      meta: {
+        title: 'collectionContractAudit',
+        shortcutEntrance: 'contractManagement',
+        module: 'contractManagement.dsContract.dsContractInfo.view',
+        permissicon: [],
+        keepAlive: true,
+        _title:'代收合同审核'
+        // module: 'procurement.sparepart.applDetail'
+      },
+      hidden: true
+    },
     //代收合同记录
     {
       path: 'collectionContractRecord',
@@ -579,6 +647,23 @@ const contractManagementRouter = {
         // module: 'procurement.sparepart.applDetail'
       },
       hidden: true
+    },
+     //代储合同审核
+     {
+      path: 'storageContractAudit',
+      component: () =>
+        import(/* webpackChunkName: "applDetail" */ '@/views/contractManagement/storageContractAudit'),
+      name: 'storageContractAudit',
+      meta: {
+        title: 'storageContractAudit',
+        shortcutEntrance: 'contractManagement',
+        module: 'contractManagement.dcContract.dcContractInfo.view',
+        permissicon: [],
+        keepAlive: true,
+        _title:'代储合同查看'
+        // module: 'procurement.sparepart.applDetail'
+      },
+      hidden: true
     },
     //代储合同记录
     {

+ 107 - 44
src/views/contractManagement/purchaseContract.vue

@@ -181,7 +181,7 @@
           </span>
         </template>
       </el-table-column>
-      <el-table-column prop="address" label="操作" width="160">
+      <el-table-column prop="address" label="操作" width="150">
         <template slot-scope="scope">
           <!-- <img width="16" height="17" style="
                 vertical-align: text-top;
@@ -192,35 +192,46 @@
                v-hasPermission="
               `contractManagement.nonContract.nonContractInfo.view`"
              @click="handlecost(scope.row)" alt="" /> -->
-
-          <img width="16" height="16" style="vertical-align: text-top; margin: 0 6px"
-            src="../../../public/img/chakan.png" @click="handleExamine(scope.row)" v-hasPermission="
+             <el-link v-hasPermission="
               `contractManagement.buyContract.buyContractInfo.view`
-            " alt="" />
-          <div v-if="
-            (scope.row.approveStatus != '待决策人审核' &&
-              !scope.row.approveStatus || scope.row.approveStatus == '发起人撤回')
-          " style="display: inline-block">
-            <img width="17" height="16" style="vertical-align: text-top; margin: 0 6px"
-              src="../../../public/img/bianji.png" @click="handleEdit(scope.row)" v-hasPermission="
-                `contractManagement.buyContract.buyContractInfo.edit`
-              " alt="" />
-          </div>
-          <img width="16" height="17" style="
-              vertical-align: text-top;
-              position: relative;
-              top: -1px;
-              margin: 0 6px;
-            " v-if="scope.row.status == '待执行' && !scope.row.approveStatus || scope.row.status == '已驳回'"
-            src="../../../public/img/shanchu.png" v-hasPermission="
+            " target="_blank" type="primary" :underline="false" @click="handleExamine(scope.row)"
+            >查看</el-link>
+            <el-divider direction="vertical"></el-divider>
+            <el-link v-hasPermission="
+              `contractManagement.buyContract.buyContractInfo.edit`
+            " target="_blank" type="primary" :underline="false" @click="handleEdit(scope.row)"
+              :disabled="(scope.row.approveStatus!=null)">编辑</el-link>
+              <el-dropdown>
+              <span class="btn_css">•••</span>
+              <el-dropdown-menu slot="dropdown">
+                <el-dropdown-item v-hasPermission="
               `contractManagement.buyContract.buyContractInfo.delete`
-            " @click="handleDelete(scope.row)" alt="" />
-                         <div v-show="scope.row.showFlag" v-if="scope.row.approveStatus && scope.row.approveStatus!='发起人撤回'" style="display: inline-block">
-              <img width="17" height="16" style="vertical-align: text-top; margin: 0 6px" src="../../../public/img/chehui.png"
-                @click="withdraw(scope.row)" v-hasPermission="
-                            `contractManagement.buyContract.buyContractInfo.edit`
-                          " alt="" />
-            </div>
+            "><el-link target="_blank" type="primary" :underline="false" @click="handleDelete(scope.row)"
+              :disabled="(scope.row.approveStatus!=null)">删除</el-link>
+                </el-dropdown-item>
+                <el-dropdown-item v-hasPermission="
+              `contractManagement.buyContract.buyContractInfo.edit`
+            ">
+                  <el-link  target="_blank" type="primary" :underline="false" @click="withdraw(scope.row)"
+              :disabled="scope.row.approveStatus && scope.row.approveStatus=='发起人撤回'">撤回</el-link>
+                </el-dropdown-item>
+                <el-dropdown-item v-hasPermission="
+              `contractManagement.buyContract.buyContractInfo.view`
+            ">
+                  <el-link target="_blank" type="primary" :underline="false" @click="handleaudit(scope.row)"
+              :disabled="!scope.row.taskId">审核</el-link>
+                </el-dropdown-item>
+              <el-dropdown-item v-hasPermission="`contractManagement.buyContract.buyContractInfo.view`">
+                <el-link target="_blank" type="primary" :underline="false" @click="handlecost(scope.row)">费用详情</el-link>
+              </el-dropdown-item>
+              <el-dropdown-item v-hasPermission="`contractManagement.buyContract.buyContractInfo.view`">
+                <el-link target="_blank" type="primary" :underline="false" @click="handleprofit(scope.row)">利润详情</el-link>
+              </el-dropdown-item>
+              <el-dropdown-item v-hasPermission="`contractManagement.buyContract.buyContractInfo.view`">
+                <el-link :disabled="scope.row.amountEdPayable=='他运'" target="_blank" type="primary" :underline="false" @click="handletransport(scope.row)">运输详情</el-link>
+              </el-dropdown-item>
+              </el-dropdown-menu>
+            </el-dropdown>
             <!-- <ws-button v-if="scope.row.approveStatus && scope.row.approveStatus!='发起人撤回'" type="primary" @click="withdraw(scope.row)" >撤回</ws-button> -->
         </template>
       </el-table-column>
@@ -242,18 +253,16 @@
         accept=".jpg, .jpeg, .png, .pdf, .doc, .zip, .rar" />
     </WinseaContentModal>
     <!-- 结算单 -->
-    <WinseaContentModal v-model="countMoney" title="结算单信息"
+    <!-- <WinseaContentModal v-model="countMoney" title="结算单信息"
       @on-cancel="handleClose">
-      <div v-if="jiestatus">
+      <div v-if="jiesuanstatus">
         <ws-upload ref="upload" :size-limit="size" @onChange="onChange1" :comp-id="compId" :appendix-ids="appendixIdss"
           accept=".jpg, .jpeg, .png, .pdf, .doc, .docx, .zip, .rar"
           v-hasPermission="`contractManagement.buyContract.buyContractInfo.jiedan`" />
-     <!-- <div>1111{{appendixIdss}}</div>  -->
-
       </div>
       <ws-upload v-else ref="upload" :comp-id="compId" :appendix-ids="appendixIdss" :editable="false"
         accept=".jpg, .jpeg, .png, .pdf, .doc, .zip, .rar" />
-    </WinseaContentModal>
+    </WinseaContentModal> -->
      <!-- 上传已开发票  -->
      <WinseaContentModal v-model="invoiceSwitch" title="发票信息"
       @on-cancel="handleClose">
@@ -282,6 +291,9 @@ import {
 import {
   downloadFile
 } from '@/utils/batchDown'
+import {
+    gettask,
+  } from '@/model/outboundManagement/index'
 import { allRoles } from '@/utils/util'
 import { hasPermission } from '../../utils/getHasPermission'
 import Pagination from '@/components/Pagination'
@@ -485,17 +497,17 @@ export default {
           })
       })
     },
-    handlecost(row) {
-      this.$router.push({
-        name: 'buyContractcost',
-        query: {
-          id: row.id,
-          contractNo: row.contractNo,
-          status: row.status,
-          seller: row.seller
-        },
-      })
-    },
+    // handlecost(row) {
+    //   this.$router.push({
+    //     name: 'buyContractcost',
+    //     query: {
+    //       id: row.id,
+    //       contractNo: row.contractNo,
+    //       status: row.status,
+    //       seller: row.seller
+    //     },
+    //   })
+    // },
     onChange() {
       this.$refs.upload
         .handleSaveBill()
@@ -808,6 +820,51 @@ export default {
         },
       })
     },
+    handleaudit(row) {
+      this.$router.push({
+        name: 'purchaseContractAudit',
+        query: {
+          id: row.id,
+          status: row.status,
+        },
+      })
+    },
+    handlecost(row) {
+      this.$router.push({
+        name: 'expensemanagementdetails',
+        query: {
+          contractNo: row.contractNo,
+        },
+      })
+    },
+    handleprofit(row) {
+      this.$router.push({
+        name: 'contractprofits',
+        query: {
+          contractNo: row.contractNo,
+        },
+      })
+    },
+    async handletransport(row) {
+  gettask({contractNo:row.contractNo,compId:localStorage.getItem('ws-pf_compId')}).toPromise().then((response) => {
+                console.log(response,111111111111)
+        if(!response||response==0){
+          this.$message({
+            message: '联系内勤创建运输任务',
+            type: 'warning',
+                      
+          });
+        }else{
+          this.$router.push({
+            name: 'autoSettlementList',
+            query: {
+              contractNo: row.contractNo,
+            },
+          })
+        }
+      })
+    },
+    
     // 关闭 dialog时 处理文件url 初始化upload组件
     history(row) {
       console.log(row)
@@ -1247,4 +1304,10 @@ export default {
   color: #8890b1;
   width: 100%;
 }
+.btn_css {
+    color: #409eff;
+    cursor: pointer;
+    position:relative;
+    top:2px;
+  }
 </style>

+ 852 - 0
src/views/contractManagement/purchaseContractAudit.vue

@@ -0,0 +1,852 @@
+<!--采购合同查看-->
+<!--2019年5月30日 20:25:16 by jlx-->
+<template>
+  <div class="container">
+    <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>
+
+    <ws-form class="ws-form" ref="deptBudgetList" :rules="mainReportAdd" :model="deptBudgetList">
+      <div class="title-top">
+        采购合同<span class="title-number">【编号:{{ deptBudgetList.contractNo }}】</span>
+        <div class="icon" v-if="deptBudgetList.status">
+          <template>
+            <el-popover placement="right" :width="285" trigger="click" visible-arrow="false"
+              @show="history(deptBudgetList.id)">
+              <template>
+                <div slot="reference"> {{deptBudgetList.status }}</div>
+              </template>
+              <div>
+                <p style="margin-top: 0; padding-left: 10px">操作历史</p>
+                <div v-for="(item, index) in historyList" class="flex">
+                  <div class="vertical-text vertical-text-left">
+                    {{ item.updateDate }}
+                  </div>
+                  <div>
+                    <div class="vertical-circle"></div>
+                    <div v-if="index != historyList.length - 1" class="vertical-line"></div>
+                  </div>
+                  <div class="vertical-text">
+                    {{ item.operateUser }}<br />{{ item.dealMsg }}
+                  </div>
+                </div>
+              </div>
+            </el-popover>
+          </template>
+        </div>
+      </div>
+      <div class="remark">
+        <h3>基本信息</h3>
+      </div>
+      <ws-info-table>
+        <ws-form-item label="合同类型" span="1" prop="agreementType">
+          {{ deptBudgetList.agreementType }}
+        </ws-form-item>
+        <ws-form-item label="合同编号" v-if="deptBudgetList.agreementType=='采购合同'" span="1" prop="contractNo">
+          {{ deptBudgetList.contractNo }}
+        </ws-form-item>
+        <ws-form-item label="交易主体" span="1" prop="transactionSubject" class="readonly">
+          {{deptBudgetList.transactionSubject}}
+        </ws-form-item>
+        <ws-form-item  v-if="deptBudgetList.transactionSubject == '合营'" class="readonly" label="合营方" span="1" prop="seller">{{ deptBudgetList.jointVentureParties }}
+        </ws-form-item>
+        <ws-form-item v-if="deptBudgetList.transactionSubject == '合营'" label="合营方电话" span="1" prop="jointPhone">
+          {{deptBudgetList.jointPhone}}
+        </ws-form-item>
+        <ws-form-item v-if="deptBudgetList.transactionSubject == '合营'" label="合营加价" span="1" prop="seller" class="readonly">
+          {{ deptBudgetList.jointVentureMarkup }}
+        </ws-form-item>
+        <ws-form-item label="关联合同" v-if="deptBudgetList.agreementType=='补充协议'" span="1" prop="agreementNo">
+          {{ deptBudgetList.agreementNo }}
+        </ws-form-item>
+        <ws-form-item label="补充协议编号" v-if="deptBudgetList.agreementType=='补充协议'" span="1" prop="contractNo">
+          {{ deptBudgetList.contractNo }}
+        </ws-form-item>
+        
+        <ws-form-item label="运输方式" span="1" prop="shippingType">
+          {{ deptBudgetList.shippingType }}
+        </ws-form-item>
+        <ws-form-item label="买方" span="1" prop="buyer">
+          {{ deptBudgetList.buyer }}
+        </ws-form-item>
+        <ws-form-item label="结算方式" span="1" prop="settlementMethod">{{ deptBudgetList.settlementMethod }}
+        </ws-form-item>
+        <ws-form-item label="卖方" span="1" prop="seller">{{ deptBudgetList.seller }}
+        </ws-form-item>
+        <ws-form-item label="交货方式" span="1" prop="deliverType1">{{ deptBudgetList.deliverType1 }}
+        </ws-form-item>
+        <ws-form-item label="买方电话" span="1" prop="buyerPhone">{{ deptBudgetList.buyerPhone }}
+        </ws-form-item>
+         <ws-form-item label="发货反馈负责人" span="1" prop="feedbackLeader" v-if="deptBudgetList.deliverType1 == '对方送货'">{{ deptBudgetList.feedbackLeader }}
+        </ws-form-item>
+        <ws-form-item label="包装方式" span="1" prop="packingMethod">
+          {{ deptBudgetList.packingMethod }}
+        </ws-form-item>
+        <ws-form-item label="卖方电话" span="1" prop="sellerPhone">
+          {{ deptBudgetList.sellerPhone }}
+        </ws-form-item>
+        <ws-form-item label="验收方式" span="1" prop="acceptanceMethod">
+          {{ deptBudgetList.acceptanceMethod }}
+        </ws-form-item>
+        <ws-form-item label="重量(吨)" span="1" prop="weight">
+          {{ deptBudgetList.weight }}
+        </ws-form-item>
+        <ws-form-item label="交货日期(起)" span="1" prop="deliveryDateStart">
+          {{ deptBudgetList.deliveryDateStart }}
+        </ws-form-item>
+        <ws-form-item label="溢短装(%)" span="1" prop="overShort">
+          {{ deptBudgetList.overShort }}
+        </ws-form-item>
+        <ws-form-item label="交货日期(止)" span="1" prop="deliveryDateEnd">
+          {{ deptBudgetList.deliveryDateEnd }}
+        </ws-form-item>
+        <ws-form-item label="价格类型" span="1" prop="priceType">
+          {{ deptBudgetList.priceType }}
+        </ws-form-item>
+        <ws-form-item label="合同单价(元/吨)" span="1" prop="unitContractPrice" v-if="deptBudgetList.priceType == '定价采购'">
+          {{ deptBudgetList.unitContractPrice }}
+        </ws-form-item>
+        <ws-form-item label="合同总价(元)" span="1" prop="totalContractPrice" v-if="deptBudgetList.priceType == '定价采购'">
+          {{ deptBudgetList.totalContractPrice }}
+        </ws-form-item>
+        <ws-form-item label="货源所在地区" span="1">
+          {{ deptBudgetList.sourceProvince }}
+          {{ deptBudgetList.sourceCity }}
+          {{ deptBudgetList.sourceArea }}
+        </ws-form-item>
+        <ws-form-item label="货源详细地址" span="1" prop="sourceGoods">
+          {{ deptBudgetList.sourceGoods }}
+        </ws-form-item>
+        <ws-form-item label="交货地所在地区" span="1">
+          {{ deptBudgetList.deliveryProvince }}
+          {{ deptBudgetList.deliveryCity }}
+          {{ deptBudgetList.deliveryArea }}
+        </ws-form-item>
+        <ws-form-item label="交货地详细地址" span="1" prop=" placeDelivery">
+          {{ deptBudgetList.placeDelivery }}
+        </ws-form-item>
+        <ws-form-item label="签订日期" span="1" prop="signingDate">
+          {{ deptBudgetList.signingDate }}
+        </ws-form-item>
+        <ws-form-item label="最终实际交易量(吨)" span="1" prop="finalTradingVolume">
+          {{ deptBudgetList.finalTradingVolume }}
+        </ws-form-item>
+        <ws-form-item label="临时仓库负责人" span="1" prop="personCharge" v-if="deptBudgetList.deliverType != 2">
+          {{ deptBudgetList.personCharge }}
+        </ws-form-item>
+        <ws-form-item class="readonly" label="结算重量方式" span="1" prop="settlementWeightMethod" v-if="deptBudgetList.deliverType==1">
+          {{ deptBudgetList.settlementWeightMethod==1?'按出库重量结算':'按入库重量结算' }}
+        </ws-form-item>
+        <ws-form-item label="结算单价(元/吨)" span="1" prop="settlementPrice" >
+          {{ deptBudgetList.settlementPrice?deptBudgetList.settlementPrice:'自动结算,不可编辑'}}
+        </ws-form-item>
+      </ws-info-table>
+      <!--面试信息-->
+      <div class="remark">
+        <h3>货物信息</h3>
+      </div>
+      <ws-info-table>
+        <ws-form-item label="货名" span="1" prop="waterContent">
+          {{ deptBudgetList.contractGoodsInfo.goodsName }}
+        </ws-form-item>
+        <ws-form-item label="水分(%)<=" span="1" prop="intendedShipId">
+          {{ deptBudgetList.contractGoodsInfo.waterContent }}
+        </ws-form-item>
+        <ws-form-item label="品级" span="1" prop="grade">
+          {{ deptBudgetList.contractGoodsInfo.grade }}
+        </ws-form-item>
+        <ws-form-item label="杂质(%)<=" span="1" prop="impurity">
+          {{ deptBudgetList.contractGoodsInfo.impurity }}
+        </ws-form-item>
+        <ws-form-item label="容重(克/升)>=" span="1" prop="bulkDensity">
+          {{ deptBudgetList.contractGoodsInfo.bulkDensity }}
+        </ws-form-item>
+        <ws-form-item label="霉变粒(%)<=" span="1" prop="mildewGrain" class="result">
+          {{ deptBudgetList.contractGoodsInfo.mildewGrain }}
+        </ws-form-item>
+        <ws-form-item label="热损伤(%)<=" span="1" prop="jiaorenli">
+          {{ deptBudgetList.contractGoodsInfo.jiaorenli }}
+        </ws-form-item>
+        <ws-form-item label="不完善粒(%)<=" span="1" prop="imperfectGrain" class="result">
+          {{ deptBudgetList.contractGoodsInfo.imperfectGrain }}
+        </ws-form-item>
+      </ws-info-table>
+      <div class="remark">
+        <h3>流程信息</h3>
+      </div>
+      <ws-info-table>
+        <!--已付款(元)-->
+        <ws-form-item label="已付款(元)" span="1" prop="mildewGrain">
+          {{deptBudgetList.contractProcessInfo.mildewGrain}}
+        </ws-form-item>
+        <ws-form-item label="已开发票(元)" span="1" prop="goodsName">
+          {{ deptBudgetList.contractProcessInfo.goodsName }}
+        </ws-form-item>
+        <ws-form-item label="费用支出(元)" span="1" prop="waterContent">{{ deptBudgetList.contractProcessInfo.waterContent }}
+        </ws-form-item>
+        <ws-form-item label="未开发票(元)" span="1" prop="impurity">{{ deptBudgetList.contractProcessInfo.impurity }}
+        </ws-form-item>
+        <ws-form-item label="已完成发运量(吨)" span="1" prop="imperfectGrain" class="result">
+          {{ deptBudgetList.contractProcessInfo.imperfectGrain }}
+        </ws-form-item>
+        <ws-form-item label="双章原件回收情况" span="1" prop="grade">{{ deptBudgetList.contractProcessInfo.grade }}
+        </ws-form-item>
+      </ws-info-table>
+      <div class="remark">
+        <h3>备注信息</h3>
+      </div>
+    <div style=" color: #afb5cb;margin-left: 20px;margin-bottom: 20px;">
+        <!-- {{ deptBudgetList.remarks }} -->
+        <ws-input v-model="deptBudgetList.remarks" disabled type="textarea" autosize row="3" placeholder="暂无备注信息"
+        maxlength="3000" />
+      </div>
+      <ws-upload ref="upload" :comp-id="compId" :appendix-ids="deptBudgetList.addressUrl" :editable="false"
+        accept=".jpg, .jpeg, .png, .pdf, .doc, .zip, .rar" />
+
+    </ws-form>
+    <WinseaContentModal v-model="accessoryTFs" :title="$t('system.noticeCircular.information')"
+      @on-cancel="handleClose">
+      <div v-for="item in appendixIdss">
+        <el-image 
+        style="width: 100px; height: 100px"
+        :src="item" 
+        :preview-src-list="appendixIdss">
+      </el-image>
+      </div>
+    </WinseaContentModal>
+    <div style="text-align: right; padding: 10px">
+      <el-button class="bg-bottom" type="primary" size="small" @click="reject()">驳回</el-button>
+      <el-button class="bg-bottom" type="primary" size="small" @click="pass()">通过</el-button>
+    </div>
+    <el-dialog :title="title" :visible.sync="dialogTableVisible">
+      <el-form ref="form" :model="form" label-width="80px">
+        <el-form-item :label="title">
+          <el-input size="medium" type="textarea" placeholder="请输入审核原因" maxlength="1000" show-word-limit v-model="form.auditMind"></el-input>
+        </el-form-item>
+        <el-form-item label="附件">
+          <ws-upload ref="upload" :size-limit="size"  @onChange="onChange" @uploadSuccess="uploadSuccess" :comp-id="compId" :appendix-ids="appendixIdss1"
+          accept=".jpg, .jpeg, .png, .pdf, .doc, .docx, .zip, .rar" />
+        </el-form-item>
+        <el-form-item>
+          <el-button @click="dialogTableVisible=false">取消</el-button>
+          <el-button type="primary" @click="onSubmit">确定</el-button>
+        </el-form-item>
+      </el-form>
+    </el-dialog>
+  </div>
+</template>
+<script>
+  import {
+    packList,
+    xiala,
+    examineList,
+    billoperatehis,
+  } from '@/model/contarct/index'
+  import WsUpload from '@/components/WsUpload'
+  import {
+  woekflowhandle
+} from '@/model/tasksport/index'
+  import {
+    gettaskhistories
+  } from '@/model/tasksport/index'
+  export default {
+    name: 'viewSpareMoney',
+    components: {
+      WsUpload,
+    },
+    watch: {
+      vesselId(val) {
+        this.getVesselData()
+      },
+      isShow(val) {
+        this.showType = val
+      },
+    },
+    data() {
+      return {
+        //弹出框
+        dialogViewSpareMoney: false,
+        dialogApproveFormVisible: false,
+        // 船舶类型
+        monetaryKey: null,
+        // 表格显示数据
+        tableDate: [],
+        size: 10,
+        // 是否显示
+        showType: true,
+        // 年
+        year: '',
+        status: '',
+        appendixIdss1:'',
+        data:{companyId: localStorage.getItem('ws-pf_compId'),
+							modelId: '',
+							vesselId: ''},
+        // 提交类型
+        submitType: true,
+        historyList: [],
+        tableData: [{
+          date: 1111,
+          name: 'qqqq',
+          address: 'errrtt'
+        }],
+        form:{},
+        ruleDeptBudget: [],
+        taskhistories: [],
+        deptBudgetList: {
+          contractProcessInfo: {},
+          contractGoodsInfo: {},
+        },
+        accessoryTFs:false,
+        appendixIdss:[],
+        mainReportAdd: {},
+        list: {},
+        title:'',
+        fileList:[],
+        dialogTableVisible:false,
+        compId: localStorage.getItem('ws-pf_compId'),
+      }
+    },
+
+    activated() {
+      this.status = this.$route.query.status
+      this.loaddata()
+      this.showType = this.isShow
+    },
+    methods: {
+      onSubmit() {
+      if (this.title == '驳回原因') {
+        woekflowhandle({
+          taskId: this.deptBudgetList.taskId,
+          approved: false,
+          auditMind: this.form.auditMind+ "##" + this.fileList.toString(),
+          needReapply: true,
+        }).toPromise()
+          .then((response) => {
+            this.$message({
+              message: '驳回成功!',
+              type: 'success',
+            })
+            this.dialogTableVisible = false
+            this.$router.go(-1)
+          }).catch((response) => {
+            this.$message({
+              message: '驳回失败!',
+              type: 'error',
+            })
+          })
+      } else {
+        woekflowhandle({
+          taskId: this.deptBudgetList.taskId,
+          approved: true,
+          auditMind: this.form.auditMind+ "##" + this.fileList.toString(),
+          needReapply: true,
+        }).toPromise()
+          .then((response) => {
+            this.$message({
+              message: '通过成功!',
+              type: 'success',
+            })
+            this.dialogTableVisible = false
+            this.$router.go(-1)
+          }).catch((response) => {
+            this.$message({
+              message: '通过失败!',
+              type: 'error',
+            })
+          })
+      }
+
+    },
+      onChange(file,fileList) {
+        for (let i = 0; i < fileList.length; i++) {
+          this.fileList.push(fileList[i].appendixPath)
+        }
+        
+        console.log(file,fileList)
+            // this.deptBudgetList.addressUrl = response
+            // this.deptBudgetList.id = this.id
+            // this.deptBudgetList.flag = 1
+            // editInfo(this.deptBudgetList)
+            //   .toPromise()
+            //   .then((response) => {
+            //     this.accessoryTFs = false
+            //     this.$message.success('上传成功')
+            //     this.getList()
+            //   })
+      },
+      reject(){
+        this.title='驳回原因'
+        this.dialogTableVisible=true
+      },
+      pass(){
+        this.title='通过原因'
+        this.dialogTableVisible=true
+      },
+      fujian(row) {
+      this.id = row.id
+      this.accessoryTFs = true
+      this.appendixIdss = row.auditImg
+      console.log(this.appendixIdss)
+    },
+    handleCloseq() {
+        this.accessoryTFs = false
+      },
+      loaddata() {
+        // 数据
+        examineList({
+            id: this.$route.query.id
+          })
+          .toPromise()
+          .then((response) => {
+            this.deptBudgetList = response
+            if (this.deptBudgetList.deliverType == 1) {
+              this.deptBudgetList.deliverType1 = '我方自提'
+            } else if (this.deptBudgetList.deliverType == 2) {
+              this.deptBudgetList.deliverType1 = '对方送货'
+            }
+            else if (this.deptBudgetList.deliverType == 3) {
+              this.deptBudgetList.deliverType1 = '对方送货(临时库)'
+            }
+          })
+        // 包装方式
+        packList({
+            constId: 'CON1'
+          })
+          .toPromise()
+          .then((response) => {
+            this.packtypeList = response
+          })
+        // 验收方式
+        this.getUnitList()
+        // 货名
+        packList({
+            constId: 'CON2'
+          })
+          .toPromise()
+          .then((response) => {
+            this.goodnameList = response
+          })
+        // 品级
+        packList({
+            constId: 'CON3'
+          })
+          .toPromise()
+          .then((response) => {
+            this.gradeList = response
+          })
+        // 双章
+        packList({
+            constId: 'CON4'
+          })
+          .toPromise()
+          .then((response) => {
+            this.ChapterTwoList = response
+          })
+      },
+      getUnitList() {
+        xiala({
+            compId: localStorage.getItem('ws-pf_compId'),
+            constCode: 'TYPEYAN',
+          })
+          .toPromise()
+          .then((response) => {
+            this.unitList = response
+            let currItem
+            this.unitList.forEach((item, index, arr) => {
+              item.flag = 'delete'
+              if (this.vModel == item.constKey) {
+                currItem = item
+              }
+            })
+            //
+            if (currItem) {
+              this.selectContract(currItem.constValue)
+            }
+          })
+      },
+      history(id1) {
+        billoperatehis({
+            id: id1
+          })
+          .toPromise()
+          .then((response) => {
+            this.historyList = response
+          })
+      },
+      // 关闭 dialog时 处理文件url 初始化upload组件
+      handleClose() {
+        this.dialogViewSpareMoney = false
+      },
+      returnsales() {
+        this.$router.go(-1)
+      },
+    },
+  }
+</script>
+<style lang="scss" scoped>
+  // .status-orange,
+  // .status-bule,
+  // .status-green {
+  //   border: 1px solid;
+  //   border-radius: 30px;
+  //   padding: 3px 10px;
+  //   font-size: 16px;
+  // }
+
+  // .status-orange {
+  //   border-color: #ff9f24;
+  //   color: #ff9f24;
+  //   background: #ffedd5;
+  // }
+
+  // .status-bule {
+  //   border-color: #5473e8;
+  //   color: #5473e8;
+  //   background: #f0f3fe;
+  // }
+
+  // .status-green {
+  //   border-color: #50cad4;
+  //   color: #50cad4;
+  //   background: #ecfeff;
+  // }
+  .ws-form.el-form{
+  padding:0 15%;
+}
+  .ws-info-table .el-form-item {
+    width: 50%;
+  }
+  /deep/.ws-info-table .el-form-item {
+    border-right: 1px solid #cdd2dc;
+    border-bottom: 1px solid #cdd2dc;
+  }
+
+  .readonly {
+    position: relative;
+  }
+
+  .readonly:after {
+    content: '*';
+    color: #ff2727;
+    position: absolute;
+    right: 8px;
+    z-index: 10;
+    top: 21%;
+    font-size: 20px;
+  }
+
+  .title {
+    position: relative;
+  }
+
+  .title::before {
+    content: '';
+    display: inline-block;
+    width: 5px;
+    height: 30px;
+    background: #5473e8;
+    position: absolute;
+    left: 0;
+  }
+
+  .el-button--primary {
+    background-color: #5878e8;
+    border-color: #5878e8;
+  }
+
+  .el-col {
+    background: #f6f7fc;
+  }
+
+  /deep/.ws-info-table .el-form-item .el-form-item__content {
+    padding: 0 25px;
+    border-left: 1px solid #cdd2dc;
+    background: #fafbfc;
+    color: #afb5cb;
+  }
+
+  /deep/.ws-info-table .el-form-item .el-form-item__label {
+    width: 140px;
+    text-align: center;
+    background: #f0f2f6;
+    // border: 1px solid #cdd2dc;
+  }
+
+  // .button-container {
+  //   display: flex;
+  //   flex-wrap: nowrap;
+  //   justify-content: space-between;
+  //   align-items: center;
+  //   background-color: #fff;
+  //   width: 100%;
+  //   height: 50px;
+  //   padding: 0 10px;
+
+  //   &>div {
+  //     margin-left: 10px;
+  //     display: flex;
+  //     flex-wrap: nowrap;
+  //     flex-direction: row;
+
+  //     &>span {
+  //       line-height: 50px;
+  //     }
+  //   }
+
+  //   /deep/.auditFlow-box {
+  //     position: unset;
+  //     margin-left: 10px;
+
+  //     &/deep/.auditFlow-icon {
+  //       width: auto;
+  //       padding-right: 30px;
+  //     }
+
+  //     &/deep/.auditFlow-main {
+  //       position: absolute;
+  //     }
+  //   }
+  // }
+
+  // .box-app {
+  //   display: inline-block;
+  //   float: left;
+  //   margin-left: 30px;
+  //   line-height: 50px;
+  // }
+
+  /deep/.el-dialog {
+    .el-form-item {
+      margin-bottom: 0 !important;
+
+      .el-input--medium {
+        textarea {
+          min-height: 100px !important;
+        }
+      }
+    }
+  }
+
+  .collapse-bottom {
+    margin-bottom: 20px;
+  }
+
+  .input-main .textarea .el-textarea__inner {
+    width: 100%;
+    z-index: 1;
+  }
+
+  .bg-left {
+    padding-left: 30px;
+  }
+
+  .bg-right {
+    padding-right: 10px;
+    text-align: right;
+  }
+
+  .bg-bottom {
+    margin: 15px 0px;
+  }
+
+  .wenzi {
+    width: 900px;
+    margin: 0 auto;
+  }
+
+  .wenzi h3 {
+    display: inline-block;
+    left: 10px;
+  }
+
+  .wenzi p {
+    display: inline-block;
+  }
+
+  .center {
+    width: 900px;
+    margin: 0 auto;
+  }
+  .el-form-item__label {
+    text-align: center;
+  }
+
+  .ce {
+    width: 900px;
+    margin: 0 auto;
+  }
+
+  /*.crt-main .textarea /deep/ .el-form-item__label {*/
+  /*  height: 82px;*/
+  /*}*/
+  // 控制select为只读的时候显示样式
+
+  // .hide-sel {
+  //   .el-input__inner {
+  //     border: 0px;
+  //   }
+
+  //   .el-icon-arrow-up {
+  //     display: none;
+  //   }
+
+  //   .el-textarea__inner {
+  //     background-color: #fff !important;
+  //     border: 0;
+  //   }
+
+  //   .el-date-editor {
+  //     i {
+  //       display: none;
+  //     }
+  //   }
+
+  //   .is-disabled {
+  //     .el-input__inner:hover {
+  //       background-color: #fff !important;
+  //       border: 0;
+  //     }
+
+  //     color: #606266;
+
+  //     .el-input__inner {
+  //       background-color: #fff !important;
+  //       border: 0;
+  //       color: #606266;
+  //     }
+
+  //     .el-textarea__inner {
+  //       background-color: #fff !important;
+  //       border: 0;
+  //       color: #606266;
+  //     }
+  //   }
+  // }
+
+  // 控制select为只读的时候显示样式
+  /deep/.ws-class-table-col {
+    height: auto;
+    padding: 0px 2px;
+
+    /deep/.el-input__inner {
+      padding: 0px 2px;
+    }
+  }
+
+  /deep/.is-disabled {
+    .el-input__prefix,
+    .el-input__suffix {
+      display: none;
+    }
+
+    .el-input__inner {
+      background-color: #fff;
+      border-color: #fff !important;
+      color: #000 !important;
+      font-size: 14px;
+      cursor: text;
+      padding: 0 !important;
+    }
+  }
+
+  .winseaview-view {
+    padding: 0 0 20px;
+  }
+
+  .container {
+    overflow: scroll;
+    height: 93vh;
+  }
+
+  /deep/.ws-info-table[data-v-850a44a6] .el-form-item .el-form-item__label {
+    width: 130px;
+  }
+
+  .vertical-text-left {
+    width: 62px;
+    text-align: right;
+  }
+
+  .vertical-text {
+    margin: 0 10px;
+    color: #8890b1;
+    font-size: 12px;
+    margin-top: -4px;
+  }
+
+  .vertical-line {
+    height: 100px;
+    border-left: 2px solid #e9ecf7;
+    margin-left: 4px;
+    padding: 0 3px;
+  }
+
+  .vertical-circle {
+    width: 10px;
+    height: 10px;
+    border: 2px solid #5878e8;
+    background-color: #ffffff;
+    -webkit-border-radius: 100px;
+  }
+
+  .vertical-circle:first-child {
+    color: red;
+  }
+
+  .icon {
+    display: inline-block;
+    width: 60px;
+    background: #ecfeff;
+    border-radius: 12px;
+    border: 1px solid #50cad4;
+    position: relative;
+    font-size: 14px;
+    color: #50cad4;
+    padding: 1px 7px;
+  }
+
+  .title-top {
+    margin-top: 20px;
+    font-size: 21px;
+    font-weight: 600;
+  }
+
+  .title-number {
+    font-size: 14px;
+    font-weight: 400;
+  }
+  .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;
+  }
+  /deep/.el-upload{
+    border:1px dashed #ccc;
+    margin:10px 0;
+  }
+</style>

+ 114 - 24
src/views/contractManagement/salesContract.vue

@@ -153,7 +153,7 @@
       </el-table-column>
 
       <el-table-column prop="amountEdPayable" label="已付运费"> </el-table-column>
-      <el-table-column prop="statementUrl" label="结算单">
+      <!-- <el-table-column prop="statementUrl" 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="settlement(scope.row)" alt="" />
@@ -161,7 +161,7 @@
             {{ scope.row.statementUrl ? scope.row.statementUrl.split(",").length : "" }}
           </span>
         </template>
-      </el-table-column>
+      </el-table-column> -->
       <el-table-column width='190' prop="goodsNames" label="已开发票 (元)">
         <template slot-scope="scope">
           <div v-if="!scope.row.editgoodsNames" style="display:inline-block;">
@@ -186,7 +186,7 @@
           <!-- <i @click="fujian(scope.row)" class="el-icon-paperclip iconCss"></i> -->
         </template>
       </el-table-column>
-      <el-table-column prop="address" label="操作" width="160">
+      <el-table-column prop="address" label="操作" width="150">
         <template slot-scope="scope">
           <!-- <img width="16" height="17" style="
                 vertical-align: text-top;
@@ -196,33 +196,72 @@
                v-hasPermission="
               `contractManagement.nonContract.nonContractInfo.view`" src="../../../public/img/daichu.png"
              @click="handlecost(scope.row)" alt="" /> -->
-          <img width="16" height="16" style="vertical-align: text-top; margin: 0 6px"
-            src="../../../public/img/chakan.png" @click="handleExamine(scope.row)" v-hasPermission="
+             <el-link v-hasPermission="
+              `contractManagement.salesContract.salesContractInfo.view`
+            " target="_blank" type="primary" :underline="false" @click="handleExamine(scope.row)"
+            >查看</el-link>
+            <el-divider direction="vertical"></el-divider>
+            <el-link v-hasPermission="
+              `contractManagement.salesContract.salesContractInfo.edit`
+            " target="_blank" type="primary" :underline="false" @click="handleEdit(scope.row)"
+              :disabled="scope.row.approveStatus">编辑</el-link>
+              <el-dropdown>
+              <span class="btn_css">•••</span>
+              <el-dropdown-menu slot="dropdown">
+                <el-dropdown-item v-hasPermission="
+              `contractManagement.salesContract.salesContractInfo.delete`
+            "><el-link target="_blank" type="primary" :underline="false" @click="handleDelete(scope.row)"
+              :disabled="scope.row.approveStatus">删除</el-link>
+                </el-dropdown-item>
+                <el-dropdown-item v-hasPermission="
+              `contractManagement.salesContract.salesContractInfo.edit`
+            ">
+                  <el-link  target="_blank" type="primary" :underline="false" @click="withdraw(scope.row)"
+              :disabled="scope.row.approveStatus && scope.row.approveStatus=='发起人撤回'">撤回</el-link>
+                </el-dropdown-item>
+                <el-dropdown-item v-hasPermission="
+              `contractManagement.salesContract.salesContractInfo.view`
+            ">
+                  <el-link target="_blank" type="primary" :underline="false" @click="handleaudit(scope.row)"
+              :disabled="!scope.row.taskId">审核</el-link>
+                </el-dropdown-item>
+                <el-dropdown-item v-hasPermission="`contractManagement.buyContract.buyContractInfo.view`">
+                <el-link target="_blank" type="primary" :underline="false" @click="handlecost(scope.row)">费用详情</el-link>
+              </el-dropdown-item>
+              <el-dropdown-item v-hasPermission="`contractManagement.buyContract.buyContractInfo.view`">
+                <el-link target="_blank" type="primary" :underline="false" @click="handleprofit(scope.row)">利润详情</el-link>
+              </el-dropdown-item>
+              <el-dropdown-item v-hasPermission="`contractManagement.buyContract.buyContractInfo.view`">
+                <el-link :disabled="scope.row.amountEdPayable=='他运'" target="_blank" type="primary" :underline="false" @click="handletransport(scope.row)">运输详情</el-link>
+              </el-dropdown-item>
+              </el-dropdown-menu>
+            </el-dropdown>
+             <!-- <el-button @click="handleExamine(scope.row)"  v-hasPermission="
               `contractManagement.salesContract.salesContractInfo.view`
-            " alt="" />
-          <div v-if="
+            " type="primary">查看</el-button>
+            <div v-if="
             (scope.row.approveStatus != '待决策人审核' &&
               !scope.row.approveStatus || scope.row.approveStatus == '发起人撤回')
           " style="display: inline-block">
-            <img width="17" height="16" style="vertical-align: text-top; margin: 0 6px"
-              src="../../../public/img/bianji.png" v-hasPermission="
+          <el-button @click="handleEdit(scope.row)" v-hasPermission="
                 `contractManagement.salesContract.salesContractInfo.edit`
-              " @click="handleEdit(scope.row)" alt="" />
+              " type="primary">编辑</el-button>
           </div>
-
-          <img width="16" height="17" style="
-              vertical-align: text-top;
-              position: relative;
-              top: -1px;
-              margin: 0 6px;
-            " v-if="scope.row.status == '待执行' && !scope.row.approveStatus || scope.row.status == '已驳回'"
-            src="../../../public/img/shanchu.png" v-hasPermission="
+          <div v-if="scope.row.status == '待执行' && !scope.row.approveStatus || scope.row.status == '已驳回'" style="display: inline-block">
+          <el-button v-hasPermission="
               `contractManagement.salesContract.salesContractInfo.delete`
-            " @click="handleDelete(scope.row)" alt="" />
-            <div v-show="scope.row.showFlag" v-if="scope.row.approveStatus && scope.row.approveStatus!='发起人撤回'" style="display: inline-block">
-                <img width="17" height="16" style="vertical-align: text-top; margin: 0 6px" src="../../../public/img/chehui.png"
-                   @click="withdraw(scope.row)" v-hasPermission="`contractManagement.buyContract.buyContractInfo.edit`" alt="" />
-            </div>
+            " @click="handleDelete(scope.row)" type="primary">删除</el-button>
+          </div>
+          <div  v-if="scope.row.approveStatus && scope.row.approveStatus!='发起人撤回'" style="display: inline-block">
+          <el-button @click="withdraw(scope.row)" v-hasPermission="
+                            `contractManagement.salesContract.salesContractInfo.edit`
+                          " type="primary">撤回</el-button>
+          </div>
+          <div  v-if="scope.row.taskId" style="display: inline-block">
+          <el-button @click="handleaudit(scope.row)" v-hasPermission="
+                            `contractManagement.salesContract.salesContractInfo.view`
+                          " type="primary">审核</el-button>
+          </div> -->
         </template>
       </el-table-column>
     </el-table>
@@ -293,6 +332,9 @@ import {
 import {
   downloadFile
 } from '@/utils/batchDown'
+import {
+    gettask,
+  } from '@/model/outboundManagement/index'
 import { hasPermission } from '../../utils/getHasPermission'
 import Pagination from '@/components/Pagination'
 import WsUpload from '@/components/WsUpload'
@@ -461,6 +503,15 @@ export default {
     this.persionXiaLa()
   },
   methods: {
+    handleaudit(row) {
+      this.$router.push({
+        name: 'salesContractAudit',
+        query: {
+          id: row.id,
+          status: row.status,
+        },
+      })
+    },
     submitgoodsNames(row){
       console.log(row)
       if(row.invoiced<0){
@@ -853,7 +904,40 @@ export default {
         },
       })
     },
-
+    handlecost(row) {
+      this.$router.push({
+        name: 'expensemanagementdetails',
+        query: {
+          contractNo: row.contractNo,
+        },
+      })
+    },
+    handleprofit(row) {
+      this.$router.push({
+        name: 'contractprofits',
+        query: {
+          contractNo: row.contractNo,
+        },
+      })
+    },
+    handletransport(row) {
+  gettask({contractNo:row.contractNo,compId:localStorage.getItem('ws-pf_compId')}).toPromise().then((response) => {
+        if(!response||response==0){
+          this.$message({
+            message: '联系内勤创建运输任务',
+            type: 'warning',
+                      
+          });
+        }else{
+          this.$router.push({
+            name: 'autoSettlementList',
+            query: {
+              contractNo: row.contractNo,
+            },
+          })
+        }
+      })
+    },
     // 关闭 dialog时 处理文件url 初始化upload组件
     handleCloe() {
       this.dialogViewSpareMoney = false
@@ -1326,4 +1410,10 @@ export default {
 {
 width:80%;
 }
+.btn_css {
+    color: #409eff;
+    cursor: pointer;
+    position:relative;
+    top:2px;
+  }
 </style>

+ 978 - 0
src/views/contractManagement/salesContractAudit.vue

@@ -0,0 +1,978 @@
+<!--销售合同-->
+<!--2019年5月30日 20:25:16 by jlx-->
+<template>
+  <div class="container">
+    <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="vertion-align: bottom; margin-right: 3px" src="../../../public/img/lujing.png" alt="" />返回
+        </el-button>
+      </el-col>
+    </el-row>
+    <div class="center">
+      <ws-form class="ws-form" ref="deptBudgetList" :rules="mainReportAdd" :model="deptBudgetList">
+        <div class="title-top">
+          销售合同
+          <span class="title-number">【编号:{{ deptBudgetList.contractNo }}】</span>
+          <div class="icon" v-if="deptBudgetList.status">
+            <template>
+              <el-popover placement="right" :width="285" trigger="click" visible-arrow="false"
+                @show="history(deptBudgetList.id)">
+                <template>
+                  <div slot="reference"> {{deptBudgetList.status }}</div>
+                </template>
+                <div>
+                  <p style="margin-top: 0; padding-left: 10px">操作历史</p>
+                  <div v-for="(item, index) in historyList" class="flex">
+                    <div class="vertical-text vertical-text-left">
+                      {{ item.updateDate }}
+                    </div>
+                    <div>
+                      <div class="vertical-circle"></div>
+                      <div v-if="index != historyList.length - 1" class="vertical-line"></div>
+                    </div>
+                    <div class="vertical-text">
+                      {{ item.operateUser }}<br />{{ item.dealMsg }}
+                    </div>
+                  </div>
+                </div>
+              </el-popover>
+            </template>
+          </div>
+        </div>
+        <div class="remark">
+          <h3>基本信息</h3>
+        </div>
+        <ws-info-table>
+          <ws-form-item label="合同类型" span="1" prop="agreementType">
+            <div class="unchanged">
+              {{ deptBudgetList.agreementType }}
+            </div>
+          </ws-form-item>
+          <ws-form-item label="合同编号" v-if="deptBudgetList.agreementType=='销售合同'" span="1" prop="contractNo">
+            <div class="unchanged">
+              {{ deptBudgetList.contractNo }}
+            </div>
+          </ws-form-item>
+          <ws-form-item label="交易主体" span="1" prop="transactionSubject" class="readonly">
+          <div class="unchanged">
+              {{deptBudgetList.transactionSubject}}
+            </div>
+        </ws-form-item>
+        <ws-form-item  v-if="deptBudgetList.transactionSubject == '合营'" class="readonly" label="合营方" span="1" prop="seller">
+          <div class="unchanged">{{ deptBudgetList.jointVentureParties }}</div>
+        </ws-form-item>
+        <ws-form-item v-if="deptBudgetList.transactionSubject == '合营'" label="合营方电话" span="1" prop="jointPhone">
+          <div class="unchanged">{{deptBudgetList.jointPhone}}</div>
+        </ws-form-item>
+          <ws-form-item label="关联合同" v-if="deptBudgetList.agreementType=='补充协议'" span="1" prop="agreementNo">
+            <div class="unchanged">
+              {{ deptBudgetList.agreementNo }}
+            </div>
+          </ws-form-item>
+          <ws-form-item label="补充协议编号" v-if="deptBudgetList.agreementType=='补充协议'" span="1" prop="contractNo">
+            <div class="unchanged">
+              {{ deptBudgetList.contractNo }}
+            </div>
+          </ws-form-item>
+          <ws-form-item label="运输方式" span="1" prop="shippingType">
+            <div class="unchanged">
+              {{ deptBudgetList.shippingType }}
+            </div>
+          </ws-form-item>
+          <ws-form-item label="买方" span="1" prop="buyer">
+            <div class="unchanged">
+              {{ deptBudgetList.buyer }}
+            </div>
+          </ws-form-item>
+          <ws-form-item label="结算方式" span="1" prop="settlementMethod">
+            <div class="unchanged">
+              {{ deptBudgetList.settlementMethod }}
+            </div>
+          </ws-form-item>
+          <ws-form-item label="卖方" span="1" prop="seller">
+            <div class="unchanged">
+              {{ deptBudgetList.seller }}
+            </div>
+          </ws-form-item>
+          <ws-form-item label="交货方式" span="1" prop="deliverType">
+            <div v-if="deptBudgetList.deliverType==1" class="unchanged">
+              我方送货
+            </div>
+            <div v-else class="unchanged">
+              对方自提
+            </div>
+          </ws-form-item>
+          <ws-form-item label="买方电话" span="1" prop="buyerPhone">
+            <div class="unchanged">
+              {{ deptBudgetList.buyerPhone }}
+            </div>
+          </ws-form-item>
+          <!-- 收货反馈负责人 -->
+          <ws-form-item label="收货反馈负责人" span="1" prop="feedbackLeader" v-if="deptBudgetList.deliverType ==2">
+            <div class="unchanged">
+              {{ deptBudgetList.feedbackLeader }}
+            </div>
+          </ws-form-item>
+          <ws-form-item label="包装方式" span="1" prop="packingMethod">
+            <div class="unchanged">
+              {{ deptBudgetList.packingMethod }}
+            </div>
+          </ws-form-item>
+          <ws-form-item label="中转公司" span="1" prop="buyer" class="readonly">
+            <div class="unchanged">
+              {{deptBudgetList.transitCompany}}
+            </div>
+          </ws-form-item>
+          <ws-form-item label="卖方电话" span="1" prop="sellerPhone">
+            <div class="unchanged">
+              {{ deptBudgetList.sellerPhone }}
+            </div>
+          </ws-form-item>
+           <!-- 收货反馈负责人 -->
+          <ws-form-item label="收货反馈负责人" span="1" prop="feedbackLeader" v-if="deptBudgetList.deliverType == '对方自提'">
+            <div class="unchanged">
+              {{ deptBudgetList.feedbackLeader }}
+            </div>
+          </ws-form-item>
+
+          <ws-form-item label="验收方式" span="1" prop="acceptanceMethod">
+            <div class="unchanged">
+              {{ deptBudgetList.acceptanceMethod }}
+            </div>
+          </ws-form-item>
+          <ws-form-item label="重量(吨)" span="1" prop="weight">
+            <div class="unchanged">
+              {{ deptBudgetList.weight }}
+            </div>
+          </ws-form-item>
+          <ws-form-item label="交货日期(起)" span="1" prop="deliveryDateStart">
+            <div class="unchanged">
+              {{ deptBudgetList.deliveryDateStart }}
+            </div>
+          </ws-form-item>
+          <ws-form-item label="溢短装(%)" span="1" prop="overShort">
+            <div class="unchanged">
+              {{ deptBudgetList.overShort }}
+            </div>
+          </ws-form-item>
+          <ws-form-item label="交货日期(止)" span="1" prop="deliveryDateEnd">
+            <div class="unchanged">
+              {{ deptBudgetList.deliveryDateEnd }}
+            </div>
+          </ws-form-item>
+          <ws-form-item label="价格类型" span="1" prop="priceType">
+            <div class="unchanged">
+              {{ deptBudgetList.priceType }}
+            </div>
+          </ws-form-item>
+          <ws-form-item label="合同单价(元/吨)" span="1" prop="unitContractPrice" v-if="deptBudgetList.priceType == '定价销售'">
+            <div class="unchanged">
+              {{ deptBudgetList.unitContractPrice }}
+            </div>
+          </ws-form-item>
+          <ws-form-item label="合同总价(元)" span="1" prop="totalContractPrice" v-if="deptBudgetList.priceType == '定价销售'">
+            <div class="unchanged">
+              {{ deptBudgetList.totalContractPrice }}
+            </div>
+          </ws-form-item>
+          <ws-form-item label="签订日期" span="1" prop="signingDate"  v-if="deptBudgetList.agreementType=='销售合同'">
+            <div class="unchanged">
+              {{ deptBudgetList.signingDate }}
+            </div>
+          </ws-form-item>
+          <ws-form-item label="货源所在地区" span="1">
+            <div class="unchanged">
+              {{ deptBudgetList.sourceProvince }}
+              {{ deptBudgetList.sourceCity }}
+              {{ deptBudgetList.sourceArea }}
+            </div>
+          </ws-form-item>
+
+          <ws-form-item label="货源详细地址" span="1" prop="sourceGoods">
+            <div class="unchanged">
+              {{ deptBudgetList.sourceGoods }}
+            </div>
+          </ws-form-item>
+
+          <ws-form-item label="交货地所在地区" span="1">
+            <div class="unchanged">
+              {{ deptBudgetList.deliveryProvince }}
+              {{ deptBudgetList.deliveryCity }}
+              {{ deptBudgetList.deliveryArea }}
+            </div>
+          </ws-form-item>
+
+          <ws-form-item label="交货地详细地址" span="1" prop="placeDelivery">
+            <div class="unchanged">
+              {{ deptBudgetList.placeDelivery }}
+            </div>
+          </ws-form-item>
+          <ws-form-item label="签订日期" span="1" prop="signingDate"  v-if="deptBudgetList.agreementType=='补充协议'">
+            <div class="unchanged">
+              {{ deptBudgetList.signingDate }}
+            </div>
+          </ws-form-item>
+          <!--结算重量方式-->
+          <ws-form-item label="结算重量方式" span="1" prop="settlementWeightMethod">
+            <div class="unchanged">
+              {{ deptBudgetList.settlementWeightMethod==1?'按出库重量结算':'按收货重量结算' }}
+            </div>
+          </ws-form-item>
+          <ws-form-item label="最终实际交易量 (吨)" span="1" prop="finalTradingVolume">
+            <div class="unchanged">
+              {{ deptBudgetList.finalTradingVolume }}
+            </div>
+          </ws-form-item>
+           <ws-form-item label="结算单价(元/吨)" span="1" prop="settlementPrice" >
+           <div class="unchanged">
+              {{ deptBudgetList.settlementPrice?deptBudgetList.settlementPrice:'自动结算,不可编辑'}}
+            </div>
+        </ws-form-item>
+        </ws-info-table>
+
+        <!--货物信息-->
+        <div class="remark">
+          <h3>货物信息</h3>
+        </div>
+        <ws-info-table>
+          <ws-form-item label="货名" span="1" prop="waterContent">
+            <div class="unchanged">
+              {{ deptBudgetList.contractGoodsInfo.goodsName }}
+            </div>
+          </ws-form-item>
+          <ws-form-item label="水分(%)<=" span="1" prop="intendedShipId">
+            <div class="unchanged">
+              {{ deptBudgetList.contractGoodsInfo.waterContent }}
+            </div>
+          </ws-form-item>
+          <ws-form-item label="品级" span="1" prop="grade">
+            <div class="unchanged">
+              {{ deptBudgetList.contractGoodsInfo.grade }}
+            </div>
+          </ws-form-item>
+          <ws-form-item label="杂质(%)<=" span="1" prop="impurity">
+            <div class="unchanged">
+              {{ deptBudgetList.contractGoodsInfo.impurity }}
+            </div>
+          </ws-form-item>
+          <ws-form-item label="容重(克/升)>=" span="1" prop="bulkDensity">
+            <div class="unchanged">
+              {{ deptBudgetList.contractGoodsInfo.bulkDensity }}
+            </div>
+          </ws-form-item>
+          <ws-form-item label="霉变粒(%)<=" span="1" prop="mildewGrain" class="result">
+            <div class="unchanged">
+              {{ deptBudgetList.contractGoodsInfo.mildewGrain }}
+            </div>
+          </ws-form-item>
+          <ws-form-item label="热损伤(%)<=" span="1" prop="jiaorenli">
+            <div class="unchanged">
+              {{ deptBudgetList.contractGoodsInfo.jiaorenli }}
+            </div>
+          </ws-form-item>
+          <ws-form-item label="不完善粒(%)<=" span="1" prop="imperfectGrain" class="result">
+            <div class="unchanged">
+              {{ deptBudgetList.contractGoodsInfo.imperfectGrain }}
+            </div>
+          </ws-form-item>
+        </ws-info-table>
+        <div class="remark">
+          <h3>流程信息</h3>
+        </div>
+        <ws-info-table>
+          <ws-form-item label="合同收入(元)" span="1" prop="goodsNameKey">
+            <div class="unchanged">
+              {{ deptBudgetList.contractProcessInfo.goodsNameKey }}
+            </div>
+          </ws-form-item>
+          <ws-form-item label="已开发票(元)" span="1" prop="goodsName">
+            <div class="unchanged">
+              {{ deptBudgetList.contractProcessInfo.goodsName }}
+            </div>
+          </ws-form-item>
+          <ws-form-item label="费用支出(元)" span="1" prop="waterContent">
+            <div class="unchanged">
+              {{ deptBudgetList.contractProcessInfo.waterContent }}
+            </div>
+          </ws-form-item>
+          <ws-form-item label="未开发票(元)" span="1" prop="impurity">
+            <div class="unchanged">
+              {{ deptBudgetList.contractProcessInfo.impurity }}
+            </div>
+          </ws-form-item>
+          <ws-form-item label="未回款(元)" span="1" prop="mildewGrain">
+            <div class="unchanged">
+              {{ deptBudgetList.contractProcessInfo.mildewGrain }}
+            </div>
+          </ws-form-item>
+          <!-- <ws-form-item
+            label="已完成发运量(吨)"
+            span="1"
+            prop="imperfectGrain"
+            class="result"
+          >
+            <div class="unchanged">
+              {{ deptBudgetList.contractProcessInfo.imperfectGrain }}
+            </div>
+          </ws-form-item> -->
+          <ws-form-item label="双章原件回收情况" span="1" prop="grade">
+            <div class="unchanged">
+              {{ deptBudgetList.contractProcessInfo.grade }}
+            </div>
+          </ws-form-item>
+        </ws-info-table>
+        <div class="remark">
+          <h3>备注信息</h3>
+          <div class="beizhu">
+            <ws-input v-model="deptBudgetList.remarks" disabled type="textarea" :row="3" autosize placeholder="暂无备注信息"
+          maxlength="200" />
+          </div>
+        </div>
+
+        <ws-upload ref="upload" :comp-id="compId" :appendix-ids="deptBudgetList.addressUrl" :editable="false"
+          accept=".jpg, .jpeg, .png, .pdf, .doc, .zip, .rar" />
+      </ws-form>
+      <div style="text-align: right; padding: 10px">
+      <el-button class="bg-bottom" type="primary" size="small" @click="reject()">驳回</el-button>
+      <el-button class="bg-bottom" type="primary" size="small" @click="pass()">通过</el-button>
+    </div>
+    <el-dialog :title="title" :visible.sync="dialogTableVisible">
+      <el-form ref="form" :model="form" label-width="80px">
+        <el-form-item :label="title">
+          <el-input size="medium" type="textarea" placeholder="请输入审核原因" maxlength="1000" show-word-limit v-model="form.auditMind"></el-input>
+        </el-form-item>
+        <el-form-item label="附件">
+          <ws-upload ref="upload" :size-limit="size"  @onChange="onChange" @uploadSuccess="uploadSuccess" :comp-id="compId" :appendix-ids="appendixIdss1"
+          accept=".jpg, .jpeg, .png, .pdf, .doc, .docx, .zip, .rar" />
+        </el-form-item>
+        <el-form-item>
+          <el-button @click="dialogTableVisible=false">取消</el-button>
+          <el-button type="primary" @click="onSubmit">确定</el-button>
+        </el-form-item>
+      </el-form>
+    </el-dialog>
+    </div>
+  </div>
+</template>
+
+<script>
+  import {
+    packList,
+    xiala,
+    examineList,
+    billoperatehis,
+  } from '@/model/contarct/index'
+  import {
+    gettaskhistories
+  } from '@/model/tasksport/index'
+  import {
+    dayjs
+  } from 'base-core-lib'
+  import WsUpload from '@/components/WsUpload'
+  import {
+  woekflowhandle
+} from '@/model/tasksport/index'
+  export default {
+    name: 'viewSpareMoney',
+    components: {
+      WsUpload,
+    },
+    watch: {
+      vesselId(val) {
+        this.getVesselData()
+      },
+      isShow(val) {
+        this.showType = val
+      },
+    },
+    data() {
+      return {
+        //弹出框
+        dialogViewSpareMoney: false,
+        dialogApproveFormVisible: false,
+        taskhistories: [],
+        // 船舶类型
+        monetaryKey: null,
+        // 表格显示数据
+        tableDate: [],
+        // 是否显示
+        showType: true,
+        // 年
+        year: '',
+        // 提交类型
+        submitType: true,
+        tableData: [],
+        ruleDeptBudget: [],
+        deptBudgetList: {
+          contractProcessInfo: {},
+          contractGoodsInfo: {},
+        },
+        mainReportAdd: {},
+        list: {},
+        historyList: [],
+        size: 10,
+        form:{},
+        fileList:[],
+        title:'',
+        dialogTableVisible:false,
+        compId: localStorage.getItem('ws-pf_compId'),
+      }
+    },
+
+    activated() {
+      this.status = this.$route.query.status
+      this.loaddata()
+      this.showType = this.isShow
+      // this.examineList()
+    },
+    methods: {
+      onSubmit() {
+      if (this.title == '驳回原因') {
+        woekflowhandle({
+          taskId: this.deptBudgetList.taskId,
+          approved: false,
+          auditMind: this.form.auditMind+ "##" + this.fileList.toString(),
+          needReapply: true,
+        }).toPromise()
+          .then((response) => {
+            this.$message({
+              message: '驳回成功!',
+              type: 'success',
+            })
+            this.dialogTableVisible = false
+            this.$router.go(-1)
+          }).catch((response) => {
+            this.$message({
+              message: '驳回失败!',
+              type: 'error',
+            })
+          })
+      } else {
+        woekflowhandle({
+          taskId: this.deptBudgetList.taskId,
+          approved: true,
+          auditMind: this.form.auditMind+ "##" + this.fileList.toString(),
+          needReapply: true,
+        }).toPromise()
+          .then((response) => {
+            this.$message({
+              message: '通过成功!',
+              type: 'success',
+            })
+            this.dialogTableVisible = false
+            this.$router.go(-1)
+          }).catch((response) => {
+            this.$message({
+              message: '通过失败!',
+              type: 'error',
+            })
+          })
+      }
+    },
+      onChange(file,fileList) {
+        for (let i = 0; i < fileList.length; i++) {
+          this.fileList.push(fileList[i].appendixPath)
+        }
+        
+        console.log(file,fileList)
+            // this.deptBudgetList.addressUrl = response
+            // this.deptBudgetList.id = this.id
+            // this.deptBudgetList.flag = 1
+            // editInfo(this.deptBudgetList)
+            //   .toPromise()
+            //   .then((response) => {
+            //     this.accessoryTFs = false
+            //     this.$message.success('上传成功')
+            //     this.getList()
+            //   })
+      },
+      reject(){
+        this.title='驳回原因'
+        this.dialogTableVisible=true
+      },
+      pass(){
+        this.title='通过原因'
+        this.dialogTableVisible=true
+      },
+      loaddata() {
+        gettaskhistories({
+            businessKey: this.$route.query.id,
+            workflowId: this.$route.query.workflowId
+          }).toPromise()
+          .then((response) => {
+            this.taskhistories = response
+          })
+        // 数据
+        examineList({
+            id: this.$route.query.id
+          })
+          .toPromise()
+          .then((response) => {
+            this.deptBudgetList = response
+            if (this.deptBudgetList.deliverType == 1) {
+              this.deptBudgetList.deliverType1 = '我方送货'
+            } else if (this.deptBudgetList.deliverType == 2) {
+              this.deptBudgetList.deliverType1 = '对方自提'
+            }
+          })
+        // 包装方式
+        packList({
+            constId: 'CON1'
+          })
+          .toPromise()
+          .then((response) => {
+            this.packtypeList = response
+          })
+        // 验收方式
+        this.getUnitList()
+        // 货名
+        packList({
+            constId: 'CON2'
+          })
+          .toPromise()
+          .then((response) => {
+            this.goodnameList = response
+          })
+        // 品级
+        packList({
+            constId: 'CON3'
+          })
+          .toPromise()
+          .then((response) => {
+            this.gradeList = response
+          })
+        // 双章
+        packList({
+            constId: 'CON4'
+          })
+          .toPromise()
+          .then((response) => {
+            this.ChapterTwoList = response
+          })
+      },
+      getUnitList() {
+        xiala({
+            compId: localStorage.getItem('ws-pf_compId'),
+            constCode: 'TYPEYAN',
+          })
+          .toPromise()
+          .then((response) => {
+            this.unitList = response
+            let currItem
+            this.unitList.forEach((item, index, arr) => {
+              item.flag = 'delete'
+              if (this.vModel == item.constKey) {
+                currItem = item
+              }
+            })
+            //
+            if (currItem) {
+              this.selectContract(currItem.constValue)
+            }
+          })
+      },
+      // 关闭 dialog时 处理文件url 初始化upload组件
+      handleClose() {
+        this.dialogViewSpareMoney = false
+      },
+      history(id1) {
+        billoperatehis({
+            id: id1
+          })
+          .toPromise()
+          .then((response) => {
+            this.historyList = response
+          })
+      },
+
+      returnsales() {
+        this.$router.go(-1)
+      },
+    },
+  }
+</script>
+<style lang="scss" scoped>
+  /deep/.ws-info-table .el-form-item .el-form-item__content {
+    padding: 0 25px;
+  }
+
+  /deep/.ws-info-table .el-form-item {
+    border-right: 1px solid #cdd2dc;
+    border-bottom: 1px solid #cdd2dc;
+  }
+
+  .title {
+    position: relative;
+  }
+
+  .title::before {
+    content: '';
+    display: inline-block;
+    width: 5px;
+    height: 30px;
+    background: #5473e8;
+    position: absolute;
+    left: 0;
+  }
+
+  .el-button--primary {
+    background-color: #5878e8;
+    border-color: #5878e8;
+  }
+
+  .el-col {
+    background: #f6f7fc;
+  }
+
+  .readonly {
+    position: relative;
+  }
+
+  .readonly:after {
+    content: '*';
+    color: #ff2727;
+    position: absolute;
+    right: 8px;
+    z-index: 10;
+    top: 21%;
+    font-size: 20px;
+  }
+
+  /deep/.ws-info-table .el-form-item .el-form-item__content {
+    padding: 0 25px;
+    border-left: 1px solid #cdd2dc;
+    background: #fafbfc;
+  }
+
+  /deep/.ws-info-table .el-form-item .el-form-item__label {
+    width: 140px;
+    text-align: center;
+    background: #f0f2f6;
+    // border: 1px solid #cdd2dc;
+  }
+
+  .button-container {
+    display: flex;
+    flex-wrap: nowrap;
+    justify-content: space-between;
+    align-items: center;
+    background-color: #fff;
+    width: 100%;
+    height: 50px;
+    padding: 0 10px;
+
+    &>div {
+      margin-left: 10px;
+      display: flex;
+      flex-wrap: nowrap;
+      flex-direction: row;
+
+      &>span {
+        line-height: 50px;
+      }
+    }
+
+    /deep/.auditFlow-box {
+      position: unset;
+      margin-left: 10px;
+
+      &/deep/.auditFlow-icon {
+        width: auto;
+        padding-right: 30px;
+      }
+
+      &/deep/.auditFlow-main {
+        position: absolute;
+      }
+    }
+  }
+
+  .box-app {
+    display: inline-block;
+
+    margin-left: 30px;
+    line-height: 50px;
+  }
+
+  /deep/.el-dialog {
+    .el-form-item {
+      margin-bottom: 0 !important;
+
+      .el-input--medium {
+        textarea {
+          min-height: 100px !important;
+        }
+      }
+    }
+  }
+
+  .collapse-bottom {
+    margin-bottom: 20px;
+  }
+
+  .input-main .textarea .el-textarea__inner {
+    width: 100%;
+    z-index: 1;
+  }
+
+  .bg-left {
+    padding-left: 30px;
+  }
+
+  .bg-right {
+    padding: 10px;
+    text-align: right;
+  }
+
+  .bg-bottom {
+    margin: 6px 0px;
+  }
+
+  .wenzi {
+    width: 900px;
+    margin: 0 auto;
+  }
+
+  .wenzi h3 {
+    display: inline-block;
+    left: 30px;
+  }
+
+  .wenzi p {
+    display: inline-block;
+  }
+
+  .center {
+    width: 70%;
+    margin: 0 auto;
+  }
+
+
+  .el-form-item__label {
+    text-align: center;
+  }
+
+  /*.crt-main .textarea /deep/ .el-form-item__label {*/
+  /*  height: 82px;*/
+  /*}*/
+  // 控制select为只读的时候显示样式
+
+  .hide-sel {
+    .el-input__inner {
+      border: 0px;
+    }
+
+    .el-icon-arrow-up {
+      display: none;
+    }
+
+    .el-textarea__inner {
+      background-color: #fff !important;
+      border: 0;
+    }
+
+    .el-date-editor {
+      i {
+        display: none;
+      }
+    }
+
+    .is-disabled {
+      .el-input__inner:hover {
+        background-color: #fff !important;
+        border: 0;
+      }
+
+      color: #606266;
+
+      .el-input__inner {
+        background-color: #fff !important;
+        border: 0;
+        color: #606266;
+      }
+
+      .el-textarea__inner {
+        background-color: #fff !important;
+        border: 0;
+        color: #606266;
+      }
+    }
+  }
+
+  // 控制select为只读的时候显示样式
+  /deep/.ws-class-table-col {
+    height: auto;
+    padding: 0px 2px;
+
+    /deep/.el-input__inner {
+      padding: 0px 2px;
+    }
+  }
+
+  /deep/.is-disabled {
+    .el-input__prefix,
+    .el-input__suffix {
+      display: none;
+    }
+
+    .el-input__inner {
+      background-color: #fff;
+      border-color: #fff !important;
+      color: #000 !important;
+      font-size: 14px;
+      cursor: text;
+      padding: 0 !important;
+    }
+  }
+
+  .winseaview-view {
+    padding: 10px 0 20px;
+  }
+
+  .container {
+    overflow: scroll;
+    height: 93vh;
+  }
+
+  .state {
+    width: 900px;
+    margin: 0 auto;
+  }
+
+  .state h2,
+  .state p {
+    display: inline-block;
+  }
+
+  .state p {
+    display: inline-block;
+    margin-left: 10px;
+    width: 170px;
+    height: 20px;
+    font-size: 14px;
+    font-family: PingFangSC-Regular, PingFang SC;
+    font-weight: 400;
+    color: #000000;
+    line-height: 20px;
+  }
+
+  .icon {
+    display: inline-block;
+    width: 60px;
+    background: #ecfeff;
+    border-radius: 12px;
+    border: 1px solid #50cad4;
+    position: relative;
+    font-size: 14px;
+    color: #50cad4;
+    padding: 1px 7px;
+  }
+
+  .title-top {
+    margin-top: 20px;
+    font-size: 21px;
+    font-weight: 600;
+  }
+
+  .title-number {
+    font-size: 14px;
+    font-weight: 400;
+  }
+
+  //*号
+  // .unchangeable {
+  //   position: absolute;
+  //   width: 9px;
+  //   height: 22px;
+  //   font-size: 16px;
+  //   font-family: PingFangSC-Medium, PingFang SC;
+  //   font-weight: 500;
+  //   color: #ff2727;
+  //   line-height: 22px;
+  //   display: inline-block;
+  //   right: 14px;
+  // }
+  /deep/.el-input,
+  /deep/.el-date-editor {
+    font-size: 13px;
+    width: 232px;
+    left: 21px;
+  }
+
+  /deep/.ws-form .el-textarea {
+    width: 900px;
+    margin: 0px;
+  }
+
+  /deep/el-date-editor--date {
+    width: 200px;
+  }
+
+  /deep/.beizhu {
+    margin: 0 auto;
+    font-size: 14px;
+    color: #afb5cb;
+    margin-left: 20px;
+  }
+
+  .unchanged {
+    position: absolute;
+    left: 37px;
+    width: 900px;
+    height: 14px;
+    font-size: 14px;
+    font-family: PingFangSC-Regular, PingFang SC;
+    font-weight: 400;
+    color: #afb5cb;
+    line-height: 14px;
+  }
+
+  /deep/.ws-info-table[data-v-850a44a6] .el-form-item .el-form-item__label {
+    width: 130px;
+  }
+
+  /deep/.el-input--small .el-input__inner {
+    height: 32px;
+    line-height: 32px;
+    width: 232px;
+  }
+
+  .vertical-text-left {
+    width: 62px;
+    text-align: right;
+  }
+
+  .vertical-text {
+    margin: 0 10px;
+    color: #8890b1;
+    font-size: 12px;
+    margin-top: -4px;
+  }
+
+  .vertical-line {
+    height: 100px;
+    border-left: 2px solid #e9ecf7;
+    margin-left: 4px;
+    padding: 0 3px;
+  }
+
+  .vertical-circle {
+    width: 10px;
+    height: 10px;
+    border: 2px solid #5878e8;
+    background-color: #ffffff;
+    -webkit-border-radius: 100px;
+  }
+
+  .vertical-circle:first-child {
+    color: red;
+  }
+
+  .ws-info-table .el-form-item {
+    width: 50%;
+  }
+</style>

+ 105 - 3
src/views/contractManagement/storageContract.vue

@@ -112,9 +112,80 @@
         </template>
       </el-table-column>
       <el-table-column prop="signingDate" label="签订日期"> </el-table-column>
-      <el-table-column prop="address" label="操作" width="160">
+      <el-table-column prop="address" label="操作" width="150">
         <template slot-scope="scope">
-          <img width="16" height="16" style="vertical-align: text-top; margin: 0 6px"
+          <el-link v-hasPermission="
+              `contractManagement.dcContract.dcContractInfo.view`
+            " target="_blank" type="primary" :underline="false" @click="handleExamine(scope.row)"
+            >查看</el-link>
+            <el-divider direction="vertical"></el-divider>
+            <el-link v-hasPermission="
+              `contractManagement.dcContract.dcContractInfo.edit`
+            " target="_blank" type="primary" :underline="false" @click="handleEdit(scope.row)"
+              :disabled="scope.row.approveStatus">编辑</el-link>
+              <el-dropdown>
+              <span class="btn_css">•••</span>
+              <el-dropdown-menu slot="dropdown">
+                <el-dropdown-item v-hasPermission="
+              `contractManagement.dcContract.dcContractInfo.delete`
+            "><el-link target="_blank" type="primary" :underline="false" @click="handleDelete(scope.row)"
+              :disabled="scope.row.approveStatus">删除</el-link>
+                </el-dropdown-item>
+                <el-dropdown-item v-hasPermission="
+              `contractManagement.dcContract.dcContractInfo.edit`
+            ">
+                  <el-link  target="_blank" type="primary" :underline="false" @click="withdraw(scope.row)"
+              :disabled="scope.row.approveStatus && scope.row.approveStatus=='发起人撤回'">撤回</el-link>
+                </el-dropdown-item>
+                <el-dropdown-item v-hasPermission="
+              `contractManagement.dcContract.dcContractInfo.list`
+            ">
+                  <el-link target="_blank" type="primary" :underline="false" @click="handleRecord(scope.row)">记录</el-link>
+                </el-dropdown-item>
+                <el-dropdown-item v-hasPermission="
+              `contractManagement.dcContract.dcContractInfo.view`
+            ">
+                  <el-link target="_blank" type="primary" :underline="false" @click="handleaudit(scope.row)"
+              :disabled="!scope.row.taskId">审核</el-link>
+                </el-dropdown-item>
+                <el-dropdown-item v-hasPermission="`contractManagement.buyContract.buyContractInfo.view`">
+                <el-link target="_blank" type="primary" :underline="false" @click="handlecost(scope.row)">费用详情</el-link>
+              </el-dropdown-item>
+              <el-dropdown-item v-hasPermission="`contractManagement.buyContract.buyContractInfo.view`">
+                <el-link target="_blank" type="primary" :underline="false" @click="handleprofit(scope.row)">利润详情</el-link>
+              </el-dropdown-item>
+              </el-dropdown-menu>
+            </el-dropdown>
+          <!-- <el-button @click="handleExamine(scope.row)"  v-hasPermission="
+              `contractManagement.dcContract.dcContractInfo.view`
+            " type="primary">查看</el-button>
+            <div v-if="
+            (scope.row.approveStatus != '待决策人审核' &&
+              !scope.row.approveStatus || scope.row.approveStatus == '发起人撤回')
+          " style="display: inline-block">
+          <el-button @click="handleEdit(scope.row)" v-hasPermission="
+                `contractManagement.dcContract.dcContractInfo.edit`
+              " type="primary">编辑</el-button>
+          </div>
+          <div v-if="scope.row.status == '待执行' && !scope.row.approveStatus || scope.row.status == '已驳回'" style="display: inline-block">
+          <el-button v-hasPermission="
+              `contractManagement.dcContract.dcContractInfo.delete`
+            " @click="handleDelete(scope.row)" type="primary">删除</el-button>
+          </div>
+          <div  v-if="scope.row.approveStatus && scope.row.approveStatus!='发起人撤回'" style="display: inline-block">
+          <el-button @click="withdraw(scope.row)" v-hasPermission="
+                            `contractManagement.dcContract.dcContractInfo.edit`
+                          " type="primary">撤回</el-button>
+          </div>
+          <el-button @click="handleRecord(scope.row)" v-hasPermission="
+                            `contractManagement.dcContract.dcContractInfo.list`
+                          " type="primary">记录</el-button>
+          <div  v-if="scope.row.taskId" style="display: inline-block">
+          <el-button @click="handleaudit(scope.row)" v-hasPermission="
+                            `contractManagement.dcContract.dcContractInfo.view`
+                          " type="primary">审核</el-button>
+          </div> -->
+          <!-- <img width="16" height="16" style="vertical-align: text-top; margin: 0 6px"
             src="../../../public/img/chakan.png" @click="handleExamine(scope.row)" v-hasPermission="
               `contractManagement.dcContract.dcContractInfo.view`
             " alt="" />
@@ -150,7 +221,7 @@
                 @click="withdraw(scope.row)" v-hasPermission="
                             `contractManagement.dcContract.dcContractInfo.edit`
                           " alt="" />
-            </div>
+            </div> -->
         </template>
       </el-table-column>
     </el-table>
@@ -306,6 +377,31 @@
       this.persionXiaLa()
     },
     methods: {
+      handleaudit(row) {
+      this.$router.push({
+        name: 'storageContractAudit',
+        query: {
+          id: row.id,
+          status: row.status,
+        },
+      })
+    },
+    handlecost(row) {
+      this.$router.push({
+        name: 'expensemanagementdetails',
+        query: {
+          contractNo: row.contractNo,
+        },
+      })
+    },
+    handleprofit(row) {
+      this.$router.push({
+        name: 'contractprofits',
+        query: {
+          contractNo: row.contractNo,
+        },
+      })
+    },
       withdraw(row) {
       this.$confirm(`撤回成功后,可再次提交,确定撤回该合同吗?`, {
         cancelButtonText: '取消',
@@ -989,4 +1085,10 @@
   /deep/.typeselect .el-input__inner {
     color: #8890b1;
   }
+    .btn_css {
+    color: #409eff;
+    cursor: pointer;
+    position:relative;
+    top:2px;
+  }
 </style>

+ 784 - 0
src/views/contractManagement/storageContractAudit.vue

@@ -0,0 +1,784 @@
+<!--采购合同查看-->
+<!--2019年5月30日 20:25:16 by jlx-->
+<template>
+  <div class="container">
+    <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>
+
+    <ws-form ref="deptBudgetList" :rules="mainReportAdd" :model="deptBudgetList">
+      <div class="title-top">
+        代储合同<span class="title-number">【编号:{{ deptBudgetList.contractNo }}】</span>
+        <div class="icon" v-if="deptBudgetList.status">
+          <template>
+            <el-popover placement="right" :width="285" trigger="click" visible-arrow="false"
+              @show="history(deptBudgetList.id)">
+              <template>
+                <div slot="reference"> {{deptBudgetList.status }}</div>
+              </template>
+              <div>
+                <p style="margin-top: 0; padding-left: 10px">操作历史</p>
+                <div v-for="(item, index) in historyList" class="flex">
+                  <div class="vertical-text vertical-text-left">
+                    {{ item.updateDate }}
+                  </div>
+                  <div>
+                    <div class="vertical-circle"></div>
+                    <div v-if="index != historyList.length - 1" class="vertical-line"></div>
+                  </div>
+                  <div class="vertical-text">
+                    {{ item.operateUser }}<br />{{ item.dealMsg }}
+                  </div>
+                </div>
+              </div>
+            </el-popover>
+          </template>
+        </div>
+      </div>
+      <div class="remark">
+        <h3>基本信息</h3>
+      </div>
+      <ws-info-table>
+
+        <ws-form-item label="合同编号" span="1" prop="contractNo">
+          {{ deptBudgetList.contractNo }}
+        </ws-form-item>
+        <ws-form-item label="运输方式" span="1" prop="shippingType">
+          {{ deptBudgetList.shippingType }}
+        </ws-form-item>
+        <ws-form-item label="买方" span="1" prop="buyer">
+          {{ deptBudgetList.buyer }}
+        </ws-form-item>
+        <ws-form-item label="结算方式" span="1" prop="settlementMethod">{{ deptBudgetList.settlementMethod }}
+        </ws-form-item>
+         <ws-form-item label="卖方" span="1" prop="seller">{{ deptBudgetList.seller }}
+        </ws-form-item>
+        <ws-form-item label="交货方式" span="1" prop="deliverType1">{{ deptBudgetList.deliverType1 }}
+        </ws-form-item>
+        <ws-form-item label="买方电话" span="1" prop="buyerPhone">{{ deptBudgetList.buyerPhone }}
+        </ws-form-item>
+        <ws-form-item label="包装方式" span="1" prop="packingMethod">
+          {{ deptBudgetList.packingMethod }}
+        </ws-form-item>
+        <ws-form-item label="卖方电话" span="1" prop="sellerPhone">
+          {{ deptBudgetList.sellerPhone }}
+        </ws-form-item>
+        <ws-form-item label="验收方式" span="1" prop="acceptanceMethod">
+          {{ deptBudgetList.acceptanceMethod }}
+        </ws-form-item>
+        <ws-form-item label="重量(吨)" span="1" prop="weight">
+          {{ deptBudgetList.weight }}
+        </ws-form-item>
+        <ws-form-item label="交货日期(起)" span="1" prop="deliveryDateStart">
+          {{ deptBudgetList.deliveryDateStart }}
+        </ws-form-item>
+        <ws-form-item label="溢短装(%)" span="1" prop="overShort">
+          {{ deptBudgetList.overShort }}
+        </ws-form-item>
+        <ws-form-item label="交货日期(止)" span="1" prop="deliveryDateEnd">
+          {{ deptBudgetList.deliveryDateEnd }}
+        </ws-form-item>
+         <ws-form-item label="货源所在地区" span="1">
+          {{ deptBudgetList.sourceProvince }}
+          {{ deptBudgetList.sourceCity }}
+          {{ deptBudgetList.sourceArea }}
+        </ws-form-item>
+        <ws-form-item label="货源详细地址" span="1" prop="sourceGoods">
+          {{ deptBudgetList.sourceGoods }}
+        </ws-form-item>
+        <ws-form-item label="交货地所在地区" span="1">
+          {{ deptBudgetList.deliveryProvince }}
+          {{ deptBudgetList.deliveryCity }}
+          {{ deptBudgetList.deliveryArea }}
+        </ws-form-item>
+        <ws-form-item label="交货地详细地址" span="1" prop=" placeDelivery">
+          {{ deptBudgetList.placeDelivery }}
+        </ws-form-item>
+        <ws-form-item label="代储费(元/吨·天)" span="1" prop="storageFee">
+          {{deptBudgetList.storageFee}}
+        </ws-form-item>
+        <ws-form-item label="合同单价(元/吨)" span="1" prop="unitContractPrice" v-if="deptBudgetList.priceType == '定价采购'">
+          {{ deptBudgetList.unitContractPrice }}
+        </ws-form-item>
+        <ws-form-item label="代储费起算重量" span="1" prop="storageFeeWeight">
+          {{deptBudgetList.storageFeeWeight}}
+        </ws-form-item>
+        <ws-form-item label="合同总价(元)" span="1" prop="totalContractPrice" v-if="deptBudgetList.priceType == '定价采购'">
+          {{ deptBudgetList.totalContractPrice }}
+        </ws-form-item>
+         <ws-form-item label="代储费起算日期" span="1" prop="storageFeeStartdate">
+          {{deptBudgetList.storageFeeStartdate}}
+        </ws-form-item>
+        <ws-form-item label="签订日期" span="1" prop="signingDate">
+          {{ deptBudgetList.signingDate }}
+        </ws-form-item>
+        <ws-form-item label="代储费预计终止日期" span="1" prop="storageFeeEnddate">
+          {{deptBudgetList.storageFeeEnddate}}
+        </ws-form-item>
+        <ws-form-item label="最终实际交易量(吨)" span="1" prop="finalTradingVolume">
+          {{ deptBudgetList.finalTradingVolume }}
+        </ws-form-item>
+        
+      </ws-info-table>
+      <div class="remark">
+        <h3>货物信息</h3>
+      </div>
+      <ws-info-table>
+        <ws-form-item label="货名" span="1" prop="waterContent">
+          {{ deptBudgetList.contractGoodsInfo.goodsName }}
+        </ws-form-item>
+        <ws-form-item label="水分(%)<=" span="1" prop="intendedShipId">
+          {{ deptBudgetList.contractGoodsInfo.waterContent }}
+        </ws-form-item>
+        <ws-form-item label="品级" span="1" prop="grade">
+          {{ deptBudgetList.contractGoodsInfo.grade }}
+        </ws-form-item>
+        <ws-form-item label="杂质(%)<=" span="1" prop="impurity">
+          {{ deptBudgetList.contractGoodsInfo.impurity }}
+        </ws-form-item>
+        <ws-form-item label="容重(克/升)>=" span="1" prop="bulkDensity">
+          {{ deptBudgetList.contractGoodsInfo.bulkDensity }}
+        </ws-form-item>
+        <ws-form-item label="霉变粒(%)<=" span="1" prop="mildewGrain" class="result">
+          {{ deptBudgetList.contractGoodsInfo.mildewGrain }}
+        </ws-form-item>
+        <ws-form-item label="热损伤(%)<=" span="1" prop="jiaorenli">
+          {{ deptBudgetList.contractGoodsInfo.jiaorenli }}
+        </ws-form-item>
+        <ws-form-item label="不完善粒(%)<=" span="1" prop="imperfectGrain" class="result">
+          {{ deptBudgetList.contractGoodsInfo.imperfectGrain }}
+        </ws-form-item>
+      </ws-info-table>
+      <div class="remark">
+        <h3>流程信息</h3>
+      </div>
+      <ws-info-table>
+        <!--已付款(元)-->
+        <ws-form-item label="已付款(元)" span="1" prop="mildewGrain">
+          {{deptBudgetList.contractProcessInfo.mildewGrain}}
+        </ws-form-item>
+        <ws-form-item label="已开销售发票(元)" span="1" prop="goodsName">
+          {{ deptBudgetList.contractProcessInfo.goodsName }}
+        </ws-form-item>
+        <ws-form-item label="费用支出(元)" span="1" prop="waterContent">{{ deptBudgetList.contractProcessInfo.waterContent }}
+        </ws-form-item>
+        <ws-form-item label="未开销售发票(元)" span="1" prop="impurity">{{ deptBudgetList.contractProcessInfo.impurity }}
+        </ws-form-item>
+       <!--未回款(元)-->
+       <ws-form-item label="未回款(元)" span="1" prop="mildewGrain">
+         {{deptBudgetList.contractProcessInfo.mildewGrain}}
+       </ws-form-item>
+        <ws-form-item label="双章原件回收情况" span="1" prop="grade">{{ deptBudgetList.contractProcessInfo.grade }}
+        </ws-form-item>
+      </ws-info-table>
+      <div class="remark">
+        <h3>备注信息</h3>
+      </div>
+      <div style=" color: #afb5cb;margin-left: 20px;">
+        {{ deptBudgetList.remarks }}
+      </div>
+      <ws-upload ref="upload" :comp-id="compId" :appendix-ids="deptBudgetList.addressUrl" :editable="false"
+        accept=".jpg, .jpeg, .png, .pdf, .doc, .zip, .rar" />
+    </ws-form>
+
+    <div style="text-align: right; padding: 10px">
+      <el-button class="bg-bottom" type="primary" size="small" @click="reject()">驳回</el-button>
+      <el-button class="bg-bottom" type="primary" size="small" @click="pass()">通过</el-button>
+    </div>
+    <el-dialog :title="title" :visible.sync="dialogTableVisible">
+      <el-form ref="form" :model="form" label-width="80px">
+        <el-form-item :label="title">
+          <el-input size="medium" type="textarea" placeholder="请输入审核原因" maxlength="1000" show-word-limit v-model="form.auditMind"></el-input>
+        </el-form-item>
+        <el-form-item label="附件">
+          <ws-upload ref="upload" :size-limit="size"  @onChange="onChange" @uploadSuccess="uploadSuccess" :comp-id="compId" :appendix-ids="appendixIdss1"
+          accept=".jpg, .jpeg, .png, .pdf, .doc, .docx, .zip, .rar" />
+        </el-form-item>
+        <el-form-item>
+          <el-button @click="dialogTableVisible=false">取消</el-button>
+          <el-button type="primary" @click="onSubmit">确定</el-button>
+        </el-form-item>
+      </el-form>
+    </el-dialog>
+  </div>
+</template>
+<script>
+  import {
+    packList,
+    xiala,
+    examineList,
+    billoperatehis,
+  } from '@/model/contarct/index'
+  import {
+    gettaskhistories
+  } from '@/model/tasksport/index'
+  import WsUpload from '@/components/WsUpload'
+  import {
+  woekflowhandle
+} from '@/model/tasksport/index'
+  export default {
+    name: 'viewSpareMoney',
+    components: {
+      WsUpload,
+    },
+    watch: {
+      vesselId(val) {
+        this.getVesselData()
+      },
+      isShow(val) {
+        this.showType = val
+      },
+    },
+    data() {
+      return {
+        //弹出框
+        dialogViewSpareMoney: false,
+        dialogApproveFormVisible: false,
+        // 船舶类型
+        monetaryKey: null,
+        // 表格显示数据
+        tableDate: [],
+        // 是否显示
+        showType: true,
+        // 年
+        year: '',
+        status: '',
+        // 提交类型
+        submitType: true,
+        historyList: [],
+        tableData: [{
+          date: 1111,
+          name: 'qqqq',
+          address: 'errrtt'
+        }],
+        ruleDeptBudget: [],
+        taskhistories: [],
+        deptBudgetList: {
+          contractProcessInfo: {},
+          contractGoodsInfo: {},
+        },
+        mainReportAdd: {},
+        list: {},
+        size: 10,
+        form:{},
+        fileList:[],
+        title:'',
+        dialogTableVisible:false,
+        compId: localStorage.getItem('ws-pf_compId'),
+      }
+    },
+
+    activated() {
+      this.status = this.$route.query.status
+      this.loaddata()
+      this.showType = this.isShow
+    },
+    methods: {
+      onSubmit() {
+      if (this.title == '驳回原因') {
+        woekflowhandle({
+          taskId: this.deptBudgetList.taskId,
+          approved: false,
+          auditMind: this.form.auditMind+ "##" + this.fileList.toString(),
+          needReapply: true,
+        }).toPromise()
+          .then((response) => {
+            this.$message({
+              message: '驳回成功!',
+              type: 'success',
+            })
+            this.dialogTableVisible = false
+            this.$router.go(-1)
+          }).catch((response) => {
+            this.$message({
+              message: '驳回失败!',
+              type: 'error',
+            })
+          })
+      } else {
+        woekflowhandle({
+          taskId: this.deptBudgetList.taskId,
+          approved: true,
+          auditMind: this.form.auditMind+ "##" + this.fileList.toString(),
+          needReapply: true,
+        }).toPromise()
+          .then((response) => {
+            this.$message({
+              message: '通过成功!',
+              type: 'success',
+            })
+            this.dialogTableVisible = false
+            this.$router.go(-1)
+          }).catch((response) => {
+            this.$message({
+              message: '通过失败!',
+              type: 'error',
+            })
+          })
+      }
+    },
+      onChange(file,fileList) {
+        for (let i = 0; i < fileList.length; i++) {
+          this.fileList.push(fileList[i].appendixPath)
+        }
+        
+        console.log(file,fileList)
+            // this.deptBudgetList.addressUrl = response
+            // this.deptBudgetList.id = this.id
+            // this.deptBudgetList.flag = 1
+            // editInfo(this.deptBudgetList)
+            //   .toPromise()
+            //   .then((response) => {
+            //     this.accessoryTFs = false
+            //     this.$message.success('上传成功')
+            //     this.getList()
+            //   })
+      },
+      reject(){
+        this.title='驳回原因'
+        this.dialogTableVisible=true
+      },
+      pass(){
+        this.title='通过原因'
+        this.dialogTableVisible=true
+      },
+      loaddata() {
+        gettaskhistories({
+            businessKey: this.$route.query.id,
+            workflowId: this.$route.query.workflowId
+          }).toPromise()
+          .then((response) => {
+            this.taskhistories = response
+          })
+        // 数据
+        examineList({
+            id: this.$route.query.id
+          })
+          .toPromise()
+          .then((response) => {
+            this.deptBudgetList = response
+            if (this.deptBudgetList.deliverType == 1) {
+              this.deptBudgetList.deliverType1 = '我方自提'
+            } else if (this.deptBudgetList.deliverType == 2) {
+              this.deptBudgetList.deliverType1 = '对方送货'
+            }
+          })
+        // 包装方式
+        packList({
+            constId: 'CON1'
+          })
+          .toPromise()
+          .then((response) => {
+            this.packtypeList = response
+          })
+        // 验收方式
+        this.getUnitList()
+        // 货名
+        packList({
+            constId: 'CON2'
+          })
+          .toPromise()
+          .then((response) => {
+            this.goodnameList = response
+          })
+        // 品级
+        packList({
+            constId: 'CON3'
+          })
+          .toPromise()
+          .then((response) => {
+            this.gradeList = response
+          })
+        // 双章
+        packList({
+            constId: 'CON4'
+          })
+          .toPromise()
+          .then((response) => {
+            this.ChapterTwoList = response
+          })
+      },
+      getUnitList() {
+        xiala({
+            compId: localStorage.getItem('ws-pf_compId'),
+            constCode: 'TYPEYAN',
+          })
+          .toPromise()
+          .then((response) => {
+            this.unitList = response
+            let currItem
+            this.unitList.forEach((item, index, arr) => {
+              item.flag = 'delete'
+              if (this.vModel == item.constKey) {
+                currItem = item
+              }
+            })
+            //
+            if (currItem) {
+              this.selectContract(currItem.constValue)
+            }
+          })
+      },
+      history(id1) {
+        billoperatehis({
+            id: id1
+          })
+          .toPromise()
+          .then((response) => {
+            this.historyList = response
+          })
+      },
+      // 关闭 dialog时 处理文件url 初始化upload组件
+      handleClose() {
+        this.dialogViewSpareMoney = false
+      },
+      returnsales() {
+        this.$router.go(-1)
+      },
+    },
+  }
+</script>
+<style lang="scss" scoped>
+  // .status-orange,
+  // .status-bule,
+  // .status-green {
+  //   border: 1px solid;
+  //   border-radius: 30px;
+  //   padding: 3px 10px;
+  //   font-size: 16px;
+  // }
+
+  // .status-orange {
+  //   border-color: #ff9f24;
+  //   color: #ff9f24;
+  //   background: #ffedd5;
+  // }
+
+  // .status-bule {
+  //   border-color: #5473e8;
+  //   color: #5473e8;
+  //   background: #f0f3fe;
+  // }
+
+  // .status-green {
+  //   border-color: #50cad4;
+  //   color: #50cad4;
+  //   background: #ecfeff;
+  // }
+
+
+
+  /deep/.ws-info-table .el-form-item {
+    border-right: 1px solid #cdd2dc;
+    border-bottom: 1px solid #cdd2dc;
+  }
+
+  // .readonly {
+  //   position: relative;
+  // }
+
+  // .readonly:after {
+  //   content: '*';
+  //   color: #ff2727;
+  //   position: absolute;
+  //   right: 8px;
+  //   z-index: 10;
+  //   top: 21%;
+  //   font-size: 20px;
+  // }
+
+  .title {
+    position: relative;
+  }
+
+  .title::before {
+    content: '';
+    display: inline-block;
+    width: 5px;
+    height: 30px;
+    background: #5473e8;
+    position: absolute;
+    left: 0;
+  }
+
+  .el-button--primary {
+    background-color: #5878e8;
+    border-color: #5878e8;
+  }
+
+  .el-col {
+    background: #f6f7fc;
+  }
+
+  /deep/.ws-info-table .el-form-item .el-form-item__content {
+    padding: 0 25px;
+    border-left: 1px solid #cdd2dc;
+    background: #fafbfc;
+    color: #afb5cb;
+  }
+
+  /deep/.ws-info-table .el-form-item .el-form-item__label {
+    width: 140px;
+    text-align: center;
+    background: #f0f2f6;
+    // border: 1px solid #cdd2dc;
+  }
+
+  // .button-container {
+  //   display: flex;
+  //   flex-wrap: nowrap;
+  //   justify-content: space-between;
+  //   align-items: center;
+  //   background-color: #fff;
+  //   width: 100%;
+  //   height: 50px;
+  //   padding: 0 10px;
+
+  //   &>div {
+  //     margin-left: 10px;
+  //     display: flex;
+  //     flex-wrap: nowrap;
+  //     flex-direction: row;
+
+  //     &>span {
+  //       line-height: 50px;
+  //     }
+  //   }
+
+  //   /deep/.auditFlow-box {
+  //     position: unset;
+  //     margin-left: 10px;
+
+  //     &/deep/.auditFlow-icon {
+  //       width: auto;
+  //       padding-right: 30px;
+  //     }
+
+  //     &/deep/.auditFlow-main {
+  //       position: absolute;
+  //     }
+  //   }
+  // }
+
+  .box-app {
+    display: inline-block;
+    float: left;
+    margin-left: 30px;
+    line-height: 50px;
+  }
+
+  /deep/.el-dialog {
+    .el-form-item {
+      margin-bottom: 0 !important;
+
+      .el-input--medium {
+        textarea {
+          min-height: 100px !important;
+        }
+      }
+    }
+  }
+
+  .collapse-bottom {
+    margin-bottom: 20px;
+  }
+
+  .input-main .textarea .el-textarea__inner {
+    width: 100%;
+    z-index: 1;
+  }
+
+  .bg-left {
+    padding-left: 30px;
+  }
+
+  .bg-right {
+    padding-right: 10px;
+    text-align: right;
+  }
+
+  .bg-bottom {
+    margin: 15px 0px;
+  }
+
+  // .wenzi {
+  //   width: 900px;
+  //   margin: 0 auto;
+  // }
+
+  // .wenzi h3 {
+  //   display: inline-block;
+  //   left: 10px;
+  // }
+
+  // .wenzi p {
+  //   display: inline-block;
+  // }
+
+  .center {
+    width: 900px;
+    margin: 0 auto;
+  }
+
+  .ws-form.el-form{
+  padding:0 15%;
+}
+  .ws-info-table .el-form-item {
+    width: 50%;
+  }
+  .el-form-item__label {
+    text-align: center;
+  }
+
+  // .ce {
+  //   width: 900px;
+  //   margin: 0 auto;
+  // }
+
+  /*.crt-main .textarea /deep/ .el-form-item__label {*/
+  /*  height: 82px;*/
+  /*}*/
+  // 控制select为只读的时候显示样式
+
+  // .hide-sel {
+  //   .el-input__inner {
+  //     border: 0px;
+  //   }
+
+  //   .el-icon-arrow-up {
+  //     display: none;
+  //   }
+
+  //   .el-textarea__inner {
+  //     background-color: #fff !important;
+  //     border: 0;
+  //   }
+
+  //   .el-date-editor {
+  //     i {
+  //       display: none;
+  //     }
+  //   }
+
+  //   .is-disabled {
+  //     .el-input__inner:hover {
+  //       background-color: #fff !important;
+  //       border: 0;
+  //     }
+
+  //     color: #606266;
+
+  //     .el-input__inner {
+  //       background-color: #fff !important;
+  //       border: 0;
+  //       color: #606266;
+  //     }
+
+  //     .el-textarea__inner {
+  //       background-color: #fff !important;
+  //       border: 0;
+  //       color: #606266;
+  //     }
+  //   }
+  // }
+
+  // 控制select为只读的时候显示样式
+  /deep/.ws-class-table-col {
+    height: auto;
+    padding: 0px 2px;
+
+    /deep/.el-input__inner {
+      padding: 0px 2px;
+    }
+  }
+
+  /deep/.is-disabled {
+    .el-input__prefix,
+    .el-input__suffix {
+      display: none;
+    }
+
+    .el-input__inner {
+      background-color: #fff;
+      border-color: #fff !important;
+      color: #000 !important;
+      font-size: 14px;
+      cursor: text;
+      padding: 0 !important;
+    }
+  }
+
+  .winseaview-view {
+    padding: 0 0 20px;
+  }
+
+  .container {
+    overflow: scroll;
+    height: 93vh;
+  }
+
+  /deep/.ws-info-table[data-v-850a44a6] .el-form-item .el-form-item__label {
+    width: 130px;
+  }
+
+  .vertical-text-left {
+    width: 62px;
+    text-align: right;
+  }
+
+  .vertical-text {
+    margin: 0 10px;
+    color: #8890b1;
+    font-size: 12px;
+    margin-top: -4px;
+  }
+
+  .vertical-line {
+    height: 100px;
+    border-left: 2px solid #e9ecf7;
+    margin-left: 4px;
+    padding: 0 3px;
+  }
+
+  .vertical-circle {
+    width: 10px;
+    height: 10px;
+    border: 2px solid #5878e8;
+    background-color: #ffffff;
+    -webkit-border-radius: 100px;
+  }
+
+  .vertical-circle:first-child {
+    color: red;
+  }
+
+  .icon {
+    display: inline-block;
+    width: 60px;
+    background: #ecfeff;
+    border-radius: 12px;
+    border: 1px solid #50cad4;
+    position: relative;
+    font-size: 14px;
+    color: #50cad4;
+    padding: 1px 7px;
+  }
+
+  .title-top {
+    margin-top: 20px;
+    font-size: 21px;
+    font-weight: 600;
+  }
+
+  .title-number {
+    font-size: 14px;
+    font-weight: 400;
+  }
+</style>

+ 5 - 3
src/views/customerFundManagement/customerFundEdit.vue

@@ -108,7 +108,7 @@
               <div class="unload-img">上传银行卡正面</div>
               <el-upload
                 class="avatar-uploader avatar-uploader3"
-                ::action="global.uploadPath"
+                :action="uploadPath"
                 :show-file-list="false"
                 :on-success="bankSuccess1"
                 :disabled="disabled"
@@ -121,7 +121,7 @@
               <div class="unload-img">上传银行卡反面</div>
               <el-upload
                 class="avatar-uploader avatar-uploader4"
-                :action="global.uploadPath"
+                :action="uploadPath"
                 :show-file-list="false"
                 :on-success="bankSuccess2"
                 :disabled="disabled"
@@ -245,6 +245,7 @@ export default {
           url: '',
         },
       ],
+      uploadPath:this.global.uploadPath,
       identityUp: 'up',
       identityLow: 'low',
       bankUps: 'bankUp',
@@ -257,7 +258,8 @@ export default {
   },
   activated() {
     this.loaddata()
-
+    this.uploadPath=this.global.uploadPath
+    console.log(this.uploadPath)
     this.showType = this.isShow
     this.imageUrl3 = ''
     this.imageUrl4 = ''

+ 12 - 3
src/views/outboundManagement/weighingManagementNew.vue

@@ -610,7 +610,10 @@
         },{
           value: '黑龙江欣洋粮食贸易有限公司',
           label: '黑龙江欣洋粮食贸易有限公司'
-        }],
+        },{
+        value: '天津建源供应链管理有限公司',
+        label: '天津建源供应链管理有限公司'
+      }],
         idPrint: '',
         
         myCompanyCustomer:'',
@@ -725,7 +728,10 @@
         }, {
           value: '黑龙江启兴粮食贸易有限公司',
           label: '黑龙江启兴粮食贸易有限公司'
-        }]
+        },{
+        value: '天津建源供应链管理有限公司',
+        label: '天津建源供应链管理有限公司'
+      }]
           this.companyNameEWOptions=[
           {
           value: '黑龙江中天昊元贸易有限公司',
@@ -754,7 +760,10 @@
         }, {
           value: '黑龙江启兴粮食贸易有限公司',
           label: '黑龙江启兴粮食贸易有限公司'
-        }]
+        },{
+        value: '天津建源供应链管理有限公司',
+        label: '天津建源供应链管理有限公司'
+      }]
           this.companyName=extra[0]
           this.companyNameEW=extra[0]
           this.ewCustomer=extra[0]

+ 12 - 3
src/views/outboundManagement/weighingManagementrecord.vue

@@ -366,7 +366,10 @@
         },{
           value: '黑龙江欣洋粮食贸易有限公司',
           label: '黑龙江欣洋粮食贸易有限公司'
-        }],
+        },{
+        value: '天津建源供应链管理有限公司',
+        label: '天津建源供应链管理有限公司'
+      }],
         companyName: '黑龙江中天昊元贸易有限公司',
         companyNameEW: '黑龙江利润元粮食贸易有限公司',
         ewCustomer: '厦门建发物产有限公司',
@@ -460,7 +463,10 @@
         }, {
           value: '黑龙江启兴粮食贸易有限公司',
           label: '黑龙江启兴粮食贸易有限公司'
-        }]
+        },{
+        value: '天津建源供应链管理有限公司',
+        label: '天津建源供应链管理有限公司'
+      }]
           this.companyNameEWOptions=[
           {
           value: '黑龙江中天昊元贸易有限公司',
@@ -489,7 +495,10 @@
         }, {
           value: '黑龙江启兴粮食贸易有限公司',
           label: '黑龙江启兴粮食贸易有限公司'
-        }]
+        },{
+        value: '天津建源供应链管理有限公司',
+        label: '天津建源供应链管理有限公司'
+      }]
           this.companyName=extra[0]
           this.companyNameEW=extra[0]
           this.ewCustomer=extra[0]

+ 27 - 27
src/views/profitable/component/routers/route.js

@@ -31,8 +31,8 @@ const profitableRouter = {
     {
       path: 'expensemanagement',
       component: () =>
-        import(/* webpackChunkName: "applDetail" */ '@/views/profitable/expensemanagement'),
-      name: 'expensemanagement',
+        import(/* webpackChunkName: "applDetail" */ '@/views/profitable/expensemanagementdetails'),
+      name: 'expensemanagementdetails',
       meta: {
         title: 'expensemanagement',
         shortcutEntrance: 'profitable',
@@ -45,17 +45,17 @@ const profitableRouter = {
     },
     // 费用管理详情
     {
-      path: 'expensemanagementdetails',
+      path: 'summaryOfIncomeAndExpenditure',
       component: () =>
-        import(/* webpackChunkName: "applDetail" */ '@/views/profitable/expensemanagementdetails'),
-      name: 'expensemanagementdetails',
+        import(/* webpackChunkName: "applDetail" */ '@/views/profitable/expensemanagement'),
+      name: 'expensemanagement',
       meta: {
-        title: 'expensemanagementdetails',
+        title: 'summaryOfIncomeAndExpenditure',
         shortcutEntrance: 'profitable',
         module: 'lirunhesuan.feiyongguanli.view',
         permissicon: [],
         keepAlive: true,
-        _title:'费用管理详情'
+        _title:'收支概览'
         // module: 'procurement.sparepart.applDetail'
       },
       hidden:true,
@@ -252,7 +252,7 @@ const profitableRouter = {
       {
         path: 'contractprofits',
         component: () =>
-          import(/* webpackChunkName: "applDetail" */ '@/views/profitable/contractprofits'),
+          import(/* webpackChunkName: "applDetail" */ '@/views/profitable/contractprofitsdetails'),
         name: 'contractprofits',
         meta: {
           title: 'contractprofits',
@@ -264,19 +264,19 @@ const profitableRouter = {
           // module: 'procurement.sparepart.applDetail'
         }
       },  
-     // 合同利润详情
+     // 合同利润概览
      {
       path: 'contractprofitsdetails',
       component: () =>
-        import(/* webpackChunkName: "applDetail" */ '@/views/profitable/contractprofitsdetails'),
+        import(/* webpackChunkName: "applDetail" */ '@/views/profitable/contractprofits'),
       name: 'contractprofitsdetails',
       meta: {
-        title: 'contractprofitsdetails',
+        title: 'contractprofitsdetailsoverview',
         shortcutEntrance: 'profitable',
         module: 'lirunhesuan',
         permissicon: [],
         keepAlive: true,
-        _title:'合同利润详情'
+        _title:'合同利润概览'
         // module: 'procurement.sparepart.applDetail'
       },
       hidden:true,
@@ -316,21 +316,21 @@ const profitableRouter = {
       hidden:true,
     },
     // 库点利润
-    {
-      path: 'warehouseprofits',
-      component: () =>
-        import(/* webpackChunkName: "applDetail" */ '@/views/profitable/warehouseprofits'),
-      name: 'warehouseprofits',
-      meta: {
-        title: 'warehouseprofits',
-        shortcutEntrance: 'profitable',
-        module: 'lirunhesuan',
-        permissicon: [],
-        keepAlive: true,
-        _title:'库点利润'
-        // module: 'procurement.sparepart.applDetail'
-      }
-    }, 
+    // {
+    //   path: 'warehouseprofits',
+    //   component: () =>
+    //     import(/* webpackChunkName: "applDetail" */ '@/views/profitable/warehouseprofits'),
+    //   name: 'warehouseprofits',
+    //   meta: {
+    //     title: 'warehouseprofits',
+    //     shortcutEntrance: 'profitable',
+    //     module: 'lirunhesuan',
+    //     permissicon: [],
+    //     keepAlive: true,
+    //     _title:'库点利润'
+    //     // module: 'procurement.sparepart.applDetail'
+    //   }
+    // }, 
     // 库点利润详情
      {
       path: 'warehouseprofitsdetails',

+ 41 - 7
src/views/profitable/contractprofits.vue

@@ -1,12 +1,14 @@
 //合同利润
 <template>
   <div class="container">
-    <!-- <el-row class="row_top">
+    <el-row class="row_top1">
       <el-col :span="12">
-        <h2 class="bg-left title">盈收概览</h2>
+        <h2 class="bg-left title1">合同利润概览</h2>
       </el-col>
-      <el-col :span="12" class="bg-right"></el-col>
-    </el-row> -->
+      <el-col :span="12" class="bg-right"><el-button class="bg-bottom" type="primary" size="small" @click="returnsales()"><img width="6" height="10"
+            style="vertion-align: bottom; margin-right: 3px" src="../../../public/img/lujing.png" alt="" />返回
+        </el-button></el-col>
+    </el-row>
     <div class="center">
       <el-row class='row_top'>
       <el-col :span="12">
@@ -20,7 +22,7 @@
         
       </div>
       </el-col>
-      <el-col :span="12" class="bg-right"><el-button type='primary' @click='detail'>利润详情</el-button></el-col>
+      <el-col :span="12" class="bg-right"></el-col>
     </el-row>
       <div class="chart_css">
         <div class="table">
@@ -176,9 +178,10 @@
         
 
       },
-      detail(){
-        this.$router.push({name:'contractprofitsdetails'})
+      returnsales(){
+        this.$router.go(-1)
       },
+      
       datechange(e){
         this.value=e
         this.getList()
@@ -459,4 +462,35 @@
   margin:10px auto;
   color:#8890B1;
 }
+.row_top1 {
+  background: #f6f7fc;
+  border-radius: 4px;
+  margin-bottom: 10px;
+
+  .bg-left {
+    padding-left: 30px;
+  }
+
+  .bg-right {
+    padding-right: 10px;
+    text-align: right;
+  }
+  .bg-right {
+  padding-top: 15px;
+}
+
+  .title1 {
+    position: relative;
+  }
+
+  .title1::before {
+    content: '';
+    display: inline-block;
+    width: 5px;
+    height: 30px;
+    background: #5473e8;
+    position: absolute;
+    left: 0;
+  }
+}
 </style>

+ 13 - 42
src/views/profitable/contractprofitsdetails.vue

@@ -1,14 +1,7 @@
 //合同利润详情
 <template>
   <div class="container">
-    <el-row class="row_top">
-      <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="vertion-align: bottom; margin-right: 3px" src="../../../public/img/lujing.png" alt="" />返回
-        </el-button></el-col>
-    </el-row>
+    
     <div class="center">
       <el-row style='margin-bottom:10px;'>
         <el-col :span="6">
@@ -36,8 +29,8 @@
           <el-button @click="typeChange(5)" :type="searchContractType == 5?'primary':''">收购合同</el-button>
           <!-- <el-button @click="typeChange(1)" :type="searchType == 1?'primary':''">收储合同</el-button> -->
         </el-col>
-        <el-col :span="6">
-
+        <el-col style="text-align:right;" :span="6">
+          <el-button type='primary' @click='detail'>合同利润概览</el-button>
         </el-col>
       </el-row>
       <el-row style='margin-bottom:10px;'>
@@ -198,6 +191,12 @@
       }
     },
     activated() {
+      
+      if(this.$route.query.contractNo){
+        this.searchKeyWord=this.$route.query.contractNo
+      }else{
+        this.searchKeyWord=''
+      }
       this.getPassYearFormatDate()
     },
     methods: {
@@ -292,15 +291,16 @@
       inventory(row){
         this.$router.push({name:'contractinventory',query:{contractNo:row.contractNo,contractType:row.contractType,buyer:row.buyer,seller:row.seller}})
       },
-      returnsales(){
-        this.$router.go(-1)
-      },
+      
       handleSelectionChange(val) {
         this.multipleSelection = val;
       },
       cost(row){
         this.$router.push({name:'contractcost',query:{contractNo:row.contractNo,contractType:row.contractType,buyer:row.buyer,seller:row.seller}})
       },
+      detail(){
+        this.$router.push({name:'contractprofitsdetails'})
+      },
       getPassYearFormatDate() {
         var _date = new Date()
         var nowDate = new Date()
@@ -452,35 +452,6 @@
     }
   }
 
-  .row_top {
-    background: #F6F7FC;
-    border-radius: 4px;
-    margin-bottom: 10px;
-
-    .bg-left {
-      padding-left: 30px;
-    }
-
-    .bg-right {
-      padding-right: 10px;
-      text-align: right;
-    }
-
-    .title {
-      position: relative;
-    }
-
-    .title::before {
-      content: '';
-      display: inline-block;
-      width: 5px;
-      height: 30px;
-      background: #5473e8;
-      position: absolute;
-      left: 0;
-    }
-  }
-
   .datascreen {
     display: flex;
 

+ 46 - 9
src/views/profitable/expensemanagement.vue

@@ -1,12 +1,16 @@
-//费用管理
+//收支概览
 <template>
   <div class="container">
-    <!-- <el-row class="row_top">
+    <el-row class="row_top1">
       <el-col :span="12">
-        <h2 class="bg-left title">收概览</h2>
+        <h2 class="bg-left title1">收概览</h2>
       </el-col>
-      <el-col :span="12" class="bg-right"></el-col>
-    </el-row> -->
+      <el-col :span="12" class="bg-right">
+        <el-button class="bg-bottom" type="primary" size="small" @click="returnsales()"><img width="6" height="10"
+            style="vertion-align: bottom; margin-right: 3px" src="../../../public/img/lujing.png" alt="" />返回
+        </el-button>
+      </el-col>
+    </el-row>
     <div class="center">
       <el-row class='row_top'>
       <el-col :span="12">
@@ -22,7 +26,7 @@
         
       </div>
       </el-col>
-      <el-col :span="12" class="bg-right"><el-button type='primary' @click='detail'>费用详情</el-button></el-col>
+      <el-col :span="12" class="bg-right"></el-col>
     </el-row>
       <div class="chart_css">
         <div class="table">
@@ -150,6 +154,9 @@
       }
     },
     methods: {
+      returnsales() {
+        this.$router.go(-1)
+      },
       yearChange(){
         this.getList()
       },
@@ -207,9 +214,7 @@
           this.year++
         }
       },
-      detail(){
-        this.$router.push({name:'expensemanagementdetails'})
-      },
+      
       getPassYearFormatDate() {
         var nowDate = new Date()
         var _date = new Date()
@@ -499,4 +504,36 @@
   top:50%;
   transform: translateY(-50%);
 }
+.row_top1 {
+  background: #f6f7fc;
+  border-radius: 4px;
+  margin-bottom: 10px;
+
+  .bg-left {
+    padding-left: 30px;
+  }
+
+  .bg-right {
+    padding-right: 10px;
+    text-align: right;
+  }
+  .bg-right {
+  padding-top: 15px;
+}
+
+  .title1 {
+    position: relative;
+  }
+
+  .title1::before {
+    content: '';
+    display: inline-block;
+    width: 5px;
+    height: 30px;
+    background: #5473e8;
+    position: absolute;
+    left: 0;
+  }
+}
+
 </style>

+ 21 - 47
src/views/profitable/expensemanagementdetails.vue

@@ -1,16 +1,7 @@
-//费用详情
+//费用管理
 <template>
   <div class="container">
-    <el-row class="row_top">
-      <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="vertion-align: bottom; margin-right: 3px" src="../../../public/img/lujing.png" alt="" />返回
-        </el-button>
-      </el-col>
-    </el-row>
+    
     <div class="center">
       <el-row style="margin-bottom: 10px">
         <el-col :span="6">
@@ -87,7 +78,7 @@
         </el-col>
       </el-row>
       <el-row style="margin-bottom: 10px">
-        <el-col :span="18">
+        <el-col :span="16">
           <el-button style="margin-left: 10px" @click="typeChange('')" :type="searchType == '' ? 'primary' : ''">全部
           </el-button>
           <el-button @click="typeChange(1)" :type="searchType == 1 ? 'primary' : ''">收入</el-button>
@@ -100,7 +91,8 @@
           <el-button @click="costChange(2)" :type="expensesPurpose == 2 ? 'primary' : ''">运费</el-button>
           <el-button @click="exportFile" type="primary">导出</el-button>
         </el-col>
-        <el-col style="text-align: right;display: flex;" :span="6">
+        <el-col style="text-align: right;" :span="8">
+          <el-button @click="detail()">收支概览</el-button>
           <el-button @click="coalCost()">燃料费</el-button>
           <el-badge v-if="approveStatus" is-dot class="item">
             <el-button style="margin-left: 10px" @click="oilcost()">油费</el-button>
@@ -435,10 +427,18 @@ export default {
   },
   activated() {
     this.getPassYearFormatDate()
+    if(this.$route.query.contractNo){
+        this.flowTo=this.$route.query.contractNo
+      }else{
+        this.flowTo=''
+      }
     this.getList()
     this.xiala()
   },
   methods: {
+    detail(){
+      this.$router.push({name:'expensemanagement'})
+    },
     async exportFile() {
       let _data = {
         // expenseInfoExportList:this.choiceObj,
@@ -621,9 +621,7 @@ export default {
         })
         .catch((response) => { })
     },
-    returnsales() {
-      this.$router.go(-1)
-    },
+
     handleClose() {
       this.fujianshow = false
     },
@@ -779,10 +777,10 @@ export default {
           'expensebh',
           JSON.stringify(row.expenseAllocationInfoListBH)
         )
-        this.$router.push({
-          name: 'expensemanagentedit',
-          query: { id: row.id },
-        })
+          this.$router.push({
+            name: 'expensemanagentedit',
+            query: { id: row.id },
+          })
       } else {
         this.$message({
           message: '暂无此权限!',
@@ -1011,34 +1009,7 @@ export default {
   }
 }
 
-.row_top {
-  background: #f6f7fc;
-  border-radius: 4px;
-  margin-bottom: 10px;
 
-  .bg-left {
-    padding-left: 30px;
-  }
-
-  .bg-right {
-    padding-right: 10px;
-    text-align: right;
-  }
-
-  .title {
-    position: relative;
-  }
-
-  .title::before {
-    content: '';
-    display: inline-block;
-    width: 5px;
-    height: 30px;
-    background: #5473e8;
-    position: absolute;
-    left: 0;
-  }
-}
 
 .datascreen {
   display: flex;
@@ -1079,4 +1050,7 @@ export default {
 .options_css {
   margin: 0 5px;
 }
+/deep/.el-badge{
+  display:inline-block;
+}
 </style>

+ 10 - 10
src/views/statisticalReport/autoSettlementList.vue

@@ -43,7 +43,7 @@
       <el-row>
         <el-col  :span="12">
           &nbsp;
-          <div v-hasPermission="`report.transportationReport.wuliu`" style="display:flex;align-items:center;justify-content: flex-start;" v-if="contractNo!='全部合同'&&warehouseList.records.length>0"><div style="width:100px;">粮食单价:</div> <div v-if="grainPricetext=='编辑'">{{grainPrice}}</div><el-input style="margin:0;" v-else v-model="grainPrice"></el-input><el-button style="margin:0 0 0 5px;" type="primary" @click="editgrainPrice">{{grainPricetext}}</el-button></div></el-col>
+          <!-- <div v-hasPermission="`report.transportationReport.wuliu`" style="display:flex;align-items:center;justify-content: flex-start;" v-if="contractNo!='全部合同'&&warehouseList.records.length>0"><div style="width:100px;">货值:</div> {{grainPrice}}</div>--></el-col> 
         <el-col style="padding-left: 15px;text-align:right;" :span="12">
           <el-date-picker @change="datechange" format="yyyy-MM-dd" v-model="value2" type="daterange" unlink-panels range-separator="至"
           start-placeholder="开始日期" end-placeholder="结束日期" :picker-options="pickerOptions">
@@ -74,6 +74,7 @@
         <el-table-column class="table_td" prop="contractNo" width="120" label="合同编号"></el-table-column>
         <el-table-column class="table_td" prop="startAddress" width="120" label="发货库"></el-table-column>
         <el-table-column class="table_td" prop="createDate" width="120" label="发货时间"></el-table-column>
+        <el-table-column class="table_td" prop="grainPrice" width="120" label="货值"></el-table-column>
         <!-- <el-table-column width="120" class="table_td" prop="processNo" label="运输阶段"></el-table-column>
         <el-table-column width="60" class="table_td" prop="name" label="姓名"></el-table-column>
         <el-table-column width="120" class="table_td" prop="phone" label="电话"></el-table-column> -->
@@ -296,7 +297,7 @@
 
       <!-- 页数 -->
       <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>
+        :page-sizes="[10, 30, 50, 100, 500, 1000, 9999]" layout="total, sizes, prev, pager, next, jumper" :total="deptBudgetTotal"></el-pagination>
     </el-scrollbar>
     <!-- 修改结算重量记录 -->
     <el-dialog width="40%" title="结算重量修改记录" :visible.sync="dialogFormVisible16" :append-to-body="true">
@@ -676,7 +677,6 @@ export default {
     }
   },
   activated() {
-    console.log(11111111)
     getwarehouse({
             compId: localStorage.getItem('ws-pf_compId'),
           })
@@ -684,6 +684,11 @@ export default {
           .then((response) => {
             this.warehouseList1=response
           })
+      if(this.$route.query.contractNo){
+        this.contractNo=this.$route.query.contractNo
+      }else{
+        this.contractNo=''
+      }
     this.getList()
     this.showType = this.isShow
   },
@@ -1695,8 +1700,8 @@ export default {
             response.records[i].deductionAmountchange = false
             response.records[i].amountIngPayable = response.records[i].amountIngPayable.toFixed(2)
             response.records[i].amountEdPayable = response.records[i].amountEdPayable.toFixed(2)
-            response.records[i].amountNotPayable =((response.records[i].totalPayable - response.records[i]
-              .amountEdPayable)*100)/100
+            response.records[i].amountNotPayable =(((response.records[i].totalPayable - response.records[i]
+              .amountEdPayable)*100)/100).toFixed(2)
             if (response.records[i].tranPriceApproveList) {
               for (var j = 0; j < response.records[i].tranPriceApproveList.length; j++) {
                 this.tranPriceApproveList.push(response.records[i].tranPriceApproveList[j])
@@ -1705,14 +1710,9 @@ export default {
           }
           this.deptBudgetTotal = response.total
           this.warehouseList = response
-          if(this.warehouseList.records.length>0&&this.contractNo!='全部合同'){
-            this.grainPrice=this.warehouseList.records[0].grainPrice
-          }
         })
       autocontract({
         compId: localStorage.getItem('ws-pf_compId'),
-        currentPage: this.currentPage,
-        pageSize: this.pageSize,
         // roleFlag: this.roleFlag,
       })
         .toPromise()

+ 2 - 2
src/views/statisticalReport/component/routers/route.js

@@ -96,7 +96,7 @@ const statisticalReportRouter = {
      {
       path: 'huoyunList',
       component: () =>
-        import(/* webpackChunkName: "applDetail" */ '@/views/statisticalReport/huoyunList'),
+        import( '@/views/statisticalReport/huoyunList'),
       name: 'huoyunList',
       meta: {
         title: 'huoyunList',
@@ -112,7 +112,7 @@ const statisticalReportRouter = {
     {
       path: 'shippingList',
       component: () =>
-        import(/* webpackChunkName: "applDetail" */ '@/views/statisticalReport/shippingList'),
+        import( '@/views/statisticalReport/shippingList'),
       name: 'shippingList',
       meta: {
         title: 'shippingList',

+ 5 - 0
src/views/statisticalReport/huoyunList.vue

@@ -474,6 +474,11 @@
             })
             this.options = this.contractNoList
           })
+      if(this.$route.query.contractNo){
+        this.contractNo=this.$route.query.contractNo
+      }else{
+        this.contractNo=''
+      }
       this.getList()
       this.showType = this.isShow
     },

+ 5 - 0
src/views/statisticalReport/shippingList.vue

@@ -479,6 +479,11 @@
             })
             this.options = this.contractNoList
           })
+      if(this.$route.query.contractNo){
+        this.contractNo=this.$route.query.contractNo
+      }else{
+        this.contractNo=''
+      }
       this.getList()
       this.showType = this.isShow
     },

+ 2 - 2
src/views/taskManagement/supplyofgoods.vue

@@ -233,9 +233,9 @@
             this.goodsList = response
           })
       this.baseId=this.$route.query.baseId
-      if(this.$route.query.status){
+      if(this.$route.query.goodsName){
         this.status=true
-        this.goodsName='玉米'
+        this.goodsName=this.$route.query.goodsName
       }else{
         this.status=false
         this.goodsName=''

+ 1 - 1
src/views/taskManagement/tranManagementWarehouseInOutTaskAdd.vue

@@ -673,7 +673,7 @@
             			localStorage.setItem('taskTypeKey',this.dataList.taskTypeKey);
 						localStorage.setItem('warehouseId',this.baseId);
 						if(this.dataList.taskTypeKey==1){
-							this.$router.push({name:'supplyofgoods',query:{baseId:this.baseId,status:1}})
+							this.$router.push({name:'supplyofgoods',query:{baseId:this.baseId,goodsName:this.dataList.goodsName}})
 						}else{
 							this.$router.push({name:'supplyofgoods',query:{baseId:this.baseId}})
 						}

+ 18 - 3
src/views/tranManagement/tranManagementVehicleDispatching.vue

@@ -107,7 +107,13 @@
                 v-model="deptBudgetList.tranPriceIngCar" maxlength="70" />
               <el-input v-else v-model="deptBudgetList.tranPriceIngCar" maxlength="70" />
             </el-form-item>
-            <div class="input-item-margin">
+            <el-form-item  label="货值:" class="input-item-margin">
+              <el-input v-if="deptBudgetList.priceStatusCar=='审核中' && deptBudgetList.approveStatus!='发起人撤回'||deptBudgetList.priceStatus=='审核中'&& deptBudgetList.approveStatus!='发起人撤回'" :disabled="readonly"
+                v-model="deptBudgetList.goodsValueIng" maxlength="70" />
+              <el-input v-else v-model="deptBudgetList.goodsValue" maxlength="70" />
+            </el-form-item>
+            <div style="width:326px;" class="input-item-margin">
+              
               <div style="display:inline-block;" v-if="deptBudgetList.priceStatus=='审核中'&&pricetype==1 || deptBudgetList.approveStatus=='发起人撤回'&&pricetype==1 ">
                 {{deptBudgetList.approveStatus}}
                 <el-button type="primary" v-hasPermission="`tranManager.vehicleDispatching.reprice`" size="small" 
@@ -694,7 +700,7 @@
         this.$prompt('运输单价审核', {
           cancelButtonText: '取消',
           confirmButtonText: '确定',
-          inputValue: status==1?this.deptBudgetList.tranPriceIng:this.deptBudgetList.tranPriceIngCar
+          inputValue: status==1?this.deptBudgetList.tranPriceIng:this.deptBudgetList.tranPriceIngCar,
         }).then(({
           value
         }) => {
@@ -705,6 +711,7 @@
           tranProcessInfo.flag = '2'
           tranProcessInfo.tranTypeKey = 1
           tranProcessInfo.billingMethod= this.deptBudgetList.billingMethod
+          tranProcessInfo.goodsValueIng= this.deptBudgetList.goodsValueIng
           if(this.deptBudgetList.billingMethod==2){
              tranProcessInfo.tranPriceIngCar=value
               setUpTranPriceCar(tranProcessInfo)
@@ -743,6 +750,13 @@
           })
           return
         }
+        if(!this.deptBudgetList.goodsValue){
+          this.$message({
+            message: '请输入货值!',
+            type: 'warning',
+          })
+          return
+        }
         this.$confirm(`运输单价将发送给决策人审核,确定提交?`, {
             cancelButtonText: '取消',
             confirmButtonText: '确定',
@@ -754,6 +768,7 @@
             tranProcessInfo.flag = '1'
             tranProcessInfo.tranTypeKey = 1
             tranProcessInfo.tranPriceIng = this.deptBudgetList.tranPriceIng
+            tranProcessInfo.goodsValueIng = this.deptBudgetList.goodsValue
             if(!this.deptBudgetList.billingMethod) this.deptBudgetList.billingMethod=1
             tranProcessInfo.billingMethod= this.deptBudgetList.billingMethod
             tranProcessInfo.tranPriceIngCar = this.deptBudgetList.tranPriceIngCar
@@ -1088,7 +1103,7 @@
     // background: green;
     padding-left: 20px;
     align-items: center;
-    width: 999px;
+    width: 1170px;
   }
 
   .myTest .el-form-item {

+ 48 - 48
src/views/warehousenew/component/router/index.js

@@ -508,22 +508,22 @@ const warehouseManagementRouter = {
       },
       hidden: true
     },
-    // {
-    //   path: 'awaitRansom',
-    //   component: () =>
-    //     import(/* webpackChunkName: "applDetail" */ '@/views/warehousenew/awaitRansom'),
-    //   name: 'awaitRansom',
-    //   meta: {
-    //     title: 'awaitrAnsom',
-    //     shortcutEntrance: 'warehouseManagementList',
-    //     module: 'warehouseManagement.warehouse.warehouseInfo',
-    //     permissicon: [],
-    //     keepAlive: true,
-    //     _title:'待赎回'
-    //     // module: 'procurement.sparepart.applDetail'
-    //   },
-    //   hidden:true
-    // },
+    {
+      path: 'awaitRansom',
+      component: () =>
+        import(/* webpackChunkName: "applDetail" */ '@/views/warehousenew/awaitRansom'),
+      name: 'awaitRansom',
+      meta: {
+        title: 'awaitrAnsom',
+        shortcutEntrance: 'warehouseManagementList',
+        module: 'warehouseManagement.warehouse.warehouseInfo',
+        permissicon: [],
+        keepAlive: true,
+        _title:'待赎回'
+        // module: 'procurement.sparepart.applDetail'
+      },
+      hidden:true
+    },
     // {
     //   path: 'gooddetail',
     //   component: () =>
@@ -539,38 +539,38 @@ const warehouseManagementRouter = {
     //     // module: 'procurement.sparepart.applDetail'
     //   },
     // },
-    // {
-    //   path: 'customerrecord',
-    //   component: () =>
-    //     import(/* webpackChunkName: "applDetail" */ '@/views/warehousenew/customerrecord'),
-    //   name: 'customerrecord',
-    //   meta: {
-    //     title: 'customerrecord',
-    //     shortcutEntrance: 'warehouseManagementList',
-    //     module: 'warehouseManagement.warehouse.warehouseInfo',
-    //     permissicon: [],
-    //     keepAlive: true,
-    //     _title:'客户操作记录'
-    //     // module: 'procurement.sparepart.applDetail'
-    //   },
-    //   hidden:true
-    // },
-    // {
-    //   path: 'goodsrollIn',
-    //   component: () =>
-    //     import(/* webpackChunkName: "applDetail" */ '@/views/warehousenew/goodsrollIn'),
-    //   name: 'goodsrollIn',
-    //   meta: {
-    //     title: 'goodsrollIn',
-    //     shortcutEntrance: 'warehouseManagementList',
-    //     module: 'warehouseManagement.warehouse.warehouseInfo',
-    //     permissicon: [],
-    //     keepAlive: true,
-    //     _title:'货权转入'
-    //     // module: 'procurement.sparepart.applDetail'
-    //   },
-    //   hidden:true
-    // },
+    {
+      path: 'customerrecord',
+      component: () =>
+        import(/* webpackChunkName: "applDetail" */ '@/views/warehousenew/customerrecord'),
+      name: 'customerrecord',
+      meta: {
+        title: 'customerrecord',
+        shortcutEntrance: 'warehouseManagementList',
+        module: 'warehouseManagement.warehouse.warehouseInfo',
+        permissicon: [],
+        keepAlive: true,
+        _title:'客户操作记录'
+        // module: 'procurement.sparepart.applDetail'
+      },
+      hidden:true
+    },
+    {
+      path: 'goodsrollIn',
+      component: () =>
+        import(/* webpackChunkName: "applDetail" */ '@/views/warehousenew/goodsrollIn'),
+      name: 'goodsrollIn',
+      meta: {
+        title: 'goodsrollIn',
+        shortcutEntrance: 'warehouseManagementList',
+        module: 'warehouseManagement.warehouse.warehouseInfo',
+        permissicon: [],
+        keepAlive: true,
+        _title:'货权转入'
+        // module: 'procurement.sparepart.applDetail'
+      },
+      hidden:true
+    },
   ],
 };
 export default warehouseManagementRouter;

+ 54 - 11
src/views/warehousenew/goodsrollIn.vue

@@ -10,15 +10,16 @@
         </el-button></el-col>
     </el-row>
     <div class="center">
+      <div style="width:49%;display:inline-block;">
         <el-form ref="form" :model="form" label-width="200px">
             <el-form-item label="关联货权转出记录">
-                <el-select @change="receiveNochange" v-model="form.relationReceiveNo" placeholder="选择关联货权">
+                <el-select filterable clearable @change="receiveNochange" v-model="form.relationReceiveNo" placeholder="选择关联货权">
                     <el-option label="不关联" value="不关联"></el-option>
                     <el-option v-for="item in cusationinfo" :key="item.id" :label="item.relationReceiveNo+('('+item.transferOutWeight+'吨)')" :value="item.relationReceiveNo"></el-option>
                 </el-select>
             </el-form-item>
             <el-form-item label="合同编号">
-                <el-select @change="contractNochange" v-model="form.outContractNo" placeholder="请选择合同编号">
+                <el-select filterable clearable @change="contractNochange" v-model="form.outContractNo" placeholder="请选择合同编号">
                 <el-option v-for="item in contractNoList" :key="item.id" :label="item.contractNo" :value="item.contractNo"></el-option>
                 </el-select>
             </el-form-item>
@@ -37,7 +38,7 @@
                 </el-radio-group>
             </el-form-item>
             <el-form-item v-if="form.redeemFlag==1" label="待赎回合同">
-                <el-select v-model="form.redeemContractNo" placeholder="选择待赎回的合同">
+                <el-select filterable clearable v-model="form.redeemContractNo" placeholder="选择待赎回的合同">
                     <el-option v-for="item in tableData" :key="item.id" :label="item.contractNo" :value="item.contractNo"></el-option>
                 </el-select>
             </el-form-item>
@@ -79,18 +80,36 @@
                 <el-button type="primary" @click="onSubmit">提交</el-button>
             </el-form-item>
         </el-form>
+      </div>
+        <div style="width:49%;display:inline-block;">
+          <el-form>
+            <el-form-item label-width='100px' label="收款方" span="1" prop="payee">
+              <el-input class='input50 input_css' placeholder="输入收款方" v-model="form.payee"></el-input>
+            </el-form-item>
+            <el-form-item label-width='100px' label="账号" span="1" prop="accountNumber">
+              <el-input class='input50 input_css' placeholder="输入账号"
+                v-model="form.accountNumber"></el-input>
+            </el-form-item>
+            <el-form-item label-width='100px' label="开户行" span="1" prop="bank">
+              <el-input class='input50 input_css' placeholder="输入开户行" v-model="form.bank"></el-input>
+            </el-form-item>
+            <el-form-item label-width='100px' label="开户支行" span="1" prop="bankBranch">
+              <el-input class='input50 input_css' placeholder="输入开户支行"
+                v-model="form.bankBranch"></el-input>
+            </el-form-item>
+          </el-form>
+        </div>
     </div>
   </div>
 </template>
 <script>
-
 import {
     getredeemedinfo,
     getcusationinfo,
     setrollin
 } from '@/model/warehouse/index'
 import {
-    packList,
+    packList,getcustomerinfo,
   } from '@/model/contarct/index'
   import {
     getwarehouse
@@ -108,6 +127,7 @@ import {xialaNo} from '@/model/tasksport/index'
         binNumberList:[],
         rollweight:0,
         compId: localStorage.getItem('ws-pf_compId'),
+        customerList:[],
         form:{
             relationReceiveNo:'不关联',
             redeemFlag:'0',
@@ -214,6 +234,12 @@ import {xialaNo} from '@/model/tasksport/index'
                     setrollin(this.form).toPromise()
                     .then((response) => {
                     this.$message.success('提交成功!')
+                    this.form={
+                        relationReceiveNo:'不关联',
+                        redeemFlag:'0',
+                        cargoPositionDetailsList:[{binNumber:'',positionId:'',weight:'',goodsweight:''}],
+                        compId: localStorage.getItem('ws-pf_compId')
+                    }
                     this.$router.go(-1)
                     // row.weightedit=false
                     this.getList()
@@ -239,11 +265,10 @@ import {xialaNo} from '@/model/tasksport/index'
         },
         async warehouseNamechange(e){
             for (let i = 0; i < this.warehouseList.length; i++) {
-                this.form.baseId=this.warehouseList[i].id
                 if(this.form.warehouseName==this.warehouseList[i].warehouseName){
-                    console.log(this.warehouseList[i].positionInfos,111111)
-                    this.binNumberList = this.warehouseList[i].positionInfos
-                    this.$forceUpdate()
+                  this.form.baseId=this.warehouseList[i].id
+                  this.binNumberList = this.warehouseList[i].positionInfos
+                  this.$forceUpdate()
                 }
             }
         },
@@ -260,6 +285,14 @@ import {xialaNo} from '@/model/tasksport/index'
         for (let i = 0; i < this.contractNoList.length; i++) {
             if(this.contractNoList[i].contractNo==e&&this.form.relationReceiveNo=='不关联'){
                 this.$set(this.form,'customer',this.contractNoList[i].seller)
+                for (let q = 0; q < this.customerList.length; q++) {
+                  if(this.customerList[q].compName==this.form.customer){
+                    this.$set(this.form,'payee',this.customerList[q].compName)
+                    this.$set(this.form,'accountNumber',this.customerList[q].bankCard)
+                    this.$set(this.form,'bank',this.customerList[q].bankDeposit)
+                    this.$set(this.form,'bankBranch',this.customerList[q].bankDepositBranch)
+                  }
+                }
             }
             if(this.contractNoList[i].contractNo==e){
               this.$set(this.form,'contractSeller',this.contractNoList[i].seller)
@@ -273,6 +306,14 @@ import {xialaNo} from '@/model/tasksport/index'
         for (let i = 0; i < this.cusationinfo.length; i++) {
             if(this.cusationinfo[i].relationReceiveNo==e){
                 this.$set(this.form,'customer',this.cusationinfo[i].customer)
+                for (let q = 0; q < this.customerList.length; q++) {
+                  if(this.customerList[q].compName==this.form.customer){
+                    this.$set(this.form,'payee',this.customerList[q].compName)
+                    this.$set(this.form,'accountNumber',this.customerList[q].bankCard)
+                    this.$set(this.form,'bank',this.customerList[q].bankDeposit)
+                    this.$set(this.form,'bankBranch',this.customerList[q].bankDepositBranch)
+                  }
+                }
                 this.$set(this.form,'transferOutWeight1',this.cusationinfo[i].transferOutWeight)
                 this.$set(this.form,'amountIngPayable',this.cusationinfo[i].amountIngPayable)
                 this.$set(this.form,'amountEdPayable',this.cusationinfo[i].amountEdPayable)
@@ -303,6 +344,7 @@ import {xialaNo} from '@/model/tasksport/index'
             constId: 'CON2',
           })
           .toPromise()
+          this.customerList=await getcustomerinfo({compId: localStorage.getItem('ws-pf_compId')}).toPromise()
          var response1=await getredeemedinfo({
             dropFlag:1,
             pageSize:9999 ,
@@ -354,9 +396,11 @@ import {xialaNo} from '@/model/tasksport/index'
   .center {
     margin: 0 auto;
     background: #ffffff;
-    height: calc(100vh - 13vh);
+    height: calc(100vh - 23vh);
     border-radius: 4px;
     padding: 20px 0;
+    overflow-y: scroll;
+    display: flex;
 
     /deep/.el-table td,
     /deep/.el-table th {
@@ -432,7 +476,6 @@ import {xialaNo} from '@/model/tasksport/index'
     display:flex;justify-content: space-between;
   }
   .el-form{
-    width:50%;
     margin:0 auto; 
     position:relative;
   }

+ 7 - 1
src/views/warehousenew/warehousingOrder.vue

@@ -1047,6 +1047,12 @@ export default {
             this.$message.error('请选择已付全款或未请款的条目!')
             return
           }
+          if(array[i].redeemFlag!='赎'){
+            arr.push(array[i])
+          }else{
+            this.$message.error('请选择未货权转出的条目!')
+            return
+          }
           if (arr3.length == 0) {
             arr3.push(array[i])
           } else {
@@ -1105,7 +1111,7 @@ export default {
       for (let i = 0; i < arr.length; i++) {
         this.rolloutData.transferOutWeight+=Number(arr[i].surplusWeight)
         this.rolloutData.amountEdPayable+=Number(arr[i].amountEdPayable)
-        this.outamountNotPayable+=Number(arr[i].amountNotPayable)
+        this.rolloutData.amountNotPayable+=Number(arr[i].amountNotPayable)
         this.rolloutData.amountIngPayable+=Number(arr[i].grainFund)
         num+=(Number(arr[i].surplusWeight*arr[i].avgCost))
       }