Explorar el Código

费用管理调试

lilei hace 4 años
padre
commit
e87cd5bed5

+ 9 - 0
src/api/settleExpense.js

@@ -27,6 +27,15 @@ export const settleExpenseSave = (params) => {
   })
 }
  
+// 费用列表汇总
+export const settleExpenseQuerySum = (params) => {
+  return axios({
+    url: `settle/expense/querySum`,
+    data: params,
+    method: 'post'
+  })
+}
+ 
 // 详情
 export const findExpenseDetail = (params) => {
   return axios({

+ 2 - 2
src/config/router.config.js

@@ -1397,7 +1397,7 @@ export const asyncRouterMap = [
               },
               {
                 path: 'add',
-                name: 'expenseManagementDetail',
+                name: 'expenseManagementAdd',
                 component: () => import(/* webpackChunkName: "financialManagement" */ '@/views/financialManagement/expenseManagement/edit.vue'),
                 meta: {
                   title: '新增费用单',
@@ -1408,7 +1408,7 @@ export const asyncRouterMap = [
               },
               {
                 path: 'edit/:id',
-                name: 'expenseManagementDetail',
+                name: 'expenseManagementEdit',
                 component: () => import(/* webpackChunkName: "financialManagement" */ '@/views/financialManagement/expenseManagement/edit.vue'),
                 meta: {
                   title: '编辑费用单',

+ 11 - 10
src/views/financialManagement/expenseManagement/edit.vue

@@ -52,8 +52,8 @@
         <a-form-model-item label="关联单号" prop="bizNo">
           <a-input id="expenseManagementEdit-bizNo" :maxLength="30" v-model="form.bizNo" placeholder="请输入关联单号(最多30个字符)" allowClear />
         </a-form-model-item>
-        <a-form-model-item label="备注" prop="remarks">
-          <a-textarea id="expenseManagementEdit-remarks" :maxLength="500" v-model="form.remarks" placeholder="请输入备注(最多500个字符)" allowClear />
+        <a-form-model-item label="备注" prop="remark">
+          <a-textarea id="expenseManagementEdit-remarks" :maxLength="500" v-model="form.remark" placeholder="请输入备注(最多500个字符)" allowClear />
         </a-form-model-item>
         <a-form-model-item :wrapper-col="{ span: 12, offset: 6 }" style="text-align: center;">
           <a-button type="primary" size="large" @click="handleSubmit" id="expenseManagementEdit-btn-save" style="margin: 0 30px;">保存</a-button>
@@ -80,15 +80,15 @@ export default {
       costTypeList: [], // 费用类型
       settleStyleList: [], // 结算方式
       form: {
-        expensesTypeSn: '', // 费用类型
-        expensesTypeSn1: '', // 费用类型1
-        expensesTypeSn2: '', // 费用类型2
+        expensesTypeSn1: '', // 费用类型
+        expensesTypeSn2: '', // 费用类型1
+        expensesTypeSn3: '', // 费用类型2
         costType: [],
         settleAmount: '', //  费用金额
         settleStyleSn: undefined, //  结算方式
         settleStyleName: '', // 结算方式名称
         bizNo: '', //  关联单号
-        remarks: '' //  备注
+        remark: '' //  备注
       },
       rules: {
         costType: [{ required: true, message: '请选择费用类型', trigger: 'change' }],
@@ -133,15 +133,16 @@ export default {
     },
     //  费用类型  change
     changeCostType (val, opt) {
-      this.form.expensesTypeSn = val[0] ? val[0] : ''
-      this.form.expensesTypeSn1 = val[1] ? val[1] : ''
-      this.form.expensesTypeSn2 = val[2] ? val[2] : ''
+      this.form.expensesTypeSn1 = val[0] ? val[0] : ''
+      this.form.expensesTypeSn2 = val[1] ? val[1] : ''
+      this.form.expensesTypeSn3 = val[2] ? val[2] : ''
     },
     //  详情
     getDetail () {
       findExpenseDetail({ id: this.$route.params.id }).then(res => {
         if (res.status == 200) {
           this.form = Object.assign({}, this.form, res.data)
+          this.form.costType = [this.form.expensesTypeSn1, this.form.expensesTypeSn2, this.form.expensesTypeSn3]
         } else {
           this.$refs.ruleForm.resetFields()
         }
@@ -153,7 +154,7 @@ export default {
       const _this = this
       this.$refs.ruleForm.validate(valid => {
         if (valid) {
-          if (!this.form.expensesTypeSn2) {
+          if (!this.form.expensesTypeSn3) {
             this.$message.warning('费用类型未选到第三级,请修改后再提交!')
             return
           }

+ 26 - 12
src/views/financialManagement/expenseManagement/list.vue

@@ -70,7 +70,7 @@
     </div>
     <!-- alert -->
     <a-alert type="info" showIcon style="margin-bottom:15px">
-      <div slot="message">共 <strong>6</strong> 条记录,金额共计 <strong>¥14</strong></div>
+      <div slot="message">共 <strong>{{ totalData.count }}</strong> 条记录,金额共计 <strong>¥{{ totalData.totalAmount }}</strong></div>
     </a-alert>
     <!-- 列表 -->
     <s-table
@@ -80,7 +80,7 @@
       :rowKey="(record) => record.id"
       :columns="columns"
       :data="loadData"
-      :scroll="{ x: 1120 }"
+      :scroll="{ x: 1120, y: 300 }"
       bordered>
       <!-- 状态 -->
       <template slot="state" slot-scope="text, record">
@@ -103,7 +103,7 @@
 
 <script>
 import { STable, VSelect } from '@/components'
-import { settleExpenseQuery, delExpense } from '@/api/settleExpense'
+import { settleExpenseQuery, delExpense, settleExpenseQuerySum } from '@/api/settleExpense'
 import { costTypeAllQuery } from '@/api/costType'
 import expenseManagementDetailModal from './detailModal.vue'
 import moment from 'moment'
@@ -119,21 +119,26 @@ export default {
       // 查询参数
       queryParam: {
         accountExpensesNo: '',
-        expensesTypeSn: '',
         expensesTypeSn1: '',
         expensesTypeSn2: '',
+        expensesTypeSn3: '',
         billStatus: '',
         settleState: '',
         beginDate: '',
         endDate: ''
       },
+      // 汇总
+      totalData: {
+        count: 0,
+        totalAmount: 0
+      },
       // 表头
       columns: [
         { title: '序号', dataIndex: 'no', width: 80, align: 'center' },
-        { title: '费用单号', dataIndex: 'accountExpensesSn', width: 140, align: 'center', customRender: function (text) { return text || '--' } },
+        { title: '费用单号', dataIndex: 'accountExpensesSn', width: 160, align: 'center', customRender: function (text) { return text || '--' } },
         { title: '创建时间', dataIndex: 'createDate', width: 160, align: 'center', customRender: function (text) { return text || '--' } },
-        { title: '费用类型', dataIndex: 'name', width: 100, align: 'center', customRender: function (text) { return text || '--' } },
-        { title: '金额', dataIndex: 'settleAmount', width: 100, align: 'center', customRender: function (text) { return ((text || text == 0) ? text : '--') } },
+        { title: '费用类型', dataIndex: 'name', width: 300, align: 'center', customRender: function (text, record) { return [record.expensesTypeSn1, record.expensesTypeSn2, record.expensesTypeSn3].join(' > ') } },
+        { title: '金额', dataIndex: 'settleAmount', width: 100, align: 'center', customRender: function (text) { return ((text || text == 0) ? ('¥' + text) : '--') } },
         { title: '单据状态', scopedSlots: { customRender: 'auditStatus' }, width: 110, align: 'center' },
         { title: '结算状态', dataIndex: 'settleState', width: 110, align: 'center' },
         { title: '操作', scopedSlots: { customRender: 'action' }, width: 450, align: 'center', fixed: 'right' }
@@ -156,6 +161,9 @@ export default {
           if (this.costTypeList.length == 0) {
             this.getCostTypeList()
           }
+          // 汇总
+          this.totalData.count = data.count
+          this.settleExpenseQuerySum(Object.assign(parameter, this.queryParam))
           return data
         })
       },
@@ -186,13 +194,13 @@ export default {
     },
     //  费用类型  change
     changeCostType (val, opt) {
-      this.queryParam.expensesTypeSn = val[0] ? val[0] : ''
-      this.queryParam.expensesTypeSn1 = val[1] ? val[1] : ''
-      this.queryParam.expensesTypeSn2 = val[2] ? val[2] : ''
+      this.queryParam.expensesTypeSn1 = val[0] ? val[0] : ''
+      this.queryParam.expensesTypeSn2 = val[1] ? val[1] : ''
+      this.queryParam.expensesTypeSn3 = val[2] ? val[2] : ''
     },
     //  新增/编辑
     handleEdit (row) {
-      this.$router.push({ path: `/financialManagement/expenseManagement/add` })
+      this.$router.push({ name: 'expenseManagementEdit', params: { id: row.id } })
     },
     //  提交
     handleSubmit (row) {
@@ -256,12 +264,18 @@ export default {
         }
       })
     },
+    // 汇总
+    settleExpenseQuerySum (params) {
+      settleExpenseQuerySum(params).then(res => {
+        this.totalData.totalAmount = res.data.settleAmount || 0
+      })
+    },
     //  重置
     resetSearchForm () {
       this.queryParam.accountExpensesNo = ''
-      this.queryParam.expensesTypeSn = ''
       this.queryParam.expensesTypeSn1 = ''
       this.queryParam.expensesTypeSn2 = ''
+      this.queryParam.expensesTypeSn3 = ''
       this.queryParam.billStatus = ''
       this.queryParam.settleState = ''
       this.queryParam.beginDate = ''