lex-xin 4 năm trước cách đây
mục cha
commit
0d48fdb7d3

+ 1 - 1
package.json

@@ -20,7 +20,7 @@
     "clean-deep": "^3.3.0",
     "dayjs": "^1.8.34",
     "default-passive-events": "^1.0.10",
-    "element-ui": "^2.12.0",
+    "element-ui": "^2.13.2",
     "i": "^0.3.6",
     "js-cookie": "2.2.0",
     "linq": "^3.2.2",

+ 1 - 3
src/views/businessManager/orderManager/businessStatement.vue

@@ -35,9 +35,7 @@
                           range-separator="至"
                           start-placeholder="开始日期"
                           end-placeholder="结束日期"
-                          :picker-options="{
-        firstDayOfWeek: 1
-    }">
+                          :picker-options="{ firstDayOfWeek: 1 }">
           </el-date-picker>
         </el-form-item>
         <el-form-item>

+ 81 - 12
src/views/businessManager/orderManager/financeManager.vue

@@ -187,7 +187,7 @@
       <el-dialog title="添加订单"
                  :visible.sync="routeOrderStatus"
                  @close="onFormClose('ruleForm')"
-                 width="500px">
+                 width="600px">
         <el-form :model="form"
                  :rules="rules"
                  ref="ruleForm">
@@ -202,17 +202,20 @@
                          :value="item.id"></el-option>
             </el-select>
           </el-form-item>
+          <el-form-item label="所属学校"
+                        prop="organId"
+                        :label-width="formLabelWidth">
+            <el-select v-model.trim="form.organId"
+                       style="width: 100% !important;">
+              <el-option v-for="(item,index) in organList"
+                         :key="index"
+                         :label="item.name"
+                         :value="item.id"></el-option>
+            </el-select>
+          </el-form-item>
           <el-form-item label="金额(元)"
                         prop="actualAmount"
                         :label-width="formLabelWidth">
-            <!-- <el-input-number
-              style="width: 100%;"
-              v-model="form.actualAmount"
-              :precision="0"
-              controls-position="right"
-              :min="1"
-              :max="999999999"
-            ></el-input-number> -->
             <el-input v-model="form.actualAmount"
                       type="number"
                       v-number
@@ -243,6 +246,31 @@
                             placeholder="选择交易日期">
             </el-date-picker>
           </el-form-item>
+          <el-form-item label="收入类型"
+                        prop="saleType"
+                        :label-width="formLabelWidth">
+            <el-select v-model.trim="form.saleType"
+                       style="width: 100% !important;">
+              <el-option label="服务收入" value="1"></el-option>
+              <el-option label="销售收入" value="2"></el-option>
+            </el-select>
+          </el-form-item>
+          <div v-for="(goodsList, index) in form.goodsList" :key="index">
+            <el-form-item :label="'商品名称' + (index + 1)" :label-width="formLabelWidth" class="setWidth" :prop="'goodsList.' + index + '.id'" :rules="[{ required: true, message: '请选择商品', trigger: 'change' }]">
+              <el-select v-model.trim="goodsList.id" placeholder="请选择商品">
+                <el-option v-for="(item,index) in organList"
+                         :key="index"
+                         :label="item.name"
+                         :value="item.id"></el-option>
+            </el-select>
+            </el-form-item>
+            <el-form-item class="setWidth" style="margin-right: 10px" :prop="'goodsList.' + index + '.number'" :rules="validAmount">
+              <!-- <el-input-number style="width: 160px;" v-model="goodsList.number" placeholder="商品数量"></el-input-number> -->
+              <el-input type="age" style="width: 160px;" clearable placeholder="请输入商品数量" @mousewheel.native.prevent v-model.number="goodsList.number" ></el-input>
+            </el-form-item>
+            <el-button icon="el-icon-minus" v-if="form.goodsList.length > 1" circle @click.prevent="removeGoodsList(goodsList)"></el-button>
+            <el-button icon="el-icon-plus" @click.prevent="addGoodsList" circle style="margin-left: 5px;"></el-button>
+          </div>
           <el-form-item label="备注"
                         :label-width="formLabelWidth">
             <el-input placeholder="请输入备注"
@@ -272,6 +300,17 @@ import axios from "axios";
 import qs from "qs";
 import { getToken } from "@/utils/auth";
 import load from "@/utils/loading";
+let validAmount = (rule, value, callback) => {
+  if (!value) {
+    callback(new Error("请输入商品数量"));
+  } else if (value < 0) {
+    callback(new Error("输入商品数量必须大于0"));
+  } else if (value > 999) {
+    callback(new Error("输入商品数量必须小于999"));
+  } else {
+    callback();
+  }
+};
 export default {
   components: { pagination },
   name: "incomeTwo",
@@ -315,8 +354,16 @@ export default {
         merNos: null,
         actualAmount: null,
         memo: null,
-        payTime: null
+        payTime: null,
+        saleType: null,
+        goodsList: [{
+          id: null,
+          number: null
+        }]
       },
+      validAmount: [
+        { required: true, validator: validAmount, trigger: 'blur' },
+        { type: 'number', message: '商品数量必须为数字' }],
       rules: {
         organId: [
           { required: true, message: "请选择所属分部", trigger: "change" }
@@ -332,7 +379,10 @@ export default {
         ],
         payTime: [
           { required: true, message: "选择交易日期", trigger: "change" }
-        ]
+        ],
+        saleType: [
+          { required: true, message: "请选择收入类型", trigger: "change" }
+        ],
       }
     };
   },
@@ -393,7 +443,11 @@ export default {
         merNos: null,
         actualAmount: null,
         memo: null,
-        payTime: null
+        payTime: null,
+        goodsList: [{
+          id: null,
+          number: null
+        }]
       }
       // 关闭弹窗重置验证
       this.$refs[formName].resetFields();
@@ -580,6 +634,18 @@ export default {
         merNos: null
       };
       this.getList();
+    },
+    removeGoodsList(item) {
+      const index = this.form.goodsList.indexOf(item)
+      if (index !== -1) {
+        this.form.goodsList.splice(index, 1)
+      }
+    },
+    addGoodsList() {
+      this.form.goodsList.push({
+        id: null,
+        number: null
+      })
     }
   }
 };
@@ -591,4 +657,7 @@ export default {
 /deep/.el-input-number.is-controls-right .el-input__inner {
   text-align: left;
 }
+.setWidth {
+  display: inline-block;
+}
 </style>

+ 50 - 17
src/views/businessManager/orderManager/payRecord.vue

@@ -54,30 +54,37 @@
         </el-form-item>
       </el-form>
       <!-- 列表 -->
+      <el-row>
+        <el-col :span="24">
+          <el-button type="primary" size="medium" icon="el-icon-delete" style="background-color: #14928a; border: 1px solid #14928a; margin-bottom: 15px;" @click="onBatchDel">批量删除</el-button>
+        </el-col>
+      </el-row>
       <div class="tableWrap">
         <el-table :data='tableList' style="width: 100%"
+                  @selection-change="handleSelectionChange"
                   :header-cell-style="{background:'#EDEEF0',color:'#444'}">
-          <el-table-column align='center' prop="organName" label="所属分部"></el-table-column>
-          <el-table-column align='center' prop="organName" label="所属部门"></el-table-column>
-          <el-table-column align='center' prop="actualAmount" label="所属学校"></el-table-column>
+          <el-table-column type="selection" width="50"></el-table-column>
+          <el-table-column align='center' prop="id" label="批次号"></el-table-column>
+          <el-table-column align='center' prop="organName" label="流程编号"></el-table-column>
+          <el-table-column align='center' prop="organName" label="钉钉流程编号"></el-table-column>
+          <el-table-column align='center' prop="organName" label="费用归属分部"></el-table-column>
+          <el-table-column align='center' prop="actualAmount" label="费用归属学校"></el-table-column>
           <el-table-column align='center' prop="orderNo" label="申请人"></el-table-column>
-          <el-table-column align='center' prop="orderNo" label="审批人"></el-table-column>
-          <el-table-column align='center' prop="orderNo" label="订单号"></el-table-column>
-          <el-table-column align='center' prop="studentPaymentOrder.expectAmount" label="支出类型"></el-table-column>
-          <el-table-column align='center' width="100" prop="studentPaymentOrder.expectAmount" label="支出类别"></el-table-column>
-          <el-table-column align='center' width="100" prop="studentPaymentOrder.actualAmount" label="支出金额(元)"></el-table-column>
-          <el-table-column align='center' label="支出日期">
-            <template slot-scope="scope">
-              {{scope.row.createTime | dateForMinFormat}}
-            </template>
-          </el-table-column>
-          <el-table-column align='center' label="导入日期">
+          <el-table-column align='center' prop="orderNo" label="费用项目"></el-table-column>
+          <el-table-column align='center' prop="orderNo" label="付款金额"></el-table-column>
+          <el-table-column align='center' prop="orderNo" label="付款时间"></el-table-column>
+          <el-table-column align='center' prop="studentPaymentOrder.expectAmount" label="事由"></el-table-column>
+          <el-table-column align='center' prop="memo" label="备注"></el-table-column>
+          <el-table-column align='center' width='220px' fixed="right" label="操作">
             <template slot-scope="scope">
-              {{scope.row.createTime | dateForMinFormat}}
+              <!-- <el-button type="text">删除</el-button> -->
+              <el-popconfirm
+                title="确定删除该条数据吗?"
+              >
+                <el-button type="text" slot="reference">删除</el-button>
+              </el-popconfirm>
             </template>
           </el-table-column>
-          <el-table-column align='center' prop="user.username" label="导入人"></el-table-column>
-          <el-table-column align='center' prop="memo" label="备注"></el-table-column>
         </el-table>
         <pagination :total="pageInfo.total"
                     :page.sync="pageInfo.page"
@@ -115,6 +122,7 @@ export default {
         total: 0, // 总条数
         page_size: [10, 20, 40, 50] // 选择限制显示条数
       },
+      passed: [], // 传递的参数
     }
   },
   mounted () {
@@ -136,6 +144,15 @@ export default {
       this.pageInfo.page = 1;
       this.getList()
     },
+    handleSelectionChange (arr) {
+      this.passed = [];
+      for (let i in arr) {
+        // let obj = {};
+        // obj.id = arr[i].id;
+        // obj.name = arr[i].name;
+        this.passed.push(arr[i].id)
+      }
+    },
     onTeachingSubmit (formName, status) { // 添加数据
       this.$refs[formName].validate((valid) => {
         if (valid) {
@@ -182,6 +199,22 @@ export default {
         endTime: null
       }
     },
+    onBatchDel() {
+      // 批量删除
+      const passed = this.passed
+      console.log(passed)
+      if(passed.length <= 0) {
+        this.$message.error('请至少选择一条数据')
+        return
+      }
+      this.$confirm("是否删除选择的支出记录?", "提示", {
+        confirmButtonText: "确定",
+        cancelButtonText: "取消",
+        type: "warning"
+      }).then(() => {
+
+      }).catch(() => { });
+    }
   }
 }
 </script>

+ 4 - 2
src/views/businessManager/orderManager/salesList.vue

@@ -60,13 +60,15 @@
             </template>
           </el-table-column>
           <el-table-column align='center' prop="studentPaymentOrder.expectAmount" label="销售类型"></el-table-column>
+          <el-table-column align='center' prop="studentPaymentOrder.expectAmount" label="商品名称"></el-table-column>
+          <el-table-column align='center' prop="studentPaymentOrder.expectAmount" label="数量"></el-table-column>
           <el-table-column align='center' width="100" prop="studentPaymentOrder.expectAmount" label="应付金额(元)"></el-table-column>
           <el-table-column align='center' width="100" prop="studentPaymentOrder.actualAmount" label="余额支付(元)"></el-table-column>
           <el-table-column align='center' width="100" prop="studentPaymentOrder.expectAmount" label="现金支付(元)"></el-table-column>
           <el-table-column align='center' width="100" prop="studentPaymentOrder.actualAmount" label="销售成本(元)"></el-table-column>
           <el-table-column align='center' prop="user.username" label="学员姓名"></el-table-column>
-          <el-table-column align='center' prop="remark" label="退费说明"></el-table-column>
-          <el-table-column align='center' prop="paymentChannel" label="交易类型">
+          <!-- <el-table-column align='center' prop="remark" label="退费说明"></el-table-column> -->
+          <el-table-column align='center' prop="paymentChannel" label="交易方式">
             <template slot-scope="scope">{{ scope.row.paymentChannel | paymentChannelStatus }}</template>
           </el-table-column>
           <el-table-column align='center' prop="merNos" label="收款账户"></el-table-column>