Commit 10d461f6 by 夏超

[fix] 玖姿收入表添加客户数据字段

parent b0760bef
......@@ -36,7 +36,8 @@ class ProductIncomeExpenseIframe(http.Controller):
"abstract": v.get("abstract", False),
"income": v.get("income", False),
"machinery_type": v.get("machinery_type", "其他"),
"expenditure": v.get("expenditure", False)
"expenditure": v.get("expenditure", False),
"customer": v.get("customer", False)
}
_self.env(user=v.get("user_id"))["roke.product.income.expense"].create(data)
return {"code": 0, "message": "创建成功!"}
......@@ -49,7 +50,8 @@ class ProductIncomeExpenseIframe(http.Controller):
start_date = _self.jsonrequest.get("start_date", "")
end_date = _self.jsonrequest.get("end_date", "")
type_str = _self.jsonrequest.get("type_str", False) # income收入/expenditure支出
machinery_type = _self.jsonrequest.get("machinery_type", False) # income收入/expenditure支出
machinery_type = _self.jsonrequest.get("machinery_type", False)
customer = _self.jsonrequest.get("customer", False)
domain = []
if start_date and end_date:
domain.append(("business_date", ">=", start_date))
......@@ -58,6 +60,8 @@ class ProductIncomeExpenseIframe(http.Controller):
domain.append((type_str, ">", 0))
if machinery_type:
domain.append(("machinery_type", "=", machinery_type))
if customer:
domain.append(("customer", "ilike", customer))
data_list = _self.env["roke.product.income.expense"].sudo().search(domain, limit=limit,
offset=(page - 1) * limit,
order="business_date desc, create_date desc")
......@@ -68,6 +72,7 @@ class ProductIncomeExpenseIframe(http.Controller):
"id": v.id,
"business_date": v.business_date and v.business_date.strftime('%Y-%m-%d'),
"abstract": v.abstract or "",
"customer": v.customer or "",
"income": v.income or 0,
"machinery_type": v.machinery_type or "其他",
"expenditure": v.expenditure or 0,
......@@ -95,7 +100,8 @@ class ProductIncomeExpenseIframe(http.Controller):
start_date = kwargs.get("start_date", "")
end_date = kwargs.get("end_date", "")
type_str = kwargs.get("type_str", False) # income收入/expenditure支出
machinery_type = kwargs.get("machinery_type", False) # income收入/expenditure支出
machinery_type = kwargs.get("machinery_type", False)
customer = kwargs.get("customer", False)
domain = []
if start_date and end_date:
domain.append(("business_date", ">=", start_date))
......@@ -104,12 +110,15 @@ class ProductIncomeExpenseIframe(http.Controller):
domain.append((type_str, ">", 0.0))
if machinery_type:
domain.append(("machinery_type", "=", machinery_type))
if customer:
domain.append(("customer", "ilike", customer))
data_list = _self.env["roke.product.income.expense"].sudo().search(domain, order="business_date desc, create_date desc")
data = []
for v in data_list:
data.append({
"business_date": v.business_date,
"abstract": v.abstract or "",
"customer": v.customer or "",
"income": v.income or 0,
"expenditure": v.expenditure or 0,
"balance": v.balance or 0,
......@@ -133,22 +142,24 @@ class ProductIncomeExpenseIframe(http.Controller):
worksheet.write(0, 0, "业务日期", header_format)
worksheet.write(0, 1, "摘要", header_format)
worksheet.write(0, 2, "收入", header_format)
worksheet.write(0, 3, "支出", header_format)
worksheet.write(0, 4, "结余", header_format)
worksheet.write(0, 5, "类型", header_format)
worksheet.write(0, 6, "创建人", header_format)
worksheet.write(0, 7, "创建时间", header_format)
worksheet.write(0, 2, "客户", header_format)
worksheet.write(0, 3, "收入", header_format)
worksheet.write(0, 4, "支出", header_format)
worksheet.write(0, 5, "结余", header_format)
worksheet.write(0, 6, "类型", header_format)
worksheet.write(0, 7, "创建人", header_format)
worksheet.write(0, 8, "创建时间", header_format)
for row_num, row_data in enumerate(data):
worksheet.write_datetime(row_num + 1, 0, row_data.get("business_date"), date_format)
worksheet.write(row_num + 1, 1, row_data.get("abstract"))
worksheet.write_number(row_num + 1, 2, row_data.get("income"), currency_format)
worksheet.write_number(row_num + 1, 3, row_data.get("expenditure"), currency_format)
worksheet.write_number(row_num + 1, 4, row_data.get("balance"), currency_format)
worksheet.write(row_num + 1, 5, row_data.get("machinery_type"))
worksheet.write(row_num + 1, 6, row_data.get("user_name"))
worksheet.write_datetime(row_num + 1, 7, row_data.get("create_date"), datetime_format)
worksheet.write(row_num + 1, 2, row_data.get("customer"))
worksheet.write_number(row_num + 1, 3, row_data.get("income"), currency_format)
worksheet.write_number(row_num + 1, 4, row_data.get("expenditure"), currency_format)
worksheet.write_number(row_num + 1, 5, row_data.get("balance"), currency_format)
worksheet.write(row_num + 1, 6, row_data.get("machinery_type"))
worksheet.write(row_num + 1, 7, row_data.get("user_name"))
worksheet.write_datetime(row_num + 1, 8, row_data.get("create_date"), datetime_format)
workbook.close()
output.seek(0)
......
......@@ -16,6 +16,7 @@ class ProductIncomeExpense(models.Model):
balance = fields.Float(string="结余", compute="_compute_balance")
machinery_type = fields.Selection([("烘干桶", "烘干桶"), ("钣金", "钣金"), ("颗粒机", "颗粒机"), ("其他", "其他")],
default="其他", string="类型")
customer = fields.Char(string="客户")
@api.depends("income", "expenditure")
def _compute_balance(self):
......
......@@ -34,6 +34,11 @@
<el-input v-model="scope.row.abstract" placeholder="请输入"></el-input>
</template>
</el-table-column>
<el-table-column label="客户" align="center" width="180">
<template slot-scope="scope">
<el-input v-model="scope.row.customer" placeholder="请输入"></el-input>
</template>
</el-table-column>
<el-table-column label="收入" align="center" width="120">
<template slot-scope="scope">
<el-input v-model="scope.row.income" type="number" placeholder="请输入"></el-input>
......@@ -71,20 +76,21 @@
</div>
<div style="text-align: right; margin-bottom: 5px;">
<div style="display: flex;justify-content: flex-end; text-align: right; margin-bottom: 5px;">
<el-select v-model="select_value" clearable placeholder="请选择收支类型" @change="select_change">
<el-option v-for="item in select_options" :key="item.value" :label="item.label" :value="item.value">
</el-option>
</el-select>
<el-select v-model="machinery_type_value" clearable placeholder="请选择类型" @change="machinery_type_change">
<el-select class="margin_sty" v-model="machinery_type_value" clearable placeholder="请选择类型" @change="machinery_type_change">
<el-option v-for="item in machinery_type_options" :key="item.value" :label="item.label"
:value="item.value">
</el-option>
</el-select>
<el-input style="width: 15%;" v-model="customer_value" placeholder="请填写客户名称" @change="select_change"></el-input>
<el-date-picker v-model="datePickerValue" type="daterange" range-separator="至" start-placeholder="开始日期"
<el-date-picker class="margin_sty" v-model="datePickerValue" type="daterange" range-separator="至" start-placeholder="开始日期"
end-placeholder="结束日期" format="yyyy-MM-dd" value-format="yyyy-MM-dd" @change="datePickerChange">
</el-date-picker>
......@@ -107,6 +113,13 @@
</div>
</template>
</el-table-column>
<el-table-column label="客户" align="center">
<template slot-scope="scope">
<div style="text-align: left;">
[[ scope.row.customer ]]
</div>
</template>
</el-table-column>
<el-table-column label="收入" align="center" width="120">
<template slot-scope="scope">
<div style="text-align: right;">
......@@ -180,11 +193,12 @@
{
business_date: '',
abstract: '',
customer:'',
income: '',
expenditure: '',
user_name: '',
user_id: null,
machinery_type:''
machinery_type: ''
}
],
datePickerValue: ['', ''],
......@@ -209,7 +223,8 @@
label: '其他'
}],
select_value: '',
machinery_type_value: ''
machinery_type_value: '',
customer_value:''
};
},
......@@ -245,7 +260,7 @@
},
// 获取列表数据
getDataList() {
if(!this.datePickerValue){
if (!this.datePickerValue) {
this.datePickerValue = ['', '']
}
this.loading = true;
......@@ -255,7 +270,8 @@
start_date: this.datePickerValue[0],
end_date: this.datePickerValue[1],
type_str: this.select_value,
machinery_type: this.machinery_type_value
machinery_type: this.machinery_type_value,
customer:this.customer_value
}
axios.request({
url: "/roke/product/product_income_expense/get",
......@@ -328,6 +344,7 @@
formData.append("end_date", this.datePickerValue[1]);
formData.append("type_str", this.select_value);
formData.append("machinery_type", this.machinery_type_value);
formData.append("customer", this.customer_value);
axios.post("/roke/product/product_income_expense/export",
formData,
_config,
......@@ -388,14 +405,16 @@
business_date: moment().format("YYYY-MM-DD"),
abstract: '',
income: '',
customer:'',
expenditure: '',
user_name: this.user_name,
user_id: this.user_id,
machinery_type:''
machinery_type: ''
}
]
this.select_value = ''
this.machinery_type_value = ''
this.customer_value = ''
this.datePickerValue = ''
this.getDataList()
} else {
......@@ -462,6 +481,9 @@
.el-date-editor.el-input {
width: 140px;
}
.margin_sty{
margin: 0 10px;
}
</style>
</html>
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment