|
@@ -1,247 +1,349 @@
|
|
|
<template>
|
|
|
<div>
|
|
|
- <Toptitle :title="$route.query.type==1?'新增请购单':'请购单详情'">
|
|
|
+ <Toptitle :title="$route.query.type == 1 ? '新增请购单' : '请购单详情'">
|
|
|
<slot name="titleButton">
|
|
|
- <Button @click="goBack"
|
|
|
- type="primary"
|
|
|
- ghost
|
|
|
- style="margin-right:10px;">返回</Button>
|
|
|
- <Button @click="postData"
|
|
|
- type="primary"
|
|
|
- v-show="!isCheck"
|
|
|
- ghost
|
|
|
- style="margin-right:10px;">确定</Button>
|
|
|
+ <Button @click="goBack" type="primary" ghost style="margin-right: 10px"
|
|
|
+ >返回</Button
|
|
|
+ >
|
|
|
+ <Button
|
|
|
+ @click="postData"
|
|
|
+ type="primary"
|
|
|
+ v-show="!isCheck"
|
|
|
+ ghost
|
|
|
+ style="margin-right: 10px"
|
|
|
+ >确定</Button
|
|
|
+ >
|
|
|
</slot>
|
|
|
</Toptitle>
|
|
|
<div class="content_topform">
|
|
|
- <Form :label-width="90"
|
|
|
- :model="searchData">
|
|
|
+ <Form :label-width="90" :model="searchData">
|
|
|
<FormItem label="项目名称:">
|
|
|
- <Input type="text"
|
|
|
- size="small"
|
|
|
- v-show="!isCheck"
|
|
|
- v-model="searchData.client_name"
|
|
|
- style="width: 200px;margin-top:6px"
|
|
|
- placeholder="项目名称">
|
|
|
- <span slot="append"
|
|
|
- style="cursor:pointer;"
|
|
|
- @click="showProjectModal=true">选择</span>
|
|
|
+ <Input
|
|
|
+ type="text"
|
|
|
+ size="small"
|
|
|
+ v-show="!isCheck"
|
|
|
+ v-model="searchData.client_name"
|
|
|
+ style="width: 200px; margin-top: 6px"
|
|
|
+ placeholder="项目名称"
|
|
|
+ >
|
|
|
+ <span
|
|
|
+ slot="append"
|
|
|
+ style="cursor: pointer"
|
|
|
+ @click="showProjectModal = true"
|
|
|
+ >选择</span
|
|
|
+ >
|
|
|
</Input>
|
|
|
- <span v-show="isCheck">{{searchData.client_name}}</span>
|
|
|
+ <span v-show="isCheck">{{ searchData.client_name }}</span>
|
|
|
</FormItem>
|
|
|
<FormItem label="请购类型:">
|
|
|
- <Select v-model="searchData.type_id"
|
|
|
- size="small"
|
|
|
- clearable
|
|
|
- v-show="!isCheck"
|
|
|
- filterable
|
|
|
- label-in-value
|
|
|
- style="width: 200px">
|
|
|
- <Option v-for="(sitem) in purchaseTypeList"
|
|
|
- :key="sitem.id"
|
|
|
- :label="sitem.title"
|
|
|
- :value="sitem.id">
|
|
|
+ <Select
|
|
|
+ v-model="searchData.type_id"
|
|
|
+ size="small"
|
|
|
+ clearable
|
|
|
+ v-show="!isCheck"
|
|
|
+ filterable
|
|
|
+ label-in-value
|
|
|
+ style="width: 200px"
|
|
|
+ >
|
|
|
+ <Option
|
|
|
+ v-for="sitem in purchaseTypeList"
|
|
|
+ :key="sitem.id"
|
|
|
+ :label="sitem.title"
|
|
|
+ :value="sitem.id"
|
|
|
+ >
|
|
|
</Option>
|
|
|
</Select>
|
|
|
- <span v-for="item in purchaseTypeList"
|
|
|
- :key="item.id"
|
|
|
- v-show="item.id==searchData.type_id&&isCheck">{{item.title}}</span>
|
|
|
+ <span
|
|
|
+ v-for="item in purchaseTypeList"
|
|
|
+ :key="item.id"
|
|
|
+ v-show="item.id == searchData.type_id && isCheck"
|
|
|
+ >{{ item.title }}</span
|
|
|
+ >
|
|
|
</FormItem>
|
|
|
<FormItem label="单据号:">
|
|
|
- <Input type="text"
|
|
|
- size="small"
|
|
|
- v-show="!isCheck"
|
|
|
- v-model="searchData.purchase_order_apply_no"
|
|
|
- readonly
|
|
|
- style="width: 200px"
|
|
|
- placeholder="自动生成">
|
|
|
+ <Input
|
|
|
+ type="text"
|
|
|
+ size="small"
|
|
|
+ v-show="!isCheck"
|
|
|
+ v-model="searchData.purchase_order_apply_no"
|
|
|
+ readonly
|
|
|
+ style="width: 200px"
|
|
|
+ placeholder="自动生成"
|
|
|
+ >
|
|
|
</Input>
|
|
|
- <span v-show="isCheck">{{searchData.purchase_order_apply_no}}</span>
|
|
|
+ <span v-show="isCheck">{{ searchData.purchase_order_apply_no }}</span>
|
|
|
</FormItem>
|
|
|
<FormItem label="制单时间:">
|
|
|
- <DatePicker type="date"
|
|
|
- v-show="!isCheck"
|
|
|
- size="small"
|
|
|
- style="width: 200px"
|
|
|
- placeholder="年/月/日"
|
|
|
- v-model="searchData.time"></DatePicker>
|
|
|
- <span v-show="isCheck">{{func.replaceDate(searchData.time)}}</span>
|
|
|
+ <DatePicker
|
|
|
+ type="date"
|
|
|
+ v-show="!isCheck"
|
|
|
+ size="small"
|
|
|
+ style="width: 200px"
|
|
|
+ placeholder="年/月/日"
|
|
|
+ v-model="searchData.time"
|
|
|
+ ></DatePicker>
|
|
|
+ <span v-show="isCheck">{{ func.replaceDate(searchData.time) }}</span>
|
|
|
</FormItem>
|
|
|
<FormItem label="备注">
|
|
|
- <Input type="textarea"
|
|
|
- v-show="!isCheck"
|
|
|
- size="small"
|
|
|
- v-model="searchData.remark"
|
|
|
- style="width: 200px"
|
|
|
- placeholder="备注">
|
|
|
+ <Input
|
|
|
+ type="textarea"
|
|
|
+ v-show="!isCheck"
|
|
|
+ size="small"
|
|
|
+ v-model="searchData.remark"
|
|
|
+ style="width: 200px"
|
|
|
+ placeholder="备注"
|
|
|
+ >
|
|
|
</Input>
|
|
|
- <span v-show="isCheck">{{searchData.remark}}</span>
|
|
|
+ <span v-show="isCheck">{{ searchData.remark }}</span>
|
|
|
</FormItem>
|
|
|
</Form>
|
|
|
</div>
|
|
|
<div class="content_table">
|
|
|
<div class="content_table_btn">
|
|
|
<span>请购清单</span>
|
|
|
- <Button @click="showModal=true"
|
|
|
- type="primary"
|
|
|
- v-show="!isCheck"
|
|
|
- size="small"
|
|
|
- style="margin-left:10px;">选择物料</Button>
|
|
|
+ <Button
|
|
|
+ @click="showModal = true"
|
|
|
+ type="primary"
|
|
|
+ v-show="!isCheck"
|
|
|
+ size="small"
|
|
|
+ style="margin-left: 10px"
|
|
|
+ >选择物料</Button
|
|
|
+ >
|
|
|
</div>
|
|
|
- <Table :columns="tableColumns"
|
|
|
- border
|
|
|
- :data="tableData">
|
|
|
- <template slot="basicTypeSet"
|
|
|
- slot-scope="{row}">
|
|
|
- <div>
|
|
|
- <span v-for="item in warningList"
|
|
|
- :key="item.id"
|
|
|
- :style="{color:item.color}"
|
|
|
- v-show="item.id==row.warning_state">{{item.title}}</span>
|
|
|
- </div>
|
|
|
+ <Table :columns="tableColumns" border :data="tableData">
|
|
|
+ <template slot="materiel_specs" slot-scope="{ row }">
|
|
|
+
|
|
|
+ <div>
|
|
|
+ {{ row.long ? row.long : 0 }}*{{ row.width ? row.width : 0 }}*{{
|
|
|
+ row.high ? row.high : 0
|
|
|
+ }}
|
|
|
+ </div>
|
|
|
</template>
|
|
|
- <template slot="numberSet"
|
|
|
- slot-scope="{index}">
|
|
|
- <Input type="text"
|
|
|
- v-show="!isCheck"
|
|
|
- size="small"
|
|
|
- v-model="tableData[index].num"
|
|
|
- placeholder="数量">
|
|
|
- </Input>
|
|
|
- <span v-show="isCheck">{{tableData[index].num}}</span>
|
|
|
+ <template slot="materiel_sort" slot-scope="{ index }">
|
|
|
+ <Input
|
|
|
+ type="text"
|
|
|
+ v-show="!isCheck"
|
|
|
+ size="small"
|
|
|
+ v-model="tableData[index].type_title"
|
|
|
+ placeholder="数量"
|
|
|
+ >
|
|
|
+ </Input>
|
|
|
+ <span v-show="isCheck">{{ tableData[index].type_title }}</span>
|
|
|
</template>
|
|
|
- <template slot="arrive_timeSet"
|
|
|
- slot-scope="{index}">
|
|
|
- <DatePicker type="date"
|
|
|
- size="small"
|
|
|
- v-show="!isCheck"
|
|
|
- placeholder="年/月/日"
|
|
|
- v-model="tableData[index].time"></DatePicker>
|
|
|
- <span v-show="isCheck">{{func.replaceDate(tableData[index].time)}}</span>
|
|
|
+ <template slot="materiel_name" slot-scope="{ index }">
|
|
|
+ <Input
|
|
|
+ type="text"
|
|
|
+ v-show="!isCheck"
|
|
|
+ size="small"
|
|
|
+ v-model="tableData[index].title"
|
|
|
+ placeholder="数量"
|
|
|
+ >
|
|
|
+ </Input>
|
|
|
+ <span v-show="isCheck">{{ tableData[index].title }}</span>
|
|
|
</template>
|
|
|
- <template slot="supply_idSet"
|
|
|
- slot-scope="{index}">
|
|
|
- <Select v-model="tableData[index].supply_id"
|
|
|
- size="small"
|
|
|
- clearable
|
|
|
- v-show="!isCheck"
|
|
|
- filterable
|
|
|
- label-in-value>
|
|
|
- <Option v-for="(sitem) in suppliersList"
|
|
|
- :key="sitem.id"
|
|
|
- :label="sitem.title"
|
|
|
- :value="sitem.id">
|
|
|
- </Option>
|
|
|
- </Select>
|
|
|
- <span v-for="item in suppliersList"
|
|
|
- :key="item.id"
|
|
|
- v-show="item.id==tableData[index].supply_id&&isCheck">{{item.title}}</span>
|
|
|
+ <template slot="numberSet" slot-scope="{row , index }">
|
|
|
+ <Tooltip
|
|
|
+ placement="left"
|
|
|
+ @on-popper-show="handleToolShow(index, row)"
|
|
|
+ >
|
|
|
+ <div slot="content">
|
|
|
+ <div>
|
|
|
+ <div v-for="(_item,_index) in row.warehouse_list" :key="_index">
|
|
|
+ {{_item.warehouse_title}}:{{_item.num}}
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <Input
|
|
|
+ type="text"
|
|
|
+ v-show="!isCheck"
|
|
|
+ size="small"
|
|
|
+ v-model="tableData[index].num"
|
|
|
+ placeholder="数量"
|
|
|
+ >
|
|
|
+ </Input>
|
|
|
+ <span v-show="isCheck">{{ tableData[index].num }}</span>
|
|
|
+ </Tooltip>
|
|
|
+ </template>
|
|
|
+ <template slot="arrive_timeSet" slot-scope="{ index }">
|
|
|
+ <DatePicker
|
|
|
+ type="date"
|
|
|
+ size="small"
|
|
|
+ transfer
|
|
|
+ v-show="!isCheck"
|
|
|
+ placeholder="年/月/日"
|
|
|
+ v-model="tableData[index].time"
|
|
|
+ ></DatePicker>
|
|
|
+ <span v-show="isCheck">{{
|
|
|
+ func.replaceDate(tableData[index].time)
|
|
|
+ }}</span>
|
|
|
</template>
|
|
|
- <template slot="setSlot"
|
|
|
- slot-scope="{row,index}">
|
|
|
- <a style="margin:0 5px"
|
|
|
- :disabled="row.state==0"
|
|
|
- v-show="!isCheck"
|
|
|
- @click="handleSet(1,row,index)">删除</a>
|
|
|
+ <template slot="supply_idSet" slot-scope="{ index }">
|
|
|
+ <Select
|
|
|
+ v-model="tableData[index].supply_id"
|
|
|
+ size="small"
|
|
|
+ clearable
|
|
|
+ transfer
|
|
|
+ v-show="!isCheck"
|
|
|
+ filterable
|
|
|
+ label-in-value
|
|
|
+ >
|
|
|
+ <Option
|
|
|
+ v-for="sitem in suppliersList"
|
|
|
+ :key="sitem.id"
|
|
|
+ :label="sitem.title"
|
|
|
+ :value="sitem.id"
|
|
|
+ >
|
|
|
+ </Option>
|
|
|
+ </Select>
|
|
|
+ <span
|
|
|
+ v-for="item in suppliersList"
|
|
|
+ :key="item.id"
|
|
|
+ v-show="item.id == tableData[index].supply_id && isCheck"
|
|
|
+ >{{ item.title }}</span>
|
|
|
+ </template>
|
|
|
+ <template slot="setSlot" slot-scope="{ row, index }">
|
|
|
+ <a
|
|
|
+ style="margin: 0 5px"
|
|
|
+ :disabled="row.state == 0"
|
|
|
+ v-show="!isCheck"
|
|
|
+ @click="handleSet(1, row, index)"
|
|
|
+ >删除</a>
|
|
|
</template>
|
|
|
</Table>
|
|
|
</div>
|
|
|
- <Modal v-model="showModal"
|
|
|
- title="选择物料"
|
|
|
- width='80'
|
|
|
- @on-ok="handleSelect"
|
|
|
- @on-cancel="showModal=false">
|
|
|
+ <Modal
|
|
|
+ v-model="showModal"
|
|
|
+ title="选择物料"
|
|
|
+ width="80"
|
|
|
+ @on-ok="handleSelect"
|
|
|
+ @on-cancel="showModal = false"
|
|
|
+ >
|
|
|
<div class="modal_content">
|
|
|
<div class="modal_content_left">
|
|
|
- <Tree :data="modalData.treeData"
|
|
|
- children-key='list'
|
|
|
- style="width:100%;"
|
|
|
- @on-select-change="handleTreeSlect"
|
|
|
- class="demo-tree-render"></Tree>
|
|
|
+ <Tree
|
|
|
+ :data="modalData.treeData"
|
|
|
+ children-key="list"
|
|
|
+ style="width: 100%"
|
|
|
+ @on-select-change="handleTreeSlect"
|
|
|
+ class="demo-tree-render"
|
|
|
+ ></Tree>
|
|
|
</div>
|
|
|
<div class="modal_content_center">
|
|
|
<div class="modal_content_center_top">
|
|
|
- <div><span>物料名称:</span>
|
|
|
- <Input type="text"
|
|
|
- v-model="modalData.title"
|
|
|
- placeholder="请输入物料名称" />
|
|
|
+ <div>
|
|
|
+ <span>物料名称:</span>
|
|
|
+ <Input
|
|
|
+ type="text"
|
|
|
+ v-model="modalData.title"
|
|
|
+ placeholder="请输入物料名称"
|
|
|
+ />
|
|
|
</div>
|
|
|
- <Button @click="initModal()"
|
|
|
- type="primary"
|
|
|
- style="margin:0 10px;">搜索</Button>
|
|
|
+ <Button @click="initModal()" type="primary" style="margin: 0 10px"
|
|
|
+ >搜索</Button
|
|
|
+ >
|
|
|
</div>
|
|
|
<div class="modal_content_center_body">
|
|
|
- <Table :columns="modalTableColumns"
|
|
|
- height="520"
|
|
|
- border
|
|
|
- ref="modelTable"
|
|
|
- @on-select-all="handleSelectionAll"
|
|
|
- @on-select-all-cancel="handleSelectionAllCancel"
|
|
|
- @on-select="handleSelection"
|
|
|
- @on-select-cancel="handleSelectionCancel"
|
|
|
- :loading="modalTableLoading"
|
|
|
- :data="modalData.tableData">
|
|
|
+ <Table
|
|
|
+ :columns="modalTableColumns"
|
|
|
+ height="520"
|
|
|
+ border
|
|
|
+ ref="modelTable"
|
|
|
+ @on-select-all="handleSelectionAll"
|
|
|
+ @on-select-all-cancel="handleSelectionAllCancel"
|
|
|
+ @on-select="handleSelection"
|
|
|
+ @on-select-cancel="handleSelectionCancel"
|
|
|
+ :loading="modalTableLoading"
|
|
|
+ :data="modalData.tableData"
|
|
|
+ >
|
|
|
</Table>
|
|
|
<div class="modal_content_center_footer">
|
|
|
- <Page :page-size-opts="[10, 20, 30, 40,100]"
|
|
|
- @on-page-size-change='changeModalSize'
|
|
|
- @on-change='changeModalPage'
|
|
|
- :current='modal_page_index'
|
|
|
- show-total
|
|
|
- :total="modal_total"
|
|
|
- show-sizer
|
|
|
- :page-size='modal_page_size' />
|
|
|
+ <Page
|
|
|
+ :page-size-opts="[10, 20, 30, 40, 100]"
|
|
|
+ @on-page-size-change="changeModalSize"
|
|
|
+ @on-change="changeModalPage"
|
|
|
+ :current="modal_page_index"
|
|
|
+ show-total
|
|
|
+ :total="modal_total"
|
|
|
+ show-sizer
|
|
|
+ :page-size="modal_page_size"
|
|
|
+ />
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
<div class="modal_content_right">
|
|
|
<span>已选</span>
|
|
|
- <Table :columns="selectedColumns"
|
|
|
- max-height="500"
|
|
|
- border
|
|
|
- :data="modalData.selectedData">
|
|
|
- <template slot="selectedSetSlot"
|
|
|
- slot-scope="{row,index}">
|
|
|
- <a style="margin:0 5px;color:red"
|
|
|
- @click="handleSelectedDele(row,index)">删除</a>
|
|
|
+ <Table
|
|
|
+ :columns="selectedColumns"
|
|
|
+ max-height="500"
|
|
|
+ border
|
|
|
+ :data="modalData.selectedData"
|
|
|
+ >
|
|
|
+ <template slot="selectedSetSlot" slot-scope="{ row, index }">
|
|
|
+ <a
|
|
|
+ style="margin: 0 5px; color: red"
|
|
|
+ @click="handleSelectedDele(row, index)"
|
|
|
+ >删除</a
|
|
|
+ >
|
|
|
</template>
|
|
|
</Table>
|
|
|
</div>
|
|
|
</div>
|
|
|
</Modal>
|
|
|
- <Modal v-model="showProjectModal"
|
|
|
- title="选择项目"
|
|
|
- width='80'
|
|
|
- @on-ok="handleProjectSelect"
|
|
|
- @on-cancel="showProjectModal=false">
|
|
|
+ <Modal
|
|
|
+ v-model="showProjectModal"
|
|
|
+ title="选择项目"
|
|
|
+ width="80"
|
|
|
+ @on-ok="handleProjectSelect"
|
|
|
+ @on-cancel="showProjectModal = false"
|
|
|
+ >
|
|
|
<div class="modal_content">
|
|
|
<div class="modal_content_center">
|
|
|
<div class="modal_content_center_top">
|
|
|
<span>项目名称:</span>
|
|
|
- <Input type="text"
|
|
|
- v-model="modalProjectData.title"
|
|
|
- style="width:180px"
|
|
|
- placeholder="请输入物料名称" />
|
|
|
- <Button @click="initProjectModal()"
|
|
|
- type="primary"
|
|
|
- style="margin:0 10px;">搜索</Button>
|
|
|
+ <Input
|
|
|
+ type="text"
|
|
|
+ v-model="modalProjectData.title"
|
|
|
+ style="width: 180px"
|
|
|
+ placeholder="请输入物料名称"
|
|
|
+ />
|
|
|
+ <Button
|
|
|
+ @click="initProjectModal()"
|
|
|
+ type="primary"
|
|
|
+ style="margin: 0 10px"
|
|
|
+ >搜索</Button
|
|
|
+ >
|
|
|
</div>
|
|
|
<div class="modal_content_center_body">
|
|
|
- <Table :columns="modalProjectTableColumns"
|
|
|
- height="520"
|
|
|
- border
|
|
|
- :loading="modalProjectTableLoading"
|
|
|
- :data="modalProjectData.tableData">
|
|
|
+ <Table
|
|
|
+ :columns="modalProjectTableColumns"
|
|
|
+ height="520"
|
|
|
+ border
|
|
|
+ :loading="modalProjectTableLoading"
|
|
|
+ :data="modalProjectData.tableData"
|
|
|
+ >
|
|
|
+ <template slot="basicTypeSet" slot-scope="{ row }">
|
|
|
+ <div>
|
|
|
+ <span
|
|
|
+ v-for="item in warningList"
|
|
|
+ :key="item.id"
|
|
|
+ :style="{ color: item.color }"
|
|
|
+ v-show="item.id == row.warning_state"
|
|
|
+ >{{ item.title }}</span
|
|
|
+ >
|
|
|
+ </div>
|
|
|
+ </template>
|
|
|
</Table>
|
|
|
<div class="modal_content_center_footer">
|
|
|
- <Page :page-size-opts="[10, 20, 30, 40,100]"
|
|
|
- @on-page-size-change='changeProjectModalSize'
|
|
|
- @on-change='changeProjectModalPage'
|
|
|
- :current='modal_project_page_index'
|
|
|
- show-total
|
|
|
- :total="modal_project_total"
|
|
|
- show-sizer
|
|
|
- :page-size='modal_project_page_size' />
|
|
|
+ <Page
|
|
|
+ :page-size-opts="[10, 20, 30, 40, 100]"
|
|
|
+ @on-page-size-change="changeProjectModalSize"
|
|
|
+ @on-change="changeProjectModalPage"
|
|
|
+ :current="modal_project_page_index"
|
|
|
+ show-total
|
|
|
+ :total="modal_project_total"
|
|
|
+ show-sizer
|
|
|
+ :page-size="modal_project_page_size"
|
|
|
+ />
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
@@ -255,88 +357,138 @@
|
|
|
// 例如:import 《组件名称》 from '《组件路径》';
|
|
|
|
|
|
export default {
|
|
|
- name: '',
|
|
|
- components: {
|
|
|
-
|
|
|
- },
|
|
|
+ name: "",
|
|
|
+ components: {},
|
|
|
props: {},
|
|
|
- // import引入的组件需要注入到对象中才能使用
|
|
|
- data () {
|
|
|
+ // import引入的组件需要注入到对象中才能使用
|
|
|
+ data() {
|
|
|
// 这里存放数据
|
|
|
return {
|
|
|
searchData: {
|
|
|
- type_id: '',
|
|
|
+ type_id: "",
|
|
|
time: null,
|
|
|
- remark: ''
|
|
|
+ remark: "",
|
|
|
},
|
|
|
purchaseTypeList: [],
|
|
|
tableColumns: [
|
|
|
- { title: '物料分类', key: 'type_title', align: 'center', minWidth: 120 },
|
|
|
- { title: '物料名称', key: 'title', align: 'center', minWidth: 140 },
|
|
|
{
|
|
|
- title: '物料规格', key: 'model', align: 'center', minWidth: 100,
|
|
|
- render: (h, params) => {
|
|
|
- const { row } = params
|
|
|
- let text = `${row.long ? row.long : 0}*${row.width ? row.width : 0}*${row.high ? row.high : 0}`
|
|
|
- return h('span', {}, text)
|
|
|
- }
|
|
|
+ title: "物料分类",
|
|
|
+ key: "type_title",
|
|
|
+ align: "center",
|
|
|
+ minWidth: 120,
|
|
|
+ slot: "materiel_sort",
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: "物料名称",
|
|
|
+ key: "title",
|
|
|
+ align: "center",
|
|
|
+ minWidth: 140,
|
|
|
+ slot: "materiel_name",
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: "物料规格",
|
|
|
+ key: "model",
|
|
|
+ align: "center",
|
|
|
+ minWidth: 100,
|
|
|
+ // render: (h, params) => {
|
|
|
+ // const { row } = params
|
|
|
+ // let text = `${row.long ? row.long : 0}*${row.width ? row.width : 0}*${row.high ? row.high : 0}`
|
|
|
+ // return h('span', {
|
|
|
+ // }, text)
|
|
|
+ // },
|
|
|
+ slot: "materiel_specs",
|
|
|
+ },
|
|
|
+ { title: "计量单位", key: "unit", align: "center", minWidth: 100 },
|
|
|
+ {
|
|
|
+ title: "请购数量",
|
|
|
+ key: "num",
|
|
|
+ align: "center",
|
|
|
+ minWidth: 100,
|
|
|
+ slot: "numberSet",
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: "预计到货时间",
|
|
|
+ key: "time",
|
|
|
+ align: "center",
|
|
|
+ minWidth: 180,
|
|
|
+ slot: "arrive_timeSet",
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: "建议供应商",
|
|
|
+ key: "supply_id",
|
|
|
+ align: "center",
|
|
|
+ minWidth: 180,
|
|
|
+ transfer: true,
|
|
|
+ slot: "supply_idSet",
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: "操作",
|
|
|
+ key: "code",
|
|
|
+ align: "center",
|
|
|
+ minWidth: 80,
|
|
|
+ slot: "setSlot",
|
|
|
},
|
|
|
- { title: '计量单位', key: 'unit', align: 'center', minWidth: 100 },
|
|
|
- { title: '请购数量', key: 'num', align: 'center', minWidth: 100, slot: 'numberSet' },
|
|
|
- { title: '预计到货时间', key: 'time', align: 'center', minWidth: 180, slot: 'arrive_timeSet' },
|
|
|
- { title: '建议供应商', key: 'supply_id', align: 'center', minWidth: 180, slot: 'supply_idSet' },
|
|
|
- { title: '操作', key: 'code', align: 'center', minWidth: 80, slot: 'setSlot' },
|
|
|
],
|
|
|
tableData: [],
|
|
|
showModal: false,
|
|
|
showProjectModal: false,
|
|
|
modalData: {
|
|
|
- title: '',
|
|
|
+ title: "",
|
|
|
tableData: [{}],
|
|
|
selectedData: [],
|
|
|
treeData: [
|
|
|
{
|
|
|
- title: '物料分类',
|
|
|
+ title: "物料分类",
|
|
|
expand: true,
|
|
|
list: [],
|
|
|
render: (h, { root, node, data }) => {
|
|
|
- return h('span', {
|
|
|
- style: {
|
|
|
- display: 'inline-block',
|
|
|
- width: '100%'
|
|
|
- }
|
|
|
- }, [
|
|
|
- h('span', [
|
|
|
- h('Icon', {
|
|
|
- props: {
|
|
|
- type: 'ios-folder-outline'
|
|
|
- },
|
|
|
+ return h(
|
|
|
+ "span",
|
|
|
+ {
|
|
|
+ style: {
|
|
|
+ display: "inline-block",
|
|
|
+ width: "100%",
|
|
|
+ },
|
|
|
+ },
|
|
|
+ [
|
|
|
+ h("span", [
|
|
|
+ h("Icon", {
|
|
|
+ props: {
|
|
|
+ type: "ios-folder-outline",
|
|
|
+ },
|
|
|
+ style: {
|
|
|
+ marginRight: "8px",
|
|
|
+ },
|
|
|
+ }),
|
|
|
+ h("span", data.title),
|
|
|
+ ]),
|
|
|
+ h("span", {
|
|
|
style: {
|
|
|
- marginRight: '8px'
|
|
|
- }
|
|
|
+ display: "inline-block",
|
|
|
+ // float: 'right',
|
|
|
+ marginRight: "32px",
|
|
|
+ },
|
|
|
}),
|
|
|
- h('span', data.title)
|
|
|
- ]),
|
|
|
- h('span', {
|
|
|
- style: {
|
|
|
- display: 'inline-block',
|
|
|
- // float: 'right',
|
|
|
- marginRight: '32px'
|
|
|
- }
|
|
|
- })
|
|
|
- ]);
|
|
|
+ ]
|
|
|
+ );
|
|
|
},
|
|
|
- }
|
|
|
+ },
|
|
|
],
|
|
|
},
|
|
|
modalProjectData: {
|
|
|
- title: '',
|
|
|
- tableData: [{}]
|
|
|
+ title: "",
|
|
|
+ tableData: [{}],
|
|
|
},
|
|
|
suppliersList: [],
|
|
|
selectedColumns: [
|
|
|
- { title: '物料名称', key: 'title', align: 'center', minWidth: 110 },
|
|
|
- { title: '操作', key: 'title', align: 'center', minWidth: 90, slot: 'selectedSetSlot' },
|
|
|
+ { title: "物料名称", key: "title", align: "center", minWidth: 110 },
|
|
|
+ {
|
|
|
+ title: "操作",
|
|
|
+ key: "title",
|
|
|
+ align: "center",
|
|
|
+ minWidth: 90,
|
|
|
+ slot: "selectedSetSlot",
|
|
|
+ },
|
|
|
],
|
|
|
modalTableLoading: false,
|
|
|
modalProjectTableLoading: false,
|
|
@@ -347,40 +499,54 @@ export default {
|
|
|
modal_project_page_size: 10,
|
|
|
modal_project_total: 0,
|
|
|
modalTableColumns: [
|
|
|
- { title: '全选', type: 'selection', align: 'center', minWidth: 60 },
|
|
|
- { title: '物料名称', key: 'title', align: 'center', minWidth: 110 },
|
|
|
- { title: '物料规格', key: 'model', align: 'center', minWidth: 110 },
|
|
|
- { title: '计量单位', key: 'unit', align: 'center', minWidth: 110 },
|
|
|
+ { title: "全选", type: "selection", align: "center", minWidth: 60 },
|
|
|
+ { title: "物料名称", key: "title", align: "center", minWidth: 110 },
|
|
|
+ { title: "物料规格", key: "model", align: "center", minWidth: 110 },
|
|
|
+ { title: "计量单位", key: "unit", align: "center", minWidth: 110 },
|
|
|
],
|
|
|
currentChoose: {},
|
|
|
modalProjectTableColumns: [
|
|
|
{
|
|
|
- title: '选择', key: '', align: 'center', minWidth: 60,
|
|
|
+ title: "选择",
|
|
|
+ key: "",
|
|
|
+ align: "center",
|
|
|
+ minWidth: 60,
|
|
|
render: (h, params) => {
|
|
|
let id = params.row.id;
|
|
|
let flag = false;
|
|
|
if (this.currentChoose.id == id) {
|
|
|
- flag = true
|
|
|
+ flag = true;
|
|
|
} else {
|
|
|
- flag = false
|
|
|
+ flag = false;
|
|
|
}
|
|
|
- let self = this
|
|
|
- return h('div', [
|
|
|
- h('Radio', {
|
|
|
+ let self = this;
|
|
|
+ return h("div", [
|
|
|
+ h("Radio", {
|
|
|
props: {
|
|
|
- value: flag
|
|
|
+ value: flag,
|
|
|
},
|
|
|
on: {
|
|
|
- 'on-change': () => {
|
|
|
+ "on-change": () => {
|
|
|
self.currentChoose = params.row;
|
|
|
- }
|
|
|
- }
|
|
|
- })
|
|
|
- ])
|
|
|
- }
|
|
|
+ },
|
|
|
+ },
|
|
|
+ }),
|
|
|
+ ]);
|
|
|
+ },
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: "项目名称",
|
|
|
+ key: "client_name",
|
|
|
+ align: "center",
|
|
|
+ minWidth: 100,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: "紧急程度",
|
|
|
+ align: "center",
|
|
|
+ key: "warning_state",
|
|
|
+ minWidth: 80,
|
|
|
+ slot: "basicTypeSet",
|
|
|
},
|
|
|
- { title: '项目名称', key: 'client_name', align: 'center', minWidth: 100 },
|
|
|
- { title: '紧急程度', align: 'center', key: 'warning_state', minWidth: 80, slot: 'basicTypeSet', },
|
|
|
// {
|
|
|
// title: '紧急程度', key: 'state', align: 'center', minWidth: 80,
|
|
|
// render: (h, params) => {
|
|
@@ -390,212 +556,293 @@ export default {
|
|
|
// }
|
|
|
// },
|
|
|
{
|
|
|
- title: '创建时间', key: 'crt_time', align: 'center', minWidth: 110,
|
|
|
+ title: "创建时间",
|
|
|
+ key: "crt_time",
|
|
|
+ align: "center",
|
|
|
+ minWidth: 110,
|
|
|
render: (h, params) => {
|
|
|
- const { row } = params
|
|
|
- return h('span', {}, this.func.replaceDate(row.crt_time))
|
|
|
- }
|
|
|
+ const { row } = params;
|
|
|
+ return h("span", {}, this.func.replaceDate(row.crt_time));
|
|
|
+ },
|
|
|
},
|
|
|
],
|
|
|
+ warehouseTotal: [],
|
|
|
+ warehouse: {
|
|
|
+ warehouse_title: "",
|
|
|
+ num: "",
|
|
|
+ },
|
|
|
isCheck: false,
|
|
|
warningList: [],
|
|
|
- }
|
|
|
+ };
|
|
|
},
|
|
|
// 生命周期 - 创建完成(可以访问当前this实例)
|
|
|
- created () {
|
|
|
- this.$route.query.type == 2 ? this.isCheck = true : this.isCheck = false
|
|
|
+ created() {
|
|
|
+ this.$route.query.type == 2
|
|
|
+ ? (this.isCheck = true)
|
|
|
+ : (this.isCheck = false);
|
|
|
// 获取采购类型
|
|
|
- this.axios({ method: 'get', url: '/api/basic_purchase_list', }).then((res) => { this.purchaseTypeList = res.data.data }).catch((err) => { });
|
|
|
+ this.axios({ method: "get", url: "/api/basic_purchase_list" })
|
|
|
+ .then((res) => {
|
|
|
+ this.purchaseTypeList = res.data.data;
|
|
|
+ })
|
|
|
+ .catch((err) => {});
|
|
|
// 获取操作员
|
|
|
// this.axios('/api/user').then(res => this.salesmanList = res.data.data)
|
|
|
// 获取基础物料类型
|
|
|
- this.axios({ method: 'get', url: '/api/basics_material_index_level', }).then((res) => { this.modalData.treeData[0].list = res.data }).catch((err) => { });
|
|
|
+ this.axios({ method: "get", url: "/api/basics_material_index_level" })
|
|
|
+ .then((res) => {
|
|
|
+ this.modalData.treeData[0].list = res.data;
|
|
|
+ })
|
|
|
+ .catch((err) => {});
|
|
|
// 获取供应商列表
|
|
|
- this.axios({ method: 'get', url: '/api/supply_list', }).then((res) => { this.suppliersList = res.data.data }).catch((err) => { });
|
|
|
+ this.axios({ method: "get", url: "/api/supply_list" })
|
|
|
+ .then((res) => {
|
|
|
+ this.suppliersList = res.data.data;
|
|
|
+ })
|
|
|
+ .catch((err) => {});
|
|
|
// 获取项目列表
|
|
|
// this.axios({ method: 'get', url: '/api/order_index', }).then((res) => {
|
|
|
// this.modalProjectData.tableData = res.data.data
|
|
|
// this.modal_project_total = res.data.total
|
|
|
// }).catch((err) => { });
|
|
|
// 获取紧急程度
|
|
|
- this.axios.get('/api/warning_list').then(res => { this.warningList = res.data.data })
|
|
|
- this.initModal()
|
|
|
- this.initProjectModal()
|
|
|
+ this.axios.get("/api/warning_list").then((res) => {
|
|
|
+ this.warningList = res.data.data;
|
|
|
+ });
|
|
|
+ this.initModal();
|
|
|
+ this.initProjectModal();
|
|
|
},
|
|
|
// 生命周期 - 挂载完成(可以访问DOM元素)
|
|
|
- mounted () {
|
|
|
- if (this.$route.query.purchase_order_apply_no != '') {
|
|
|
+ mounted() {
|
|
|
+ if (this.$route.query.purchase_order_apply_no != "") {
|
|
|
this.initData();
|
|
|
}
|
|
|
},
|
|
|
methods: {
|
|
|
- initData () {
|
|
|
+ handleToolShow(index, row) {
|
|
|
+ if (row.warehouse_title) {
|
|
|
+ } else {
|
|
|
+ this.axios
|
|
|
+ .get("/api/warehouse_stock_number", {
|
|
|
+ params: {
|
|
|
+ material_id: row.material_id,
|
|
|
+ material_detail_id: row.material_detail_id,
|
|
|
+ },
|
|
|
+ })
|
|
|
+ .then((res) => {
|
|
|
+ row.warehouse_list = []
|
|
|
+ row.warehouse_list = res.data
|
|
|
+ });
|
|
|
+ }
|
|
|
+ // this.warehouse.num = this.warehouseTotal[index].num;
|
|
|
+ // this.warehouse.warehouseName = this.warehouseTotal[index].warehouseName
|
|
|
+ this.warehouse = this.warehouseTotal[index];
|
|
|
+ },
|
|
|
+ initData() {
|
|
|
this.axios({
|
|
|
- method: 'get',
|
|
|
- url: '/api/purchase_apply_detail',
|
|
|
+ method: "get",
|
|
|
+ url: "/api/purchase_apply_detail",
|
|
|
params: {
|
|
|
- purchase_order_apply_no: this.$route.query.purchase_order_apply_no
|
|
|
- }
|
|
|
- }).then((res) => {
|
|
|
- this.tableData = res.data.list
|
|
|
- this.searchData = res.data
|
|
|
- this.searchData.time = this.func.replaceDate(res.data.crt_time)
|
|
|
- this.tableData.forEach(element => {
|
|
|
- element.time = this.func.replaceDate(element.arrive_time)
|
|
|
- });
|
|
|
- }).catch((err) => { });
|
|
|
+ purchase_order_apply_no: this.$route.query.purchase_order_apply_no,
|
|
|
+ },
|
|
|
+ })
|
|
|
+ .then((res) => {
|
|
|
+ this.tableData = res.data.list;
|
|
|
+ this.searchData = res.data;
|
|
|
+ this.searchData.time = this.func.replaceDate(res.data.crt_time);
|
|
|
+ this.tableData.forEach((element) => {
|
|
|
+ element.time = this.func.replaceDate(element.arrive_time);
|
|
|
+ element.warehouse_list = []
|
|
|
+ });
|
|
|
+ // for (let key in this.tableData) {
|
|
|
+ // this.axios({
|
|
|
+ // method: "get",
|
|
|
+ // url: "/api/warehouse_stock_number",
|
|
|
+ // params: {
|
|
|
+ // material_id: this.tableData[key].material_id,
|
|
|
+ // material_detail_id: this.tableData[key].material_detail_id,
|
|
|
+ // },
|
|
|
+ // }).then((res) => {
|
|
|
+ // res.data.forEach((el) => {
|
|
|
+ // this.warehouseTotal.push(el);
|
|
|
+ // });
|
|
|
+ // });
|
|
|
+ // }
|
|
|
+ // console.log(this.warehouseTotal)
|
|
|
+ })
|
|
|
+ .catch((err) => {});
|
|
|
},
|
|
|
- handleTreeSlect (array, row) {
|
|
|
- row.id && this.axios({
|
|
|
- method: 'get',
|
|
|
- url: '/api/material_detail_list',
|
|
|
- params: {
|
|
|
- page_index: this.modal_page_index,
|
|
|
- page_size: this.modal_page_size,
|
|
|
- m_id: row.id
|
|
|
- }
|
|
|
- }).then((res) => {
|
|
|
- this.modal_total = res.data.total
|
|
|
- this.modalData.tableData = res.data.data
|
|
|
- }).catch((err) => { });
|
|
|
+ handleTreeSlect(array, row) {
|
|
|
+ row.id &&
|
|
|
+ this.axios({
|
|
|
+ method: "get",
|
|
|
+ url: "/api/material_detail_list",
|
|
|
+ params: {
|
|
|
+ page_index: this.modal_page_index,
|
|
|
+ page_size: this.modal_page_size,
|
|
|
+ m_id: row.id,
|
|
|
+ },
|
|
|
+ })
|
|
|
+ .then((res) => {
|
|
|
+ this.modal_total = res.data.total;
|
|
|
+ this.modalData.tableData = res.data.data;
|
|
|
+ })
|
|
|
+ .catch((err) => {});
|
|
|
},
|
|
|
- handleSet (type, row, index) {
|
|
|
- this.tableData.splice(index, 1)
|
|
|
+ handleSet(type, row, index) {
|
|
|
+ this.tableData.splice(index, 1);
|
|
|
},
|
|
|
- handleSelection (selection, row) {
|
|
|
- this.modalData.selectedData.push(row)
|
|
|
+ handleSelection(selection, row) {
|
|
|
+ this.modalData.selectedData.push(row);
|
|
|
},
|
|
|
- handleSelectionCancel (selection, row) {
|
|
|
+ handleSelectionCancel(selection, row) {
|
|
|
this.modalData.selectedData.forEach((element, index) => {
|
|
|
if (element.material_detail_id == row.material_detail_id) {
|
|
|
- this.modalData.selectedData.splice(index, 1)
|
|
|
+ this.modalData.selectedData.splice(index, 1);
|
|
|
}
|
|
|
});
|
|
|
},
|
|
|
- handleSelectionAll (selection) {
|
|
|
- this.modalData.selectedData = this.modalData.selectedData.concat(selection)
|
|
|
+ handleSelectionAll(selection) {
|
|
|
+ this.modalData.selectedData =
|
|
|
+ this.modalData.selectedData.concat(selection);
|
|
|
},
|
|
|
- handleSelectionAllCancel () {
|
|
|
- this.modalData.tableData.forEach(element => {
|
|
|
- this.modalData.selectedData = this.modalData.selectedData.filter((x) => {
|
|
|
- return x.material_detail_id != element.material_detail_id
|
|
|
- })
|
|
|
+ handleSelectionAllCancel() {
|
|
|
+ this.modalData.tableData.forEach((element) => {
|
|
|
+ this.modalData.selectedData = this.modalData.selectedData.filter(
|
|
|
+ (x) => {
|
|
|
+ return x.material_detail_id != element.material_detail_id;
|
|
|
+ }
|
|
|
+ );
|
|
|
});
|
|
|
},
|
|
|
- reselection () {
|
|
|
- this.modalData.selectedData.forEach(element => {
|
|
|
+ reselection() {
|
|
|
+ this.modalData.selectedData.forEach((element) => {
|
|
|
this.modalData.tableData.forEach((ele, idx) => {
|
|
|
if (element.material_detail_id == ele.material_detail_id) {
|
|
|
this.$nextTick(() => {
|
|
|
- this.$refs.modelTable.$refs.tbody.objData[idx]._isChecked = true
|
|
|
- this.$forceUpdate()
|
|
|
- })
|
|
|
+ this.$refs.modelTable.$refs.tbody.objData[idx]._isChecked = true;
|
|
|
+ this.$forceUpdate();
|
|
|
+ });
|
|
|
}
|
|
|
});
|
|
|
});
|
|
|
},
|
|
|
- changeModalSize (e) {
|
|
|
+ changeModalSize(e) {
|
|
|
this.modal_page_size = e;
|
|
|
- this.initModal()
|
|
|
+ this.initModal();
|
|
|
},
|
|
|
- changeModalPage (e) {
|
|
|
+ changeModalPage(e) {
|
|
|
this.modal_page_index = e;
|
|
|
- this.initModal()
|
|
|
+ this.initModal();
|
|
|
},
|
|
|
- changeProjectModalSize (e) {
|
|
|
- this.modal_project_page_size = e
|
|
|
- this.initProjectModal()
|
|
|
+ changeProjectModalSize(e) {
|
|
|
+ this.modal_project_page_size = e;
|
|
|
+ this.initProjectModal();
|
|
|
},
|
|
|
- changeProjectModalPage (e) {
|
|
|
- this.modal_project_page_index = e
|
|
|
- this.initProjectModal()
|
|
|
+ changeProjectModalPage(e) {
|
|
|
+ this.modal_project_page_index = e;
|
|
|
+ this.initProjectModal();
|
|
|
},
|
|
|
- handleSelectedDele (row, index) {
|
|
|
- this.modalData.selectedData.splice(index, 1)
|
|
|
+ handleSelectedDele(row, index) {
|
|
|
+ this.modalData.selectedData.splice(index, 1);
|
|
|
},
|
|
|
- initModal () {
|
|
|
+ initModal() {
|
|
|
this.axios({
|
|
|
- method: 'get',
|
|
|
- url: '/api/material_detail_list',
|
|
|
+ method: "get",
|
|
|
+ url: "/api/material_detail_list",
|
|
|
params: {
|
|
|
page_index: this.modal_page_index,
|
|
|
page_size: this.modal_page_size,
|
|
|
- title: this.modalData.title
|
|
|
- }
|
|
|
- }).then((res) => {
|
|
|
- this.modal_total = res.data.total
|
|
|
- this.modalData.tableData = res.data.data
|
|
|
- this.reselection()
|
|
|
- }).catch((err) => { });
|
|
|
+ title: this.modalData.title,
|
|
|
+ },
|
|
|
+ })
|
|
|
+ .then((res) => {
|
|
|
+ this.modal_total = res.data.total;
|
|
|
+ this.modalData.tableData = res.data.data;
|
|
|
+ this.reselection();
|
|
|
+ })
|
|
|
+ .catch((err) => {});
|
|
|
},
|
|
|
- initProjectModal () {
|
|
|
+ initProjectModal() {
|
|
|
this.axios({
|
|
|
- method: 'get',
|
|
|
- url: '/api/order_index',
|
|
|
+ method: "get",
|
|
|
+ url: "/api/order_index",
|
|
|
params: {
|
|
|
page_index: this.modal_project_page_index,
|
|
|
page_size: this.modal_project_page_size,
|
|
|
- title: this.modalProjectData.title
|
|
|
- }
|
|
|
- }).then((res) => {
|
|
|
- this.modal_project_total = res.data.total
|
|
|
- this.modalProjectData.tableData = res.data.data
|
|
|
- }).catch((err) => { });
|
|
|
+ title: this.modalProjectData.title,
|
|
|
+ },
|
|
|
+ })
|
|
|
+ .then((res) => {
|
|
|
+ this.modal_project_total = res.data.total;
|
|
|
+ this.modalProjectData.tableData = res.data.data;
|
|
|
+ })
|
|
|
+ .catch((err) => {});
|
|
|
},
|
|
|
- handleSelect () {
|
|
|
- this.modalData.selectedData.forEach(element => {
|
|
|
- element.material_id = element.m_id
|
|
|
- element.type_title = element.m_title
|
|
|
+ handleSelect() {
|
|
|
+ this.modalData.selectedData.forEach((element) => {
|
|
|
+ element.material_id = element.m_id;
|
|
|
+ element.type_title = element.m_title;
|
|
|
// element.arrive_time = this.func.replaceDate(element.arrive_time)
|
|
|
- element.num = null
|
|
|
+ element.num = null;
|
|
|
// element.arrive_time = null
|
|
|
- element.supply_id = null
|
|
|
+ element.supply_id = null;
|
|
|
});
|
|
|
// this.tableData = [...this.tableData, ...this.modalData.selectedData]
|
|
|
- this.tableData.splice((this.tableData.length - 1), 0, ...this.modalData.selectedData)
|
|
|
+ this.tableData.splice(
|
|
|
+ this.tableData.length - 1,
|
|
|
+ 0,
|
|
|
+ ...this.modalData.selectedData
|
|
|
+ );
|
|
|
// console.log('this.modalData.selectedData :>> ', this.modalData.selectedData);
|
|
|
},
|
|
|
- handleProjectSelect () {
|
|
|
- this.searchData.client_name = this.currentChoose.client_name
|
|
|
- this.searchData.order_no = this.currentChoose.order_no
|
|
|
+ handleProjectSelect() {
|
|
|
+ this.searchData.client_name = this.currentChoose.client_name;
|
|
|
+ this.searchData.order_no = this.currentChoose.order_no;
|
|
|
+ },
|
|
|
+ goBack() {
|
|
|
+ this.$router.go(-1);
|
|
|
},
|
|
|
- goBack () { this.$router.go(-1) },
|
|
|
- postData () {
|
|
|
- this.searchData.crt_time = parseInt(new Date(this.searchData.time).getTime() / 1000) || ''
|
|
|
- this.tableData.forEach(element => {
|
|
|
- element.arrive_time = parseInt(new Date(element.time).getTime() / 1000) || ''
|
|
|
+ postData() {
|
|
|
+ this.searchData.crt_time =
|
|
|
+ parseInt(new Date(this.searchData.time).getTime() / 1000) || "";
|
|
|
+ this.tableData.forEach((element) => {
|
|
|
+ element.arrive_time =
|
|
|
+ parseInt(new Date(element.time).getTime() / 1000) || "";
|
|
|
});
|
|
|
- let url
|
|
|
- if (this.$route.query.purchase_order_apply_no == '') {
|
|
|
- url = '/api/purchase_apply_add'
|
|
|
+ let url;
|
|
|
+ if (this.$route.query.purchase_order_apply_no == "") {
|
|
|
+ url = "/api/purchase_apply_add";
|
|
|
} else {
|
|
|
- url = '/api/purchase_apply_edit'
|
|
|
+ url = "/api/purchase_apply_edit";
|
|
|
}
|
|
|
this.axios({
|
|
|
- method: 'post',
|
|
|
+ method: "post",
|
|
|
url,
|
|
|
data: {
|
|
|
...this.searchData,
|
|
|
- list: this.tableData
|
|
|
- }
|
|
|
- }).then((res) => {
|
|
|
- this.$Message.success(res.msg)
|
|
|
- this.goBack()
|
|
|
- }).catch((err) => { });
|
|
|
+ list: this.tableData,
|
|
|
+ },
|
|
|
+ })
|
|
|
+ .then((res) => {
|
|
|
+ this.$Message.success(res.msg);
|
|
|
+ this.goBack();
|
|
|
+ })
|
|
|
+ .catch((err) => {});
|
|
|
},
|
|
|
},
|
|
|
// 监听属性 类似于data概念
|
|
|
computed: {},
|
|
|
// 监控data中的数据变化
|
|
|
watch: {},
|
|
|
- beforeCreate () { }, // 生命周期 - 创建之前
|
|
|
- beforeMount () { }, // 生命周期 - 挂载之前
|
|
|
- beforeUpdate () { }, // 生命周期 - 更新之前
|
|
|
- updated () { }, // 生命周期 - 更新之后
|
|
|
- beforeDestroy () { }, // 生命周期 - 销毁之前
|
|
|
- destroyed () { }, // 生命周期 - 销毁完成
|
|
|
- activated () { }, // 如果页面有keep-alive缓存功能,这个函数会触发
|
|
|
-}
|
|
|
+ beforeCreate() {}, // 生命周期 - 创建之前
|
|
|
+ beforeMount() {}, // 生命周期 - 挂载之前
|
|
|
+ beforeUpdate() {}, // 生命周期 - 更新之前
|
|
|
+ updated() {}, // 生命周期 - 更新之后
|
|
|
+ beforeDestroy() {}, // 生命周期 - 销毁之前
|
|
|
+ destroyed() {}, // 生命周期 - 销毁完成
|
|
|
+ activated() {}, // 如果页面有keep-alive缓存功能,这个函数会触发
|
|
|
+};
|
|
|
</script>
|
|
|
|
|
|
<style lang='scss' scoped>
|