11 changed files with 1094 additions and 11 deletions
-
9src/api/code/codeItemDef.js
-
9src/api/code/codeItemValue.js
-
15src/views/modules/code/generation.vue
-
858src/views/modules/code/item.vue
-
15src/views/modules/code/list.vue
-
13src/views/modules/code/setting.vue
-
39src/views/modules/proofing/requestForProofing.vue
-
51src/views/modules/quotation/requestForQuote.vue
-
36src/views/modules/quotation/sellForQuotation/quoteDetail.vue
-
19src/views/modules/test/file/testFile.vue
-
39src/views/modules/test/requestForTest.vue
@ -0,0 +1,9 @@ |
|||
import {createAPI} from "../../utils/httpRequest"; |
|||
|
|||
export const searchCodeItemDefs = (data) => createAPI(`/code/item/list`, "post", data); |
|||
|
|||
export const saveBatchCodeItemDef = (data) => createAPI(`/code/item/save/batch`, "post", data); |
|||
|
|||
export const removeBatchCodeItemDef = (data) => createAPI(`/code/item/remove/batch`, "post", data); |
|||
|
|||
export const editBatchCodeItemDef = (data) => createAPI(`/code/item/edit/batch`, "post", data); |
|||
@ -0,0 +1,9 @@ |
|||
import {createAPI} from "../../utils/httpRequest"; |
|||
|
|||
export const searchCodeItemValueList = (data) => createAPI(`/code/value/list`,'post',data) |
|||
export const saveCodeItemValue = (data) => createAPI(`/code/value/save`,'post',data) |
|||
export const saveCodeItemValueBatch = (data) => createAPI(`/code/value/save/batch`,'post',data) |
|||
export const removeCodeItemValue = (data) => createAPI(`/code/value/remove`,'post',data) |
|||
export const removeCodeItemValueBatch = (data) => createAPI(`/code/value/remove/batch`,'post',data) |
|||
export const updateCodeItemValue = (data) => createAPI(`/code/value/edit`,'post',data) |
|||
export const updateCodeItemValueBatch = (data) => createAPI(`/code/value/edit/batch`,'post',data) |
|||
@ -0,0 +1,15 @@ |
|||
<script> |
|||
export default { |
|||
name: "CodeGeneration" |
|||
} |
|||
</script> |
|||
|
|||
<template> |
|||
<div> |
|||
<h1>Generation</h1> |
|||
</div> |
|||
</template> |
|||
|
|||
<style scoped> |
|||
|
|||
</style> |
|||
@ -0,0 +1,858 @@ |
|||
<script> |
|||
import { |
|||
searchCodeItemDefs, |
|||
removeBatchCodeItemDef, |
|||
saveBatchCodeItemDef, |
|||
editBatchCodeItemDef |
|||
} from "../../../api/code/codeItemDef" |
|||
|
|||
const columnList = [ |
|||
{ |
|||
functionId: 9009004, |
|||
serialNumber: '9009004Table1ItemNo', |
|||
tableId: '9009004Table1', |
|||
tableName: '编码组成元素', |
|||
columnProp: 'itemNo', |
|||
headerAlign: 'center', |
|||
align: 'right', |
|||
columnLabel: '序号', |
|||
columnHidden: false, |
|||
columnImage: false, |
|||
columnSortable: false, |
|||
sortLv: 0, |
|||
status: true, |
|||
fixed: '', |
|||
columnWidth: 60 |
|||
}, |
|||
{ |
|||
functionId: 9009004, |
|||
serialNumber: '9009004Table1ItemDesc', |
|||
tableId: '9009004Table1', |
|||
tableName: '编码组成元素', |
|||
columnProp: 'itemDesc', |
|||
headerAlign: 'center', |
|||
align: 'left', |
|||
columnLabel: '描述', |
|||
columnHidden: false, |
|||
columnImage: false, |
|||
columnSortable: false, |
|||
sortLv: 0, |
|||
status: true, |
|||
fixed: '', |
|||
columnWidth: 120 |
|||
},{ |
|||
functionId: 9009004, |
|||
serialNumber: '9009004Table1SeqNo', |
|||
tableId: '9009004Table1', |
|||
tableName: '编码组成元素', |
|||
columnProp: 'seqNo', |
|||
headerAlign: 'center', |
|||
align: 'right', |
|||
columnLabel: '排列次序号', |
|||
columnHidden: false, |
|||
columnImage: false, |
|||
columnSortable: false, |
|||
sortLv: 0, |
|||
status: true, |
|||
fixed: '', |
|||
columnWidth: 120 |
|||
},{ |
|||
functionId: 9009004, |
|||
serialNumber: '9009004Table1Postfix', |
|||
tableId: '9009004Table1', |
|||
tableName: '编码组成元素', |
|||
columnProp: 'postfix', |
|||
headerAlign: 'center', |
|||
align: 'left', |
|||
columnLabel: '前面是否增加分割号', |
|||
columnHidden: false, |
|||
columnImage: false, |
|||
columnSortable: false, |
|||
sortLv: 0, |
|||
status: true, |
|||
fixed: '', |
|||
columnWidth: 120 |
|||
},{ |
|||
functionId: 9009004, |
|||
serialNumber: '9009004Table1Bits', |
|||
tableId: '9009004Table1', |
|||
tableName: '编码组成元素', |
|||
columnProp: 'bits', |
|||
headerAlign: 'center', |
|||
align: 'right', |
|||
columnLabel: '编码位数', |
|||
columnHidden: false, |
|||
columnImage: false, |
|||
columnSortable: false, |
|||
sortLv: 0, |
|||
status: true, |
|||
fixed: '', |
|||
columnWidth: 120 |
|||
},{ |
|||
functionId: 9009004, |
|||
serialNumber: '9009004Table1ItemByCondition', |
|||
tableId: '9009004Table1', |
|||
tableName: '编码组成元素', |
|||
columnProp: 'itemByCondition', |
|||
headerAlign: 'center', |
|||
align: 'left', |
|||
columnLabel: '可选值随元素变化而变化', |
|||
columnHidden: false, |
|||
columnImage: false, |
|||
columnSortable: false, |
|||
sortLv: 0, |
|||
status: true, |
|||
fixed: '', |
|||
columnWidth: 180 |
|||
},{ |
|||
functionId: 9009004, |
|||
serialNumber: '9009004Table1ItemType', |
|||
tableId: '9009004Table1', |
|||
tableName: '编码组成元素', |
|||
columnProp: 'itemType', |
|||
headerAlign: 'center', |
|||
align: 'left', |
|||
columnLabel: '元素输入类型', |
|||
columnHidden: false, |
|||
columnImage: false, |
|||
columnSortable: false, |
|||
sortLv: 0, |
|||
status: true, |
|||
fixed: '', |
|||
columnWidth: 120 |
|||
},{ |
|||
functionId: 9009004, |
|||
serialNumber: '9009004Table1SeqNoBits', |
|||
tableId: '9009004Table1', |
|||
tableName: '编码组成元素', |
|||
columnProp: 'seqNoBits', |
|||
headerAlign: 'center', |
|||
align: 'right', |
|||
columnLabel: '流水号位数', |
|||
columnHidden: false, |
|||
columnImage: false, |
|||
columnSortable: false, |
|||
sortLv: 0, |
|||
status: true, |
|||
fixed: '', |
|||
columnWidth: 120 |
|||
},{ |
|||
functionId: 9009004, |
|||
serialNumber: '9009004Table1SeqNoType', |
|||
tableId: '9009004Table1', |
|||
tableName: '编码组成元素', |
|||
columnProp: 'seqNoType', |
|||
headerAlign: 'center', |
|||
align: 'left', |
|||
columnLabel: '流水号产生规则', |
|||
columnHidden: false, |
|||
columnImage: false, |
|||
columnSortable: false, |
|||
sortLv: 0, |
|||
status: true, |
|||
fixed: '', |
|||
columnWidth: 120 |
|||
},{ |
|||
functionId: 9009004, |
|||
serialNumber: '9009004Table1VirtualItem', |
|||
tableId: '9009004Table1', |
|||
tableName: '编码组成元素', |
|||
columnProp: 'virtualItem', |
|||
headerAlign: 'center', |
|||
align: 'left', |
|||
columnLabel: '不参与编码', |
|||
columnHidden: false, |
|||
columnImage: false, |
|||
columnSortable: false, |
|||
sortLv: 0, |
|||
status: true, |
|||
fixed: '', |
|||
columnWidth: 120 |
|||
},{ |
|||
functionId: 9009004, |
|||
serialNumber: '9009004Table1ValueSeqNo', |
|||
tableId: '9009004Table1', |
|||
tableName: '编码组成元素', |
|||
columnProp: 'valueSeqNo', |
|||
headerAlign: 'center', |
|||
align: 'right', |
|||
columnLabel: '值顺序号', |
|||
columnHidden: false, |
|||
columnImage: false, |
|||
columnSortable: false, |
|||
sortLv: 0, |
|||
status: true, |
|||
fixed: '', |
|||
columnWidth: 120 |
|||
},{ |
|||
functionId: 9009004, |
|||
serialNumber: '9009004Table1FixedValueFlag', |
|||
tableId: '9009004Table1', |
|||
tableName: '编码组成元素', |
|||
columnProp: 'fixedValueFlag', |
|||
headerAlign: 'center', |
|||
align: 'right', |
|||
columnLabel: '固定值', |
|||
columnHidden: false, |
|||
columnImage: false, |
|||
columnSortable: false, |
|||
sortLv: 0, |
|||
status: true, |
|||
fixed: '', |
|||
columnWidth: 120 |
|||
}, |
|||
]; |
|||
const descColumnList = [ |
|||
{ |
|||
functionId: 9009004, |
|||
serialNumber: '9009004Table1ItemNo', |
|||
tableId: '9009004Table1', |
|||
tableName: '编码组成元素', |
|||
columnProp: 'itemNo', |
|||
headerAlign: 'center', |
|||
align: 'right', |
|||
columnLabel: '序号', |
|||
columnHidden: false, |
|||
columnImage: false, |
|||
columnSortable: false, |
|||
sortLv: 0, |
|||
status: true, |
|||
fixed: '', |
|||
columnWidth: 60 |
|||
}, |
|||
{ |
|||
functionId: 9009004, |
|||
serialNumber: '9009004Table1ItemDesc', |
|||
tableId: '9009004Table1', |
|||
tableName: '编码组成元素', |
|||
columnProp: 'itemDesc', |
|||
headerAlign: 'center', |
|||
align: 'left', |
|||
columnLabel: '描述', |
|||
columnHidden: false, |
|||
columnImage: false, |
|||
columnSortable: false, |
|||
sortLv: 0, |
|||
status: true, |
|||
fixed: '', |
|||
columnWidth: 120 |
|||
},{ |
|||
functionId: 9009004, |
|||
serialNumber: '9009004Table1SeqNo', |
|||
tableId: '9009004Table1', |
|||
tableName: '编码组成元素', |
|||
columnProp: 'seqNo', |
|||
headerAlign: 'center', |
|||
align: 'right', |
|||
columnLabel: '排列次序号', |
|||
columnHidden: false, |
|||
columnImage: false, |
|||
columnSortable: false, |
|||
sortLv: 0, |
|||
status: true, |
|||
fixed: '', |
|||
columnWidth: 80 |
|||
},{ |
|||
functionId: 9009004, |
|||
serialNumber: '9009004Table1ShowInDesc', |
|||
tableId: '9009004Table1', |
|||
tableName: '编码组成元素', |
|||
columnProp: 'showInDesc', |
|||
headerAlign: 'center', |
|||
align: 'left', |
|||
columnLabel: '在描述中显示', |
|||
columnHidden: false, |
|||
columnImage: false, |
|||
columnSortable: false, |
|||
sortLv: 0, |
|||
status: true, |
|||
fixed: '', |
|||
columnWidth: 120 |
|||
},{ |
|||
functionId: 9009004, |
|||
serialNumber: '9009004Table1ShowItemDescInDesc', |
|||
tableId: '9009004Table1', |
|||
tableName: '编码组成元素', |
|||
columnProp: 'showItemDescInDesc', |
|||
headerAlign: 'center', |
|||
align: 'left', |
|||
columnLabel: '在描述显示元素名称', |
|||
columnHidden: false, |
|||
columnImage: false, |
|||
columnSortable: false, |
|||
sortLv: 0, |
|||
status: true, |
|||
fixed: '', |
|||
columnWidth: 140 |
|||
},{ |
|||
functionId: 9009004, |
|||
serialNumber: '9009004Table1ShowInRemark', |
|||
tableId: '9009004Table1', |
|||
tableName: '编码组成元素', |
|||
columnProp: 'showInRemark', |
|||
headerAlign: 'center', |
|||
align: 'left', |
|||
columnLabel: '在备注中显示', |
|||
columnHidden: false, |
|||
columnImage: false, |
|||
columnSortable: false, |
|||
sortLv: 0, |
|||
status: true, |
|||
fixed: '', |
|||
columnWidth: 100 |
|||
},{ |
|||
functionId: 9009004, |
|||
serialNumber: '9009004Table1ShowItemDescInRemark', |
|||
tableId: '9009004Table1', |
|||
tableName: '编码组成元素', |
|||
columnProp: 'showItemDescInRemark', |
|||
headerAlign: 'center', |
|||
align: 'left', |
|||
columnLabel: '在备注中显示元素名称', |
|||
columnHidden: false, |
|||
columnImage: false, |
|||
columnSortable: false, |
|||
sortLv: 0, |
|||
status: true, |
|||
fixed: '', |
|||
columnWidth: 140 |
|||
} |
|||
]; |
|||
const dataList = { |
|||
itemNo:undefined, |
|||
itemDesc:undefined, |
|||
seqNo:undefined, |
|||
postfix:undefined, |
|||
bits:undefined, |
|||
itemByCondition:undefined, |
|||
seqFlag:undefined, |
|||
itemType:undefined, |
|||
seqNoBits:undefined, |
|||
seqNoType:undefined, |
|||
virtualItem:undefined, |
|||
valueSeqNo:undefined, |
|||
fixedValueFlag:undefined, |
|||
showInDesc:undefined, |
|||
showItemDescInDesc:undefined, |
|||
showInRemark:undefined, |
|||
showItemDescInRemark:undefined, |
|||
}; |
|||
|
|||
const dataLabels = { |
|||
itemNo:"元素序号", |
|||
itemDesc:"元素描述", |
|||
seqNo:"排列次序号", |
|||
postfix:"前面是否增加分割号", |
|||
bits:"编码位数", |
|||
itemByCondition:"可选值随元素变化而变化", |
|||
seqFlag:"流水号标识", |
|||
itemType:"元素输入类型", |
|||
seqNoBits:"流水号位数", |
|||
seqNoType:"流水号产生规则", |
|||
virtualItem:"不参与编码", |
|||
valueSeqNo:"值顺序号", |
|||
fixedValueFlag:"固定值", |
|||
showInDesc:"在描述中显示", |
|||
showItemDescInDesc:"在描述显示元素名称", |
|||
showInRemark:"在备注中显示", |
|||
showItemDescInRemark:"在备注中显示元素名称", |
|||
}; |
|||
const dataRules = {}; |
|||
Object.keys(dataList).forEach(key => { |
|||
dataRules[key] = [ |
|||
{ |
|||
required: true, |
|||
message: `${dataLabels[key]}不能为空`, |
|||
trigger: ['blur','input','change'] |
|||
} |
|||
]; |
|||
}); |
|||
export default { |
|||
name: "CodeItem", |
|||
data(){ |
|||
return{ |
|||
currentRow:{}, |
|||
saveOrEditIndex:undefined, |
|||
loading:false, |
|||
defineOptionalValueFlag:false, |
|||
visible: false, |
|||
codeItemDefs: [], |
|||
copyCodeItemDefs:[], |
|||
columnList: columnList.map(item => {return {...item,userId:this.$store.state.user.id}}), |
|||
descColumnList: descColumnList.map(item => {return {...item,userId:this.$store.state.user.id}}), |
|||
searchCodeItemDef: {...dataList}, |
|||
selectionAllList: [], |
|||
saveCodeItemDef:{...dataList}, |
|||
rules: dataRules, |
|||
descOrRemarkDialog:false, |
|||
} |
|||
}, |
|||
computed: { |
|||
itemType(){ |
|||
return this.saveCodeItemDef.itemType; |
|||
}, |
|||
sortCodeItemDefs(){ |
|||
let arr = JSON.parse(JSON.stringify(this.copyCodeItemDefs)); |
|||
return arr.sort((a,b) => a.seqNo - b.seqNo); |
|||
}, |
|||
descDialog:{ |
|||
get(){ |
|||
return this.descOrRemarkDialog |
|||
}, |
|||
set(val){ |
|||
if (this.saveOrEditIndex !== undefined){ |
|||
this.$confirm('存在信息正在编辑, 是否继续?', '提示', { |
|||
confirmButtonText: '确定', |
|||
cancelButtonText: '取消', |
|||
type: 'warning' |
|||
}).then(() => { |
|||
this.descOrRemarkDialog = val |
|||
this.saveOrEditIndex = undefined |
|||
}).catch(() => { |
|||
|
|||
}); |
|||
}else { |
|||
this.descOrRemarkDialog = val |
|||
} |
|||
} |
|||
} |
|||
}, |
|||
watch:{ |
|||
itemType(val,oldVal){ |
|||
if (val && !val.includes('流水号')){ |
|||
this.saveCodeItemDef.seqNoType = '*'; |
|||
this.saveCodeItemDef.seqNoBits = 0; |
|||
} |
|||
}, |
|||
}, |
|||
methods: { |
|||
searchCodeItemDefs(){ |
|||
let params = { |
|||
...this.searchCodeItemDef, |
|||
site: this.$store.state.user.site, |
|||
} |
|||
this.loading = true; |
|||
searchCodeItemDefs(params).then(({data}) => { |
|||
if (data && data.code === 0){ |
|||
this.codeItemDefs = data.rows; |
|||
if (!this.currentRow.itemNo && this.codeItemDefs.length > 0){ |
|||
this.currentRow = {...this.codeItemDefs[0]}; |
|||
} |
|||
}else { |
|||
this.$message.error(data.msg) |
|||
} |
|||
this.loading = false |
|||
}).catch(err => { |
|||
console.log(err) |
|||
this.loading = false |
|||
}) |
|||
}, |
|||
removeBatchCodeItemDef(){ |
|||
if (this.selectionAllList.length === 0){ |
|||
this.$message.warning("请选择要删除的项") |
|||
return |
|||
} |
|||
removeBatchCodeItemDef(this.selectionAllList).then(({data}) => { |
|||
if (data && data.code === 0){ |
|||
this.$message.success(data.msg); |
|||
this.currentRow = {}; |
|||
this.searchCodeItemDefs() |
|||
}else { |
|||
this.$message.error(data.msg) |
|||
} |
|||
}).catch(err => { |
|||
console.log(err) |
|||
}) |
|||
}, |
|||
saveBatchCodeItemDef(params){ |
|||
saveBatchCodeItemDef(params).then(({data}) => { |
|||
if (data && data.code === 0){ |
|||
this.$message.success(data.msg) |
|||
this.visible = false; |
|||
this.searchCodeItemDefs(); |
|||
}else { |
|||
this.$message.error(data.msg) |
|||
} |
|||
}).catch(err => { |
|||
console.log(err) |
|||
}) |
|||
}, |
|||
editBatchCodeItemDef(params){ |
|||
editBatchCodeItemDef(params).then(({data}) => { |
|||
if (data && data.code === 0){ |
|||
this.$message.success(data.msg) |
|||
this.visible = false; |
|||
this.currentRow = {}; |
|||
this.saveOrEditIndex = undefined |
|||
this.searchCodeItemDefs() |
|||
}else { |
|||
this.$message.error(data.msg) |
|||
} |
|||
}).catch(err => { |
|||
console.log(err) |
|||
}) |
|||
}, |
|||
handleSelectionChange(selection){ |
|||
this.selectionAllList = selection; |
|||
}, |
|||
closeDialog(){ |
|||
this.resetData(this.saveCodeItemDef); |
|||
this.$refs.saveCodeItemDefForm.resetFields(); |
|||
}, |
|||
resetData(data){ |
|||
Object.keys(data).forEach(key => {data[key] = undefined;}); |
|||
}, |
|||
clickEdit(row) { |
|||
this.saveCodeItemDef = {...row}; |
|||
this.visible = true; |
|||
}, |
|||
clickSave(){ |
|||
this.resetData(this.saveCodeItemDef); |
|||
this.$nextTick(()=>{ |
|||
this.saveCodeItemDef.postfix = 'N'; |
|||
this.saveCodeItemDef.bits = 1; |
|||
this.saveCodeItemDef.itemByCondition = 'N'; |
|||
this.saveCodeItemDef.seqNoBits = 0; |
|||
this.saveCodeItemDef.virtualItem = 'N'; |
|||
this.saveCodeItemDef.seqNoType = '*'; |
|||
this.saveCodeItemDef.showInDesc = 'Y'; |
|||
this.saveCodeItemDef.showItemDescInDesc = 'Y'; |
|||
this.saveCodeItemDef.showInRemark = 'Y'; |
|||
this.saveCodeItemDef.showItemDescInRemark = 'Y'; |
|||
if (this.codeItemDefs.length === 0){ |
|||
this.saveCodeItemDef.seqNo = 1; |
|||
this.saveCodeItemDef.valueSeqNo = 1; |
|||
}else { |
|||
this.saveCodeItemDef.seqNo = this.sortCodeItemDefs[this.codeItemDefs.length-1].seqNo + 1; |
|||
let arr = this.sortCodeItemDefs.map(item=>item.valueSeqNo) |
|||
this.saveCodeItemDef.valueSeqNo = Math.max(...arr) + 1; |
|||
} |
|||
}) |
|||
this.visible = true; |
|||
}, |
|||
clickSaveCodeItemDef(){ |
|||
this.$refs.saveCodeItemDefForm.validate((valid,obj) => { |
|||
if (valid) { |
|||
if (this.saveCodeItemDef.itemType.includes('流水号') && this.saveCodeItemDef.seqNoBits <= 0){ |
|||
this.$message.warning("流水号位数不能小于等于0"); |
|||
return |
|||
} |
|||
if (this.saveCodeItemDef.itemType.includes('流水号') && this.saveCodeItemDef.seqNoType === '*'){ |
|||
this.$message.warning("流水号产生规则不能为*"); |
|||
return |
|||
} |
|||
let arr = []; |
|||
arr.push(this.saveCodeItemDef) |
|||
if (this.saveCodeItemDef.itemNo){ |
|||
this.editBatchCodeItemDef(arr) |
|||
}else { |
|||
this.saveCodeItemDef.site = this.$store.state.user.site; |
|||
this.saveBatchCodeItemDef(arr) |
|||
} |
|||
}else { |
|||
Object.keys(obj).forEach(key => { |
|||
this.$message.error(obj[key][0].message); |
|||
return |
|||
}) |
|||
} |
|||
}) |
|||
}, |
|||
clickCopy(row){ |
|||
this.saveCodeItemDef = {...row}; |
|||
this.visible = true; |
|||
this.saveCodeItemDef.itemNo = undefined; |
|||
}, |
|||
saveDesc(row){ |
|||
let arr = []; |
|||
arr.push(row) |
|||
this.editBatchCodeItemDef(arr) |
|||
}, |
|||
clickEditDesc(index){ |
|||
if (this.saveOrEditIndex !== undefined){ |
|||
this.$confirm('存在信息正在编辑, 是否继续?', '提示', { |
|||
confirmButtonText: '确定', |
|||
cancelButtonText: '取消', |
|||
type: 'warning' |
|||
}).then(() => { |
|||
this.clickSettingDesc(); |
|||
this.saveOrEditIndex = index; |
|||
}).catch(() => { |
|||
|
|||
}); |
|||
}else { |
|||
this.saveOrEditIndex = index; |
|||
} |
|||
}, |
|||
clickSettingDesc(){ |
|||
this.copyCodeItemDefs = JSON.parse(JSON.stringify(this.codeItemDefs)); |
|||
this.descOrRemarkDialog = true; |
|||
}, |
|||
clickRest(){ |
|||
this.clickSettingDesc(); |
|||
this.saveOrEditIndex = undefined; |
|||
}, |
|||
rowStyle({row}){ |
|||
if (row){ |
|||
if (row.itemNo === this.currentRow.itemNo){ |
|||
return {'background-color': '#E8F7F6', cursor: 'pointer'}; |
|||
} |
|||
} |
|||
}, |
|||
quotationClickRow(row, column, event){ |
|||
this.currentRow = {...row}; |
|||
}, |
|||
defineOptionalValues(){ |
|||
if (!this.currentRow.itemNo){ |
|||
this.$message.warning("请先选择要定义可选值的元素"); |
|||
return |
|||
} |
|||
this.defineOptionalValueFlag = true; |
|||
} |
|||
}, |
|||
created() { |
|||
this.searchCodeItemDefs() |
|||
} |
|||
} |
|||
</script> |
|||
|
|||
<template> |
|||
<div> |
|||
<!-- 搜索条件 --> |
|||
<el-form :model="searchCodeItemDef" :inline="true" label-position="top"> |
|||
<el-form-item label="描述"> |
|||
<el-input v-model="searchCodeItemDef.itemDesc"></el-input> |
|||
</el-form-item> |
|||
<el-form-item label=" "> |
|||
<el-button type="primary" icon="el-icon-search" @click="searchCodeItemDefs">搜索</el-button> |
|||
</el-form-item> |
|||
</el-form> |
|||
<!-- 操作按钮 --> |
|||
<el-form :inline="true" label-position="top"> |
|||
<el-form-item label=" "> |
|||
<el-button type="primary" icon="el-icon-plus" @click="clickSave">新增</el-button> |
|||
</el-form-item> |
|||
<el-form-item label=" "> |
|||
<el-button type="primary" icon="el-icon-delete" @click="removeBatchCodeItemDef">删除</el-button> |
|||
</el-form-item> |
|||
<el-form-item label=" "> |
|||
<el-button :type="`${currentRow.itemType.includes('选择')?'primary':'info'}`" :disabled="currentRow.itemType && !currentRow.itemType.includes('选择')" @click="defineOptionalValues" plain>定义可选值</el-button> |
|||
</el-form-item> |
|||
<el-form-item label=" "> |
|||
<el-button type="primary" :type="`${currentRow.itemType.includes('流水号')?'primary':'info'}`" :disabled="currentRow.itemType && !currentRow.itemType.includes('流水号')" plain>流水号产生规则</el-button> |
|||
</el-form-item> |
|||
<el-form-item label=" "> |
|||
<el-button type="primary" @click="clickSettingDesc" plain>设置描述/备注产生规则</el-button> |
|||
</el-form-item> |
|||
</el-form> |
|||
<!-- 表格 --> |
|||
<el-table :data="codeItemDefs" |
|||
v-loading="loading" |
|||
element-loading-text="拼命加载中" |
|||
height="80vh" |
|||
border |
|||
@row-click="quotationClickRow" |
|||
:row-style="rowStyle" |
|||
@selection-change="handleSelectionChange" |
|||
style="width: 100%;margin-top: 5px;min-height: 200px"> |
|||
<el-table-column |
|||
type="selection" |
|||
align="center" |
|||
width="55"> |
|||
</el-table-column> |
|||
<el-table-column |
|||
v-for="(item,index) in columnList" :key="index" |
|||
:sortable="item.columnSortable" |
|||
:prop="item.columnProp" |
|||
:header-align="item.headerAlign" |
|||
:show-overflow-tooltip="item.showOverflowTooltip" |
|||
:align="item.align" |
|||
:fixed="item.fixed === ''?false:item.fixed" |
|||
:min-width="item.columnWidth" |
|||
:label="item.columnLabel"> |
|||
</el-table-column> |
|||
<el-table-column label="操作" align="left" header-align="center" width="150"> |
|||
<template slot-scope="{row,$index}"> |
|||
<el-button type="text" style="cursor:pointer;" @click="clickEdit(row)" icon="el-icon-edit-outline">编辑</el-button> |
|||
<el-button type="text" style="cursor:pointer;" @click="clickCopy(row)" icon="el-icon-edit-outline">复制</el-button> |
|||
</template> |
|||
</el-table-column> |
|||
</el-table> |
|||
|
|||
<!--可选值--> |
|||
<el-dialog :visible.sync="defineOptionalValueFlag" v-drag title="定义可选值"> |
|||
|
|||
</el-dialog> |
|||
|
|||
<!--新增/修改弹框--> |
|||
<el-dialog :visible.sync="visible" @close="closeDialog" width="500px" v-drag title="新增编码组成元素"> |
|||
<el-form :model="saveCodeItemDef" :rules="rules" ref="saveCodeItemDefForm" label-position="top"> |
|||
<el-row :gutter="10"> |
|||
<el-col :span="16"> |
|||
<el-form-item label="描述" prop="itemDesc" :show-message="false"> |
|||
<el-input v-model="saveCodeItemDef.itemDesc"></el-input> |
|||
</el-form-item> |
|||
</el-col> |
|||
<el-col :span="8"> |
|||
<el-form-item label="排列次序号" prop="seqNo" :show-message="false"> |
|||
<el-input-number v-model="saveCodeItemDef.seqNo" :min="0" style="line-height: 1.5;width: 100%;" :controls="false"></el-input-number> |
|||
</el-form-item> |
|||
</el-col> |
|||
<el-col :span="8"> |
|||
<el-form-item label="前面是否增加分割号" prop="postfix" :show-message="false"> |
|||
<el-select v-model="saveCodeItemDef.postfix" style="width: 100%;" placeholder="请选择"> |
|||
<el-option label="Y" value="Y"></el-option> |
|||
<el-option label="N" value="N"></el-option> |
|||
</el-select> |
|||
</el-form-item> |
|||
</el-col> |
|||
<el-col :span="8"> |
|||
<el-form-item label="编码位数" prop="bits" :show-message="false"> |
|||
<el-input-number v-model="saveCodeItemDef.bits" :min="0" style="line-height: 1.5;width: 100%;" :controls="false"></el-input-number> |
|||
</el-form-item> |
|||
</el-col> |
|||
<el-col :span="8"> |
|||
<el-form-item label="可选值随元素变化而变化" prop="itemByCondition" :show-message="false"> |
|||
<el-select v-model="saveCodeItemDef.itemByCondition" style="width: 100%;" placeholder="请选择"> |
|||
<el-option label="Y" value="Y"></el-option> |
|||
<el-option label="N" value="N"></el-option> |
|||
</el-select> |
|||
</el-form-item> |
|||
</el-col> |
|||
<el-col :span="8"> |
|||
<el-form-item label="元素输入类型" prop="itemType" :show-message="false"> |
|||
<el-select v-model="saveCodeItemDef.itemType" style="width: 100%;" placeholder="请选择"> |
|||
<el-option label="选择" value="选择"></el-option> |
|||
<el-option label="手工" value="手工"></el-option> |
|||
<el-option label="流水号" value="流水号"></el-option> |
|||
<el-option label="选择或手工" value="选择或手工"></el-option> |
|||
<el-option label="选择或流水号" value="选择或流水号"></el-option> |
|||
<el-option label="手工或流水号" value="手工或流水号"></el-option> |
|||
<el-option label="选择或手工或流水号" value="选择或手工或流水号"></el-option> |
|||
</el-select> |
|||
</el-form-item> |
|||
</el-col> |
|||
<el-col :span="8"> |
|||
<el-form-item label="流水号参数规则" prop="seqNoType" :show-message="false"> |
|||
<el-select v-model="saveCodeItemDef.seqNoType" :disabled="!saveCodeItemDef.itemType || !saveCodeItemDef.itemType.includes('流水号')" style="width: 100%;" placeholder="请选择"> |
|||
<el-option label="*" value="*"></el-option> |
|||
<el-option label="指定元素" value="指定元素"></el-option> |
|||
<el-option label="所有元素" value="所有元素"></el-option> |
|||
<el-option label="全部元素" value="全部元素"></el-option> |
|||
</el-select> |
|||
</el-form-item> |
|||
</el-col> |
|||
<el-col :span="8"> |
|||
<el-form-item label="流水号位数" prop="seqNoBits" :show-message="false"> |
|||
<el-input-number v-model="saveCodeItemDef.seqNoBits" :disabled="!saveCodeItemDef.itemType || !saveCodeItemDef.itemType.includes('流水号')" :min="0" style="line-height: 1.5;width: 100%;" :controls="false"></el-input-number> |
|||
</el-form-item> |
|||
</el-col> |
|||
<el-col :span="8"> |
|||
<el-form-item label="不参与编码" prop="virtualItem" :show-message="false"> |
|||
<el-select v-model="saveCodeItemDef.virtualItem" style="width: 100%;" placeholder="请选择"> |
|||
<el-option label="Y" value="Y"></el-option> |
|||
<el-option label="N" value="N"></el-option> |
|||
</el-select> |
|||
</el-form-item> |
|||
</el-col> |
|||
<el-col :span="8"> |
|||
<el-form-item label="值顺序号" prop="valueSeqNo" :show-message="false"> |
|||
<el-input-number v-model="saveCodeItemDef.valueSeqNo" :min="0" style="line-height: 1.5;width: 100%;" :controls="false"></el-input-number> |
|||
</el-form-item> |
|||
</el-col> |
|||
<el-col :span="8"> |
|||
<el-form-item label="固定值" :show-message="false"> |
|||
<el-input v-model="saveCodeItemDef.fixedValueFlag"></el-input> |
|||
</el-form-item> |
|||
</el-col> |
|||
</el-row> |
|||
</el-form> |
|||
<el-footer style="height:30px;text-align:center;margin-top: 8px"> |
|||
<el-button type="primary" @click="clickSaveCodeItemDef">保存</el-button> |
|||
<el-button type="primary" @click="visible = false">关闭</el-button> |
|||
</el-footer> |
|||
</el-dialog> |
|||
|
|||
<!--设置描述/备注产生规则--> |
|||
<el-dialog ref="dialog" :visible.sync="descDialog" width="60%" v-drag title="设置描述/备注产生规则"> |
|||
<div> |
|||
<el-button type="primary" :disabled="saveOrEditIndex >= 0" icon="el-icon-refresh" @click="()=>{ |
|||
this.searchCodeItemDef.itemDesc = undefined; |
|||
this.searchCodeItemDefs(); |
|||
}">刷新</el-button> |
|||
<el-button type="primary" @click="descDialog = false">关闭</el-button> |
|||
</div> |
|||
<el-table :data="sortCodeItemDefs" |
|||
height="400px" |
|||
border stripe |
|||
style="width: 100%;margin-top: 5px;min-height: 200px"> |
|||
<el-table-column |
|||
v-for="(item,index) in descColumnList" :key="index" |
|||
:sortable="item.columnSortable" |
|||
:prop="item.columnProp" |
|||
:header-align="item.headerAlign" |
|||
:show-overflow-tooltip="item.showOverflowTooltip" |
|||
:align="item.align" |
|||
:fixed="item.fixed === ''?false:item.fixed" |
|||
:min-width="item.columnWidth" |
|||
:label="item.columnLabel"> |
|||
<template slot-scope="{row,$index}"> |
|||
<div v-if="saveOrEditIndex === $index && ['showInDesc','showItemDescInDesc','showInRemark','showItemDescInRemark'].includes(item.columnProp)"> |
|||
<el-select v-if="item.columnProp === 'showInDesc'" v-model="row.showInDesc" style="width: 100%;" placeholder="请选择"> |
|||
<el-option label="Y" value="Y"></el-option> |
|||
<el-option label="N" value="N" :disabled="row.showItemDescInDesc === 'Y'"></el-option> |
|||
</el-select> |
|||
<el-select v-if="item.columnProp === 'showItemDescInDesc'" @change="()=>{ |
|||
if (row.showItemDescInDesc === 'Y'){ |
|||
row.showInDesc = 'Y'; |
|||
} |
|||
}" v-model="row.showItemDescInDesc" style="width: 100%;" placeholder="请选择"> |
|||
<el-option label="Y" value="Y"></el-option> |
|||
<el-option label="N" value="N"></el-option> |
|||
</el-select> |
|||
<el-select v-if="item.columnProp === 'showInRemark'" v-model="row.showInRemark" style="width: 100%;" placeholder="请选择"> |
|||
<el-option label="Y" value="Y"></el-option> |
|||
<el-option label="N" value="N" :disabled="row.showItemDescInRemark === 'Y'"></el-option> |
|||
</el-select> |
|||
<el-select v-if="item.columnProp === 'showItemDescInRemark'" @change="()=>{ |
|||
if (row.showItemDescInRemark === 'Y'){ |
|||
row.showInRemark = 'Y'; |
|||
} |
|||
}" v-model="row.showItemDescInRemark" style="width: 100%;" placeholder="请选择"> |
|||
<el-option label="Y" value="Y"></el-option> |
|||
<el-option label="N" value="N"></el-option> |
|||
</el-select> |
|||
</div> |
|||
<div v-else> |
|||
{{row[item.columnProp]}} |
|||
</div> |
|||
</template> |
|||
</el-table-column> |
|||
<el-table-column label="操作" align="center" header-align="center" width="150"> |
|||
<template slot-scope="{row,$index}"> |
|||
<el-button v-if="saveOrEditIndex !== $index" @click="clickEditDesc($index)" type="text" style="cursor:pointer;" icon="el-icon-edit-outline">编辑</el-button> |
|||
<div v-else> |
|||
<el-button @click="saveDesc(row)" type="text" style="cursor:pointer;" icon="el-icon-edit-outline">保存</el-button> |
|||
<el-button @click="clickRest" type="text" style="cursor:pointer;" icon="el-icon-circle-close">取消</el-button> |
|||
</div> |
|||
</template> |
|||
</el-table-column> |
|||
</el-table> |
|||
</el-dialog> |
|||
</div> |
|||
</template> |
|||
|
|||
<style scoped> |
|||
.el-table /deep/ .cell{ |
|||
height: auto; |
|||
line-height: 1.5; |
|||
} |
|||
.el-input-number /deep/ .el-input__inner{ |
|||
text-align: right; |
|||
padding-right: 15px !important; |
|||
padding-left: 0px !important; |
|||
} |
|||
/deep/ .el-button{ |
|||
line-height: 13px; |
|||
height: 21px; |
|||
} |
|||
</style> |
|||
@ -0,0 +1,15 @@ |
|||
<script> |
|||
export default { |
|||
name: "CodeList" |
|||
} |
|||
</script> |
|||
|
|||
<template> |
|||
<div> |
|||
<h1>Code List</h1> |
|||
</div> |
|||
</template> |
|||
|
|||
<style scoped> |
|||
|
|||
</style> |
|||
@ -0,0 +1,13 @@ |
|||
<script> |
|||
export default { |
|||
name: "CodeSetting" |
|||
} |
|||
</script> |
|||
|
|||
<template> |
|||
<h2>setting</h2> |
|||
</template> |
|||
|
|||
<style scoped> |
|||
|
|||
</style> |
|||
Write
Preview
Loading…
Cancel
Save
Reference in new issue