|
@@ -439,44 +439,73 @@
|
|
<span>{{ scope.row.specification }}</span>
|
|
<span>{{ scope.row.specification }}</span>
|
|
</template>
|
|
</template>
|
|
</el-table-column>
|
|
</el-table-column>
|
|
-
|
|
|
|
<el-table-column
|
|
<el-table-column
|
|
align="left"
|
|
align="left"
|
|
label="实装规格型号"
|
|
label="实装规格型号"
|
|
- prop="realSpecification"
|
|
|
|
|
|
+ prop="depositSpecification"
|
|
min-width="300"
|
|
min-width="300"
|
|
show-overflow-tooltip
|
|
show-overflow-tooltip
|
|
>
|
|
>
|
|
<template slot-scope="scope">
|
|
<template slot-scope="scope">
|
|
- <div :style="scope.row.realSpecification != scope.row.specification ? { color: 'blue' } : ''">
|
|
|
|
- {{ scope.row.realSpecification }}
|
|
|
|
|
|
+ <div v-if="title=='详情'" :class="scope.row.realSpecification != scope.row.specification ? 'input' : scope.row.depositSpecification !=scope.row.realSpecification ? 'input2':'' ">
|
|
|
|
+ {{ scope.row.depositSpecification }}
|
|
</div>
|
|
</div>
|
|
|
|
+ <el-input
|
|
|
|
+ v-else
|
|
|
|
+ v-model="scope.row.depositSpecification"
|
|
|
|
+ :class="scope.row.realSpecification != scope.row.specification ? 'input' : scope.row.depositSpecification !=scope.row.realSpecification ? 'input2':'' "
|
|
|
|
+ size="mini"
|
|
|
|
+ readonly
|
|
|
|
+ @click.native="getRealMaterData(scope.$index)"
|
|
|
|
+ />
|
|
</template>
|
|
</template>
|
|
</el-table-column>
|
|
</el-table-column>
|
|
<el-table-column
|
|
<el-table-column
|
|
align="left"
|
|
align="left"
|
|
label="实装物料编号"
|
|
label="实装物料编号"
|
|
- prop="realMaterialNumber"
|
|
|
|
|
|
+ prop="depositMaterialNumber"
|
|
min-width="150"
|
|
min-width="150"
|
|
show-overflow-tooltip
|
|
show-overflow-tooltip
|
|
>
|
|
>
|
|
<template slot-scope="scope">
|
|
<template slot-scope="scope">
|
|
- <div :style="scope.row.realMaterialNumber != scope.row.materialNumber ? { color: 'blue' } : ''">
|
|
|
|
- {{ scope.row.realMaterialNumber }}
|
|
|
|
|
|
+ <div
|
|
|
|
+ v-if="title=='详情'"
|
|
|
|
+ :class="scope.row.realMaterialNumber != scope.row.materialNumber? 'input' : scope.row.depositMaterialNumber != scope.row.realMaterialNumber? 'input2':'' "
|
|
|
|
+ >
|
|
|
|
+ {{ scope.row.depositMaterialNumber }}
|
|
</div>
|
|
</div>
|
|
|
|
+ <el-input
|
|
|
|
+ v-else
|
|
|
|
+ v-model="scope.row.depositMaterialNumber"
|
|
|
|
+ :class="scope.row.realMaterialNumber != scope.row.materialNumber? 'input' : scope.row.depositMaterialNumber != scope.row.realMaterialNumber? 'input2':'' "
|
|
|
|
+ size="mini"
|
|
|
|
+ readonly
|
|
|
|
+ @click.native="getRealMaterData(scope.$index)"
|
|
|
|
+ />
|
|
</template>
|
|
</template>
|
|
</el-table-column>
|
|
</el-table-column>
|
|
<el-table-column
|
|
<el-table-column
|
|
align="left"
|
|
align="left"
|
|
label="实装厂产品编码"
|
|
label="实装厂产品编码"
|
|
- prop="realMaterialOldNumber"
|
|
|
|
|
|
+ prop="depositMaterial0ldNumber"
|
|
min-width="200"
|
|
min-width="200"
|
|
show-overflow-tooltip
|
|
show-overflow-tooltip
|
|
>
|
|
>
|
|
<template slot-scope="scope">
|
|
<template slot-scope="scope">
|
|
- <div :style="scope.row.realMaterialOldNumber != scope.row.materialOldNumber ? { color: 'blue' } : ''">
|
|
|
|
- {{ scope.row.realMaterialOldNumber }}
|
|
|
|
|
|
+ <div
|
|
|
|
+ v-if="title=='详情'"
|
|
|
|
+ :class="scope.row.realMaterialOldNumber != scope.row.materialOldNumber? 'input' : scope.row.depositMaterial0ldNumber != scope.row.realMaterialOldNumber? 'input2':'' "
|
|
|
|
+ >
|
|
|
|
+ {{ scope.row.depositMaterial0ldNumber }}
|
|
</div>
|
|
</div>
|
|
|
|
+ <el-input
|
|
|
|
+ v-else
|
|
|
|
+ v-model="scope.row.depositMaterial0ldNumber"
|
|
|
|
+ :class="scope.row.realMaterialOldNumber != scope.row.materialOldNumber? 'input' : scope.row.depositMaterial0ldNumber != scope.row.realMaterialOldNumber? 'input2':'' "
|
|
|
|
+ size="mini"
|
|
|
|
+ readonly
|
|
|
|
+ @click.native="getRealMaterData(scope.$index)"
|
|
|
|
+ />
|
|
</template>
|
|
</template>
|
|
</el-table-column>
|
|
</el-table-column>
|
|
<el-table-column align="right" label="单价" prop="price" min-width="160" show-overflow-tooltip>
|
|
<el-table-column align="right" label="单价" prop="price" min-width="160" show-overflow-tooltip>
|
|
@@ -1065,6 +1094,78 @@
|
|
<el-button v-if="title == '详情'" type="primary" size="small" @click="saveFn">保存</el-button>
|
|
<el-button v-if="title == '详情'" type="primary" size="small" @click="saveFn">保存</el-button>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
+ <el-dialog title="添加产品" append-to-body :visible.sync="isSetMaterial" width="80%">
|
|
|
|
+ <el-form ref="goodsScreenForm" :model="goodsScreenForm" size="small" label-position="left">
|
|
|
|
+ <el-row :gutter="20">
|
|
|
|
+ <el-col :xs="12" :sm="6" :lg="6">
|
|
|
|
+ <el-form-item prop="proNum">
|
|
|
|
+ <el-input v-model="goodsScreenForm.proNum" placeholder="请输入物料编码" />
|
|
|
|
+ </el-form-item>
|
|
|
|
+ </el-col>
|
|
|
|
+ <el-col :xs="12" :sm="6" :lg="6">
|
|
|
|
+ <el-form-item prop="proName">
|
|
|
|
+ <el-input v-model="goodsScreenForm.proName" placeholder="请输入产品名称" />
|
|
|
|
+ </el-form-item>
|
|
|
|
+ </el-col>
|
|
|
|
+ <el-col :xs="12" :sm="6" :lg="6">
|
|
|
|
+ <el-form-item prop="proModel">
|
|
|
|
+ <el-input v-model="goodsScreenForm.proModel" placeholder="请输入产品型号" />
|
|
|
|
+ </el-form-item>
|
|
|
|
+ </el-col>
|
|
|
|
+ <el-col :xs="12" :sm="6" :lg="6">
|
|
|
|
+ <el-form-item prop="price1" style="display: flex">
|
|
|
|
+ <el-input v-model="goodsScreenForm.price1" placeholder="请输入价格" style="width: 46%" />
|
|
|
|
+ <span> - </span>
|
|
|
|
+ <el-input v-model="goodsScreenForm.price2" placeholder="请输入价格" style="width: 46%" />
|
|
|
|
+ </el-form-item>
|
|
|
|
+ </el-col>
|
|
|
|
+ <el-col :xs="24" :sm="24" :lg="24" class="tr">
|
|
|
|
+ <el-form-item label="">
|
|
|
|
+ <el-button size="small" @click="resetGoodsScreenForm">清空</el-button>
|
|
|
|
+ <el-button size="small" type="primary" @click="submitGoodsScreenForm">搜索</el-button>
|
|
|
|
+ </el-form-item>
|
|
|
|
+ </el-col>
|
|
|
|
+ </el-row>
|
|
|
|
+ </el-form>
|
|
|
|
+
|
|
|
|
+ <div>
|
|
|
|
+ <el-table :data="leftGoodsList" element-loading-text="Loading" border fit stripe height="400">
|
|
|
|
+ <el-table-column align="center" width="55">
|
|
|
|
+ <template slot-scope="scope">
|
|
|
|
+ <el-radio v-model="currentRadio" :label="scope.row.id">{{ '' }}</el-radio>
|
|
|
|
+ </template>
|
|
|
|
+ </el-table-column>
|
|
|
|
+ <el-table-column align="center" label="销售类型" prop="saleName" min-width="100" show-overflow-tooltip />
|
|
|
|
+ <el-table-column align="center" label="物料编码" prop="number" min-width="100" show-overflow-tooltip />
|
|
|
|
+ <el-table-column
|
|
|
|
+ align="center"
|
|
|
|
+ label="产品编码"
|
|
|
|
+ prop="materialOldNumber"
|
|
|
|
+ min-width="100"
|
|
|
|
+ show-overflow-tooltip
|
|
|
|
+ />
|
|
|
|
+ <el-table-column align="center" label="产品名称" prop="name" min-width="160" show-overflow-tooltip />
|
|
|
|
+ <el-table-column align="center" label="产品型号" prop="specification" min-width="160" show-overflow-tooltip />
|
|
|
|
+ <el-table-column align="center" label="产品价格" prop="batchPrice" min-width="80" show-overflow-tooltip />
|
|
|
|
+ </el-table>
|
|
|
|
+ <div class="pagination clearfix" style="margin-top: 10px">
|
|
|
|
+ <div class="fr">
|
|
|
|
+ <el-pagination
|
|
|
|
+ :current-page="currentPage"
|
|
|
|
+ :page-size="10"
|
|
|
|
+ background
|
|
|
|
+ layout="prev, pager, next"
|
|
|
|
+ :total="listTotal"
|
|
|
|
+ @current-change="handleTableCurrentChange"
|
|
|
|
+ />
|
|
|
|
+ </div>
|
|
|
|
+ </div>
|
|
|
|
+ </div>
|
|
|
|
+ <span slot="footer" class="dialog-footer">
|
|
|
|
+ <el-button @click="closeDialog">取 消</el-button>
|
|
|
|
+ <el-button type="primary" @click="submitPushGoods">确 定</el-button>
|
|
|
|
+ </span>
|
|
|
|
+ </el-dialog>
|
|
</div>
|
|
</div>
|
|
</template>
|
|
</template>
|
|
|
|
|
|
@@ -1078,6 +1179,9 @@ import {
|
|
editManageExamine,
|
|
editManageExamine,
|
|
getDepositManageEdit
|
|
getDepositManageEdit
|
|
} from '@/api/engin_deposit/refund_list'
|
|
} from '@/api/engin_deposit/refund_list'
|
|
|
|
+import {
|
|
|
|
+ getRetailProductList
|
|
|
|
+} from '@/api/supply/engin'
|
|
import { computeDiff } from '@/api/engin_deposit.js'
|
|
import { computeDiff } from '@/api/engin_deposit.js'
|
|
|
|
|
|
export default {
|
|
export default {
|
|
@@ -1115,7 +1219,20 @@ export default {
|
|
restrictFilename: ['结算单', '合同', '明细表', '审核表', '收据', '发票', '照片', '相片'],
|
|
restrictFilename: ['结算单', '合同', '明细表', '审核表', '收据', '发票', '照片', '相片'],
|
|
datTate: new Date(),
|
|
datTate: new Date(),
|
|
amendData: [],
|
|
amendData: [],
|
|
- original: []
|
|
|
|
|
|
+ original: [],
|
|
|
|
+ goodsScreenForm: {
|
|
|
|
+ proNum: '',
|
|
|
|
+ proName: '',
|
|
|
|
+ proModel: '',
|
|
|
|
+ price1: '',
|
|
|
|
+ price2: ''
|
|
|
|
+ },
|
|
|
|
+ isSetMaterial: false,
|
|
|
|
+ currentRadio: '',
|
|
|
|
+ currentId: '',
|
|
|
|
+ leftGoodsList: [],
|
|
|
|
+ listTotal: 0,
|
|
|
|
+ currentPage: 1
|
|
}
|
|
}
|
|
},
|
|
},
|
|
watch: {
|
|
watch: {
|
|
@@ -1470,12 +1587,84 @@ export default {
|
|
|
|
|
|
goBack() {
|
|
goBack() {
|
|
this.$emit('setShowPage', 0)
|
|
this.$emit('setShowPage', 0)
|
|
|
|
+ },
|
|
|
|
+ getRealMaterData(id) {
|
|
|
|
+ this.currentId = id
|
|
|
|
+ this.isSetMaterial = true
|
|
|
|
+ this.getGoodsList()
|
|
|
|
+ },
|
|
|
|
+ // 获取商品列表
|
|
|
|
+ getGoodsList() {
|
|
|
|
+ getRetailProductList({
|
|
|
|
+ pageNum: this.currentPage,
|
|
|
|
+ pageSize: 10,
|
|
|
|
+ saleId: '',
|
|
|
|
+ billType: 'HOME',
|
|
|
|
+ materialCode: this.goodsScreenForm.proNum,
|
|
|
|
+ materialName: this.goodsScreenForm.proName,
|
|
|
|
+ specification: this.goodsScreenForm.proModel,
|
|
|
|
+ price1: this.goodsScreenForm.price1,
|
|
|
|
+ price2: this.goodsScreenForm.price2,
|
|
|
|
+ refEnginRecordNo: '',
|
|
|
|
+ customerId: ''
|
|
|
|
+ }).then(res => {
|
|
|
|
+ this.leftGoodsList = res.data.records
|
|
|
|
+ this.listTotal = res.data.total
|
|
|
|
+ })
|
|
|
|
+ },
|
|
|
|
+ submitPushGoods() {
|
|
|
|
+ // realMaterialId
|
|
|
|
+ // 实装金蝶物料id
|
|
|
|
+ // realMaterialName
|
|
|
|
+ // 实装金蝶物料名称
|
|
|
|
+ // realMaterialNumber
|
|
|
|
+ // 实装金蝶物料编码
|
|
|
|
+ // realMaterialOldNumber
|
|
|
|
+ // 实装金蝶物料旧编码
|
|
|
|
+ // realSpecification
|
|
|
|
+ // 实装规格型号
|
|
|
|
+ const currentData = this.leftGoodsList.find(e => e.id === this.currentRadio)
|
|
|
|
+ this.$set(this.detailList.items[this.currentId], 'depositMaterialId', currentData.materialId)
|
|
|
|
+ this.$set(this.detailList.items[this.currentId], 'depositMaterialName', currentData.materialName)
|
|
|
|
+ this.$set(this.detailList.items[this.currentId], 'depositMaterialNumber', currentData.materialNumber)
|
|
|
|
+ this.$set(this.detailList.items[this.currentId], 'depositMaterial0ldNumber', currentData.materialOldNumber)
|
|
|
|
+ this.$set(this.detailList.items[this.currentId], 'depositSpecification', currentData.specification)
|
|
|
|
+ this.isSetMaterial = false
|
|
|
|
+ },
|
|
|
|
+ // 关闭 弹窗
|
|
|
|
+ closeDialog() {
|
|
|
|
+ this.isSetMaterial = false
|
|
|
|
+ },
|
|
|
|
+
|
|
|
|
+ // 更改列表当前页
|
|
|
|
+ handleTableCurrentChange(val) {
|
|
|
|
+ this.currentPage = val
|
|
|
|
+ this.getGoodsList()
|
|
|
|
+ },
|
|
|
|
+ // 重置筛选表单
|
|
|
|
+ resetGoodsScreenForm() {
|
|
|
|
+ this.$refs.goodsScreenForm.resetFields()
|
|
|
|
+ this.currentRadio = ''
|
|
|
|
+ this.currentPage = 1
|
|
|
|
+ this.getGoodsList()
|
|
|
|
+ },
|
|
|
|
+ // 提交筛选表单
|
|
|
|
+ submitGoodsScreenForm() {
|
|
|
|
+ this.currentPage = 1
|
|
|
|
+ this.getGoodsList()
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
</script>
|
|
</script>
|
|
|
|
|
|
<style lang="scss" scoped>
|
|
<style lang="scss" scoped>
|
|
|
|
+
|
|
|
|
+::v-deep .input .el-input__inner {
|
|
|
|
+ color: blue !important;
|
|
|
|
+}
|
|
|
|
+::v-deep .input2 .el-input__inner {
|
|
|
|
+ color: #f00 !important;
|
|
|
|
+}
|
|
.inpt {
|
|
.inpt {
|
|
::v-deep .el-input__inner {
|
|
::v-deep .el-input__inner {
|
|
text-align: right;
|
|
text-align: right;
|