123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953 |
- import ImageUpload from '@/components/file-upload'
- import { getWebsit } from "@/api/customerManagement.js"
- 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 {
- data() {
- return {
- // 表格属性
- tableAttributes: {
- // 启用勾选列
- selectColumn: false
- },
- // 表格事件
- tableEvents: {
- 'selection-change': this.selectionChange
- },
- recordSelected: [],
- formDialog: false,
- formDialogType: 0, // 0:新增, 1:编辑, 2:查看, 3:审核
- formDialogTitles: ['新增', '编辑', '查看', '审核'],
- pageType: this?.$route?.name,
- materialCategoryListL1: [],
- materialCategoryListL2: [],
- materialNormList: [],
- peijianList: [],
- websitPurchaseInList: []
- }
- },
- computed: {
- // 事件组合
- optionsEvensGroup() {
- return [
- [
- [
- this.optionsEvensAuth("add", {
- click: this.addData
- }),
- ],
- ],
- [
- [
- this.optionsEvensAuth("template", {
- isRole: !!~['auxiliaryMaterialsStorage', 'partsStorage'].indexOf(this?.$route?.name),
- click: () => {
- commonTemplateDownload({ name: '采购入库模板.xlsx' }, `${this.$route.meta.title}`)
- .then(res => {
- this.$message({
- message: '下载成功',
- type: 'success'
- })
- })
- .catch(err => {
- this.$message.error('下载失败')
- })
- }
- }),
- ],
- [
- this.optionsEvensAuth("imp", ({ moduleName }) => {
- return {
- isRole: !!~['auxiliaryMaterialsStorage', 'partsStorage'].indexOf(this?.$route?.name),
- name: moduleName,
- render: () => {
- return this.importButton(websitPurchaseInImport, moduleName, { goodsType: this.storageType })
- }
- }
- }),
- ],
- ],
- [
- [
- this.optionsEvensAuth("template", {
- isRole: !!~['returnAuxiliaryMaterials', 'partsReturn'].indexOf(this?.$route?.name),
- click: () => {
- commonTemplateDownload({ name: '采购退货模板.xlsx' }, `${this.$route.meta.title}`)
- .then(res => {
- this.$message({
- message: '下载成功',
- type: 'success'
- })
- })
- .catch(err => {
- this.$message.error('下载失败')
- })
- }
- }),
- ],
- [
- this.optionsEvensAuth("imp", ({ moduleName }) => {
- return {
- isRole: !!~['returnAuxiliaryMaterials', 'partsReturn'].indexOf(this?.$route?.name),
- name: moduleName,
- render: () => {
- return this.importButton(websitPurchaseRetImport, moduleName, { goodsType: this.storageType })
- }
- }
- }),
- ],
- ],
- ]
- },
- moreParameters() {
- return [
- {
- name: '状态',
- key: 'flag',
- value: '',
- conditions: [
- {
- label: `全部`,
- value: ''
- },
- {
- label: `已保存`,
- value: "SAVE"
- },
- {
- label: `已审核`,
- value: "OK"
- }, {
- label: `失败`,
- value: "FAIL"
- },
- ]
- },
- ]
- },
- columns() {
- return [
- ...(() => {
- if (!!~['auxiliaryMaterialsStorage', 'returnAuxiliaryMaterials'].indexOf(this.pageType)) {
- return [{
- columnAttributes: {
- label: '大类名称',
- prop: 'parentCategoryId',
- },
- render: (h, { row, column, index }) => {
- return (
- row.isEditRow ?
- <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'] = ''
- }
- this.$nextTick(this.jiaoyan)
- }}
- 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>
- )
- }
- }]
- }
- return []
- })(),
- ...(() => {
- if (!!~['auxiliaryMaterialsStorage', 'returnAuxiliaryMaterials'].indexOf(this.pageType)) {
- return [{
- columnAttributes: {
- label: '小类名称',
- prop: 'goodsCategoryId',
- },
- render: (h, { row, column, index }) => {
- var selectList = row['parentCategoryId'] ? this.materialCategoryListL2.filter(item => item.parentCategoryId == row['parentCategoryId']) : []
- return (
- row.isEditRow ?
- <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({ isShowStockQty: true, websitId: this.formData.websitId, "pageNum": 1, "pageSize": -1, "params": [{ "param": "b.category_id", "compare": "=", "value": val }, { "param": "a.status", "compare": "=", "value": "ON" }] }).then(res => {
- this.materialNormList = res.data.records
- })
- } else {
- this.materialNormList = [];
- row['goodsCategoryName'] = ''
- }
- this.$nextTick(this.jiaoyan)
- }}>
- {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>
- )
- }
- }]
- }
- return []
- })(),
- ...(() => {
- if (!!~['auxiliaryMaterialsStorage', 'returnAuxiliaryMaterials'].indexOf(this.pageType)) {
- return [{
- columnAttributes: {
- label: '辅材',
- prop: 'goodsId',
- },
- render: (h, { row, column, index }) => {
- return (
- row.isEditRow ?
- <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.$nextTick(this.jiaoyan)
- }}>
- {this.materialNormList.filter((item) => !~[...this.formData.items.map(val => val.goodsId).filter(val => val != row.goodsId)].indexOf(item.goodsId)).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>
- )
- }
- }]
- }
- return []
- })(),
- ...(() => {
- if (!!~['partsStorage', 'partsReturn'].indexOf(this.pageType)) {
- return [{
- columnAttributes: {
- label: '配件',
- prop: 'goodsId',
- },
- render: (h, { row, column, index }) => {
- return (
- row.isEditRow ?
- <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
- 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.$nextTick(this.jiaoyan)
- }}>
- {this.peijianList.filter((item) => !~[...this.formData.items.map(val => val.goodsId).filter(val => val != row.goodsId)].indexOf(item.goodsId)).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>
- )
- }
- }]
- }
- return []
- })(),
- ...(() => {
- if (!!~['auxiliaryMaterialsStorage', 'returnAuxiliaryMaterials', 'partsStorage', 'partsReturn'].indexOf(this.pageType)) {
- return [{
- columnAttributes: {
- label: '单位',
- prop: 'goodsStockUnit',
- }
- }]
- }
- return []
- })(),
- ...(() => {
- if (!!~['auxiliaryMaterialsStorage', 'partsStorage'].indexOf(this.pageType)) {
- return [{
- columnAttributes: {
- label: '数量',
- prop: 'recQty',
- },
- render: (h, { row, column, index }) => {
- return (
- row.isEditRow ?
- <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 = this.setNumber(
- Number(row.cost) * Number(val)
- )
- } else {
- row.costValue = ""
- }
- this.$nextTick(this.jiaoyan)
- }}
- placeholder="请选择">
- </el-input>
- </el-form-item>
- </div>
- :
- <div>{row[column.columnAttributes.prop]}</div>
- )
- }
- }]
- }
- return []
- })(),
- ...(() => {
- if (!!~['returnAuxiliaryMaterials', 'partsReturn'].indexOf(this.pageType)) {
- return [{
- columnAttributes: {
- label: '退货数量',
- prop: 'retQty',
- },
- render: (h, { row, column, index }) => {
- return (
- row.isEditRow ?
- <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 = this.setNumber(
- Number(row.cost) * Number(val)
- )
- } else {
- row.retValue = ""
- }
- this.$nextTick(this.jiaoyan)
- }}
- placeholder="请选择">
- </el-input>
- </el-form-item>
- </div>
- :
- <div>{row[column.columnAttributes.prop]}</div>
- )
- }
- }]
- }
- return []
- })(),
- ...(() => {
- if (!!~['returnAuxiliaryMaterials', 'partsReturn'].indexOf(this.pageType)) {
- return [{
- columnAttributes: {
- label: '退款金额',
- prop: 'retValue',
- }
- }]
- }
- return []
- })(),
- ...(() => {
- if (!!~['auxiliaryMaterialsStorage', 'returnAuxiliaryMaterials'].indexOf(this.pageType)) {
- return [{
- columnAttributes: {
- label: '商品代码',
- prop: 'goodsCode',
- }
- }]
- }
- return []
- })(),
- ...(() => {
- if (!!~['auxiliaryMaterialsStorage', 'returnAuxiliaryMaterials'].indexOf(this.pageType)) {
- return [{
- columnAttributes: {
- label: '规格型号',
- prop: 'goodsSpecification',
- }
- }]
- }
- return []
- })(),
- ...(() => {
- if (!!~['partsStorage', 'partsReturn'].indexOf(this.pageType)) {
- return [{
- columnAttributes: {
- label: '配件编码',
- prop: 'goodsId',
- }
- }]
- }
- return []
- })(),
- ...(() => {
- if (!!~['partsStorage', 'partsReturn'].indexOf(this.pageType)) {
- return [{
- columnAttributes: {
- label: '适用品牌',
- prop: 'brand',
- }
- }]
- }
- return []
- })(),
- ...(() => {
- if (!!~['partsStorage', 'partsReturn'].indexOf(this.pageType)) {
- return [{
- columnAttributes: {
- label: '适用产品大类',
- prop: 'productCategory',
- }
- }]
- }
- return []
- })(),
- ...(() => {
- if (!!~['returnAuxiliaryMaterials', 'partsReturn'].indexOf(this.pageType)) {
- return [{
- columnAttributes: {
- label: '采购数量',
- prop: 'recQty',
- }
- }]
- }
- return []
- })(),
- ...(() => {
- if (!!~['auxiliaryMaterialsStorage', 'returnAuxiliaryMaterials', 'partsStorage', 'partsReturn'].indexOf(this.pageType)) {
- return [{
- columnAttributes: {
- label: '采购价格',
- prop: 'cost',
- }
- }]
- }
- return []
- })(),
- ...(() => {
- if (!!~['auxiliaryMaterialsStorage', 'returnAuxiliaryMaterials', 'partsStorage', 'partsReturn'].indexOf(this.pageType)) {
- return [{
- columnAttributes: {
- label: '采购金额',
- prop: 'costValue',
- }
- }]
- }
- return []
- })(),
- ...(() => {
- if (!!~['auxiliaryMaterialsStorage', 'returnAuxiliaryMaterials', 'partsStorage', 'partsReturn'].indexOf(this.pageType) && this.formData.flag !== "OK") {
- return [{
- columnAttributes: {
- label: '库存数量',
- prop: 'stockQty',
- }
- }]
- }
- return []
- })(),
- ...(() => {
- if (!!~[0, 1].indexOf(this.formDialogType)) {
- return [{
- columnAttributes: {
- label: '操作',
- prop: '',
- },
- render: (h, { row, column, index }) => {
- return (
- <div class='operation-btns'>
- <el-button type="text" onClick={() => {
- this.formData.items.splice(index, 1)
- }}>删除</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 ?
- <el-button type="text" onClick={() => {
- this.formData.items.map((item, index_) => {
- if (index_ == index) {
- item.isEditRow = true
- if (!!~['auxiliaryMaterialsStorage', 'returnAuxiliaryMaterials'].indexOf(this.pageType) && row.goodsCategoryId) {
- materialNormList({ isShowStockQty: true, websitId: this.formData.websitId, "pageNum": 1, "pageSize": -1, "params": [{ "param": "b.category_id", "compare": "=", "value": row.goodsCategoryId }, { "param": "a.status", "compare": "=", "value": "ON" }] }).then(res => {
- this.materialNormList = res.data.records
- })
- }
- } else {
- item.isEditRow = false
- }
- })
- }}>编辑</el-button> :
- null
- }
- </div>
- )
- }
- }]
- }
- return []
- })(),
- ]
- },
- formItems1() {
- return [
- {
- md: 24,
- isShow: true,
- name: 'slot-component',
- formItemAttributes: {
- label: '',
- prop: '',
- 'label-width': '0px'
- },
- render: (h, { props, onInput }) => {
- var { value } = props
- return (
- <div>
- <el-descriptions border title="" column={4} colon={false} labelStyle={{ width: '8%' }} contentStyle={{ width: '17%' }}>
- <el-descriptions-item label="单据状态">
- {({ SAVE: "保存", OK: "通过", FAIL: "失败" })[this.formData.flag]}
- </el-descriptions-item>
- <el-descriptions-item label="单据编号">
- {(!!~['auxiliaryMaterialsStorage', 'partsStorage'].indexOf(this.pageType) ? this.formData.purchaseId : this.formData.purchaseRetId) || ''}
- </el-descriptions-item>
- <el-descriptions-item label="所属商户" contentStyle={{ width: '42%' }}>
- {this.formData.companyWechatName}
- </el-descriptions-item>
- </el-descriptions>
- <el-descriptions border title="" column={2} colon={false} labelStyle={{ width: '8%' }} contentStyle={{ width: '42%' }} style="margin-top:-1px">
- <el-descriptions-item label="网点名称">
- <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) => {
- this.formData.items = []
- if (val) {
- this.formData['websitName'] = this.getWebsitList.find(item => item.websitId == val).name
- } else {
- this.formData['websitName'] = ''
- }
- if (~['partsStorage', 'partsReturn'].indexOf(this.pageType)) {
- if (val) {
- peijianList({ isShowStockQty: true, websitId: val, "pageNum": 1, "pageSize": -1, "params": [{ "param": "a.status", "compare": "=", "value": "ON" }, { "param": "a.norm_type", "compare": "=", "value": "M" }] }).then((res) => {
- this.peijianList = res.data.records
- })
- } else {
- this.peijianList = []
- }
- }
- this.getorderlist()
- this.$nextTick(this.jiaoyan)
- }}>
- {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 label="供应商名称">
- <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.$nextTick(this.jiaoyan)
- }}>
- {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>
- {
- !!~['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-item label="采购入库单号" contentStyle={{ width: '42%' }}>
- <div class="redbordererr">
- <el-form-item label="" lebel-width="0px" prop={`purchaseId`}>
- <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, index) => ({
- ...item,
- retQty: "",
- retValue: "",
- isEditRow: !index
- }))
- })
- var row = this.formData.items[0]
- if (!!~['auxiliaryMaterialsStorage', 'returnAuxiliaryMaterials'].indexOf(this.pageType) && row && row.goodsCategoryId) {
- materialNormList({ isShowStockQty: true, websitId: this.formData.websitId, "pageNum": 1, "pageSize": -1, "params": [{ "param": "b.category_id", "compare": "=", "value": row.goodsCategoryId }, { "param": "a.status", "compare": "=", "value": "ON" }] }).then(res => {
- this.materialNormList = res.data.records
- })
- }
- })
- return
- }
- }
- this.formData.items = []
- this.$nextTick(this.jiaoyan)
- }}>
- {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 label="退货数量">
- {!~[0, 1].indexOf(this.formDialogType) ? this.formData.retTotalQty : this.setNumber([0, 0, 0, ...this.formData.items.map(row => {
- return Number(row.retQty)
- })].reduce((a, b) => a + b))}
- </el-descriptions-item>
- <el-descriptions-item label="退款金额">
- {!~[0, 1].indexOf(this.formDialogType) ? this.formData.retTotalAmount : this.setNumber([0, 0, 0, ...this.formData.items.map(row => {
- return Number(row.cost) * Number(row.retQty)
- })].reduce((a, b) => a + b))}
- </el-descriptions-item>
- </el-descriptions> : null
- }
- <el-descriptions border title="" column={4} colon={false} labelStyle={{ width: '8%' }} contentStyle={{ width: '17%' }} style="margin-top:-1px">
- <el-descriptions-item label="制单人">
- {this.formData.createBy}
- </el-descriptions-item>
- <el-descriptions-item label="制单时间">
- {this.formData.createTime}
- </el-descriptions-item>
- <el-descriptions-item label="审核人">
- {this.formData.confirmBy}
- </el-descriptions-item>
- <el-descriptions-item label="审核时间">
- {this.formData.confirmTime}
- </el-descriptions-item>
- </el-descriptions>
- <el-descriptions border title="" column={4} colon={false} labelStyle={{ width: '8%' }} contentStyle={{ width: '17%' }} style="margin-top:-1px">
- <el-descriptions-item label="附件">
- <ImageUpload fileList={this.formData.imageUrl} uid="imgSrc666_materials_drawing_images" limit={1} isEdit={this.formDialogType < 2} />
- </el-descriptions-item>
- <el-descriptions-item label="备注" contentStyle={{ width: '67%' }}>
- <el-input
- type="textarea"
- placeholder="请输入内容"
- value={this.formData.remark}
- onInput={(val) => { this.formData.remark = val }}
- maxlength="200"
- show-word-limit
- autosize={{ minRows: 6, maxRows: 8 }}
- disabled={this.formDialogType >= 2}
- >
- </el-input>
- </el-descriptions-item>
- </el-descriptions>
- </div>
- )
- }
- },]
- },
- formItems2() {
- return [
- {
- md: 24,
- isShow: true,
- name: 'slot-component',
- formItemAttributes: {
- label: '',
- prop: 'items',
- 'label-width': '0px',
- rules: [...required]
- },
- render: (h, { props, onInput }) => {
- var { value } = props
- return (
- <div>
- {!!~[0, 1].indexOf(this.formDialogType) ? <div style="margin-bottom:8px">
- <el-button onClick={() => {
- this.$refs.formRef.validate((valid, invalidFields, errLabels) => {
- if (valid || (Object.keys(invalidFields).length == 1 && invalidFields.items)) {
- 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,
- })
- }
- })
- }}>添加</el-button>
- </div> : null}
- <zj-table
- columns={this.columns}
- tableData={this.formData.items}
- tableAttributes={{
- size: 'mini',
- border: true,
- }} />
- </div>
- )
- }
- },]
- }
- },
- methods: {
- // 表格列解析渲染数据更改
- 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
- },
- // 监听勾选变化
- selectionChange(data) {
- this.recordSelected = data
- },
- // 打开
- openForm() {
- this.getorderlist(false)
- var req = [
- getWebsit({ type: "C", status: true }),
- ]
- var runs = [
- (res) => { this.getWebsitList = res.data.filter(item => item.type == "C") },
- ]
- if (~['auxiliaryMaterialsStorage', 'returnAuxiliaryMaterials'].indexOf(this.pageType)) {
- req.push(...[
- listPageV2({ "pageNum": 1, "pageSize": -1, "params": [{ "param": "a.status", "compare": "=", "value": "ON" }, { "param": "a.vender_type", "compare": "=", "value": ["A", "M"] }] })
- ])
- runs.push(...[
- (res) => { this.listPageV2Data = res.data.records }
- ])
- } else if (~['partsStorage', 'partsReturn'].indexOf(this.pageType)) {
- req.push(...[
- listPageV2({ "pageNum": 1, "pageSize": -1, "params": [{ "param": "a.status", "compare": "=", "value": "ON" }, { "param": "a.vender_type", "compare": "=", "value": ["P", "A"] }] })
- ])
- runs.push(...[
- (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 }
- ])
- } else if (~['partsStorage', 'partsReturn'].indexOf(this.pageType) && this.formData.websitId) {
- req.push(...[
- peijianList({ isShowStockQty: true, websitId: this.formData.websitId, "pageNum": 1, "pageSize": -1, "params": [{ "param": "a.status", "compare": "=", "value": "ON" }, { "param": "a.norm_type", "compare": "=", "value": "M" }] })
- ])
- runs.push(...[
- (res) => { this.peijianList = res.data.records },
- ])
- }
- Promise.all(req).then((ress) => {
- ress.forEach((res, index) => {
- runs[index](res)
- })
- 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] !== undefined ? 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() {
- this.formDialogType = 0
- this.openForm()
- },
- // 关闭弹窗
- formCancel() {
- this.$refs.formRef.$refs.inlineForm.clearValidate()
- this.$data.formData = this.$options.data().formData
- this.formDialog = false
- },
- jiaoyan() {
- this.$refs.formRef.validate((valid, invalidFields, errLabels) => { }, false)
- },
- setNumber(val) {
- return Number(val.toFixed(2))
- }
- },
- }
|