Qukatie vor 9 Monaten
Ursprung
Commit
ddc50919bf

+ 41 - 25
src/api/boxManagement/buyContainer/index.js

@@ -40,7 +40,7 @@ export const tradingBoxItem = (data) => {
   return request({
     url: '/api/blade-los/tradingBoxItem/remove',
     method: 'post',
-   params:data
+    params: data
 
   })
 }
@@ -49,7 +49,7 @@ export const tradingBoxFees = (data) => {
   return request({
     url: '/api/blade-los/feecenter/remove',
     method: 'post',
-   params:data
+    params: data
 
   })
 }
@@ -70,42 +70,42 @@ export const boxRemove = (data) => {
   })
 }
 //新增删除
-export function submit(data){
+export function submit(data) {
   return request({
-    url:'/api/blade-los/tradingBox/submit',
-    method:'post',
+    url: '/api/blade-los/tradingBox/submit',
+    method: 'post',
     data
   })
 }
 //明细保存
-export function submitBoxList(data){
+export function submitBoxList(data) {
   return request({
-    url:'/api/blade-los/tradingboxtype/submitList',
-    method:'post',
+    url: '/api/blade-los/tradingboxtype/submitList',
+    method: 'post',
     data
   })
 }
 //明细保存
-export function submitItemList(data){
+export function submitItemList(data) {
   return request({
-    url:'/api/blade-los/tradingBoxItem/submitList',
-    method:'post',
+    url: '/api/blade-los/tradingBoxItem/submitList',
+    method: 'post',
     data
   })
 }
 //明细保存
-export function submitFeeList(data){
+export function submitFeeList(data) {
   return request({
-    url:'/api/blade-los/feecenter/submitListBox',
-    method:'post',
+    url: '/api/blade-los/feecenter/submitListBox',
+    method: 'post',
     data
   })
 }
 //明细保存
-export function enable(data){
+export function enable(data) {
   return request({
-    url:'/api/blade-los/tradingBox/enable',
-    method:'post',
+    url: '/api/blade-los/tradingBox/enable',
+    method: 'post',
     data
   })
 }
@@ -157,20 +157,36 @@ export function revokeRentCalculation(data) {
     data: data
   })
 }
+// 租金计算
+export function countRent(data) {
+  return request({
+    url: '/api/blade-los/tradingBox/countRent',
+    method: 'get',
+    params: data
+  })
+}
+// 撤销租金计算
+export function revokeCountRent(data) {
+  return request({
+    url: '/api/blade-los/tradingBox/revokeCountRent',
+    method: 'get',
+    params: data
+  })
+}
 //单据复制
 export const copyAgent = (data) => {
-    return request({
-        url: '/api/blade-los/tradingBox/copyDocument',
-        method: 'get',
-        params: data
-    })
+  return request({
+    url: '/api/blade-los/tradingBox/copyDocument',
+    method: 'get',
+    params: data
+  })
 }
 //单据复制
 export const owcopyAgent = (data) => {
   return request({
-      url: '/api/blade-los/tradingBox/copyDocumentOW',
-      method: 'get',
-      params: data
+    url: '/api/blade-los/tradingBox/copyDocumentOW',
+    method: 'get',
+    params: data
   })
 }
 // 调箱确认

+ 141 - 21
src/views/ow/owPut/detailsPage.vue

@@ -96,7 +96,7 @@
               </template>
               <template slot="perDiemAfterFreeDays">
                 <el-button type="primary" size="small" @click.stop="openRtDialog"
-                  :disabled="editDisabled || form.whetherEnable == '是'">箱租金条款</el-button>
+                  :disabled="editDisabled">箱租金条款</el-button>
                 <!-- <el-link type="primary" :underline="false" @click.stop="openRtDialog">箱租金条款</el-link> -->
               </template>
               <template slot="boxNumber">
@@ -223,6 +223,10 @@
                   @click="allClick('D费用一键编辑')">一键编辑</el-button>
                 <el-button type="danger" plain size="small" :disabled="editDisabled || selectionfeedList.length == 0"
                   @click="allClick('D费用批量删除')">批量删除</el-button>
+                <el-button type="success" plain size="small" @click="allClick('生成租金')"
+                  :disabled="editDisabled">生成租金</el-button>
+                <el-button type="danger" plain size="small" @click="allClick('撤销租金')"
+                  :disabled="editDisabled">撤销租金</el-button>
                 <!-- <el-button type="primary" plain size="small" @click="$refs.printC.openDialog()">打印账单</el-button> -->
               </template>
               <template slot="indexHeader" slot-scope="{row,index}">
@@ -234,21 +238,22 @@
                 <span>{{ index + 1 }}</span>
               </template>
               <template slot="billTypeForm" slot-scope="{row,index}">
-                <dic-select v-if="row.$cellEdit && !(row.feeCode == 'BOX-YJ' || row.feeCode == 'BOX-ZJ')" v-model="row.billType"
-                  key="id" label="cnName" res="records"
+                <dic-select v-if="row.$cellEdit && !(row.feeCode == 'BOX-YJ' || row.feeCode == 'BOX-ZJ')"
+                  v-model="row.billType" key="id" label="cnName" res="records"
                   url="/blade-los/bcorpstypedefine/list?status=0&current=1&size=20" :filterable="true" :remote="true"
                   dataName="cnName" @selectChange="rowDicChange('billType', $event, row)"></dic-select>
                 <span v-else>{{ row.billType }}</span>
               </template>
               <template slot="cntrNoForm" slot-scope="{row,index}">
-                <dic-select v-if="row.$cellEdit && !(row.feeCode == 'BOX-YJ' || row.feeCode == 'BOX-ZJ')" v-model="row.cntrNo"
-                  key="id" label="code" :mockData="form.tradingBoxItemsList" :filterable="true"></dic-select>
+                <dic-select v-if="row.$cellEdit && !(row.feeCode == 'BOX-YJ' || row.feeCode == 'BOX-ZJ')"
+                  v-model="row.cntrNo" key="id" label="code" :mockData="form.tradingBoxItemsList"
+                  :filterable="true"></dic-select>
                 <span v-else>{{ row.cntrNo }}</span>
               </template>
               <template slot="corpCnNameForm" slot-scope="{ row,index }">
-                <dic-select v-if="row.$cellEdit && !(row.feeCode == 'BOX-YJ' || row.feeCode == 'BOX-ZJ')" :key="updateSearchKey"
-                  v-model="row.corpCnName" placeholder="付费对象" label="shortName" res="records" :slotRight="true"
-                  rightLabel="code"
+                <dic-select v-if="row.$cellEdit && !(row.feeCode == 'BOX-YJ' || row.feeCode == 'BOX-ZJ')"
+                  :key="updateSearchKey" v-model="row.corpCnName" placeholder="付费对象" label="shortName" res="records"
+                  :slotRight="true" rightLabel="code"
                   :url="'/blade-los/bcorps/selectList?status=0&current=1&size=5&corpTypeName=' + row.billType"
                   :filterable="true" :remote="true" dataName="shortName"
                   @selectChange="rowDicChange('corpCnName', $event, row)"></dic-select>
@@ -275,8 +280,9 @@
                 <span v-else>{{ row.exrate }}</span>
               </template>
               <template slot="unitNoForm" slot-scope="{row,index}">
-                <dic-select v-if="row.$cellEdit && !(row.feeCode == 'BOX-YJ' || row.feeCode == 'BOX-ZJ')" v-model="row.unitNo"
-                  label="cnName" url="/blade-los/bunits/listAll?status=0" :filterable="true"></dic-select>
+                <dic-select v-if="row.$cellEdit && !(row.feeCode == 'BOX-YJ' || row.feeCode == 'BOX-ZJ')"
+                  v-model="row.unitNo" label="cnName" url="/blade-los/bunits/listAll?status=0"
+                  :filterable="true"></dic-select>
                 <span v-else>{{ row.unitNo }}</span>
               </template>
               <template slot="priceForm" slot-scope="{ row }">
@@ -323,21 +329,22 @@
                 <span>{{ index + 1 }}</span>
               </template>
               <template slot="billTypeForm" slot-scope="{row,index}">
-                <dic-select v-if="row.$cellEdit && !(row.feeCode == 'BOX-YJ' || row.feeCode == 'BOX-ZJ')" v-model="row.billType"
-                  key="id" label="cnName" res="records"
+                <dic-select v-if="row.$cellEdit && !(row.feeCode == 'BOX-YJ' || row.feeCode == 'BOX-ZJ')"
+                  v-model="row.billType" key="id" label="cnName" res="records"
                   url="/blade-los/bcorpstypedefine/list?status=0&current=1&size=20" :filterable="true" :remote="true"
                   dataName="cnName" @selectChange="rowDicChange('billType', $event, row, index)"></dic-select>
                 <span v-else>{{ row.billType }}</span>
               </template>
               <template slot="cntrNoForm" slot-scope="{row,index}">
-                <dic-select v-if="row.$cellEdit && !(row.feeCode == 'BOX-YJ' || row.feeCode == 'BOX-ZJ')" v-model="row.cntrNo"
-                  key="id" label="code" :mockData="form.tradingBoxItemsList" :filterable="true"></dic-select>
+                <dic-select v-if="row.$cellEdit && !(row.feeCode == 'BOX-YJ' || row.feeCode == 'BOX-ZJ')"
+                  v-model="row.cntrNo" key="id" label="code" :mockData="form.tradingBoxItemsList"
+                  :filterable="true"></dic-select>
                 <span v-else>{{ row.cntrNo }}</span>
               </template>
               <template slot="corpCnNameForm" slot-scope="{ row,index }">
-                <dic-select v-if="row.$cellEdit && !(row.feeCode == 'BOX-YJ' || row.feeCode == 'BOX-ZJ')" :key="updateSearchKey"
-                  v-model="row.corpCnName" placeholder="付费对象" label="shortName" res="records" :slotRight="true"
-                  rightLabel="code"
+                <dic-select v-if="row.$cellEdit && !(row.feeCode == 'BOX-YJ' || row.feeCode == 'BOX-ZJ')"
+                  :key="updateSearchKey" v-model="row.corpCnName" placeholder="付费对象" label="shortName" res="records"
+                  :slotRight="true" rightLabel="code"
                   :url="'/blade-los/bcorps/selectList?status=0&current=1&size=5&corpTypeName=' + row.billType"
                   :filterable="true" :remote="true" dataName="shortName"
                   @selectChange="rowDicChange('corpCnName', $event, row)"></dic-select>
@@ -364,8 +371,9 @@
                 <span v-else>{{ row.exrate }}</span>
               </template>
               <template slot="unitNoForm" slot-scope="{row,index}">
-                <dic-select v-if="row.$cellEdit && !(row.feeCode == 'BOX-YJ' || row.feeCode == 'BOX-ZJ')" v-model="row.unitNo"
-                  label="cnName" url="/blade-los/bunits/listAll?status=0" :filterable="true"></dic-select>
+                <dic-select v-if="row.$cellEdit && !(row.feeCode == 'BOX-YJ' || row.feeCode == 'BOX-ZJ')"
+                  v-model="row.unitNo" label="cnName" url="/blade-los/bunits/listAll?status=0"
+                  :filterable="true"></dic-select>
                 <span v-else>{{ row.unitNo }}</span>
               </template>
               <template slot="priceForm" slot-scope="{ row }">
@@ -547,7 +555,9 @@ import {
   submitFeeList,
   enable,
   renttermRemove,
-  copyAgent
+  copyAgent,
+  countRent,
+  revokeCountRent
 } from "@/api/boxManagement/buyContainer";
 import dicSelect from "@/components/dicSelect/main";
 import checkSchedule from "@/components/checkH/checkSchedule.vue";
@@ -1491,6 +1501,30 @@ export default {
             overHidden: true,
           },
           {
+            label: "租金天数",
+            prop: "days",
+            width: "80",
+            overHidden: true,
+          },
+          {
+            label: "租金起始",
+            prop: "storageDate",
+            width: "100",
+            overHidden: true,
+            type: "date",
+            format: "yyyy-MM-dd",
+            valueFormat: "yyyy-MM-dd HH:mm:ss"
+          },
+          {
+            label: "租金截止",
+            prop: "outboundDate",
+            width: "100",
+            overHidden: true,
+            type: "date",
+            format: "yyyy-MM-dd",
+            valueFormat: "yyyy-MM-dd HH:mm:ss"
+          },
+          {
             label: "制单人",
             prop: "createUserName",
             width: "100",
@@ -2588,6 +2622,92 @@ export default {
           }
         })
       }
+      if (name == '生成租金') {
+        // let date = new Date(this.form.rentEndDate)
+        // date.setDate(date.getDate() + 1);
+        // date = dateFormat(date, 'yyyy-MM-dd') + ' 00:00:00'
+        this.$DialogForm.show({
+          title: '生成租金',
+          width: '30%',
+          menuPosition: 'right',
+          option: {
+            submitText: '确定',
+            emptyText: '取消',
+            labelWidth: '100',
+            span: 24,
+            column: [{
+              label: "租金截至日期",
+              prop: "value",
+              type: "date",
+              format: "yyyy-MM-dd",
+              valueFormat: "yyyy-MM-dd HH:mm:ss",
+              // value: date,
+              // pickerOptions: {
+              //   disabledDate(time) {
+              //     const date2 = new Date(date)
+              //     // date.setDate(date.getDate() + 1);
+              //     return time.getTime() < date2.getTime();
+              //   },
+              // },
+              rules: [{
+                required: true,
+                message: "请选择日期",
+                trigger: "blur",
+
+              }],
+            }]
+          },
+          beforeClose: (done) => {
+            done()
+          },
+          callback: (res) => {
+            res.done()
+            this.$confirm('是否生成租金?', '提示', {
+              confirmButtonText: '确定',
+              cancelButtonText: '取消',
+              type: 'warning'
+            }).then(() => {
+              let obj = {
+                id:this.form.id,
+                rentDate: res.data.value
+              }
+              const loading = this.$loading({
+                lock: true,
+                text: '加载中',
+                spinner: 'el-icon-loading',
+                background: 'rgba(255,255,255,0.7)'
+              });
+              countRent(obj).then(res => {
+                this.$message.success("操作成功!");
+                this.getDetail(this.form.id)
+              }).finally(() => {
+                loading.close();
+              })
+              res.close()
+            })
+          }
+        })
+      }
+      if (name == '撤销租金') {
+        this.$confirm('是否撤销租金?', '提示', {
+          confirmButtonText: '确定',
+          cancelButtonText: '取消',
+          type: 'warning'
+        }).then(() => {
+          const loading = this.$loading({
+            lock: true,
+            text: '加载中',
+            spinner: 'el-icon-loading',
+            background: 'rgba(255,255,255,0.7)'
+          });
+          revokeCountRent({id:this.form.id}).then(res => {
+            this.$message.success("操作成功!");
+            this.getDetail(this.form.id)
+          }).finally(() => {
+            loading.close();
+          })
+        })
+      }
     },
     submit(type) {
       this.$refs["form"].validate((valid, done) => {
@@ -2811,7 +2931,7 @@ export default {
 
 .fontSize {
   font-size: 16px;
-  color: #81B337;
+  color:#81B337;
 }
 
 .meetSize {

+ 128 - 3
src/views/ow/owTask/detailsPage.vue

@@ -98,7 +98,7 @@
               </template>
               <template slot="perDiemAfterFreeDays">
                 <el-button type="primary" size="small" @click.stop="openRtDialog"
-                  :disabled="editDisabled || form.whetherEnable == '是'">箱租金条款</el-button>
+                  :disabled="editDisabled">箱租金条款</el-button>
                 <!-- <el-link type="primary" :underline="false" @click.stop="openRtDialog">箱租金条款</el-link> -->
               </template>
               <template slot="boxNumber">
@@ -226,6 +226,10 @@
                   @click="allClick('D费用一键编辑')">一键编辑</el-button>
                 <el-button type="danger" plain size="small" :disabled="editDisabled || selectionfeedList.length == 0"
                   @click="allClick('D费用批量删除')">批量删除</el-button>
+                <el-button type="success" plain size="small" @click="allClick('生成租金')"
+                  :disabled="editDisabled">生成租金</el-button>
+                <el-button type="danger" plain size="small" @click="allClick('撤销租金')"
+                  :disabled="editDisabled">撤销租金</el-button>
                 <!-- <el-button type="primary" plain size="small" @click="$refs.printC.openDialog()">打印账单</el-button> -->
               </template>
               <template slot="indexHeader" slot-scope="{row,index}">
@@ -531,7 +535,7 @@
         </template>
         <template slot="menu" slot-scope="{ row, index }">
           <el-button size="small" icon="el-icon-edit" type="text" @click="rowEdit(row)">{{ row.$cellEdit ? '保存' : '编辑'
-            }}</el-button>
+          }}</el-button>
           <el-button size="small" icon="el-icon-delete" type="text" @click="rowDel(row)">删除</el-button>
         </template>
       </avue-crud>
@@ -554,7 +558,9 @@ import {
   submitFeeList,
   enable,
   renttermRemove,
-  copyAgent
+  copyAgent,
+  countRent,
+  revokeCountRent
 } from "@/api/boxManagement/buyContainer";
 import dicSelect from "@/components/dicSelect/main";
 import checkSchedule from "@/components/checkH/checkSchedule.vue";
@@ -982,6 +988,15 @@ export default {
             }]
           },
           {
+            label: '租金截止日期',
+            prop: 'rentEndDate',
+            width: 100,
+            type: "date",
+            format: "yyyy-MM-dd",
+            valueFormat: "yyyy-MM-dd HH:mm:ss",
+            overHidden: true,
+          },
+          {
             label: '箱型',
             prop: 'boxType',
             width: 100,
@@ -1498,6 +1513,30 @@ export default {
             overHidden: true,
           },
           {
+            label: "租金天数",
+            prop: "days",
+            width: "80",
+            overHidden: true,
+          },
+          {
+            label: "租金起始",
+            prop: "storageDate",
+            width: "100",
+            overHidden: true,
+            type: "date",
+            format: "yyyy-MM-dd",
+            valueFormat: "yyyy-MM-dd HH:mm:ss"
+          },
+          {
+            label: "租金截止",
+            prop: "outboundDate",
+            width: "100",
+            overHidden: true,
+            type: "date",
+            format: "yyyy-MM-dd",
+            valueFormat: "yyyy-MM-dd HH:mm:ss"
+          },
+          {
             label: "制单人",
             prop: "createUserName",
             width: "100",
@@ -2611,6 +2650,92 @@ export default {
           }
         })
       }
+      if (name == '生成租金') {
+        // let date = new Date(this.form.rentEndDate)
+        // date.setDate(date.getDate() + 1);
+        // date = dateFormat(date, 'yyyy-MM-dd') + ' 00:00:00'
+        this.$DialogForm.show({
+          title: '生成租金',
+          width: '30%',
+          menuPosition: 'right',
+          option: {
+            submitText: '确定',
+            emptyText: '取消',
+            labelWidth: '100',
+            span: 24,
+            column: [{
+              label: "租金截至日期",
+              prop: "value",
+              type: "date",
+              format: "yyyy-MM-dd",
+              valueFormat: "yyyy-MM-dd HH:mm:ss",
+              // value: date,
+              // pickerOptions: {
+              //   disabledDate(time) {
+              //     const date2 = new Date(date)
+              //     // date.setDate(date.getDate() + 1);
+              //     return time.getTime() < date2.getTime();
+              //   },
+              // },
+              rules: [{
+                required: true,
+                message: "请选择日期",
+                trigger: "blur",
+
+              }],
+            }]
+          },
+          beforeClose: (done) => {
+            done()
+          },
+          callback: (res) => {
+            res.done()
+            this.$confirm('是否生成租金?', '提示', {
+              confirmButtonText: '确定',
+              cancelButtonText: '取消',
+              type: 'warning'
+            }).then(() => {
+              let obj = {
+                id:this.form.id,
+                rentDate: res.data.value
+              }
+              const loading = this.$loading({
+                lock: true,
+                text: '加载中',
+                spinner: 'el-icon-loading',
+                background: 'rgba(255,255,255,0.7)'
+              });
+              countRent(obj).then(res => {
+                this.$message.success("操作成功!");
+                this.getDetail(this.form.id)
+              }).finally(() => {
+                loading.close();
+              })
+              res.close()
+            })
+          }
+        })
+      }
+      if (name == '撤销租金') {
+        this.$confirm('是否撤销租金?', '提示', {
+          confirmButtonText: '确定',
+          cancelButtonText: '取消',
+          type: 'warning'
+        }).then(() => {
+          const loading = this.$loading({
+            lock: true,
+            text: '加载中',
+            spinner: 'el-icon-loading',
+            background: 'rgba(255,255,255,0.7)'
+          });
+          revokeCountRent({id:this.form.id}).then(res => {
+            this.$message.success("操作成功!");
+            this.getDetail(this.form.id)
+          }).finally(() => {
+            loading.close();
+          })
+        })
+      }
     },
     submit(type) {
       this.$refs["form"].validate((valid, done) => {