123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198 |
- <template>
- <div>
- <el-page-header @back="$parent.pageType=0" :content="detailsId?'编辑':'新增'" style=" padding: 20px 20px 0 20px;"></el-page-header>
- <sales-header ref="header" />
- <sales-table :dataList="dataList" :column="column" isOperation isSelection @handleSelection="handleSelection">
- <template #bts>
- <div>
- <el-button type="primary" size="mini" @click="dialogVisible=true">添加</el-button>
- <el-button type="danger" size="mini" @click="delChange">删除</el-button>
- </div>
- </template>
- <template #events>
- <div v-if="!detailsId">
- <el-button type="primary" size="mini" @click="handelSubmit(1)">提交</el-button>
- <el-button size="mini">重置</el-button>
- <el-button size="mini" :disabled="dis" @click="handleInform(2)">通知发货</el-button>
- </div>
- <div v-else>
- <el-button type="primary" size="mini" @click="handelSubmit(2)">保存</el-button>
- <el-button size="mini">重置</el-button>
- </div>
- </template>
- <template v-slot:custom="{item:{row,$index}}">
- <el-radio label="1" v-model="row.flag">增加</el-radio>
- <el-radio label="-1" v-model="row.flag">减少</el-radio>
- </template>
- <template v-slot:operation="{item:{row,$index}}">
- <el-popconfirm
- style="margin-left: 10px"
- title="删除?"
- @onConfirm="handleDel(row,$index)"
- >
- <el-button slot="reference" type="text" size="mini">删除</el-button>
- </el-popconfirm>
- </template>
- </sales-table>
- <sales-dialog :dialogVisible="dialogVisible" :customerNumber="customerNumber" :func="getDialogList"
- @confirm="confirm"
- />
- </div>
- </template>
- <script>
- import SalesDialog from '@/components/SalesDialog/SalesDialog'
- import SalesHeader from '@/components/SalesHeader/SalesHeader'
- import SalesTable from '@/components/SalesTable/SalesTable'
- import { addFrontOrder, getFrontOrderDetail, sbumitFrontOrder, updateFrontOrder } from '@/api/sales'
- import { getcustomerFrontList } from '@/api/stock'
- export default {
- name: 'WarehouseForm',
- components: {
- SalesHeader,
- SalesTable,
- SalesDialog
- },
- props:['detailsId'],
- data() {
- return {
- dialogVisible: false,
- customerNumber: '',
- dataList: [],
- selection: [],
- flag: 1,
- dis:true,
- column: [
- {
- prop: 'materialName',
- label: '产品名称',
- width: '180'
- },
- {
- prop: 'materialOldNumber',
- label: '物料编码',
- width: '180'
- },
- {
- prop: 'specification',
- label: '规格型号',
- width: '300'
- },
- {
- prop: 'stockLockQty',
- label: '库存数量',
- width: '180'
- },
- {
- prop: 'qty',
- label: '数量',
- width: '180',
- isInput: true
- },
- {
- prop: 'volume',
- label: '体积',
- width: '180'
- },
- {
- prop: 'totalVolume',
- label: '总体积',
- width: '180'
- },
- {
- prop: 'notes',
- label: '备注',
- width: '180',
- isInput: true
- }
- ]
- }
- },
- created() {
- if (this.$parent.pageType == 2 || this.detailsId) {
- getFrontOrderDetail({id:this.detailsId}).then(res=>{
- this.dataList = res.data.orders
- this.$refs.header.screenForm = res.data
- this.$refs.header.screenForm.provinceId = res.data.province
- this.$refs.header.screenForm.cityId = res.data.city
- this.$refs.header.screenForm.areaId = res.data.area
- this.$refs.header.screenForm.streetId = res.data.street
- this.$refs.header.screenForm.stockType = res.data.stockType == 1 ? '前置仓' : '商家仓'
- })
- }
- },
- methods: {
- getDialogList(p) {
- return getcustomerFrontList(...p)
- },
- confirm(selected) {
- // console.log(selected)
- this.dataList = selected
- this.$refs.header.screenForm.customerName = this.dataList[0].customerName
- this.$refs.header.screenForm.customerNumber = this.dataList[0].customerNumber
- this.$refs.header.screenForm.stockType = this.dataList[0].stockType
- this.customerNumber = this.dataList[0].customerNumber
- this.dialogVisible = false
- },
- handleDel(item, index) {
- this.dataList.splice(index, 1)
- },
- delChange() {
- this.dataList.forEach((k, i) => {
- this.selection.forEach((l, e) => {
- if (k.id === l.id) {
- this.dataList.splice(i, 1)
- this.selection.splice(e, 1)
- }
- })
- })
- },
- handleSelection(data) {
- this.selection = data
- },
- handleInform(status=2){
- console.log(33)
- sbumitFrontOrder({id:this.$refs.header.screenForm.id,status}).then(res=>{
- console.log(res)
- })
- },
- handelSubmit(type,status=1) {
- this.dataList.forEach(k => {
- k.id = ''
- k.directFlag = k.flag
- })
- const params = {
- ...this.$refs.header.screenForm,
- orders: this.dataList,
- status:status
- }
- if (type==1){
- params.id = ''
- addFrontOrder(params).then(res => {
- this.$successMsg('新增成功')
- this.dis = false
- this.$parent.pageType = 0
- this.$forceUpdate()
- })
- }else {
- updateFrontOrder(params).then(res=>{
- this.$successMsg('编辑成功')
- this.$parent.pageType = 0
- this.$forceUpdate()
- })
- }
- }
- }
- }
- </script>
- <style scoped>
- </style>
|