liujun 2 gadi atpakaļ
vecāks
revīzija
e7ac67ca68

+ 10 - 0
src/api/financeBook.js

@@ -163,3 +163,13 @@ export const updateDetailInvoiceDate = (params) => {
   })
 }
 
+//修改备注信息
+export const updateNoteInfo = (params) => {
+  const url = `/financeBook/detail/update`
+  return axios({
+    url: url,
+    data: params,
+    method: 'post'
+  })
+}
+

+ 5 - 3
src/views/financialManagement/collectionDetailStatic/invoiceModal.vue

@@ -16,7 +16,7 @@
            :disabled-date="disabledDate"
            :disabledTime="disabledDateTime"
            v-model="form.invoiceDate"/>
-           <span style="color:#999">如果没有开票,则不填写即可</span>
+           <div style="color:#999">如果没有开票,则不填写即可</div>
         </a-form-model-item>
         <a-form-model-item :wrapper-col="{ span: 12, offset: 6 }" style="text-align: center;margin-top: 50px;">
           <a-button @click="cancel" style="margin-right: 15px" id="chooseCustom-btn-back">取消</a-button>
@@ -164,8 +164,10 @@
       show(newValue, oldValue) {
         this.opened = newValue
         if (!newValue) {
-          this.infoObj = this.info
-        } 
+          this.cancel();
+        }else{
+          this.form = this.info
+        }
       }
     }
   }

+ 52 - 4
src/views/financialManagement/collectionDetailStatic/list.vue

@@ -146,10 +146,26 @@
             <span class="link-bule" v-else>--</span>
           </div>
         </template>
+        <!-- 收款打印状态 -->
+        <template slot="note" slot-scope="text, record">
+          <span v-if="record.printStatus!='NO_PRINT'&&record.printStatus!='PRINT'">{{record.printStatusDictValue}}</span>
+          <span @click="handlePrint(record)" class="link-bule" v-else>{{record.printStatusDictValue}}</span>
+        </template>
+        <!-- 备注 -->
+        <template slot="note" slot-scope="text, record">
+          <div  @click="handleNote(record)">
+            <span v-if="record.explainInfo" class="link-bule">备注可修改</span>
+            <span class="link-bule" v-else>--</span>
+          </div>
+        </template>
       </s-table>
     </a-spin>
     <!-- 开票日期弹窗 -->
      <invoiceModal v-drag :show="invoiceIsShow" :info="invoiceInfo" @cancel="invoiceIsShow=false"></invoiceModal>
+     <!-- 备注弹窗 -->
+     <noteModal v-drag :show="noteIsShow" :info="noteInfo" @cancel="noteIsShow=false"></noteModal>
+     <!-- 收款打印状态 -->
+     <printModal v-drag :show="printIsShow" :info="printInfo" @cancel="printIsShow=false"></printModal>
   </a-card>
 </template>
 
@@ -164,11 +180,13 @@ import { hdExportExcel } from '@/libs/exportExcel'
 import employee from '../../expenseManagement/expenseReimbursement/employee.js'
 import dealerSubareaScopeList from '@/views/common/dealerSubareaScopeList.vue'
 import invoiceModal from './invoiceModal.vue'
+import noteModal from './noteModal.vue'
+import printModal from './printModal.vue'
 import { financeBookDetailQueryPage, financeBookDetailExport, financeBookReportDetailCount } from '@/api/financeBook.js'
 export default {
   name: 'CollectionDetailStaticList',
   mixins: [commonMixin],
-  components: { STable, VSelect, rangeDate, employee, dealerSubareaScopeList, subarea, Area,invoiceModal },
+  components: { STable, VSelect, rangeDate, employee, dealerSubareaScopeList, subarea, Area,invoiceModal,noteModal,printModal },
   data () {
     return {
       spinning: false,
@@ -192,6 +210,8 @@ export default {
         invoiceDateType:undefined
       },
       invoiceIsShow:false,
+      noteIsShow:false,
+      printIsShow:false,
       disabled: false, //  查询、重置按钮是否可操作
       receiptDate: [], //  收款时间
       auditDate: [
@@ -241,7 +261,9 @@ export default {
         }
       ],
       bankNameList: [],
-      invoiceInfo:null
+      invoiceInfo:null,
+      noteInfo:null,
+      printInfo:null
     }
   },
   // 根据权限显示列表字段
@@ -267,8 +289,10 @@ export default {
         { title: '户名', dataIndex: 'bankAccount', align: 'center', width: '5%', customRender: function (text) { return text || '--' } },
         { title: '汇入银行', dataIndex: 'bankName', align: 'center', width: '5%', customRender: function (text) { return text || '--' } },
         { title: '足额打款', dataIndex: 'fullPaymentFlagDictValue', align: 'center', width: '5%',customRender: function (text) { return (text == 0 || text) ? text : '--' }},
+        { title: '说明', dataIndex: 'remarks', align: 'center', width: '8%', customRender: function (text) { return text || '--' }, ellipsis: true },
         { title: '开票日期', scopedSlots: { customRender: 'draftDate' },align: 'center', width: '8%'},
-        { title: '备注', dataIndex: 'remarks', align: 'center', width: '8%', customRender: function (text) { return text || '--' }, ellipsis: true }
+        { title: '收款打印状态', scopedSlots: { customRender: 'printStatus' },align: 'center', width: '8%'},
+        { title: '备注', scopedSlots: { customRender: 'note' },align: 'center', width: '8%'},
       ]
       return arr
     }
@@ -357,7 +381,31 @@ export default {
       this.$nextTick(()=>{
          this.invoiceIsShow = true
       })
-    }
+    },
+    handleNote(info){
+      let obj={
+        no:info.bookNo,
+        payerName:info.dealerName,
+        id:info.id,
+        remarks:info.remarks
+      }
+      this.noteInfo=obj;
+      this.$nextTick(()=>{
+         this.noteIsShow = true
+      })
+    },
+    handlePrint(item){
+      let obj={
+        no:item.bookNo,
+        payerName:item.dealerName,
+        id:item.id,
+        printStatus:item.printStatus  
+      }
+      this.printInfo=obj;
+      this.$nextTick(()=>{
+         this.printIsShow = true
+      })
+    },
   },
   watch: {
     advanced (newValue, oldValue) {

+ 104 - 0
src/views/financialManagement/collectionDetailStatic/noteModal.vue

@@ -0,0 +1,104 @@
+<template>
+  <a-modal v-model="opened" :title="title" centered :maskClosable="false" :footer="null" @cancel="cancel" width="50%">
+    <a-spin :spinning="spinning" tip="Loading...">
+      <a-form-model id="chooseCustom-form" ref="ruleForm" :model="form"
+        :label-col="formItemLayout.labelCol" :wrapper-col="formItemLayout.wrapperCol">
+        <a-form-model-item label="收款单号:" prop="no"> <span>{{form.no}}</span>
+        </a-form-model-item>
+        <a-form-model-item label="付款方:" prop="payerName"> <span>{{form.payerName}}</span>
+        </a-form-model-item>
+        <a-form-model-item label="备注:" prop="remarks">
+         <a-textarea
+               v-model="form.remarks"
+               placeholder="请输入备注(最多100字符)"
+               :auto-size="{ minRows: 3, maxRows: 5 }"
+               :maxLength="100"
+             />
+        </a-form-model-item>
+        <a-form-model-item :wrapper-col="{ span: 12, offset: 6 }" style="text-align: center;margin-top: 50px;">
+          <a-button @click="cancel" style="margin-right: 15px" id="chooseCustom-btn-back">取消</a-button>
+          <a-button type="primary" :loading="confirmLoading" @click="handleSubmit" id="chooseCustom-btn-submit">确定
+          </a-button>
+        </a-form-model-item>
+      </a-form-model>
+    </a-spin>
+  </a-modal>
+</template>
+
+<script>
+  import {
+    updateNoteInfo
+  } from '@/api/financeBook.js'
+  export default {
+    name: 'NoteModal',
+    props: {
+      show: [Boolean],
+      info: {
+        type: Object,
+        default: () => {
+          return null
+        }
+      }
+    },
+    data() {
+      return {
+        opened: this.show,
+        spinning: false,
+        title: '备注',
+
+        confirmLoading: false,
+        formItemLayout: {
+          labelCol: {
+            span: 6
+          },
+          wrapperCol: {
+            span: 18
+          }
+        },
+        form: {
+          no: undefined,
+          payerName: undefined,
+          remarks:'',
+          id:''
+        }
+      }
+    },
+    methods: {
+      //  保存
+      handleSubmit() {
+       const _this = this
+       const ajax_form = {
+         id:this.form.id,
+         remarks:this.form.remarks
+       }
+       _this.spinning = true
+       _this.confirmLoading = true
+       updateNoteInfo(ajax_form).then(res => {
+         if (res.status == 200) {
+           _this.$message.success(res.message)
+           _this.cancel()
+           _this.spinning = false
+         } else {
+           _this.spinning = false
+         }
+         _this.confirmLoading = false
+       })
+      },
+      cancel() {
+        this.opened = false
+        this.$emit('cancel')
+        this.$refs.ruleForm.resetFields()
+      }
+    },
+    watch: {
+      show(newValue, oldValue) {
+        this.opened = newValue
+        if (!newValue) {
+         this.cancel();
+        }else{
+           this.form = this.info
+        }
+      }
+    }
+  }
+</script>

+ 107 - 0
src/views/financialManagement/collectionDetailStatic/printModal.vue

@@ -0,0 +1,107 @@
+<template>
+  <a-modal v-model="opened" :title="title" centered :maskClosable="false" :footer="null" @cancel="cancel" width="50%">
+    <a-spin :spinning="spinning" tip="Loading...">
+      <a-form-model id="chooseCustom-form" ref="ruleForm" :model="form"
+        :label-col="formItemLayout.labelCol" :wrapper-col="formItemLayout.wrapperCol">
+        <a-form-model-item label="收款单号:" prop="no"> <span>{{form.no}}{{form.printStatus=='UNABLE_PRINT'?'(暂不打印)':form.printStatus=='CANCEL_PRINT'?'(取消打印)':''}}</span>
+        </a-form-model-item>
+        <a-form-model-item label="付款方:" prop="payerName"> <span>{{form.payerName}}</span>
+        </a-form-model-item>
+        <a-form-model-item label="收款打印:" prop="printStatus">
+          <a-radio-group  v-model="form.printStatus">
+              <a-radio value="NO_PRINT">
+                允许打印
+              </a-radio>
+              <a-radio value="CANCEL_PRINT">
+                取消打印
+              </a-radio>
+            </a-radio-group>
+        </a-form-model-item>
+        <a-form-model-item :wrapper-col="{ span: 12, offset: 6 }" style="text-align: center;margin-top: 50px;">
+          <a-button @click="cancel" style="margin-right: 15px" id="chooseCustom-btn-back">取消</a-button>
+          <a-button type="primary" :loading="confirmLoading" @click="handleSubmit" id="chooseCustom-btn-submit">确定
+          </a-button>
+        </a-form-model-item>
+      </a-form-model>
+    </a-spin>
+  </a-modal>
+</template>
+
+<script>
+  import {
+    updateNoteInfo
+  } from '@/api/financeBook.js'
+  export default {
+    name: 'PrintModal',
+    props: {
+      show: [Boolean],
+      info: {
+        type: Object,
+        default: () => {
+          return null
+        }
+      }
+    },
+    data() {
+      return {
+        opened: this.show,
+        spinning: false,
+        title: '备注',
+
+        confirmLoading: false,
+        formItemLayout: {
+          labelCol: {
+            span: 6
+          },
+          wrapperCol: {
+            span: 18
+          }
+        },
+        form: {
+          no: undefined,
+          payerName: undefined,
+          printStatus:'',
+          id:'',
+          type:undefined
+        }
+      }
+    },
+    methods: {
+      //  保存
+      handleSubmit() {
+       const _this = this
+       const ajax_form = {
+         id:this.form.id,
+         printStatus:this.form.printStatus  
+       }
+       _this.spinning = true
+       _this.confirmLoading = true
+       updateNoteInfo(ajax_form).then(res => {
+         if (res.status == 200) {
+           _this.$message.success(res.message)
+           _this.cancel()
+           _this.spinning = false
+         } else {
+           _this.spinning = false
+         }
+         _this.confirmLoading = false
+       })
+      },
+      cancel() {
+        this.opened = false
+        this.$emit('cancel')
+        this.$refs.ruleForm.resetFields()
+      }
+    },
+    watch: {
+      show(newValue, oldValue) {
+        this.opened = newValue
+        if (!newValue) {
+         this.cancel();
+        }else{
+           this.form = this.info
+        }
+      }
+    }
+  }
+</script>

+ 4 - 1
src/views/salesManagement/salesCollection/voucherModal.vue

@@ -50,7 +50,10 @@
               {{ detail.voidFlagDictValue || '--' }}
             </a-descriptions-item>
             <a-descriptions-item label="收款类型">
-              {{ detail.keepTypeDictValue || '--' }}
+              <span>{{ detail.keepTypeDictValue || '--' }}</span>
+              <span v-if="detail.keepTypeDictValue =='仅标记收款'"><a-button type="link"  class="link-bule">
+                    关联收款单
+              </a-button></span>
             </a-descriptions-item>
             <a-descriptions-item label="收款时间">
               {{ detail.settleTime || '--' }}

+ 1 - 1
vue.config.js

@@ -107,7 +107,7 @@ const vueConfig = {
     // If you want to turn on the proxy, please remove the mockjs /src/main.jsL11
     proxy: {
       '/api': {
-        target: 'http://192.168.0.215:8602/ocs-admin',
+        // target: 'http://520f1184.nat123.fun:45432/ocs-admin',
         // target: 'https://t.ocs.360arrow.com/ocs-admin', //  Á·Ï°
         target: 'http://p.ocs.360arrow.com/ocs-admin', //  Ô¤·¢²¼
         ws: false,