|
@@ -1,6 +1,12 @@
|
|
import ImageUpload from '@/components/file-upload'
|
|
import ImageUpload from '@/components/file-upload'
|
|
import { getWebsit } from "@/api/customerManagement.js"
|
|
import { getWebsit } from "@/api/customerManagement.js"
|
|
import { listPageV2 } from "@/api/auxiliaryFittings/supplier";
|
|
import { listPageV2 } from "@/api/auxiliaryFittings/supplier";
|
|
|
|
+import { materialCategoryList } from "@/api/auxiliaryMaterialClass";
|
|
|
|
+import { materialNormList } from "@/api/auxiliaryPriceManagement";
|
|
|
|
+import { listPageV2 as peijianList } from "@/api/auxiliaryFittings/attachmentProfile";
|
|
|
|
+import { websitPurchaseInList, websitPurchaseInImport, websitPurchaseRetImport, websitPurchaseInDetail } from "@/api/purchasingManagement.js"
|
|
|
|
+import { commonTemplateDownload } from '@/api/common.js'
|
|
|
|
+import { required, mobileRequired, mobile } from '@/components/template/rules_verify.js'
|
|
export default {
|
|
export default {
|
|
data() {
|
|
data() {
|
|
return {
|
|
return {
|
|
@@ -15,6 +21,64 @@ export default {
|
|
}
|
|
}
|
|
],
|
|
],
|
|
],
|
|
],
|
|
|
|
+ [
|
|
|
|
+ [
|
|
|
|
+ {
|
|
|
|
+ isRole: !!~['auxiliaryMaterialsStorage'].indexOf(this?.$route?.name),
|
|
|
|
+ name: '采购入库模板',
|
|
|
|
+ click: () => {
|
|
|
|
+ commonTemplateDownload({ name: '采购入库模板.xlsx' }, `${this.$route.meta.title}`)
|
|
|
|
+ .then(res => {
|
|
|
|
+ this.$message({
|
|
|
|
+ message: '下载成功',
|
|
|
|
+ type: 'success'
|
|
|
|
+ })
|
|
|
|
+ })
|
|
|
|
+ .catch(err => {
|
|
|
|
+ this.$message.error('下载失败')
|
|
|
|
+ })
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ ],
|
|
|
|
+ [
|
|
|
|
+ {
|
|
|
|
+ isRole: !!~['auxiliaryMaterialsStorage'].indexOf(this?.$route?.name),
|
|
|
|
+ name: '导入模板',
|
|
|
|
+ render: () => {
|
|
|
|
+ return this.importButton(websitPurchaseInImport, '导入模板')
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ ],
|
|
|
|
+ ],
|
|
|
|
+ [
|
|
|
|
+ [
|
|
|
|
+ {
|
|
|
|
+ isRole: !!~['partsStorage'].indexOf(this?.$route?.name),
|
|
|
|
+ name: '采购退货模板',
|
|
|
|
+ click: () => {
|
|
|
|
+ commonTemplateDownload({ name: '采购退货模板.xlsx' }, `${this.$route.meta.title}`)
|
|
|
|
+ .then(res => {
|
|
|
|
+ this.$message({
|
|
|
|
+ message: '下载成功',
|
|
|
|
+ type: 'success'
|
|
|
|
+ })
|
|
|
|
+ })
|
|
|
|
+ .catch(err => {
|
|
|
|
+ this.$message.error('下载失败')
|
|
|
|
+ })
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ ],
|
|
|
|
+ [
|
|
|
|
+ {
|
|
|
|
+ isRole: !!~['partsStorage'].indexOf(this?.$route?.name),
|
|
|
|
+ name: '导入模板',
|
|
|
|
+ render: () => {
|
|
|
|
+ return this.importButton(websitPurchaseRetImport, '导入模板')
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ ],
|
|
|
|
+ ],
|
|
],
|
|
],
|
|
// 表格属性
|
|
// 表格属性
|
|
tableAttributes: {
|
|
tableAttributes: {
|
|
@@ -30,6 +94,11 @@ export default {
|
|
formDialogType: 0, // 0:新增, 1:编辑, 2:查看, 3:审核
|
|
formDialogType: 0, // 0:新增, 1:编辑, 2:查看, 3:审核
|
|
formDialogTitles: ['新增', '编辑', '查看', '审核'],
|
|
formDialogTitles: ['新增', '编辑', '查看', '审核'],
|
|
pageType: this?.$route?.name,
|
|
pageType: this?.$route?.name,
|
|
|
|
+ materialCategoryListL1: [],
|
|
|
|
+ materialCategoryListL2: [],
|
|
|
|
+ materialNormList: [],
|
|
|
|
+ peijianList: [],
|
|
|
|
+ websitPurchaseInList: []
|
|
}
|
|
}
|
|
},
|
|
},
|
|
computed: {
|
|
computed: {
|
|
@@ -71,10 +140,31 @@ export default {
|
|
render: (h, { row, column, index }) => {
|
|
render: (h, { row, column, index }) => {
|
|
return (
|
|
return (
|
|
row.isEditRow ?
|
|
row.isEditRow ?
|
|
- <el-select value={row[column.prop]} onInput={(val) => { row[column.prop] = val }} placeholder="请选择">
|
|
|
|
- {[].map((item, index_) => <el-option key={index_} label={item.label} value={item.value}></el-option>)}
|
|
|
|
- </el-select> :
|
|
|
|
- <div>{row[column.prop]}</div>
|
|
|
|
|
|
+ <div class="redbordererr">
|
|
|
|
+ <el-form-item label="" lebel-width="0px" prop={`items.${index}.parentCategoryId`} rules={required}>
|
|
|
|
+ <el-select
|
|
|
|
+ value={row[column.columnAttributes.prop]}
|
|
|
|
+ onInput={(val) => { row[column.columnAttributes.prop] = val }}
|
|
|
|
+ onChange={(val) => {
|
|
|
|
+ row['goodsCategoryId'] = ""
|
|
|
|
+ row['goodsCategoryName'] = ""
|
|
|
|
+ row['goodsId'] = ""
|
|
|
|
+ row['goodsName'] = ""
|
|
|
|
+ this.materialNormList = [];
|
|
|
|
+ this.qkrow(row)
|
|
|
|
+ if (val) {
|
|
|
|
+ row['parentCategoryName'] = this.materialCategoryListL1.find(item => item.categoryId == val).categoryName
|
|
|
|
+ } else {
|
|
|
|
+ row['parentCategoryName'] = ''
|
|
|
|
+ }
|
|
|
|
+ }}
|
|
|
|
+ placeholder="请选择">
|
|
|
|
+ {this.materialCategoryListL1.map((item, index_) => <el-option key={index_} label={item.categoryName} value={item.categoryId}></el-option>)}
|
|
|
|
+ </el-select>
|
|
|
|
+ </el-form-item>
|
|
|
|
+ </div>
|
|
|
|
+ :
|
|
|
|
+ <div>{row['parentCategoryName']}</div>
|
|
)
|
|
)
|
|
}
|
|
}
|
|
}]
|
|
}]
|
|
@@ -89,12 +179,35 @@ export default {
|
|
prop: 'goodsCategoryId',
|
|
prop: 'goodsCategoryId',
|
|
},
|
|
},
|
|
render: (h, { row, column, index }) => {
|
|
render: (h, { row, column, index }) => {
|
|
|
|
+ var selectList = row['parentCategoryId'] ? this.materialCategoryListL2.filter(item => item.parentCategoryId == row['parentCategoryId']) : []
|
|
return (
|
|
return (
|
|
row.isEditRow ?
|
|
row.isEditRow ?
|
|
- <el-select value={row[column.prop]} onInput={(val) => { row[column.prop] = val }} placeholder="请选择">
|
|
|
|
- {[].map((item, index_) => <el-option key={index_} label={item.label} value={item.value}></el-option>)}
|
|
|
|
- </el-select> :
|
|
|
|
- <div>{row[column.prop]}</div>
|
|
|
|
|
|
+ <div class="redbordererr">
|
|
|
|
+ <el-form-item label="" lebel-width="0px" prop={`items.${index}.goodsCategoryId`} rules={required}>
|
|
|
|
+ <el-select
|
|
|
|
+ value={row[column.columnAttributes.prop]}
|
|
|
|
+ onInput={(val) => { row[column.columnAttributes.prop] = val }}
|
|
|
|
+ placeholder="请选择"
|
|
|
|
+ onChange={(val) => {
|
|
|
|
+ row['goodsId'] = ""
|
|
|
|
+ row['goodsName'] = ""
|
|
|
|
+ this.qkrow(row)
|
|
|
|
+ if (val) {
|
|
|
|
+ row['goodsCategoryName'] = selectList.find(item => item.categoryId == val).categoryName
|
|
|
|
+ materialNormList({ "pageNum": 1, "pageSize": -1, "params": [{ "param": "b.category_id", "compare": "=", "value": val }] }).then(res => {
|
|
|
|
+ this.materialNormList = res.data.records
|
|
|
|
+ })
|
|
|
|
+ } else {
|
|
|
|
+ this.materialNormList = [];
|
|
|
|
+ row['goodsCategoryName'] = ''
|
|
|
|
+ }
|
|
|
|
+ }}>
|
|
|
|
+ {selectList.map((item, index_) => <el-option key={index_} label={item.categoryName} value={item.categoryId}></el-option>)}
|
|
|
|
+ </el-select>
|
|
|
|
+ </el-form-item>
|
|
|
|
+ </div>
|
|
|
|
+ :
|
|
|
|
+ <div>{row['goodsCategoryName']}</div>
|
|
)
|
|
)
|
|
}
|
|
}
|
|
}]
|
|
}]
|
|
@@ -105,16 +218,43 @@ export default {
|
|
if (!!~['auxiliaryMaterialsStorage', 'returnAuxiliaryMaterials'].indexOf(this.pageType)) {
|
|
if (!!~['auxiliaryMaterialsStorage', 'returnAuxiliaryMaterials'].indexOf(this.pageType)) {
|
|
return [{
|
|
return [{
|
|
columnAttributes: {
|
|
columnAttributes: {
|
|
- label: '辅材名称',
|
|
|
|
- prop: 'goodsName',
|
|
|
|
|
|
+ label: '辅材',
|
|
|
|
+ prop: 'goodsId',
|
|
},
|
|
},
|
|
render: (h, { row, column, index }) => {
|
|
render: (h, { row, column, index }) => {
|
|
return (
|
|
return (
|
|
row.isEditRow ?
|
|
row.isEditRow ?
|
|
- <el-select value={row[column.prop]} onInput={(val) => { row[column.prop] = val }} placeholder="请选择">
|
|
|
|
- {[].map((item, index_) => <el-option key={index_} label={item.label} value={item.value}></el-option>)}
|
|
|
|
- </el-select> :
|
|
|
|
- <div>{row[column.prop]}</div>
|
|
|
|
|
|
+ <div class="redbordererr">
|
|
|
|
+ <el-form-item label="" lebel-width="0px" prop={`items.${index}.goodsId`} rules={required}>
|
|
|
|
+ <el-select
|
|
|
|
+ value={row[column.columnAttributes.prop]}
|
|
|
|
+ onInput={(val) => { row[column.columnAttributes.prop] = val }}
|
|
|
|
+ placeholder="请选择"
|
|
|
|
+ onChange={(val) => {
|
|
|
|
+ if (val) {
|
|
|
|
+ var data = this.materialNormList.find(item => item.goodsId == val)
|
|
|
|
+ row['goodsName'] = data.goodsName
|
|
|
|
+ this.qkrow(row, {
|
|
|
|
+ "goodsStockUnit": data.goodsStockUnit,
|
|
|
|
+ "goodsCode": data.goodsCode,
|
|
|
|
+ "goodsSpecification": data.goodsSpecification,
|
|
|
|
+ "brand": "",
|
|
|
|
+ "productCategory": "",
|
|
|
|
+ "cost": data.cost,
|
|
|
|
+ "costValue": "",
|
|
|
|
+ "stockQty": data.stockQty
|
|
|
|
+ })
|
|
|
|
+ } else {
|
|
|
|
+ row['goodsName'] = ''
|
|
|
|
+ this.qkrow(row)
|
|
|
|
+ }
|
|
|
|
+ }}>
|
|
|
|
+ {this.materialNormList.map((item, index_) => <el-option key={index_} label={item.goodsName} value={item.goodsId}></el-option>)}
|
|
|
|
+ </el-select>
|
|
|
|
+ </el-form-item>
|
|
|
|
+ </div>
|
|
|
|
+ :
|
|
|
|
+ <div>{row['goodsName']}</div>
|
|
)
|
|
)
|
|
}
|
|
}
|
|
}]
|
|
}]
|
|
@@ -125,16 +265,45 @@ export default {
|
|
if (!!~['partsStorage', 'partsReturn'].indexOf(this.pageType)) {
|
|
if (!!~['partsStorage', 'partsReturn'].indexOf(this.pageType)) {
|
|
return [{
|
|
return [{
|
|
columnAttributes: {
|
|
columnAttributes: {
|
|
- label: '配件名称',
|
|
|
|
- prop: 'goodsName',
|
|
|
|
|
|
+ label: '配件',
|
|
|
|
+ prop: 'goodsId',
|
|
},
|
|
},
|
|
render: (h, { row, column, index }) => {
|
|
render: (h, { row, column, index }) => {
|
|
return (
|
|
return (
|
|
row.isEditRow ?
|
|
row.isEditRow ?
|
|
- <el-select value={row[column.prop]} onInput={(val) => { row[column.prop] = val }} placeholder="请选择">
|
|
|
|
- {[].map((item, index_) => <el-option key={index_} label={item.label} value={item.value}></el-option>)}
|
|
|
|
- </el-select> :
|
|
|
|
- <div>{row[column.prop]}</div>
|
|
|
|
|
|
+ <div class="redbordererr">
|
|
|
|
+ <el-form-item label="" lebel-width="0px" prop={`items.${index}.goodsId`} rules={required}>
|
|
|
|
+ <el-select
|
|
|
|
+ value={row[column.columnAttributes.prop]}
|
|
|
|
+ onInput={(val) => { row[column.columnAttributes.prop] = val }}
|
|
|
|
+ placeholder="请选择"
|
|
|
|
+ onChange={(val) => {
|
|
|
|
+ this.materialNormList = [];
|
|
|
|
+ if (val) {
|
|
|
|
+ var data = this.peijianList.find(item => item.goodsId == val)
|
|
|
|
+ row['goodsName'] = data.goodsName
|
|
|
|
+ console.log(data)
|
|
|
|
+ this.qkrow(row, {
|
|
|
|
+ "goodsStockUnit": data.goodsStockUnit,
|
|
|
|
+ "goodsCode": data.goodsCode,
|
|
|
|
+ "goodsSpecification": data.goodsSpecification,
|
|
|
|
+ "brand": data.brandRelaName,
|
|
|
|
+ "productCategory": data.productRelaName,
|
|
|
|
+ "cost": data.cost,
|
|
|
|
+ "costValue": "",
|
|
|
|
+ "stockQty": data.stockQty
|
|
|
|
+ })
|
|
|
|
+ } else {
|
|
|
|
+ row['goodsName'] = ''
|
|
|
|
+ this.qkrow(row)
|
|
|
|
+ }
|
|
|
|
+ }}>
|
|
|
|
+ {this.peijianList.map((item, index_) => <el-option key={index_} label={item.goodsName} value={item.goodsId}></el-option>)}
|
|
|
|
+ </el-select>
|
|
|
|
+ </el-form-item>
|
|
|
|
+ </div>
|
|
|
|
+ :
|
|
|
|
+ <div>{row['goodsName']}</div>
|
|
)
|
|
)
|
|
}
|
|
}
|
|
}]
|
|
}]
|
|
@@ -162,9 +331,25 @@ export default {
|
|
render: (h, { row, column, index }) => {
|
|
render: (h, { row, column, index }) => {
|
|
return (
|
|
return (
|
|
row.isEditRow ?
|
|
row.isEditRow ?
|
|
- <el-input type="number" value={row[column.prop]} onInput={(val) => { row[column.prop] = val }} placeholder="请选择">
|
|
|
|
- </el-input> :
|
|
|
|
- <div>{row[column.prop]}</div>
|
|
|
|
|
|
+ <div class="redbordererr">
|
|
|
|
+ <el-form-item label="" lebel-width="0px" prop={`items.${index}.recQty`} rules={required}>
|
|
|
|
+ <el-input
|
|
|
|
+ type="number"
|
|
|
|
+ value={row[column.columnAttributes.prop]}
|
|
|
|
+ onInput={(val) => {
|
|
|
|
+ row[column.columnAttributes.prop] = val
|
|
|
|
+ if (val) {
|
|
|
|
+ row.costValue = Number(row.cost) * Number(val)
|
|
|
|
+ } else {
|
|
|
|
+ row.costValue = ""
|
|
|
|
+ }
|
|
|
|
+ }}
|
|
|
|
+ placeholder="请选择">
|
|
|
|
+ </el-input>
|
|
|
|
+ </el-form-item>
|
|
|
|
+ </div>
|
|
|
|
+ :
|
|
|
|
+ <div>{row[column.columnAttributes.prop]}</div>
|
|
)
|
|
)
|
|
}
|
|
}
|
|
}]
|
|
}]
|
|
@@ -181,9 +366,25 @@ export default {
|
|
render: (h, { row, column, index }) => {
|
|
render: (h, { row, column, index }) => {
|
|
return (
|
|
return (
|
|
row.isEditRow ?
|
|
row.isEditRow ?
|
|
- <el-input type="number" value={row[column.prop]} onInput={(val) => { row[column.prop] = val }} placeholder="请选择">
|
|
|
|
- </el-input> :
|
|
|
|
- <div>{row[column.prop]}</div>
|
|
|
|
|
|
+ <div class="redbordererr">
|
|
|
|
+ <el-form-item label="" lebel-width="0px" prop={`items.${index}.retQty`} rules={required}>
|
|
|
|
+ <el-input
|
|
|
|
+ type="number"
|
|
|
|
+ value={row[column.columnAttributes.prop]}
|
|
|
|
+ onInput={(val) => {
|
|
|
|
+ row[column.columnAttributes.prop] = val
|
|
|
|
+ if (val) {
|
|
|
|
+ row.retValue = Number(row.cost) * Number(val)
|
|
|
|
+ } else {
|
|
|
|
+ row.retValue = ""
|
|
|
|
+ }
|
|
|
|
+ }}
|
|
|
|
+ placeholder="请选择">
|
|
|
|
+ </el-input>
|
|
|
|
+ </el-form-item>
|
|
|
|
+ </div>
|
|
|
|
+ :
|
|
|
|
+ <div>{row[column.columnAttributes.prop]}</div>
|
|
)
|
|
)
|
|
}
|
|
}
|
|
}]
|
|
}]
|
|
@@ -196,14 +397,6 @@ export default {
|
|
columnAttributes: {
|
|
columnAttributes: {
|
|
label: '退款金额',
|
|
label: '退款金额',
|
|
prop: 'retValue',
|
|
prop: 'retValue',
|
|
- },
|
|
|
|
- render: (h, { row, column, index }) => {
|
|
|
|
- return (
|
|
|
|
- row.isEditRow ?
|
|
|
|
- <el-input type="number" value={row[column.prop]} onInput={(val) => { row[column.prop] = val }} placeholder="请选择">
|
|
|
|
- </el-input> :
|
|
|
|
- <div>{row[column.prop]}</div>
|
|
|
|
- )
|
|
|
|
}
|
|
}
|
|
}]
|
|
}]
|
|
}
|
|
}
|
|
@@ -322,17 +515,33 @@ export default {
|
|
this.formData.items.splice(index, 1)
|
|
this.formData.items.splice(index, 1)
|
|
}}>删除</el-button>
|
|
}}>删除</el-button>
|
|
{
|
|
{
|
|
|
|
+ row.isEditRow ?
|
|
|
|
+ <el-button type="text" onClick={() => {
|
|
|
|
+ this.$refs.formRef.validate((valid, invalidFields, errLabels) => {
|
|
|
|
+ if (valid) {
|
|
|
|
+ this.formData.items[index].isEditRow = false
|
|
|
|
+ }
|
|
|
|
+ })
|
|
|
|
+ }}>确定</el-button> :
|
|
|
|
+ null
|
|
|
|
+ }
|
|
|
|
+ {
|
|
!row.isEditRow ?
|
|
!row.isEditRow ?
|
|
- <el-button type="text" onClick={() => {
|
|
|
|
- this.formData.items.map((item, index_) => {
|
|
|
|
- if (index_ == index) {
|
|
|
|
- item.isEditRow = true
|
|
|
|
- } else {
|
|
|
|
- item.isEditRow = false
|
|
|
|
- }
|
|
|
|
- })
|
|
|
|
- }}>编辑</el-button> :
|
|
|
|
- null
|
|
|
|
|
|
+ <el-button type="text" onClick={() => {
|
|
|
|
+ this.formData.items.map((item, index_) => {
|
|
|
|
+ if (index_ == index) {
|
|
|
|
+ item.isEditRow = true
|
|
|
|
+ } else {
|
|
|
|
+ item.isEditRow = false
|
|
|
|
+ }
|
|
|
|
+ if (!!~['auxiliaryMaterialsStorage', 'returnAuxiliaryMaterials'].indexOf(this.pageType) && row.goodsCategoryId) {
|
|
|
|
+ materialNormList({ "pageNum": 1, "pageSize": -1, "params": [{ "param": "b.category_id", "compare": "=", "value": row.goodsCategoryId }] }).then(res => {
|
|
|
|
+ this.materialNormList = res.data.records
|
|
|
|
+ })
|
|
|
|
+ }
|
|
|
|
+ })
|
|
|
|
+ }}>编辑</el-button> :
|
|
|
|
+ null
|
|
}
|
|
}
|
|
</div>
|
|
</div>
|
|
)
|
|
)
|
|
@@ -371,21 +580,88 @@ export default {
|
|
</el-descriptions>
|
|
</el-descriptions>
|
|
<el-descriptions border title="" column={2} colon={false} labelStyle={{ width: '8%' }} contentStyle={{ width: '42%' }} style="margin-top:-1px">
|
|
<el-descriptions border title="" column={2} colon={false} labelStyle={{ width: '8%' }} contentStyle={{ width: '42%' }} style="margin-top:-1px">
|
|
<el-descriptions-item label="网点名称">
|
|
<el-descriptions-item label="网点名称">
|
|
- <el-select style="width:100%" value={this.formData.websitId} onInput={(val) => { this.formData.websitId = val }} placeholder="请选择">
|
|
|
|
- {this.getWebsitList.map(item => <el-option key={item.websitId} label={item.name} value={item.websitId}></el-option>)}
|
|
|
|
- </el-select>
|
|
|
|
|
|
+ <div class="redbordererr">
|
|
|
|
+ <el-form-item label="" lebel-width="0px" prop={`websitId`} rules={required}>
|
|
|
|
+ <el-select
|
|
|
|
+ style="width:100%"
|
|
|
|
+ value={this.formData.websitId} onInput={(val) => { this.formData.websitId = val }}
|
|
|
|
+ placeholder="请选择"
|
|
|
|
+ disabled={this.formDialogType >= 2}
|
|
|
|
+ onChange={(val) => {
|
|
|
|
+ if (val) {
|
|
|
|
+ this.formData['websitName'] = this.getWebsitList.find(item => item.websitId == val).name
|
|
|
|
+ } else {
|
|
|
|
+ this.formData['websitName'] = ''
|
|
|
|
+ }
|
|
|
|
+ this.getorderlist()
|
|
|
|
+ }}>
|
|
|
|
+ {this.getWebsitList.map(item => <el-option key={item.websitId} label={item.name} value={item.websitId}></el-option>)}
|
|
|
|
+ </el-select>
|
|
|
|
+ </el-form-item>
|
|
|
|
+ </div>
|
|
</el-descriptions-item>
|
|
</el-descriptions-item>
|
|
<el-descriptions-item label="供应商名称">
|
|
<el-descriptions-item label="供应商名称">
|
|
- <el-select style="width:100%" value={this.formData.venderId} onInput={(val) => { this.formData.venderId = val }} placeholder="请选择">
|
|
|
|
- {this.listPageV2Data.map(item => <el-option key={item.venderId} label={item.venderName} value={item.venderId}></el-option>)}
|
|
|
|
- </el-select>
|
|
|
|
|
|
+ <div class="redbordererr">
|
|
|
|
+ <el-form-item label="" lebel-width="0px" prop={`venderId`} rules={required}>
|
|
|
|
+ <el-select
|
|
|
|
+ style="width:100%"
|
|
|
|
+ value={this.formData.venderId}
|
|
|
|
+ onInput={(val) => { this.formData.venderId = val }}
|
|
|
|
+ placeholder="请选择"
|
|
|
|
+ disabled={this.formDialogType >= 2}
|
|
|
|
+ onChange={(val) => {
|
|
|
|
+ if (val) {
|
|
|
|
+ this.formData['venderName'] = this.listPageV2Data.find(item => item.venderId == val).venderName
|
|
|
|
+ } else {
|
|
|
|
+ this.formData['venderName'] = ''
|
|
|
|
+ }
|
|
|
|
+ this.getorderlist()
|
|
|
|
+ }}>
|
|
|
|
+ {this.listPageV2Data.map(item => <el-option key={item.venderId} label={item.venderName} value={item.venderId}></el-option>)}
|
|
|
|
+ </el-select>
|
|
|
|
+ </el-form-item>
|
|
|
|
+ </div>
|
|
</el-descriptions-item>
|
|
</el-descriptions-item>
|
|
</el-descriptions>
|
|
</el-descriptions>
|
|
{
|
|
{
|
|
!!~['returnAuxiliaryMaterials', 'partsReturn'].indexOf(this.pageType) ?
|
|
!!~['returnAuxiliaryMaterials', 'partsReturn'].indexOf(this.pageType) ?
|
|
<el-descriptions border title="" column={4} colon={false} labelStyle={{ width: '8%' }} contentStyle={{ width: '17%' }} style="margin-top:-1px">
|
|
<el-descriptions border title="" column={4} colon={false} labelStyle={{ width: '8%' }} contentStyle={{ width: '17%' }} style="margin-top:-1px">
|
|
<el-descriptions-item label="采购入库单号" contentStyle={{ width: '42%' }}>
|
|
<el-descriptions-item label="采购入库单号" contentStyle={{ width: '42%' }}>
|
|
- {this.formData.purchaseId}
|
|
|
|
|
|
+ <div class="redbordererr">
|
|
|
|
+ <el-form-item label="" lebel-width="0px" prop={`purchaseId`} rules={required}>
|
|
|
|
+ <zj-select
|
|
|
|
+ style="width:100%"
|
|
|
|
+ value={this.formData.purchaseId}
|
|
|
|
+ onInput={(val) => { this.formData.purchaseId = val }}
|
|
|
|
+ placeholder="请选择"
|
|
|
|
+ disabled={this.formDialogType >= 2}
|
|
|
|
+ clearable={true}
|
|
|
|
+ filterable={true}
|
|
|
|
+ blurNoMatchText={true}
|
|
|
|
+ blurNoMatchInputBorderColor=""
|
|
|
|
+ onChange={(val) => {
|
|
|
|
+ if (val) {
|
|
|
|
+ var data = this.websitPurchaseInList.find(item => item.purchaseId == val)
|
|
|
|
+ if (data) {
|
|
|
|
+ websitPurchaseInDetail({ purchaseId: data.purchaseId }).then(res => {
|
|
|
|
+ Object.assign(this.formData, {
|
|
|
|
+ items: res.data.items.map(item => ({
|
|
|
|
+ ...item,
|
|
|
|
+ retQty: "",
|
|
|
|
+ retValue: "",
|
|
|
|
+ isEditRow: false
|
|
|
|
+ }))
|
|
|
|
+ })
|
|
|
|
+ })
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ this.formData.items = []
|
|
|
|
+ }}>
|
|
|
|
+ {this.websitPurchaseInList.map(item => <zj-option key={item.purchaseId} label={item.showLabel} value={item.purchaseId}></zj-option>)}
|
|
|
|
+ </zj-select>
|
|
|
|
+ </el-form-item>
|
|
|
|
+ </div>
|
|
</el-descriptions-item>
|
|
</el-descriptions-item>
|
|
<el-descriptions-item label="退货数量">
|
|
<el-descriptions-item label="退货数量">
|
|
{this.formData.retTotalQty}
|
|
{this.formData.retTotalQty}
|
|
@@ -422,6 +698,7 @@ export default {
|
|
maxlength="200"
|
|
maxlength="200"
|
|
show-word-limit
|
|
show-word-limit
|
|
autosize={{ minRows: 6, maxRows: 8 }}
|
|
autosize={{ minRows: 6, maxRows: 8 }}
|
|
|
|
+ disabled={this.formDialogType >= 2}
|
|
>
|
|
>
|
|
</el-input>
|
|
</el-input>
|
|
</el-descriptions-item>
|
|
</el-descriptions-item>
|
|
@@ -439,8 +716,9 @@ export default {
|
|
name: 'slot-component',
|
|
name: 'slot-component',
|
|
formItemAttributes: {
|
|
formItemAttributes: {
|
|
label: '',
|
|
label: '',
|
|
- prop: '',
|
|
|
|
- 'label-width': '0px'
|
|
|
|
|
|
+ prop: 'items',
|
|
|
|
+ 'label-width': '0px',
|
|
|
|
+ rules: [...required]
|
|
},
|
|
},
|
|
render: (h, { props, onInput }) => {
|
|
render: (h, { props, onInput }) => {
|
|
var { value } = props
|
|
var { value } = props
|
|
@@ -448,37 +726,37 @@ export default {
|
|
<div>
|
|
<div>
|
|
{!!~[0, 1].indexOf(this.formDialogType) ? <div style="margin-bottom:8px">
|
|
{!!~[0, 1].indexOf(this.formDialogType) ? <div style="margin-bottom:8px">
|
|
<el-button onClick={() => {
|
|
<el-button onClick={() => {
|
|
- this.formData.items.map((item) => {item.isEditRow = false})
|
|
|
|
- this.formData.items.push({
|
|
|
|
- "brand": "",
|
|
|
|
- "companyWechatId": "",
|
|
|
|
- "cost": "",
|
|
|
|
- "costValue": "",
|
|
|
|
- "goodsCategoryId": "",
|
|
|
|
- "goodsCategoryName": "",
|
|
|
|
- "goodsCode": "",
|
|
|
|
- "goodsId": "",
|
|
|
|
- "goodsName": "",
|
|
|
|
- "goodsSpecification": "",
|
|
|
|
- "goodsStockUnit": "",
|
|
|
|
- "goodsType": "",
|
|
|
|
- "note": "",
|
|
|
|
- "parentCategoryId": "",
|
|
|
|
- "parentCategoryName": "",
|
|
|
|
- "productCategory": "",
|
|
|
|
- "purchaseId": "",
|
|
|
|
- "recQty": "",
|
|
|
|
- "retQty": "",
|
|
|
|
- "stockQty": "",
|
|
|
|
- "websitId": "",
|
|
|
|
- "websitName": "",
|
|
|
|
- "isEditRow": true
|
|
|
|
|
|
+ this.$refs.formRef.validate((valid, invalidFields, errLabels) => {
|
|
|
|
+ if (valid || !this.formData.items.length) {
|
|
|
|
+ this.formData.items.map((item) => { item.isEditRow = false })
|
|
|
|
+ this.formData.items.push({
|
|
|
|
+ "brand": "",
|
|
|
|
+ "companyWechatId": "",
|
|
|
|
+ "cost": "",
|
|
|
|
+ "costValue": "",
|
|
|
|
+ "goodsCategoryId": "",
|
|
|
|
+ "goodsCategoryName": "",
|
|
|
|
+ "goodsCode": "",
|
|
|
|
+ "goodsId": "",
|
|
|
|
+ "goodsName": "",
|
|
|
|
+ "goodsSpecification": "",
|
|
|
|
+ "goodsStockUnit": "",
|
|
|
|
+ "goodsType": "",
|
|
|
|
+ "note": "",
|
|
|
|
+ "parentCategoryId": "",
|
|
|
|
+ "parentCategoryName": "",
|
|
|
|
+ "productCategory": "",
|
|
|
|
+ "purchaseId": "",
|
|
|
|
+ "recQty": "",
|
|
|
|
+ "retQty": "",
|
|
|
|
+ "retValue": "",
|
|
|
|
+ "stockQty": "",
|
|
|
|
+ "websitId": "",
|
|
|
|
+ "websitName": "",
|
|
|
|
+ "isEditRow": true,
|
|
|
|
+ })
|
|
|
|
+ }
|
|
})
|
|
})
|
|
- // if (this.pageType == "auxiliaryMaterialsStorage") {
|
|
|
|
- // } else if (this.pageType == "returnAuxiliaryMaterials") {
|
|
|
|
- // } else if (this.pageType == "partsStorage") {
|
|
|
|
- // } else if (this.pageType == "partsReturn") {
|
|
|
|
- // }
|
|
|
|
}}>添加</el-button>
|
|
}}>添加</el-button>
|
|
</div> : null}
|
|
</div> : null}
|
|
<zj-table
|
|
<zj-table
|
|
@@ -497,6 +775,15 @@ export default {
|
|
methods: {
|
|
methods: {
|
|
// 表格列解析渲染数据更改
|
|
// 表格列解析渲染数据更改
|
|
columnParsing(item, defaultData) {
|
|
columnParsing(item, defaultData) {
|
|
|
|
+ if (item.jname === 'imageUrl') {
|
|
|
|
+ defaultData.render = (h, { row, index, column }) => {
|
|
|
|
+ return (
|
|
|
|
+ <div style="padding:0 6px;cursor: pointer;">
|
|
|
|
+ {row.imageUrl ? row.imageUrl.split(",").map(url => <el-image src={url} preview-src-list={[url]} fit="fit" style="width:80px;height:80px;" />) : null}
|
|
|
|
+ </div>
|
|
|
|
+ )
|
|
|
|
+ }
|
|
|
|
+ }
|
|
return defaultData
|
|
return defaultData
|
|
},
|
|
},
|
|
// 监听勾选变化
|
|
// 监听勾选变化
|
|
@@ -505,16 +792,100 @@ export default {
|
|
},
|
|
},
|
|
// 打开
|
|
// 打开
|
|
openForm() {
|
|
openForm() {
|
|
- Promise.all([
|
|
|
|
- getWebsit(),
|
|
|
|
|
|
+
|
|
|
|
+ this.getorderlist(false)
|
|
|
|
+
|
|
|
|
+ var req = [
|
|
|
|
+ getWebsit({ type: "C" }),
|
|
listPageV2({ "pageNum": 1, "pageSize": -1, "params": [] })
|
|
listPageV2({ "pageNum": 1, "pageSize": -1, "params": [] })
|
|
- ]).then(([res1, res2]) => {
|
|
|
|
- this.getWebsitList = res1.data.filter(item => item.type == "B")
|
|
|
|
- this.listPageV2Data = res2.data.records
|
|
|
|
- console.log(res1.data.filter(item => item.type == "B"), res2.data.records)
|
|
|
|
|
|
+ ]
|
|
|
|
+
|
|
|
|
+ var runs = [
|
|
|
|
+ (res) => { this.getWebsitList = res.data.filter(item => item.type == "C") },
|
|
|
|
+ (res) => { this.listPageV2Data = res.data.records }
|
|
|
|
+ ]
|
|
|
|
+
|
|
|
|
+ if (~['auxiliaryMaterialsStorage', 'returnAuxiliaryMaterials'].indexOf(this.pageType)) {
|
|
|
|
+ req.push(...[
|
|
|
|
+ materialCategoryList({ "pageNum": 1, "pageSize": -1, "params": [{ "param": "a.status", "compare": "=", "value": "ON" }, { "param": "a.category_level", "compare": "=", "value": "1" }] }),
|
|
|
|
+ materialCategoryList({ "pageNum": 1, "pageSize": -1, "params": [{ "param": "a.status", "compare": "=", "value": "ON" }, { "param": "a.category_level", "compare": "=", "value": "2" }] }),
|
|
|
|
+ ])
|
|
|
|
+ runs.push(...[
|
|
|
|
+ (res) => { this.materialCategoryListL1 = res.data.records },
|
|
|
|
+ (res) => { this.materialCategoryListL2 = res.data.records }
|
|
|
|
+ ])
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ if (~['partsStorage', 'partsReturn'].indexOf(this.pageType)) {
|
|
|
|
+ req.push(...[
|
|
|
|
+ peijianList({ "pageNum": 1, "pageSize": -1, "params": [{ "param": "a.status", "compare": "=", "value": "ON" }] })
|
|
|
|
+ ])
|
|
|
|
+ runs.push(...[
|
|
|
|
+ (res) => { this.peijianList = res.data.records },
|
|
|
|
+ ])
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ Promise.all(req).then((ress) => {
|
|
|
|
+ ress.forEach((res, index) => {
|
|
|
|
+ runs[index](res)
|
|
|
|
+ })
|
|
this.formDialog = true
|
|
this.formDialog = true
|
|
})
|
|
})
|
|
},
|
|
},
|
|
|
|
+ qkrow(row, data = {}) {
|
|
|
|
+ ["goodsStockUnit", "recQty", "retQty", "retValue", "goodsCode", "goodsSpecification", "brand", "productCategory", "cost", "costValue", "stockQty"].map(key => {
|
|
|
|
+ if (row[key] !== undefined) {
|
|
|
|
+ row[key] = data[key] || ""
|
|
|
|
+ }
|
|
|
|
+ })
|
|
|
|
+ },
|
|
|
|
+ getorderlist(bool = true) {
|
|
|
|
+ if (this.formData.websitId && this.formData.venderId) {
|
|
|
|
+ if (~['returnAuxiliaryMaterials'].indexOf(this.pageType)) {
|
|
|
|
+ if (bool) {
|
|
|
|
+ this.websitPurchaseInList = []
|
|
|
|
+ this.formData.items = []
|
|
|
|
+ this.formData.purchaseId = ""
|
|
|
|
+ }
|
|
|
|
+ websitPurchaseInList({
|
|
|
|
+ "pageNum": 1,
|
|
|
|
+ "pageSize": -1,
|
|
|
|
+ "params": [
|
|
|
|
+ { "param": "a.goods_type", "compare": "=", "value": "M" },
|
|
|
|
+ { "param": "a.flag", "compare": "=", "value": "OK" },
|
|
|
|
+ { "param": "a.websit_id", "compare": "=", "value": this.formData.websitId },
|
|
|
|
+ { "param": "a.vender_id", "compare": "=", "value": this.formData.venderId },
|
|
|
|
+ ]
|
|
|
|
+ }).then(res => {
|
|
|
|
+ this.websitPurchaseInList = res.data.records.map(item => ({
|
|
|
|
+ ...item,
|
|
|
|
+ showLabel: `单号:${item.purchaseId} / 金额:${item.totalAmount} / 时间:${item.createTime.split(" ")[0]}`
|
|
|
|
+ }))
|
|
|
|
+ })
|
|
|
|
+ } else if (~['partsReturn'].indexOf(this.pageType)) {
|
|
|
|
+ if (bool) {
|
|
|
|
+ this.websitPurchaseInList = []
|
|
|
|
+ this.formData.items = []
|
|
|
|
+ this.formData.purchaseId = ""
|
|
|
|
+ }
|
|
|
|
+ websitPurchaseInList({
|
|
|
|
+ "pageNum": 1,
|
|
|
|
+ "pageSize": -1,
|
|
|
|
+ "params": [
|
|
|
|
+ { "param": "a.goods_type", "compare": "=", "value": "P" },
|
|
|
|
+ { "param": "a.flag", "compare": "=", "value": "OK" },
|
|
|
|
+ { "param": "a.websit_id", "compare": "=", "value": this.formData.websitId },
|
|
|
|
+ { "param": "a.vender_id", "compare": "=", "value": this.formData.venderId },
|
|
|
|
+ ]
|
|
|
|
+ }).then(res => {
|
|
|
|
+ this.websitPurchaseInList = res.data.records.map(item => ({
|
|
|
|
+ ...item,
|
|
|
|
+ showLabel: `单号:${item.purchaseId} / 金额:${item.totalAmount} / 时间:${item.createTime.split(" ")[0]}`
|
|
|
|
+ }))
|
|
|
|
+ })
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ },
|
|
// 添加
|
|
// 添加
|
|
addData() {
|
|
addData() {
|
|
this.formDialogType = 0
|
|
this.formDialogType = 0
|