|
@@ -74,22 +74,22 @@
|
|
</div>
|
|
</div>
|
|
<div class="context-tabs">
|
|
<div class="context-tabs">
|
|
<Tabs type="card" @on-click="handleTabsClick" v-model="currencyTag">
|
|
<Tabs type="card" @on-click="handleTabsClick" v-model="currencyTag">
|
|
- <!-- <Button
|
|
|
|
- @click="back"
|
|
|
|
|
|
+ <Button
|
|
|
|
+ @click="showHandingMatchModal = true"
|
|
type="primary"
|
|
type="primary"
|
|
size="small"
|
|
size="small"
|
|
slot="extra"
|
|
slot="extra"
|
|
v-show="currencyTag == 1"
|
|
v-show="currencyTag == 1"
|
|
>
|
|
>
|
|
匹配
|
|
匹配
|
|
- </Button> -->
|
|
|
|
|
|
+ </Button>
|
|
<TabPane label="本次未匹配" name="1">
|
|
<TabPane label="本次未匹配" name="1">
|
|
<Row>
|
|
<Row>
|
|
<Col
|
|
<Col
|
|
span="16"
|
|
span="16"
|
|
style="border-top: 1px solid #adb5bd;border-right: 1px solid #adb5bd;padding:10px"
|
|
style="border-top: 1px solid #adb5bd;border-right: 1px solid #adb5bd;padding:10px"
|
|
>
|
|
>
|
|
- <div>
|
|
|
|
|
|
+ <div class="sheet-block">
|
|
<h1>码单信息</h1>
|
|
<h1>码单信息</h1>
|
|
<div class="context-unmatched-sheet">
|
|
<div class="context-unmatched-sheet">
|
|
<div
|
|
<div
|
|
@@ -99,13 +99,18 @@
|
|
>
|
|
>
|
|
<Row type="flex" align="middle">
|
|
<Row type="flex" align="middle">
|
|
<Col span="4">
|
|
<Col span="4">
|
|
- <span>图号:</span><span>{{ url_info.image_number }}</span>
|
|
|
|
|
|
+ <span>图号:</span>
|
|
|
|
+ <span>{{ url_info.image_number }}</span>
|
|
</Col>
|
|
</Col>
|
|
- <Col span="6">
|
|
|
|
- <span>产品名称:</span
|
|
|
|
- ><span>{{ url_info.product_name }}</span>
|
|
|
|
|
|
+ <Col span="4">
|
|
|
|
+ <span>产品名称:</span>
|
|
|
|
+ <span>{{ url_info.product_name }}</span>
|
|
|
|
+ </Col>
|
|
|
|
+ <Col span="4">
|
|
|
|
+ <span>批量数:</span>
|
|
|
|
+ <span>{{ url_info.house_num }}</span>
|
|
</Col>
|
|
</Col>
|
|
- <Col span="4" offset="6">
|
|
|
|
|
|
+ <Col span="4" offset="4">
|
|
<span>
|
|
<span>
|
|
总计
|
|
总计
|
|
<span style="color:red">{{
|
|
<span style="color:red">{{
|
|
@@ -231,17 +236,26 @@
|
|
</span>
|
|
</span>
|
|
<span>{{ table_info.key.num }}组</span>
|
|
<span>{{ table_info.key.num }}组</span>
|
|
</Col>
|
|
</Col>
|
|
- <Col span="3" offset="11">
|
|
|
|
|
|
+ <Col span="3" offset="8">
|
|
总计{{ table_info.part_list.length }}条数据
|
|
总计{{ table_info.part_list.length }}条数据
|
|
</Col>
|
|
</Col>
|
|
|
|
+ <Col span="3">
|
|
|
|
+ <Button
|
|
|
|
+ @click="handleHiddenSheetDetail(table_info)"
|
|
|
|
+ size="small"
|
|
|
|
+ type="text"
|
|
|
|
+ >{{
|
|
|
|
+ table_info.isHidden ? "展开" : "收缩"
|
|
|
|
+ }}</Button
|
|
|
|
+ >
|
|
|
|
+ </Col>
|
|
</Row>
|
|
</Row>
|
|
</div>
|
|
</div>
|
|
- <div>
|
|
|
|
|
|
+ <div v-show="!table_info.isHidden">
|
|
<Table
|
|
<Table
|
|
:columns="unmatchedSheetTableColumns"
|
|
:columns="unmatchedSheetTableColumns"
|
|
border
|
|
border
|
|
:max-height="500"
|
|
:max-height="500"
|
|
- @on-selection-change="handleSelectChange"
|
|
|
|
:data="table_info.part_list"
|
|
:data="table_info.part_list"
|
|
></Table>
|
|
></Table>
|
|
</div>
|
|
</div>
|
|
@@ -252,7 +266,10 @@
|
|
</div>
|
|
</div>
|
|
</Col>
|
|
</Col>
|
|
<Col span="8">
|
|
<Col span="8">
|
|
- <div style="border-top: 1px solid #adb5bd;padding:10px">
|
|
|
|
|
|
+ <div
|
|
|
|
+ class="room-block"
|
|
|
|
+ style="border-top: 1px solid #adb5bd;padding:10px"
|
|
|
|
+ >
|
|
<h1>房间信息</h1>
|
|
<h1>房间信息</h1>
|
|
<div class="context-unmatched-room">
|
|
<div class="context-unmatched-room">
|
|
<div
|
|
<div
|
|
@@ -262,7 +279,8 @@
|
|
>
|
|
>
|
|
<Row type="flex" align="middle">
|
|
<Row type="flex" align="middle">
|
|
<Col span="4">
|
|
<Col span="4">
|
|
- <span>图号:</span><span>{{ url_info.image_number }}</span>
|
|
|
|
|
|
+ <span>图号:</span
|
|
|
|
+ ><span>{{ url_info.image_number }}</span>
|
|
</Col>
|
|
</Col>
|
|
<Col span="8">
|
|
<Col span="8">
|
|
<span>产品名称:</span
|
|
<span>产品名称:</span
|
|
@@ -295,6 +313,12 @@
|
|
/>
|
|
/>
|
|
</Col>
|
|
</Col>
|
|
</Row>
|
|
</Row>
|
|
|
|
+ <Row>
|
|
|
|
+ <Col span="4">
|
|
|
|
+ <span>批量数:</span>
|
|
|
|
+ <span>{{ url_info.house_num }}</span>
|
|
|
|
+ </Col>
|
|
|
|
+ </Row>
|
|
<div
|
|
<div
|
|
v-if="url_info.isCurrenct"
|
|
v-if="url_info.isCurrenct"
|
|
class="context-unmatched-room-search"
|
|
class="context-unmatched-room-search"
|
|
@@ -560,7 +584,11 @@
|
|
</span>
|
|
</span>
|
|
</Col>
|
|
</Col>
|
|
<Col span="2">
|
|
<Col span="2">
|
|
- <Button @click="getMatchedDetailList(matched_info)" size="small" type="primary">
|
|
|
|
|
|
+ <Button
|
|
|
|
+ @click="getMatchedDetailList(matched_info)"
|
|
|
|
+ size="small"
|
|
|
|
+ type="primary"
|
|
|
|
+ >
|
|
搜索
|
|
搜索
|
|
</Button>
|
|
</Button>
|
|
</Col>
|
|
</Col>
|
|
@@ -600,6 +628,35 @@
|
|
</TabPane>
|
|
</TabPane>
|
|
</Tabs>
|
|
</Tabs>
|
|
</div>
|
|
</div>
|
|
|
|
+ <Modal v-model="showHandingMatchModal" title="手动匹配确认">
|
|
|
|
+ <div>
|
|
|
|
+ <Row style="padding:10px 0 ">
|
|
|
|
+ <Col span="8">部件名称:</Col>
|
|
|
|
+ <Col span="6">未匹配数量</Col>
|
|
|
|
+ <Col span="4" offset='6'>
|
|
|
|
+ <Button size="small" @click="showHandingMatchModal = false">
|
|
|
|
+ 平均分配
|
|
|
|
+ </Button>
|
|
|
|
+ </Col>
|
|
|
|
+ </Row>
|
|
|
|
+ </div>
|
|
|
|
+ <div>
|
|
|
|
+ <Table
|
|
|
|
+ :columns="unmatchedRoomTableColumnsModal"
|
|
|
|
+ border
|
|
|
|
+ :max-height="500"
|
|
|
|
+ :data="unmatchedSelectedList"
|
|
|
|
+ >
|
|
|
|
+ <template slot="numSlot" slot-scope="{ row, index }">
|
|
|
|
+ <Input v-model="row.num" />
|
|
|
|
+ </template>
|
|
|
|
+ </Table>
|
|
|
|
+ </div>
|
|
|
|
+ <div slot="footer">
|
|
|
|
+ <Button @click="showHandingMatchModal = false">取消</Button>
|
|
|
|
+ <Button type="primary" @click="handleHandingMatch">确定</Button>
|
|
|
|
+ </div>
|
|
|
|
+ </Modal>
|
|
</div>
|
|
</div>
|
|
</template>
|
|
</template>
|
|
|
|
|
|
@@ -656,6 +713,7 @@ export default {
|
|
urlList: [], //图号列表
|
|
urlList: [], //图号列表
|
|
house_list: [{ title: 1 }], //当前图号下表格列表
|
|
house_list: [{ title: 1 }], //当前图号下表格列表
|
|
}, //房间信息
|
|
}, //房间信息
|
|
|
|
+ currentChooseId: "", //选中码单信息中的ID
|
|
matchedList: [
|
|
matchedList: [
|
|
{
|
|
{
|
|
number: "123",
|
|
number: "123",
|
|
@@ -682,7 +740,33 @@ export default {
|
|
],
|
|
],
|
|
matchedDetailList: [],
|
|
matchedDetailList: [],
|
|
unmatchedSheetTableColumns: [
|
|
unmatchedSheetTableColumns: [
|
|
- { title: "全选", align: "center", minWidth: 60, type: "selection" },
|
|
|
|
|
|
+ {
|
|
|
|
+ title: "选择",
|
|
|
|
+ align: "center",
|
|
|
|
+ minWidth: 60,
|
|
|
|
+ render: (h, params) => {
|
|
|
|
+ let id = params.row.id;
|
|
|
|
+ let flag = false;
|
|
|
|
+ if (this.currentChooseId == id) {
|
|
|
|
+ flag = true;
|
|
|
|
+ } else {
|
|
|
|
+ flag = false;
|
|
|
|
+ }
|
|
|
|
+ let self = this;
|
|
|
|
+ return h("div", [
|
|
|
|
+ h("Radio", {
|
|
|
|
+ props: {
|
|
|
|
+ value: flag,
|
|
|
|
+ },
|
|
|
|
+ on: {
|
|
|
|
+ "on-change": () => {
|
|
|
|
+ self.currentChooseId = params.row.id;
|
|
|
|
+ },
|
|
|
|
+ },
|
|
|
|
+ }),
|
|
|
|
+ ]);
|
|
|
|
+ },
|
|
|
|
+ },
|
|
{ title: "序号", align: "center", type: "index", minWidth: 60 },
|
|
{ title: "序号", align: "center", type: "index", minWidth: 60 },
|
|
{ title: "部件名称", align: "center", key: "part_name", minWidth: 100 },
|
|
{ title: "部件名称", align: "center", key: "part_name", minWidth: 100 },
|
|
{ title: "行号", align: "center", key: "line", minWidth: 60 },
|
|
{ title: "行号", align: "center", key: "line", minWidth: 60 },
|
|
@@ -724,7 +808,10 @@ export default {
|
|
{ title: "全选", align: "center", minWidth: 60, type: "selection" },
|
|
{ title: "全选", align: "center", minWidth: 60, type: "selection" },
|
|
{ title: "序号", align: "center", type: "index", minWidth: 60 },
|
|
{ title: "序号", align: "center", type: "index", minWidth: 60 },
|
|
{ title: "区域", align: "center", key: "region", minWidth: 60 },
|
|
{ title: "区域", align: "center", key: "region", minWidth: 60 },
|
|
- { title: "房号", align: "center", key: "house_number", minWidth: 60 },
|
|
|
|
|
|
+ { title: "楼栋", align: "center", key: "house", minWidth: 60 },
|
|
|
|
+ { title: "单元", align: "center", key: "unit", minWidth: 60 },
|
|
|
|
+ { title: "楼层", align: "center", key: "layer", minWidth: 60 },
|
|
|
|
+ { title: "房号", align: "center", key: "number", minWidth: 60 },
|
|
], //未匹配房间表头
|
|
], //未匹配房间表头
|
|
unmatchedRoomTableColumnsUsed: [],
|
|
unmatchedRoomTableColumnsUsed: [],
|
|
matchedSheetTableColumns: [
|
|
matchedSheetTableColumns: [
|
|
@@ -769,8 +856,10 @@ export default {
|
|
slot: "setSlot",
|
|
slot: "setSlot",
|
|
},
|
|
},
|
|
], //匹配表头
|
|
], //匹配表头
|
|
|
|
+ unmatchedRoomTableColumnsModal: [],
|
|
unmatchedSelectedList: [],
|
|
unmatchedSelectedList: [],
|
|
matchedSelectedList: [],
|
|
matchedSelectedList: [],
|
|
|
|
+ showHandingMatchModal: false,
|
|
};
|
|
};
|
|
},
|
|
},
|
|
// 生命周期 - 创建完成(可以访问当前this实例)
|
|
// 生命周期 - 创建完成(可以访问当前this实例)
|
|
@@ -784,11 +873,7 @@ export default {
|
|
this.$router.go(-1);
|
|
this.$router.go(-1);
|
|
},
|
|
},
|
|
handleSelectChange(selection) {
|
|
handleSelectChange(selection) {
|
|
- this.unmatchedSelectedList = this.unmatchedSelectedList.concat(
|
|
|
|
- selection.map((v) => {
|
|
|
|
- return v.product_title;
|
|
|
|
- })
|
|
|
|
- );
|
|
|
|
|
|
+ this.unmatchedSelectedList = selection;
|
|
},
|
|
},
|
|
handleMatchedSelectChange(selection) {
|
|
handleMatchedSelectChange(selection) {
|
|
this.matchedSelectedList = this.matchedSelectedList.concat(
|
|
this.matchedSelectedList = this.matchedSelectedList.concat(
|
|
@@ -796,7 +881,6 @@ export default {
|
|
return v.cut_order_product_id;
|
|
return v.cut_order_product_id;
|
|
})
|
|
})
|
|
);
|
|
);
|
|
- console.log("this.matchedSelectedList :>> ", this.matchedSelectedList);
|
|
|
|
},
|
|
},
|
|
handleTabsClick(name) {
|
|
handleTabsClick(name) {
|
|
name == 2 && this.handleMatchedListInit();
|
|
name == 2 && this.handleMatchedListInit();
|
|
@@ -828,6 +912,15 @@ export default {
|
|
}
|
|
}
|
|
this.getSheetDetailList(row);
|
|
this.getSheetDetailList(row);
|
|
},
|
|
},
|
|
|
|
+ handleHiddenSheetDetail(row) {
|
|
|
|
+ if (row.isHidden) {
|
|
|
|
+ row.isHidden = !row.isHidden;
|
|
|
|
+ } else {
|
|
|
|
+ row.isHidden = true;
|
|
|
|
+ }
|
|
|
|
+ this.$forceUpdate();
|
|
|
|
+ console.log("row :>> ", row);
|
|
|
|
+ },
|
|
handleShowCurrencyMatched(row) {
|
|
handleShowCurrencyMatched(row) {
|
|
if (row.isCurrenct) {
|
|
if (row.isCurrenct) {
|
|
row.isCurrenct = !row.isCurrenct;
|
|
row.isCurrenct = !row.isCurrenct;
|
|
@@ -859,6 +952,15 @@ export default {
|
|
return { title: v, align: "center", key: v, minWidth: 60 };
|
|
return { title: v, align: "center", key: v, minWidth: 60 };
|
|
})
|
|
})
|
|
);
|
|
);
|
|
|
|
+ this.unmatchedRoomTableColumnsModal = this.unmatchedRoomTableColumnsUsed.concat(
|
|
|
|
+ {
|
|
|
|
+ title: "匹配数量",
|
|
|
|
+ align: "center",
|
|
|
|
+ minWidth: 60,
|
|
|
|
+ slot: "numSlot",
|
|
|
|
+ }
|
|
|
|
+ );
|
|
|
|
+ this.unmatchedRoomTableColumnsModal = this.unmatchedRoomTableColumnsModal.splice(1)
|
|
this.cut_size = res.data.search_word.cut_size;
|
|
this.cut_size = res.data.search_word.cut_size;
|
|
this.number = res.data.search_word.number;
|
|
this.number = res.data.search_word.number;
|
|
this.part_name = res.data.search_word.part_name;
|
|
this.part_name = res.data.search_word.part_name;
|
|
@@ -896,7 +998,6 @@ export default {
|
|
},
|
|
},
|
|
}).then((res) => {
|
|
}).then((res) => {
|
|
if (res.code == 200) {
|
|
if (res.code == 200) {
|
|
- console.log("res :>> ", res);
|
|
|
|
res.data.list.map((v) => (v.isCurrenct = false));
|
|
res.data.list.map((v) => (v.isCurrenct = false));
|
|
this.unmatchedObj.urlList = res.data.list;
|
|
this.unmatchedObj.urlList = res.data.list;
|
|
this.urlSelectList = res.data.image_number;
|
|
this.urlSelectList = res.data.image_number;
|
|
@@ -918,6 +1019,16 @@ export default {
|
|
}
|
|
}
|
|
});
|
|
});
|
|
},
|
|
},
|
|
|
|
+ handleHandingMatch() {
|
|
|
|
+ this.axios
|
|
|
|
+ .post("/api/bst_hand_matching", {
|
|
|
|
+ cut_order_product_detail_id: this.currentChooseId,
|
|
|
|
+ house: [],
|
|
|
|
+ })
|
|
|
|
+ .then((res) => {
|
|
|
|
+ console.log(res);
|
|
|
|
+ });
|
|
|
|
+ },
|
|
handleMatchedSelectAll(bool) {
|
|
handleMatchedSelectAll(bool) {
|
|
for (let index = 0; index < this.matchedDetailList.length; index++) {
|
|
for (let index = 0; index < this.matchedDetailList.length; index++) {
|
|
// const element = this.matchedDetailList[index];
|
|
// const element = this.matchedDetailList[index];
|
|
@@ -996,4 +1107,10 @@ export default {
|
|
/deep/.ivu-table-cell {
|
|
/deep/.ivu-table-cell {
|
|
padding: 0;
|
|
padding: 0;
|
|
}
|
|
}
|
|
|
|
+.sheet-block,
|
|
|
|
+.room-block {
|
|
|
|
+ max-height: 500px;
|
|
|
|
+ overflow: hidden;
|
|
|
|
+ overflow-y: auto;
|
|
|
|
+}
|
|
</style>
|
|
</style>
|