|
@@ -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>
|