diff --git a/src/views/pum/order.vue b/src/views/pum/order.vue
index 8b1e77f4..e1333697 100644
--- a/src/views/pum/order.vue
+++ b/src/views/pum/order.vue
@@ -47,14 +47,12 @@
v-for="item in scope.row.materials_"
v-bind:key="item.id"
>
- {{ item.name }}[{{ item.specification }}][{{
- item.model
- }}]
+ {{ item.full_name }}
+
+
diff --git a/src/views/pum/order_form.vue b/src/views/pum/order_form.vue
index 8f865061..56c12ed2 100644
--- a/src/views/pum/order_form.vue
+++ b/src/views/pum/order_form.vue
@@ -1,109 +1,158 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 保存
- 取消
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 保存
+ 取消
+
+
+
diff --git a/src/views/pum/orderitem.vue b/src/views/pum/orderitem.vue
index 800a483f..39500d8f 100644
--- a/src/views/pum/orderitem.vue
+++ b/src/views/pum/orderitem.vue
@@ -60,6 +60,8 @@
:query="query"
hidePagination
hideDo
+ :summary-method="getSummaries"
+ show-summary
>
+
+
+
+
{});
},
+ getSummaries({ columns, data }) {
+ const sums = [];
+ columns.forEach((column, index) => {
+ if (index === 0) {
+ sums[index] = "合计";
+ return;
+ }
+ if (index == 5) {
+ const values = data.map((item) =>
+ Number(item[column.property])
+ );
+ if (!values.every((value) => Number.isNaN(value))) {
+ sums[index] = values.reduce((prev, curr) => {
+ const value = Number(curr); //Number转换为数值
+ let sum = Number(
+ Number(prev) + Number(curr)
+ ).toFixed(2); //toFixed(2)数据项保留两位小数
+ if (!isNaN(value)) {
+ return sum;
+ } else {
+ return prev;
+ }
+ }, 0);
+ sums[index] += "元"; //给合计项添加单位
+ } else {
+ sums[index] = "0元";
+ }
+ }
+ });
+
+ return sums;
+ },
//本地更新数据
handleSaveSuccess(data, mode) {
if (mode == "add") {
diff --git a/src/views/pum/orderitem_form.vue b/src/views/pum/orderitem_form.vue
index a55b9bbf..5cf91a0e 100644
--- a/src/views/pum/orderitem_form.vue
+++ b/src/views/pum/orderitem_form.vue
@@ -1,129 +1,195 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 保存
- 取消
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 保存
+ 取消
+
+
+
-
+
diff --git a/src/views/pum/plan.vue b/src/views/pum/plan.vue
index 1f605f85..a52fba4c 100644
--- a/src/views/pum/plan.vue
+++ b/src/views/pum/plan.vue
@@ -41,6 +41,8 @@
+
+
+
+
+
+
编辑
@@ -102,7 +109,7 @@
type="danger"
@click="table_del(scope.row)"
v-auth="'pu_planitem.delete'"
- v-if="orderObj == 10"
+ v-if="orderObj.state == 10"
>
删除
@@ -213,7 +220,44 @@ export default {
})
.catch(() => {});
},
+ arraySpanMethod({ rowIndex, columnIndex }) {
+ console.log(rowIndex, columnIndex);
+ if (rowIndex === 0) {
+ // return [1, 2];
+ }
+ },
+ getSummaries({ columns, data }) {
+ const sums = [];
+ columns.forEach((column, index) => {
+ if (index === 0) {
+ sums[index] = "合计";
+ return;
+ }
+ if (index == 4) {
+ const values = data.map((item) =>
+ Number(item[column.property])
+ );
+ if (!values.every((value) => Number.isNaN(value))) {
+ sums[index] = values.reduce((prev, curr) => {
+ const value = Number(curr); //Number转换为数值
+ let sum = Number(
+ Number(prev) + Number(curr)
+ ).toFixed(2); //toFixed(2)数据项保留两位小数
+ if (!isNaN(value)) {
+ return sum;
+ } else {
+ return prev;
+ }
+ }, 0);
+ sums[index] += "元"; //给合计项添加单位
+ } else {
+ sums[index] = "0元";
+ }
+ }
+ });
+ return sums;
+ },
//本地更新数据
handleSaveSuccess(data, mode) {
if (mode == "add") {
diff --git a/src/views/pum/planitem_form.vue b/src/views/pum/planitem_form.vue
index b76869b6..74299993 100644
--- a/src/views/pum/planitem_form.vue
+++ b/src/views/pum/planitem_form.vue
@@ -52,6 +52,32 @@
controls-position="right"
placeholder="所需数量"
style="width: 100%"
+ @change="handleChange"
+ />
+
+
+
+
+
+
+
+
+
+
@@ -149,6 +175,13 @@ export default {
trigger: "blur",
},
],
+ unit_price: [
+ {
+ required: true,
+ message: "请输入物料单价",
+ trigger: "blur",
+ },
+ ],
},
formMaterialName: "",
materialType: "planitem",
@@ -195,6 +228,25 @@ export default {
this.options = res;
});
},
+ handleChange() {
+ if (
+ this.form.unit_price !== 0 &&
+ this.form.unit_price !== "" &&
+ this.form.unit_price !== null
+ ) {
+ if (
+ this.form.need_count !== 0 &&
+ this.form.need_count !== "" &&
+ this.form.need_count !== null
+ ) {
+ this.form.total_price =
+ Number(this.form.need_count) *
+ Number(this.form.unit_price);
+ }
+ } else {
+ this.form.total_price = "";
+ }
+ },
//提交
submit() {
this.$refs.dialogForm.validate(async (valid) => {