Explorar el Código

财务模块修改、票册管理

wengyuwen hace 4 años
padre
commit
09c491de98

+ 54 - 40
src/views/finance/applyForInvoice/chargeInvoice/index.vue

@@ -57,13 +57,19 @@
           </el-col>
           <el-col :span="6">
             <el-form-item label="状态" prop="fBillstatus">
-              <el-input
+              <el-select
                 v-model="tableFilter.fBillstatus"
-                placeholder="请输入提单号"
+                placeholder="请选择状态"
                 clearable
                 style="width: 200px"
-                @keyup.enter.native="handleQuery"
-              />
+              >
+                <el-option label="保存" value="1"/>
+                <el-option label="暂存" value="2"/>
+                <el-option label="审批驳回" value="3"/>
+                <el-option label="提交审核" value="4"/>
+                <el-option label="审批中" value="5"/>
+                <el-option label="审核完成" value="6"/>
+              </el-select>
             </el-form-item>
           </el-col>
         </el-row>
@@ -71,20 +77,19 @@
           <div v-show="show">
             <el-row>
               <el-col :span="6">
-                <el-form-item label="实收合计" prop="fAmtcr">
+                <el-form-item label="实付合计" prop="amount">
                   <el-input
                     v-model="tableFilter.firstMoney"
-                    placeholder="请输入提单号"
-                    clearable
-                    style="width: 100px"
-                    @keyup.enter.native="handleQuery"
+                    placeholder="金额区间"
+                    style="width: 95px;margin-right: 10px"
+                    oninput='this.value=this.value.replace(/[^\-?\d.]/g,"").replace(/^(\-)*(\d+)\.(\d\d).*$/, "$1$2.$3")'
                   />
                   <el-input
                     v-model="tableFilter.lastMoney"
-                    placeholder="请输入金额"
-                    clearable
-                    style="width: 100px"
-                    @keyup.enter.native="handleQuery"
+                    placeholder="金额区间"
+                    @change="changeMoney"
+                    oninput='this.value=this.value.replace(/[^\-?\d.]/g,"").replace(/^(\-)*(\d+)\.(\d\d).*$/, "$1$2.$3")'
+                    style="width: 95px"
                   />
                 </el-form-item>
               </el-col>
@@ -99,7 +104,7 @@
                   />
                 </el-form-item>
               </el-col>
-              <el-col :span="6">
+              <el-col :span="12">
                 <el-form-item label="收费日期" prop="timeInterval">
                   <el-date-picker
                     type="daterange"
@@ -140,17 +145,6 @@
           >修改
           </el-button>
         </el-col>
-        <!--      <el-col :span="1.5">-->
-        <!--        <el-button-->
-        <!--          type="danger"-->
-        <!--          icon="el-icon-delete"-->
-        <!--          size="mini"-->
-        <!--          :disabled="multiple"-->
-        <!--          @click="handleDelete"-->
-        <!--          v-hasPermi="['finance:charge:remove']"-->
-        <!--        >删除-->
-        <!--        </el-button>-->
-        <!--      </el-col>-->
         <el-col :span="1.5">
           <el-button
             type="warning"
@@ -383,8 +377,8 @@
       <pagination
         v-show="total > 0"
         :total="total"
-        :page.sync="queryParams.pageNum"
-        :limit.sync="queryParams.pageSize"
+        :page.sync="tableFilter.pageNum"
+        :limit.sync="tableFilter.pageSize"
         @pagination="getList"
       />
     </div>
@@ -828,8 +822,11 @@
           :fixed="item.fixed"
         >
           <template slot-scope="scope">
-            <el-select :disabled="notChange" v-model="scope.row.fFeeName" @change="changeId"
-                       v-if="item.label == 'fFeeName'"
+            <el-select
+              :disabled="notChange"
+              v-model="scope.row.fFeeName"
+              @change="changeId"
+              v-if="item.label == 'fFeeName'"
             >
               <el-option
                 v-for="dict in fDNameOptions"
@@ -1016,6 +1013,7 @@
                   v-model="queryParameter.fStatementNo"
                   placeholder="请输入提单号"
                   size="small"
+                  @change="noNull"
                   style="width: 160px"
                 />
               </el-form-item>
@@ -2109,6 +2107,19 @@ export default {
     }
   },
   methods: {
+    changeMoney(){
+      if(parseInt(this.tableFilter.lastMoney) < parseInt(this.tableFilter.firstMoney)){
+        this.$message.error("第二个金额不能小于第一个金额,请重新输入")
+        this.tableFilter.lastMoney = ''
+      }
+    },
+    noNull(){
+      if(this.queryParameter.fStatementNo == ''){}
+      this.rules = {
+        fToCorpid: [{ required: true, message: ' ', trigger: 'blur' }],
+        timeExamine: [{ required: true, message: ' ', trigger: 'blur' }]
+      }
+    },
     handleClose(done) {
       this.showSetting2 = false
       this.showSetting3 = false
@@ -3376,8 +3387,19 @@ export default {
           this.loading = false
         })
       } else if (Cookies.get('sysType') == 3) {
-        // this.tableFilter.fAmtcr[0] = this.tableFilter.firstMoney
-        // this.tableFilter.fAmtcr[1] = this.tableFilter.lastMoney
+        if(this.tableFilter.firstMoney || this.tableFilter.lastMoney){
+          if(this.tableFilter.firstMoney == '' || this.tableFilter.lastMoney == ''){
+            this.$message.error("实付合计为金额区间,请填写完整")
+            this.tableFilter.amount = []
+          }else if(!this.tableFilter.firstMoney || !this.tableFilter.lastMoney){
+            this.$message.error("实付合计为金额区间,请填写完整")
+          }else{
+            this.tableFilter.amount[0] = this.tableFilter.firstMoney
+            this.tableFilter.amount[1] = this.tableFilter.lastMoney
+          }
+        }else{
+          this.tableFilter.amount = []
+        }
         listInvoice(this.tableFilter).then(response => {
           console.log(response)
           response.rows.map((e) => {
@@ -3466,8 +3488,6 @@ export default {
             }
           })
         } else if (Cookies.get('sysType') == 3) {
-          console.log('1111')
-          console.log(this.queryParameter)
           this.queryParameter.fSystemType = Cookies.get('sysType')
           getcontrastList(this.queryParameter).then((response) => {
             this.chargeList_s = response.rows
@@ -3479,10 +3499,6 @@ export default {
           })
         }
       } else {
-        this.rules = {
-          fToCorpid: [{ required: true, message: ' ', trigger: 'blur' }],
-          timeExamine: [{ required: true, message: ' ', trigger: 'blur' }]
-        }
         if (this.rules) {
           this.$refs['form'].validate((valid) => {
             if (valid) {
@@ -3760,7 +3776,7 @@ export default {
         if (valid) {
           if (!this.queryParams.fId) {
             // this.chargeList.fBillstatus = '1'
-            this.queryParams.fBillstatus = '1'
+            // this.queryParams.fBillstatus = '1'
             let formData = new window.FormData()
             formData.append('tFee', JSON.stringify(this.queryParams))
             formData.append('tFeeDo', JSON.stringify(this.increase_s))
@@ -3801,8 +3817,6 @@ export default {
               })
             }
           } else {
-            console.log('111')
-            this.queryParams.fBillstatus = '1'
             let formData = new window.FormData()
             formData.append('tFee', JSON.stringify(this.queryParams))
             formData.append('tFeeDo', JSON.stringify(this.increase_s))

+ 66 - 64
src/views/finance/charge/index.vue

@@ -10,7 +10,7 @@
       >
         <el-row>
           <el-col :span="6">
-            <el-form-item label="系统编号" prop="fCtrlcorpid">
+            <el-form-item label="系统编号" prop="fBillno">
           <el-input
             v-model="tableFilter.fBillno"
             placeholder="请输入系统编号"
@@ -57,55 +57,59 @@
           </el-col>
           <el-col :span="6">
             <el-form-item label="状态" prop="fBillstatus">
-              <el-input
-                v-model="queryParams.fBillstatus"
-                placeholder="请输入提单号"
+              <el-select
+                v-model="tableFilter.fBillstatus"
+                placeholder="请选择状态"
                 clearable
                 style="width: 200px"
-                @keyup.enter.native="handleQuery"
-              />
+              >
+                <el-option label="保存" value="1"/>
+                <el-option label="暂存" value="2"/>
+                <el-option label="审批驳回" value="3"/>
+                <el-option label="提交审核" value="4"/>
+                <el-option label="审批中" value="5"/>
+                <el-option label="审核完成" value="6"/>
+              </el-select>
             </el-form-item>
-
           </el-col>
         </el-row>
         <el-collapse-transition>
           <div v-show="show">
             <el-row>
               <el-col :span="6">
-                <el-form-item label="实收合计" prop="fAmtcr">
+                <el-form-item label="实收合计" prop="amount">
                   <el-input
-                    v-model="queryParams.fMblno"
-                    placeholder="请输入提单号"
-                    clearable
-                    style="width: 100px"
-                    @keyup.enter.native="handleQuery"
+                    v-model="tableFilter.firstMoney"
+                    placeholder="金额区间"
+                    style="width: 95px;margin-right: 10px"
+                    oninput='this.value=this.value.replace(/[^\-?\d.]/g,"").replace(/^(\-)*(\d+)\.(\d\d).*$/, "$1$2.$3")'
                   />
                   <el-input
-                    v-model="queryParams.fAmtcr"
-                    placeholder="请输入金额"
-                    clearable
-                    style="width: 100px"
-                    @keyup.enter.native="handleQuery"
+                    v-model="tableFilter.lastMoney"
+                    placeholder="金额区间"
+                    @change="changeMoney"
+                    oninput='this.value=this.value.replace(/[^\-?\d.]/g,"").replace(/^(\-)*(\d+)\.(\d\d).*$/, "$1$2.$3")'
+                    style="width: 95px"
                   />
                 </el-form-item>
               </el-col>
               <el-col :span="6">
                 <el-form-item label="备注" prop="fRemarks">
                   <el-input
-                    v-model="queryParams.fRemarks"
-                    placeholder="请输入提单号"
+                    v-model="tableFilter.fRemarks"
+                    placeholder="请输入备注"
                     clearable
                     style="width: 200px"
                     @keyup.enter.native="handleQuery"
                   />
                 </el-form-item>
               </el-col>
-              <el-col :span="6">
+              <el-col :span="12">
                 <el-form-item label="收费日期" prop="timeInterval">
                   <el-date-picker
                     type="daterange"
                     size="small"
-                    style="width: 240px"
+                    style="width: 230px"
                     v-model="tableFilter.timeInterval"
                     start-placeholder="开始日期"
                     end-placeholder="结束日期"
@@ -395,8 +399,8 @@
       <pagination
         v-show="total > 0"
         :total="total"
-        :page.sync="queryParams.pageNum"
-        :limit.sync="queryParams.pageSize"
+        :page.sync="tableFilter.pageNum"
+        :limit.sync="tableFilter.pageSize"
         @pagination="getList"
       />
     </div>
@@ -868,6 +872,7 @@
               v-model="queryParameter.fStatementNo"
               placeholder="请输入提单号"
               size="small"
+              @change="noNull"
               style="width: 160px"
             />
           </el-form-item>
@@ -1763,14 +1768,12 @@ export default {
         fBillno: null,
         fCtrlcorpid: null,
         fCorpid: null,
-        tMblno: null,
-        fAmtdr: null,
-        fAmtcr: null,
-        fBilltype: null,
         fBillstatus: null,
+        amount: [],
+        firstMoney: null,
+        lastMoney: null,
         fRemarks: null,
-        fAccbilldate: null,
-        fDeptid: null,
+        timeInterval:null
       },
       approval: [],
       // 表单参数
@@ -1827,34 +1830,21 @@ export default {
         this.adoPt();
       }
     }
-
   },
   methods: {
-    sumTable(param){
-      const { columns, data } = param;
-      const sums = [];
-      columns.forEach((column, index) => {
-        if (index === 0) {
-          sums[index] = '总价';
-          return;
-        }
-        const values = data.map(item => Number(item[column.property]));
-        if (!values.every(value => isNaN(value))) {
-          sums[index] = values.reduce((prev, curr) => {
-            const value = Number(curr);
-            if (!isNaN(value)) {
-              return prev + curr;
-            } else {
-              return prev;
-            }
-          }, 0);
-          sums[index] += ' 元';
-        } else {
-          sums[index] = 'N/A';
-        }
-      });
-
-      return sums;
+    changeMoney(){
+      if(parseInt(this.tableFilter.lastMoney) < parseInt(this.tableFilter.firstMoney)){
+        this.$message.error("第二个金额不能小于第一个金额,请重新输入")
+        this.tableFilter.lastMoney = ''
+      }
+    },
+    noNull(){
+      if(this.queryParameter.fStatementNo == ''){
+        this.rules = {
+          fToCorpid: [{ required: true, message: " ", trigger: "blur" }],
+          timeExamine: [{ required: true, message: " ", trigger: "blur" }],
+        };
+      }
     },
     addPage(){
       MessageBox.confirm("是否已保存?",{
@@ -2979,6 +2969,21 @@ export default {
         });
       }else if(Cookies.get("sysType") == 3){
         this.tableFilter.fBilltype = 'KHSF'
+        if(this.tableFilter.firstMoney || this.tableFilter.lastMoney){
+          if(this.tableFilter.firstMoney == '' || this.tableFilter.lastMoney == ''){
+            console.log("222")
+            this.$message.error("实收合计为金额区间,请填写完整")
+            this.tableFilter.amount = []
+          }else if(!this.tableFilter.firstMoney || !this.tableFilter.lastMoney){
+            console.log("111")
+            this.$message.error("实收合计为金额区间,请填写完整")
+          }else{
+            this.tableFilter.amount[0] = this.tableFilter.firstMoney
+            this.tableFilter.amount[1] = this.tableFilter.lastMoney
+          }
+        }else{
+          this.tableFilter.amount = []
+        }
         listCharge(this.tableFilter).then((response) => {
           this.chargeList = response.rows;
           this.total = response.total;
@@ -3070,11 +3075,11 @@ export default {
             }
           });
         }
-      } else {
-        this.rules = {
-          fToCorpid: [{ required: true, message: " ", trigger: "blur" }],
-          timeExamine: [{ required: true, message: " ", trigger: "blur" }],
-        };
+      } else{
+        // this.rules = {
+        //   fToCorpid: [{ required: true, message: " ", trigger: "blur" }],
+        //   timeExamine: [{ required: true, message: " ", trigger: "blur" }],
+        // };
         if (this.rules) {
           this.$refs["form"].validate((valid) => {
             if (valid) {
@@ -3109,10 +3114,7 @@ export default {
                   }
                 });
               }else if(Cookies.get("sysType") == 3){
-                console.log("1111")
-
                 this.queryParameter.fSystemType = this.queryParams.fSystemType
-                console.log(this.queryParameter)
                 search(this.queryParameter).then((response) => {
                   this.chargeList_s = response.rows;
                   if (this.chargeList_s.length !== 0) {

+ 50 - 26
src/views/finance/contrast/index.vue

@@ -49,13 +49,19 @@
           </el-col>
           <el-col :span="6">
             <el-form-item label="状态" prop="fBillstatus">
-              <el-input
+              <el-select
                 v-model="tablefilter.fBillstatus"
-                placeholder="请输入提单号"
+                placeholder="请选择状态"
                 clearable
                 style="width: 200px"
-                @keyup.enter.native="handleQuery"
-              />
+              >
+                <el-option label="保存" value="1"/>
+                <el-option label="暂存" value="2"/>
+                <el-option label="审批驳回" value="3"/>
+                <el-option label="提交审核" value="4"/>
+                <el-option label="审批中" value="5"/>
+                <el-option label="审核完成" value="6"/>
+              </el-select>
             </el-form-item>
           </el-col>
           <el-col :span="6">
@@ -75,19 +81,20 @@
           <div v-show="show">
             <el-row>
               <el-col :span="6">
-                <el-form-item label="对账金额" prop="fMblno">
+                <el-form-item label="对账金额" prop="amount">
                   <el-input
-                    v-model="queryParams.fMblno"
-                    placeholder="请输入提单号"
-                    clearable
-                    style="width: 100px"
+                    v-model="tablefilter.firstMoney"
+                    placeholder="金额区间"
+                    style="width: 95px;margin-right: 10px"
+                    oninput='this.value=this.value.replace(/[^\-?\d.]/g,"").replace(/^(\-)*(\d+)\.(\d\d).*$/, "$1$2.$3")'
                     @keyup.enter.native="handleQuery"
                   />
                   <el-input
-                    v-model="queryParams.fAmtcr"
-                    placeholder="请输入金额"
-                    clearable
-                    style="width: 100px"
+                    v-model="tablefilter.lastMoney"
+                    placeholder="金额区间"
+                    @change="changeMoney"
+                    oninput='this.value=this.value.replace(/[^\-?\d.]/g,"").replace(/^(\-)*(\d+)\.(\d\d).*$/, "$1$2.$3")'
+                    style="width: 95px"
                     @keyup.enter.native="handleQuery"
                   />
                 </el-form-item>
@@ -95,15 +102,15 @@
               <el-col :span="6">
                 <el-form-item label="备注" prop="fRemarks">
                   <el-input
-                    v-model="queryParams.fRemarks"
-                    placeholder="请输入提单号"
+                    v-model="tablefilter.fRemarks"
+                    placeholder="请输入备注"
                     clearable
                     style="width: 200px"
                     @keyup.enter.native="handleQuery"
                   />
                 </el-form-item>
               </el-col>
-              <el-col :span="6">
+              <el-col :span="12">
                 <el-form-item label="对账日期" prop="timeInterval">
                   <el-date-picker
                     v-model="tablefilter.timeInterval"
@@ -377,8 +384,8 @@
       <pagination
         v-show="total > 0"
         :total="total"
-        :page.sync="queryParams.pageNum"
-        :limit.sync="queryParams.pageSize"
+        :page.sync="tablefilter.pageNum"
+        :limit.sync="tablefilter.pageSize"
         @pagination="getList"
       />
     </div>
@@ -1846,18 +1853,15 @@ export default {
       tablefilter: {
         pageNum: 1,
         pageSize: 10,
-        fBillno: null,
         fCtrlcorpid: null,
-        fId: null,
         fCorpid: null,
-        tMblno: null,
-        fAmtdr: null,
-        fAmtcr: null,
-        fBilltype: null,
         fBillstatus: null,
+        fBillno: null,
+        amount: [],
+        firstMoney: null,
+        lastMoney: null,
         fRemarks: null,
-        fAccbilldate: null,
-        fDeptid: null,
+        timeInterval: null,
       },
       // 表单参数
       form: {},
@@ -1912,6 +1916,13 @@ export default {
     }
   },
   methods: {
+    changeMoney(){
+      console.log(this.tablefilter.firstMoney,this.tablefilter.lastMoney)
+      if(parseInt(this.tablefilter.lastMoney) < parseInt(this.tablefilter.firstMoney)){
+        this.$message.error("第二个金额不能小于第一个金额,请重新输入")
+        this.tablefilter.lastMoney = ''
+      }
+    },
     addPage(){
       MessageBox.confirm("是否已保存?",{
           confirmButtonText: '确定',
@@ -2804,6 +2815,19 @@ export default {
         });
       }else if(Cookies.get("sysType") == 3){
         this.tablefilter.fBilltype = 'KHDZ'
+        if(this.tablefilter.firstMoney || this.tablefilter.lastMoney){
+          if(this.tablefilter.firstMoney == '' || this.tablefilter.lastMoney == ''){
+            this.$message.error("实付合计为金额区间,请填写完整")
+            this.tablefilter.amount = []
+          }else if(!this.tablefilter.firstMoney || !this.tablefilter.lastMoney){
+            this.$message.error("实付合计为金额区间,请填写完整")
+          }else{
+            this.tablefilter.amount[0] = this.tablefilter.firstMoney
+            this.tablefilter.amount[1] = this.tablefilter.lastMoney
+          }
+        }else{
+          this.tablefilter.amount = []
+        }
         listFee(this.tablefilter).then((response) => {
           this.contrastList = response.rows;
           this.total = response.total;

+ 147 - 102
src/views/finance/controlOverInvoices/invoice/index.vue

@@ -7,103 +7,125 @@
       v-show="showSearch"
       label-width="68px"
     >
-      <el-form-item label="系统编号" prop="fCtrlcorpid">
-        <el-input
-          v-model="queryParams.fBillno"
-          placeholder="请输入系统编号"
-          clearable
-          size="small"
-          style="width: 200px"
-          @keyup.enter.native="handleQuery"
-        />
-      </el-form-item>
-      <el-form-item label="发票号" prop="fCtrlcorpid">
-        <el-input
-          v-model="queryParams.fCtrlcorpid"
-          placeholder="请输入货权方"
-          clearable
-          size="small"
-          style="width: 200px"
-          @keyup.enter.native="handleQuery"
-        />
-      </el-form-item>
-      <el-form-item label="发票日期" prop="fCorpid">
-        <el-select
-          v-model="queryParams.fCorpid"
-          filterable
-          remote
-          clearable
-          size="small"
-          style="width: 200px"
-          @keyup.enter.native="handleQuery"
-          :remote-method="corpsRemoteMethod"
-          placeholder="请输入结算单位"
-        >
-          <el-option
-            v-for="(dict, index) in fMblnoOptions"
-            :key="index.fId"
-            :label="dict.fName"
-            :value="dict.fId"
-          ></el-option>
-        </el-select>
-      </el-form-item>
-      <el-form-item label="购方名称" prop="timeInterval">
-        <el-input
-          type="daterange"
-          size="small"
-          style="width: 200px"
-          v-model="queryParams.remark"
-        >
-        </el-input>
-      </el-form-item>
-      <el-form-item label="开票单位" prop="timeInterval">
-        <el-input
-          type="daterange"
-          size="small"
-          style="width: 200px"
-          v-model="queryParams.timeInterval"
-        >
-        </el-input>
-      </el-form-item>
-      <el-form-item label="发票状态" prop="timeInterval">
-        <el-date-picker
-          type="daterange"
-          size="small"
-          style="width: 240px"
-          v-model="queryParams.timeInterval"
-          start-placeholder="开始日期"
-          end-placeholder="结束日期"
-          value-format="yyyy-MM-dd"
-          :default-time="['00:00:00', '23:59:59']"
-        >
-        </el-date-picker>
-      </el-form-item>
-      <el-form-item label="发票类型" prop="timeInterval">
-        <el-date-picker
-          type="daterange"
-          size="small"
-          style="width: 240px"
-          v-model="queryParams.timeInterval"
-          start-placeholder="开始日期"
-          end-placeholder="结束日期"
-          value-format="yyyy-MM-dd"
-          :default-time="['00:00:00', '23:59:59']"
-        >
-        </el-date-picker>
-      </el-form-item>
-      <el-form-item label="开票金额" prop="timeInterval">
-        <el-date-picker
-          type="daterange"
-          size="small"
-          style="width: 240px"
-          v-model="queryParams.timeInterval"
-          start-placeholder="开始日期"
-          end-placeholder="结束日期"
-          value-format="yyyy-MM-dd"
-          :default-time="['00:00:00', '23:59:59']"
-        >
-        </el-date-picker>
-      </el-form-item>
+      <el-row>
+        <el-col :span="6">
+          <el-form-item label="系统编号" prop="fCtrlcorpid">
+            <el-input
+              v-model="queryParams.fBillno"
+              placeholder="请输入系统编号"
+              clearable
+              size="small"
+              style="width: 200px"
+              @keyup.enter.native="handleQuery"
+            />
+          </el-form-item>
+        </el-col>
+        <el-col :span="6">
+          <el-form-item label="发票号" prop="fCtrlcorpid">
+            <el-input
+              v-model="queryParams.fCtrlcorpid"
+              placeholder="请输入货权方"
+              clearable
+              size="small"
+              style="width: 200px"
+              @keyup.enter.native="handleQuery"
+            />
+          </el-form-item>
+        </el-col>
+        <el-col :span="6">
+          <el-form-item label="购方名称" prop="timeInterval">
+            <el-input
+              type="daterange"
+              size="small"
+              style="width: 200px"
+              v-model="queryParams.remark"
+            >
+            </el-input>
+          </el-form-item>
+        </el-col>
+        <el-col :span="6">
+          <el-form-item label="开票单位" prop="timeInterval">
+            <el-input
+              type="daterange"
+              size="small"
+              style="width: 200px"
+              v-model="queryParams.timeInterval"
+            >
+            </el-input>
+          </el-form-item>
+        </el-col>
+      </el-row>
+      <el-collapse-transition>
+        <div v-show="show">
+          <el-row>
+            <el-col :span="6">
+              <el-form-item label="发票状态" prop="timeInterval">
+                <el-input
+                  size="small"
+                  style="width: 200px"
+                  v-model="queryParams.timeInterval"
+                >
+                </el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :span="6">
+              <el-form-item label="发票类型" prop="timeInterval">
+                <el-input
+                  size="small"
+                  style="width: 200px"
+                  v-model="queryParams.timeInterval"
+                >
+                </el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :span="6">
+              <el-form-item label="开票金额" prop="timeInterval">
+                <el-input
+                  v-model="queryParams.firstMoney"
+                  placeholder="金额区间"
+                  style="width: 95px;margin-right: 10px"
+                  oninput='this.value=this.value.replace(/[^\-?\d.]/g,"").replace(/^(\-)*(\d+)\.(\d\d).*$/, "$1$2.$3")'
+                  @keyup.enter.native="handleQuery"
+                />
+                <el-input
+                  v-model="queryParams.lastMoney"
+                  placeholder="金额区间"
+                  @change="changeMoney"
+                  oninput='this.value=this.value.replace(/[^\-?\d.]/g,"").replace(/^(\-)*(\d+)\.(\d\d).*$/, "$1$2.$3")'
+                  style="width: 95px"
+                  @keyup.enter.native="handleQuery"
+                />
+              </el-form-item>
+            </el-col>
+            <el-col :span="6">
+              <el-form-item label="备注" prop="timeInterval">
+                <el-input
+                  size="small"
+                  style="width: 200px"
+                  v-model="queryParams.timeInterval"
+                >
+                </el-input>
+              </el-form-item>
+            </el-col>
+          </el-row>
+          <el-row>
+            <el-col :span="12">
+              <el-form-item label="发票日期" prop="fCorpid">
+                <el-date-picker
+                  v-model="queryParams.fCorpid"
+                  type="daterange"
+                  range-separator="至"
+                  start-placeholder="开始日期"
+                  end-placeholder="结束日期"
+                  value-format="yyyy-MM-dd"
+                  style="width:240px"
+                  :default-time="['00:00:00', '23:59:59']">
+                </el-date-picker>
+              </el-form-item>
+            </el-col>
+          </el-row>
+        </div>
+      </el-collapse-transition>
     </el-form>
 
     <el-row :gutter="10" class="mb8">
@@ -150,11 +172,27 @@
         >导出
         </el-button>
       </el-col>
-      <el-col  style="position: absolute;left:70%" :span="5" >
-        <el-button type="cyan" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
-        <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
-      </el-col>
       <div class="tabSetting">
+        <div style="margin-right: 20px">
+          <el-button type="cyan" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
+          <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
+          <el-button
+            v-show="show"
+            @click="show = !show"
+            icon="el-icon-arrow-up"
+            size="mini"
+          >展开
+          </el-button
+          >
+          <el-button
+            v-show="!show"
+            @click="show = !show"
+            icon="el-icon-arrow-down"
+            size="mini"
+          >展开
+          </el-button
+          >
+        </div>
         <right-toolbar
           :showSearch.sync="showSearch"
           @queryTable="getList"
@@ -409,6 +447,7 @@ export default {
   name: "Charge",
   data() {
     return {
+      show: false,
       drag: false,
       tableDate: [
         {
@@ -607,7 +646,13 @@ export default {
 
   },
   methods: {
-
+    changeMoney(){
+      console.log(this.queryParams.firstMoney,this.queryParams.lastMoney)
+      if(parseInt(this.queryParams.lastMoney) < parseInt(this.queryParams.firstMoney)){
+        this.$message.error("第二个金额不能小于第一个金额,请重新输入")
+        this.queryParams.lastMoney = ''
+      }
+    },
     //导出明细
     handleExportItems() {
       const fIds = this.queryParams.fId;

+ 198 - 93
src/views/finance/controlOverInvoices/invoiceDetail/index.vue

@@ -229,15 +229,32 @@
     </el-menu>
     <div style="margin:10px">
       <el-button
-        type="success"
-        size="small"
+        icon="el-icon-arrow-left"
+        type="danger"
+        v-if="cancelButton === true"
+        size="mini"
+        @click="cancel"
+      >返回列表
+      </el-button
+      >
+      <el-button
+        icon="el-icon-arrow-left"
+        type="danger"
+        v-if="cancelButton === false"
+        size="mini" @click="homePage"
+      >返回首页
+      </el-button
+      >
+      <el-button
+        type="primary"
+        size="mini"
         @click="addList"
         v-if="invoiceInfo"
       >新行</el-button
       >
       <el-button
-        type="success"
-        size="small"
+        type="warning"
+        size="mini"
         @click="innerVisible = true"
         v-if="feeInfo"
         :disabled="doNot"
@@ -245,12 +262,18 @@
       >
       <el-button
         type="primary"
-        size="small"
+        size="mini"
         @click=""
         v-if="feeInfo"
         :disabled="doNot"
       >生成发票</el-button
       >
+      <el-button
+        type="success"
+        size="mini"
+        :disabled="doNot"
+        @click="submit"
+      >保 存</el-button>
     </div>
     <el-table
       v-if="feeInfo"
@@ -305,22 +328,57 @@
         :fixed="item.fixed"
       >
         <template slot-scope="scope">
-          <el-input v-model="scope.row.fMblno" v-if="item.label == 'fMblno'"/>
-          <el-input v-model="scope.row.fBscorpno" v-if="item.label == 'fBscorpno'"/>
-          <el-input v-model="scope.row.fProductName" v-if="item.label == 'fProductName'"/>
-          <el-input v-model="scope.row.fBsdate" v-if="item.label == 'fBsdate'"/>
-          <el-input v-model="scope.row.fFeeName" v-if="item.label == 'fFeeName'"/>
-          <el-input v-model="scope.row.fSrcdc" v-if="item.label == 'fSrcdc'"/>
-          <el-input v-model="scope.row.fBilltype" v-if="item.label == 'fBilltype'"/>
-          <el-input v-model="scope.row.fBusinessType" v-if="item.label == 'fBusinessType'"/>
-          <el-input v-model="scope.row.fAmtdr" v-if="item.label == 'fAmtdr'"/>
-          <el-input v-model="scope.row.fAmt" v-if="item.label == 'fAmt'"/>
-          <el-input v-model="scope.row.fRemarks" v-if="item.label == 'fRemarks'"/>
-          <el-input v-model="scope.row.fRemarks" v-if="item.label == 'fRemarks'"/>
-          <el-input v-model="scope.row.fRemarks" v-if="item.label == 'fRemarks'"/>
-          <el-input v-model="scope.row.fRemarks" v-if="item.label == 'fRemarks'"/>
-          <el-input v-model="scope.row.fRemarks" v-if="item.label == 'fRemarks'"/>
-          <el-input v-model="scope.row.fRemarks" v-if="item.label == 'fRemarks'"/>
+          <el-select
+            :disabled="notChange"
+            v-model="scope.row.fFeeName"
+            @change="changeId"
+            v-if="item.label == 'fFeeName'"
+          >
+            <el-option
+              v-for="dict in fCNameOptions"
+              :key="dict.fId"
+              :label="dict.fName"
+              :value="dict.fId"
+            ></el-option>
+          </el-select>
+          <el-input :disabled="notChange" v-model="scope.row.fModel" v-if="item.label == 'fModel'"/>
+          <el-select :disabled="notChange" v-model="scope.row.fSbu" v-if="item.label == 'fSbu'">
+            <el-option
+              v-for="dict in unitOptions"
+              :key="dict.dictValue"
+              :label="dict.dictLabel"
+              :value="dict.dictValue"
+            />
+          </el-select>
+          <el-input :disabled="notChange" v-model="scope.row.fNumber" @change="priceTotal"
+                    v-if="item.label == 'fNumber'"
+          />
+          <el-input :disabled="notChange" v-model="scope.row.fUnitprice" @change="priceTotal"
+                    v-if="item.label == 'fUnitprice'"
+          />
+          <el-input :disabled="notChange" v-model="scope.row.fMoney" disabled v-if="item.label == 'fMoney'"/>
+          <el-input :disabled="notChange" v-model="scope.row.fTaxrate" @change="priceTotal"
+                    v-if="item.label == 'fTaxrate'"
+          />
+          <el-input v-model="scope.row.fTax" disabled v-if="item.label == 'fTax'"/>
+          <el-input v-model="scope.row.fAmount" disabled v-if="item.label == 'fAmount'"/>
+          <el-select :disabled="notChange" v-model="scope.row.fStatus" v-if="item.label == 'fStatus'">
+            <el-option label="是" value="0"/>
+            <el-option label="否" value="1"/>
+          </el-select>
+          <el-input :disabled="notChange" v-model="scope.row.remarks" v-if="item.label == 'remarks'"/>
+          <el-input v-model="scope.row.createBy" disabled v-if="item.label == 'createBy'"/>
+          <el-date-picker :disabled="notChange" v-model="scope.row.createTime" style="width:100%" type="date"
+                          placeholder="选择日期" format="yyyy-MM-dd" value-format="yyyy-MM-dd"
+                          v-if="item.label == 'createTime'"
+          />
+          <el-input v-model="scope.row.updateBy" disabled
+                    v-if="item.label ==  'updateBy' && scope.row.fStatus == '0'"
+          />
+          <el-date-picker :disabled="notChange" v-model="scope.row.updateTime" style="width:100%" type="date"
+                          placeholder="选择日期" format="yyyy-MM-dd" value-format="yyyy-MM-dd"
+                          v-if="item.label == 'updateTime' && scope.row.fStatus == '0'"
+          />
         </template>
       </el-table-column>
       <el-table-column
@@ -608,10 +666,6 @@
         </el-col>
       </el-row>
     </el-form>
-    <div slot="footer" class="dialog-footer" style="margin:20px;float: right">
-
-      <el-button type="primary" :disabled="doNot" @click="submit">保 存</el-button>
-    </div>
   </div>
 
 </template>
@@ -622,6 +676,7 @@ import Cookies from 'js-cookie'
 import { listCharge, listCharges } from '@/api/finance/charge'
 import { addSet, select } from '@/api/system/set'
 import draggable from "vuedraggable";
+import { listFees } from '@/api/finance/applyForInvoice/chargeInvoice'
 
 Vue.directive("dialogDrag", {
   bind(el, binding, vnode, oldVnode) {
@@ -687,6 +742,10 @@ export default {
   },
   data(){
     return{
+      unitOptions:[],
+      fCNameOptions:[],
+      notChange: false,
+      cancelButton:true,
       form:{
 
       },
@@ -774,117 +833,110 @@ export default {
       ],
       tableDate2: [
         {
-          surface: "1",
-          label: "fMblno",
-          name: "货物或应税劳务、服务名称",
+          surface: '1',
+          label: 'fFeeName',
+          name: '货物或应税劳务、服务名称',
           checked: 0,
-          width: 100,
+          width: 100
         },
         {
-          surface: "2",
-          label: "fBscorpno",
-          name: "规格型号",
+          surface: '2',
+          label: 'fModel',
+          name: '规格型号',
           checked: 0,
-          width: 100,
+          width: 100
         },
         {
-          surface: "3",
-          label: "fProductName",
-          name: "单位",
+          surface: '3',
+          label: 'fSbu',
+          name: '单位',
           checked: 0,
-          width: 100,
+          width: 100
         },
         {
-          surface: "4",
-          label: "fBsdate",
-          name: "数量",
+          surface: '4',
+          label: 'fNumber',
+          name: '数量',
           checked: 0,
-          width: 100,
+          width: 100
         },
         {
-          surface: "5",
-          label: "fFeeName",
-          name: "单价(含税)",
+          surface: '5',
+          label: 'fUnitprice',
+          name: '单价(含税)',
           checked: 0,
-          width: 100,
+          width: 100
         },
         {
-          surface: "6",
-          label: "fSrcdc",
-          name: "收/付",
+          surface: '6',
+          label: 'fMoney',
+          name: '金额(含税)',
           checked: 0,
-          width: 100,
+          width: 100
         },
         {
-          surface: "7",
-          label: "fBilltype",
-          name: "金额(含税)",
+          surface: '7',
+          label: 'fTaxrate',
+          name: '税率(%)',
           checked: 0,
-          width: 100,
+          width: 100
         },
         {
-          surface: "8",
-          label: "fBusinessType",
-          name: "税率",
+          surface: '8',
+          label: 'fTax',
+          name: '税额',
           checked: 0,
-          width: 100,
-        },
-        {
-          surface: "9",
-          label: "fAmtdr",
-          name: "税额",
-          checked: 0,
-          width: 100,
+          width: 100
         },
         {
-          surface: "10",
-          label: "fAmt",
-          name: "合计金额",
+          surface: '9',
+          label: 'fAmount',
+          name: '合计金额(元)',
           checked: 0,
-          width: 100,
+          width: 100
         },
         {
-          surface: "11",
-          label: "fRemarks",
-          name: "作废状态",
+          surface: '10',
+          label: 'fStatus',
+          name: '作废状态',
           checked: 0,
-          width: 100,
+          width: 100
         },
         {
-          surface: "12",
-          label: "fRemarks",
-          name: "备注",
+          surface: '11',
+          label: 'remarks',
+          name: '备注',
           checked: 0,
-          width: 100,
+          width: 100
         },
         {
-          surface: "13",
-          label: "fRemarks",
-          name: "录入人",
+          surface: '12',
+          label: 'createBy',
+          name: '录入人',
           checked: 0,
-          width: 100,
+          width: 100
         },
         {
-          surface: "14",
-          label: "fRemarks",
-          name: "录入时间",
+          surface: '13',
+          label: 'createTime',
+          name: '录入时间',
           checked: 0,
-          width: 100,
+          width: 100
         },
         {
-          surface: "15",
-          label: "fRemarks",
-          name: "作废人",
+          surface: '14',
+          label: 'updateBy',
+          name: '作废人',
           checked: 0,
-          width: 100,
+          width: 100
         },
         {
-          surface: "16",
-          label: "fRemarks",
-          name: "作废时间",
+          surface: '15',
+          label: 'updateTime',
+          name: '作废时间',
           checked: 0,
-          width: 100,
-        },
+          width: 100
+        }
       ],
       setRowList: [],
       getRowList: [],
@@ -916,8 +968,16 @@ export default {
     this.getRowList = this.tableDate;
     this.setRowList2 = this.tableDate2;
     this.getRowList2 = this.tableDate2;
+    if (Cookies.get('sysType') == 3) {
+      this.getDicts('data_unitfees').then((response) => {
+        if (response.data) {
+          this.unitOptions = response.data
+        }
+      })
+    }
     this.getRow();
     this.getRow2();
+    this.feeName()
   },
   activated() {
     if(this.$route.query.data){
@@ -929,6 +989,51 @@ export default {
     }
   },
   methods:{
+    changeId() {
+      for (let item in this.invoiceList) {
+        this.invoiceList[item].fFeeid = this.invoiceList[item].fFeeName
+      }
+    },
+    //金额(含税)
+    priceTotal() {
+      for (let li in this.invoiceList) {
+        if (this.invoiceList[li].fNumber || this.invoiceList[li].fUnitprice) {
+          this.$set(this.invoiceList[li], 'fMoney', (this.invoiceList[li].fNumber * this.invoiceList[li].fUnitprice).toFixed(2))
+        }
+        if (this.invoiceList[li].fTaxrate && this.invoiceList[li].fNumber
+          || this.invoiceList[li].fTaxrate && this.invoiceList[li].fUnitprice
+          || this.invoiceList[li].fNumber && this.invoiceList[li].fUnitprice) {
+          this.$set(this.invoiceList[li], 'fTax', (this.invoiceList[li].fMoney * (this.invoiceList[li].fTaxrate / 100) / (1 + this.invoiceList[li].fTaxrate / 100)).toFixed(2))
+          if (this.invoiceList[li].fMoney && this.invoiceList[li].fTax) {
+            this.$set(this.invoiceList[li], 'fAmount', (this.invoiceList[li].fMoney - this.invoiceList[li].fTax).toFixed(2))
+          }
+        }
+      }
+    },
+    //获取服务费名称
+    feeName() {
+      let query = { pageNum: 1, fDc: 'C' }
+      listFees(query).then((response) => {
+        this.fCNameOptions = response.rows
+      })
+    },
+    cancel() {
+      this.$confirm("返回列表,是否保存?", "提示", {
+        confirmButtonText: "保存",
+        cancelButtonText: "取消",
+        type: "warning",
+      })
+        .then(() => {
+          this.submit(Cookies.get("sysType"))
+          this.$router.push({path:'/finance/controlOverInvoices/invoice'})
+          this.getList();
+        })
+        .catch(() => {
+          this.mainTable = false
+          this.getList();
+        });
+    },
+
     submit(){
 
     },

+ 27 - 6
src/views/finance/controlOverInvoices/ticketBookDetail/index.vue

@@ -202,11 +202,20 @@
 <!--      </div>-->
 <!--    </el-menu>-->
     <div style="margin:10px">
+      <el-button icon="el-icon-arrow-left" type="danger" v-if="cancelButton === true" size="mini" @click="cancel"
+      >返回列表
+      </el-button
+      >
+      <el-button icon="el-icon-arrow-left" type="danger" v-if="cancelButton === false" size="mini" @click="homePage"
+      >返回首页
+      </el-button
+      >
       <el-button
-        type="success"
+        type="primary"
         size="small"
         @click="addList"
       >新行</el-button>
+      <el-button type="success" size="small" :disabled="doNot" @click="submit">保 存</el-button>
     </div>
     <el-table
       v-loading="loading"
@@ -273,11 +282,6 @@
       </el-table-column>
     </el-table>
 
-    <div slot="footer" class="dialog-footer" style="margin:20px;float: right">
-
-      <el-button type="primary" :disabled="doNot" @click="submit">保 存</el-button>
-    </div>
-
   </div>
 
 </template>
@@ -353,6 +357,7 @@ export default {
   },
   data(){
     return{
+      cancelButton: true,
       doNot:false,
       tableDate: [
         {
@@ -429,6 +434,22 @@ export default {
     }
   },
   methods:{
+    cancel() {
+        this.$confirm("返回列表,是否保存?", "提示", {
+          confirmButtonText: "保存",
+          cancelButtonText: "取消",
+          type: "warning",
+        })
+          .then(() => {
+            this.submit(Cookies.get("sysType"))
+            this.$router.push({path:'/finance/controlOverInvoices/ticketBookManagement'})
+            this.getList();
+          })
+          .catch(() => {
+            this.mainTable = false
+            this.getList();
+          });
+    },
     submit(){
 
     },

+ 123 - 77
src/views/finance/controlOverInvoices/ticketBookManagement/index.vue

@@ -7,79 +7,99 @@
       v-show="showSearch"
       label-width="68px"
     >
-      <el-form-item label="系统编号" prop="fCtrlcorpid">
-        <el-input
-          v-model="queryParams.fBillno"
-          placeholder="请输入系统编号"
-          clearable
-          size="small"
-          style="width: 200px"
-          @keyup.enter.native="handleQuery"
-        />
-      </el-form-item>
-      <el-form-item label="发票种类" prop="fCtrlcorpid">
-        <el-input
-          v-model="queryParams.fCtrlcorpid"
-          placeholder="请输入货权方"
-          clearable
-          size="small"
-          style="width: 200px"
-          @keyup.enter.native="handleQuery"
-        />
-      </el-form-item>
-      <el-form-item label="发票代码" prop="fCorpid">
-        <el-select
-          v-model="queryParams.fCorpid"
-          filterable
-          remote
-          clearable
-          size="small"
-          style="width: 200px"
-          @keyup.enter.native="handleQuery"
-          :remote-method="corpsRemoteMethod"
-          placeholder="请输入结算单位"
-        >
-          <el-option
-            v-for="(dict, index) in fMblnoOptions"
-            :key="index.fId"
-            :label="dict.fName"
-            :value="dict.fId"
-          ></el-option>
-        </el-select>
-      </el-form-item>
-      <el-form-item label="发票号码" prop="timeInterval">
-        <el-input
-          type="daterange"
-          size="small"
-          style="width: 200px"
-          v-model="queryParams.remark"
-        >
-        </el-input>
-      </el-form-item>
-      <el-form-item label="录入日期" prop="timeInterval">
-        <el-input
-          type="daterange"
-          size="small"
-          style="width: 200px"
-          v-model="queryParams.timeInterval"
-        >
-        </el-input>
-      </el-form-item>
-      <el-form-item label="录入人" prop="timeInterval">
-        <el-date-picker
-          type="daterange"
-          size="small"
-          style="width: 240px"
-          v-model="queryParams.timeInterval"
-          start-placeholder="开始日期"
-          end-placeholder="结束日期"
-          value-format="yyyy-MM-dd"
-          :default-time="['00:00:00', '23:59:59']"
-        >
-        </el-date-picker>
-      </el-form-item>
+      <el-row>
+        <el-col :span="6">
+          <el-form-item label="系统编号" prop="fCtrlcorpid">
+            <el-input
+              v-model="queryParams.fBillno"
+              placeholder="请输入系统编号"
+              clearable
+              size="small"
+              style="width: 200px"
+              @keyup.enter.native="handleQuery"
+            />
+          </el-form-item>
+        </el-col>
+        <el-col :span="6">
+          <el-form-item label="发票种类" prop="fCtrlcorpid">
+            <el-input
+              v-model="queryParams.fCtrlcorpid"
+              placeholder="请输入货权方"
+              clearable
+              size="small"
+              style="width: 200px"
+              @keyup.enter.native="handleQuery"
+            />
+          </el-form-item>
+        </el-col>
+        <el-col :span="6">
+          <el-form-item label="发票代码" prop="fCorpid">
+            <el-select
+              v-model="queryParams.fCorpid"
+              filterable
+              remote
+              clearable
+              size="small"
+              style="width: 200px"
+              @keyup.enter.native="handleQuery"
+              :remote-method="corpsRemoteMethod"
+              placeholder="请输入结算单位"
+            >
+              <el-option
+                v-for="(dict, index) in fMblnoOptions"
+                :key="index.fId"
+                :label="dict.fName"
+                :value="dict.fId"
+              ></el-option>
+            </el-select>
+          </el-form-item>
+        </el-col>
+        <el-col :span="6">
+          <el-form-item label="发票号码" prop="timeInterval">
+            <el-input
+              type="daterange"
+              size="small"
+              style="width: 200px"
+              v-model="queryParams.remark"
+            >
+            </el-input>
+          </el-form-item>
+        </el-col>
+      </el-row>
+      <el-collapse-transition>
+        <div v-show="show">
+          <el-row>
+            <el-col :span="6">
+              <el-form-item label="录入人" prop="timeInterval">
+                <el-input
+                  type="daterange"
+                  size="small"
+                  style="width: 200px"
+                  v-model="queryParams.timeInterval"
+                >
+                </el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :span="12">
+              <el-form-item label="录入日期" prop="timeInterval">
+                <el-date-picker
+                  type="daterange"
+                  size="small"
+                  style="width: 240px"
+                  v-model="queryParams.timeInterval"
+                  start-placeholder="开始日期"
+                  end-placeholder="结束日期"
+                  value-format="yyyy-MM-dd"
+                  :default-time="['00:00:00', '23:59:59']"
+                >
+                </el-date-picker>
+              </el-form-item>
+            </el-col>
+            <el-col :span="6"></el-col>
+          </el-row>
+        </div>
+      </el-collapse-transition>
     </el-form>
-
     <el-row :gutter="10" class="mb8">
       <el-col :span="1.5">
         <el-button
@@ -116,7 +136,7 @@
       <el-col :span="1.5">
         <el-button
           size="mini"
-          type="success"
+          type="warning"
           icon="el-icon-download"
           :disabled="multiple"
           @click="handleExport()"
@@ -124,11 +144,36 @@
         >导出
         </el-button>
       </el-col>
-      <el-col  style="position: absolute;left:70%" :span="5" >
-        <el-button type="cyan" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
-        <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
-      </el-col>
       <div class="tabSetting">
+        <div style="margin-right: 20px">
+          <el-button
+            type="cyan"
+            icon="el-icon-search"
+            size="mini"
+            @click="handleQuery">
+            搜索</el-button>
+          <el-button
+            icon="el-icon-refresh"
+            size="mini"
+            @click="resetQuery">
+            重置</el-button>
+          <el-button
+            v-show="show"
+            @click="show = !show"
+            icon="el-icon-arrow-up"
+            size="mini"
+          >展开
+          </el-button
+          >
+          <el-button
+            v-show="!show"
+            @click="show = !show"
+            icon="el-icon-arrow-down"
+            size="mini"
+          >展开
+          </el-button
+          >
+        </div>
         <right-toolbar
           :showSearch.sync="showSearch"
           @queryTable="getList"
@@ -383,6 +428,7 @@ export default {
   name: "Charge",
   data() {
     return {
+      show: false,
       drag: false,
       tableDate: [
         {

+ 59 - 31
src/views/finance/payment/index.vue

@@ -11,7 +11,7 @@
       >
         <el-row>
           <el-col :span="6">
-            <el-form-item label="系统编号" prop="fCtrlcorpid">
+            <el-form-item label="系统编号" prop="fBillno">
           <el-input
             v-model="tableFilter.fBillno"
             placeholder="请输入系统编号"
@@ -58,13 +58,19 @@
           </el-col>
           <el-col :span="6">
             <el-form-item label="状态" prop="fBillstatus">
-              <el-input
-                v-model="queryParams.fBillstatus"
-                placeholder="请输入提单号"
+              <el-select
+                v-model="tableFilter.fBillstatus"
+                placeholder="请选择状态"
                 clearable
                 style="width: 200px"
-                @keyup.enter.native="handleQuery"
-              />
+              >
+                <el-option label="保存" value="1"/>
+                <el-option label="暂存" value="2"/>
+                <el-option label="审批驳回" value="3"/>
+                <el-option label="提交审核" value="4"/>
+                <el-option label="审批中" value="5"/>
+                <el-option label="审核完成" value="6"/>
+              </el-select>
             </el-form-item>
           </el-col>
         </el-row>
@@ -72,27 +78,27 @@
           <div v-show="show">
             <el-row>
               <el-col :span="6">
-                <el-form-item label="对账金额" prop="fMblno">
+                <el-form-item label="实付合计" prop="amount">
                   <el-input
-                    v-model="queryParams.fMblno"
-                    placeholder="请输入提单号"
-                    clearable
-                    style="width: 100px"
-                    @keyup.enter.native="handleQuery"
+                    v-model="tableFilter.firstMoney"
+                    placeholder="金额区间"
+                    style="width: 95px;margin-right: 10px"
+                    oninput='this.value=this.value.replace(/[^\-?\d.]/g,"").replace(/^(\-)*(\d+)\.(\d\d).*$/, "$1$2.$3")'
                   />
                   <el-input
-                    v-model="queryParams.fAmtcr"
-                    placeholder="请输入金额"
-                    clearable
-                    style="width: 100px"
-                    @keyup.enter.native="handleQuery"
+                    v-model="tableFilter.lastMoney"
+                    placeholder="金额区间"
+                    @change="changeMoney"
+                    oninput='this.value=this.value.replace(/[^\-?\d.]/g,"").replace(/^(\-)*(\d+)\.(\d\d).*$/, "$1$2.$3")'
+                    style="width: 95px"
                   />
+
                 </el-form-item>
               </el-col>
               <el-col :span="6">
                 <el-form-item label="备注" prop="fRemarks">
                   <el-input
-                    v-model="queryParams.fRemarks"
+                    v-model="tableFilter.fRemarks"
                     placeholder="请输入提单号"
                     clearable
                     style="width: 200px"
@@ -100,7 +106,7 @@
                   />
                 </el-form-item>
               </el-col>
-              <el-col :span="6">
+              <el-col :span="12">
                 <el-form-item label="对账日期" prop="timeInterval">
                   <el-date-picker
                     type="daterange"
@@ -367,8 +373,8 @@
       <pagination
         v-show="total > 0"
         :total="total"
-        :page.sync="queryParams.pageNum"
-        :limit.sync="queryParams.pageSize"
+        :page.sync="tableFilter.pageNum"
+        :limit.sync="tableFilter.pageSize"
         @pagination="getList"
       />
     </div>
@@ -873,6 +879,7 @@
               v-model="queryParameter.fStatementNo"
               placeholder="请输入提单号"
               size="small"
+              @change="noNull"
               style="width: 160px"
             />
           </el-form-item>
@@ -2429,14 +2436,12 @@ export default {
         fBillno: null,
         fCtrlcorpid: null,
         fCorpid: null,
-        tMblno: null,
-        fAmtdr: null,
-        fAmtcr: null,
-        fBilltype: null,
         fBillstatus: null,
+        amount: [],
+        firstMoney: null,
+        lastMoney: null,
         fRemarks: null,
-        fAccbilldate: null,
-        fDeptid: null,
+        timeInterval:null
       },
       approval: [],
       // 表单参数
@@ -2495,6 +2500,20 @@ export default {
     }
   },
   methods: {
+    changeMoney(){
+      if(parseInt(this.tableFilter.lastMoney) < parseInt(this.tableFilter.firstMoney)){
+        this.$message.error("第二个金额不能小于第一个金额,请重新输入")
+        this.tableFilter.lastMoney = ''
+      }
+    },
+    noNull(){
+      if(this.queryParameter.fStatementNo == ''){
+        this.rules = {
+          fToCorpid: [{ required: true, message: " ", trigger: "blur" }],
+          timeExamine: [{ required: true, message: " ", trigger: "blur" }],
+        };
+      }
+    },
     addPage(){
       MessageBox.confirm("是否已保存?",{
           confirmButtonText: '确定',
@@ -3667,6 +3686,19 @@ export default {
         });
       }else if(Cookies.get("sysType") == 3){
         this.tableFilter.fBilltype = 'KHFF'
+        if(this.tableFilter.firstMoney || this.tableFilter.lastMoney){
+          if(this.tableFilter.firstMoney == '' || this.tableFilter.lastMoney == ''){
+            this.$message.error("实付合计为金额区间,请填写完整")
+            this.tableFilter.amount = []
+          }else if(!this.tableFilter.firstMoney || !this.tableFilter.lastMoney){
+            this.$message.error("实付合计为金额区间,请填写完整")
+          }else{
+            this.tableFilter.amount[0] = this.tableFilter.firstMoney
+            this.tableFilter.amount[1] = this.tableFilter.lastMoney
+          }
+        }else{
+          this.tableFilter.amount = []
+        }
         listCharge(this.tableFilter).then((response) => {
           this.chargeList = response.rows;
           this.total = response.total;
@@ -3759,10 +3791,6 @@ export default {
           });
         }
       } else {
-        this.rules = {
-          fToCorpid: [{ required: true, message: " ", trigger: "blur" }],
-          timeExamine: [{ required: true, message: " ", trigger: "blur" }],
-        };
         if (this.rules) {
           this.$refs["form"].validate((valid) => {
             if (valid) {

+ 9 - 0
src/views/index.vue

@@ -177,6 +177,8 @@
                   <span v-else-if="item.refno2 === 'KHSF'">凯和收费</span>
                   <span v-else-if="item.refno2 === 'KHFF'">凯和付费</span>
                   <span v-else-if="item.refno2 === 'ApplyFP'">凯和开票申请</span>
+                  <span v-else-if="item.refno2 === 'KHDD'">凯合订单</span>
+                  <span v-else-if="item.refno2 === 'SE'">下单配船</span>
                 </div>
                 <div class="home_stock_table" @click="approval(item)">
                   查看详情
@@ -809,6 +811,13 @@ export default {
           });
           break;
         }
+        case "KHDD": {
+          this.$router.push({
+            path: "/domesticTrade/orderInformation",
+            query: { list: JSON.stringify(row) },
+          });
+          break;
+        }
         default: {
           return this.$message.error("未知错误,无状态");
         }

+ 60 - 36
src/views/kaihe/domesticTrade/myOrder/index.vue

@@ -20,51 +20,74 @@
     </el-menu>
     <el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="68px" style="margin-top:20px">
       <el-row>
+        <el-col :span="6">
           <el-form-item label="订舱号" prop="fBillno">
             <el-input size="small" width="240px" clearable v-model="queryParams.fBillno"/>
           </el-form-item>
-        <el-form-item label="运输条款" prop="fServiceitems">
-          <el-select size="small" width="240px" clearable v-model="queryParams.fServiceitems">
-            <el-option
-              v-for="item in serviceitems"
-              :key="item.dictValue"
-              :label="item.dictLabel"
-              :value="item.dictValue"/>
-          </el-select>
-        </el-form-item>
-        <el-form-item label="收货人" prop="fConsigneername">
-          <el-input size="small" width="240px" clearable v-model="queryParams.fConsigneername"/>
-        </el-form-item>
-        <el-form-item label="箱型" prop="fCntrid">
-          <el-select size="small" v-model="queryParams.fCntrid" clearable :remote-method="cntrRemoteMethod">
-            <el-option
-              v-for="(dict, index) in container"
-              :key="dict.fId"
-              :label="dict.fNo"
-              :value="dict.fId"
-            ></el-option>
-
-          </el-select>
-        </el-form-item>
-        <el-form-item label="箱量" prop="fCntrcount">
-          <el-input size="small" width="240px" clearable v-model="queryParams.fCntrcount"/>
-        </el-form-item>
-        <el-form-item label="装货时间" prop="cLoadDate">
-          <el-date-picker
-            v-model="queryParams.cLoadDate"
-            type="daterange"
-            range-separator="至"
-            value-format="yyyy-MM-dd"
-            start-placeholder="开始日期"
-            end-placeholder="结束日期">
-          </el-date-picker>
-        </el-form-item>
+        </el-col>
+        <el-col :span="6">
+          <el-form-item label="运输条款" prop="fServiceitems">
+            <el-select size="small" width="240px" clearable v-model="queryParams.fServiceitems">
+              <el-option
+                v-for="item in serviceitems"
+                :key="item.dictValue"
+                :label="item.dictLabel"
+                :value="item.dictValue"/>
+            </el-select>
+          </el-form-item>
+        </el-col>
+        <el-col :span="6">
+          <el-form-item label="收货人" prop="fConsigneername">
+            <el-input size="small" width="240px" clearable v-model="queryParams.fConsigneername"/>
+          </el-form-item>
+        </el-col>
+        <el-col :span="6">
+          <el-form-item label="箱型" prop="fCntrid">
+            <el-select size="small" v-model="queryParams.fCntrid" clearable :remote-method="cntrRemoteMethod">
+              <el-option
+                v-for="(dict, index) in container"
+                :key="dict.fId"
+                :label="dict.fNo"
+                :value="dict.fId"
+              ></el-option>
+            </el-select>
+          </el-form-item>
+        </el-col>
       </el-row>
+      <el-collapse-transition>
+        <div v-show="show">
+          <el-row>
+            <el-col :span="6">
+              <el-form-item label="箱量" prop="fCntrcount">
+                <el-input size="small" width="240px" clearable v-model="queryParams.fCntrcount"/>
+              </el-form-item>
+            </el-col>
+            <el-col :span="6">
+              <el-form-item label="装货时间" prop="cLoadDate">
+                <el-date-picker
+                  v-model="queryParams.cLoadDate"
+                  type="daterange"
+                  range-separator="至"
+                  style="width: 240px"
+                  value-format="yyyy-MM-dd"
+                  start-placeholder="开始日期"
+                  end-placeholder="结束日期">
+                </el-date-picker>
+              </el-form-item>
+            </el-col>
+            <el-col :span="6"></el-col>
+            <el-col :span="6"></el-col>
+          </el-row>
+        </div>
+      </el-collapse-transition>
     </el-form>
+
     <el-row :gutter="10" class="mb8">
       <div style="float: left">
         <el-button type="cyan" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
         <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
+        <el-button v-show="show" @click="show = !show" icon="el-icon-arrow-up" size="mini">展开</el-button>
+        <el-button v-show="!show" @click="show = !show" icon="el-icon-arrow-down" size="mini">展开</el-button>
       </div>
       <div class="tabSetting">
           <right-toolbar
@@ -289,6 +312,7 @@
     },
     data() {
       return {
+        show: false,
         activeIndex: '0',
         setRowList: [],
         getRowList: [],

+ 25 - 16
src/views/kaihe/domesticTrade/orderInformation/index.vue

@@ -377,7 +377,7 @@
               type="primary"
               size="small"
               :disabled="modify"
-              @click="approval"
+              @click="approval(1)"
             >保 存</el-button
             >
           </div>
@@ -476,7 +476,7 @@
                     type="primary"
                     size="small"
                     :disabled="modify"
-                    @click="approval"
+                    @click="approval(1)"
                   >保 存</el-button
                   >
                   <!-- <el-button @click.prevent="addAgreement()" type="warning">仓储费协议</el-button> -->
@@ -793,7 +793,7 @@
                   <el-button
                     type="primary"
                     size="small"
-                    @click="approval"
+                    @click="approval(1)"
                     :disabled="modify"
                   >保 存</el-button
                   >
@@ -1096,11 +1096,11 @@
       <add-or-update v-if="addOrUpdateVisible" ref="addOrUpdate" @refreshDataList="getDataList"></add-or-update>
       <approval-comments v-if="addOrUpdateVisib" ref="ApprovalComments" @refreshDataList="returnData"></approval-comments>
       <el-button type="info" :disabled="jumpDonot" v-if="this.form.fBillstatus == 11" @click="modify = false">修 改</el-button>
-      <el-button type="success" :disabled="modify" v-if="this.form.fBillstatus == 11" @click="approval">保 存</el-button>
+      <el-button type="success" :disabled="modify" v-if="this.form.fBillstatus == 11" @click="approval(1)">保 存</el-button>
       <el-button type="primary" :disabled="modify" v-if="this.form.fBillstatus == 11" @click="feeSubmission">费用请核</el-button>
       <el-button type="success" v-if="approVal" @click="addOrUpdateHand(form)">审 批</el-button>
       <el-button type="danger" :disabled="disappear" v-if="form.moneyStatus === 4 && current == before" @click="revokeTwo">撤销请核</el-button>
-      <el-button type="primary" v-if="this.form.fBillstatus != 11 || this.form.moneyStatus != null && this.form.moneyStatus != 6"@click="addOrUpdateHandle(form)">查看审批</el-button>
+      <el-button type="primary" v-if="form.fBillstatus != 11 ||form.moneyStatus == null || form.moneyStatus != null && form.moneyStatus != 6"@click="addOrUpdateHandle(form)">查看审批</el-button>
       <el-button icon="el-icon-arrow-left" type="danger" v-if="cancelButton === true" @click="cancel">返回列表</el-button>
       <el-button icon="el-icon-arrow-left" type="danger" v-if="cancelButton === false" @click="cancelTwo"
       >返回首页</el-button
@@ -1355,7 +1355,6 @@ export default {
   activated() {
     let formDate
     if (this.$route.query.list){
-      console.log("111")
       formDate = {
         fId: JSON.parse(this.$route.query.list).billId
       }
@@ -1390,11 +1389,10 @@ export default {
           this.current = response.user.userName;
           console.log(this.current,this.before)
           if(formDate.num){
-            this.jumpDonot = false
-            console.log(this.current)
-            console.log(this.before)
+            if(this.form.moneyStatus == 4){
+              this.jumpDonot = true
+            }
             if(this.current == this.before){
-              console.log("111")
               this.disappear = false;
             }
           }else{
@@ -1419,6 +1417,7 @@ export default {
             this.$set(this.warehouseCrList[item], 'fFeeUnitid', JSON.stringify(this.warehouseCrList[item].fFeeunitid))
           }
         }
+        console.log(this.form.fBillstatus,this.form.moneyStatus)
       })
     }
   },
@@ -1487,7 +1486,10 @@ export default {
       Global.$emit("removeCache", "closeSelectedTag", view);
     },
     cancel(){
-      if(this.form.moneyStatus === 4){
+      if(this.form.moneyStatus === 4 ||
+        this.form.fBillstatus === 4 ||
+        this.form.fBillstatus === 9 ||
+        this.modify == true){
         this.$router.push({path:'/domesticTrade/myOrder'})
       }else{
         this.$confirm("返回列表,是否保存?", "提示", {
@@ -1497,10 +1499,10 @@ export default {
         })
           .then(() => {
             this.approval()
-            this.$router.push({path:'/domesticTrade/myOrder'})
           })
           .catch(() => {
             this.$router.push({path:'/domesticTrade/myOrder'})
+            this.modify = true
           });
       }
   },
@@ -1514,6 +1516,7 @@ export default {
       revokeTwo(data).then((data) => {
         if (data.code === 200) {
           this.msgSuccess("撤销成功");
+          this.jumpDonot = false
           if (this.formList) {
             addmodify(this.formList).then(response => {
               console.log(response)
@@ -1552,6 +1555,7 @@ export default {
           }
           this.reset();
         }
+        console.log(this.form.fBillstatus,this.form.moneyStatus)
       });
     },
     //费用提交审核
@@ -1611,11 +1615,10 @@ export default {
       formData.append('tWarehousebillsfeesDr',JSON.stringify(this.warehouseDrList))
       formData.append('tWarehousebillsfeesCr',JSON.stringify(this.warehouseCrList))
       getfee(formData).then(response=>{
-        console.log(response)
         this.$message.success("操作成功")
-        this.modify = true
         this.form.moneyStatus = 4
-        this.form.fBillstatus = 12
+        this.jumpDonot = true
+        this.modify = true
         let data = {
           actId:460,
           id:this.form.fId
@@ -1628,6 +1631,7 @@ export default {
             }
           }
         })
+        console.log(this.form.fBillstatus,this.form.moneyStatus)
       })
     },
     //箱信息操作限制
@@ -1881,7 +1885,7 @@ export default {
       })
     },
     //提交审批
-    approval(){
+    approval(res){
       if(!this.form.fMblno){
         this.$message.error("请维护提单号")
         return false
@@ -1890,6 +1894,10 @@ export default {
         this.$message.error("请维护箱信息")
         return false
       }
+      if (res != 1 && this.form.fMblno || res != 1 && this.dataList.length != 0){
+        this.$router.push({path:'/domesticTrade/myOrder'})
+        this.modify = true
+      }
       let form = {
         fId:this.form.fId,
         fMblno:this.form.fMblno
@@ -1930,6 +1938,7 @@ export default {
                 this.$set(this.warehouseDrList[item],'fFeeUnitid',JSON.stringify(this.warehouseDrList[item].fFeeunitid))
             }
           }
+        console.log(this.form.fBillstatus,this.form.moneyStatus)
         })
       },
     //新行