Browse Source

2024-04-12

master
zelian_wu 2 years ago
parent
commit
c1ba58e2e3
  1. 9
      src/api/code/codeItemDef.js
  2. 9
      src/api/code/codeItemValue.js
  3. 15
      src/views/modules/code/generation.vue
  4. 858
      src/views/modules/code/item.vue
  5. 15
      src/views/modules/code/list.vue
  6. 13
      src/views/modules/code/setting.vue
  7. 39
      src/views/modules/proofing/requestForProofing.vue
  8. 51
      src/views/modules/quotation/requestForQuote.vue
  9. 36
      src/views/modules/quotation/sellForQuotation/quoteDetail.vue
  10. 19
      src/views/modules/test/file/testFile.vue
  11. 39
      src/views/modules/test/requestForTest.vue

9
src/api/code/codeItemDef.js

@ -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);

9
src/api/code/codeItemValue.js

@ -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)

15
src/views/modules/code/generation.vue

@ -0,0 +1,15 @@
<script>
export default {
name: "CodeGeneration"
}
</script>
<template>
<div>
<h1>Generation</h1>
</div>
</template>
<style scoped>
</style>

858
src/views/modules/code/item.vue

@ -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>

15
src/views/modules/code/list.vue

@ -0,0 +1,15 @@
<script>
export default {
name: "CodeList"
}
</script>
<template>
<div>
<h1>Code List</h1>
</div>
</template>
<style scoped>
</style>

13
src/views/modules/code/setting.vue

@ -0,0 +1,13 @@
<script>
export default {
name: "CodeSetting"
}
</script>
<template>
<h2>setting</h2>
</template>
<style scoped>
</style>

39
src/views/modules/proofing/requestForProofing.vue

@ -1654,7 +1654,44 @@
status: true,
fixed: '',
columnWidth: 120
},{
},
{
userId: this.$store.state.user.name,
functionId: 102001,
serialNumber: '102001Table3Type',
tableId: '102001Table3',
tableName: '项目物料表',
columnProp: 'type',
headerAlign: 'center',
align: 'center',
columnLabel: '制造类型',
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: '',
columnWidth: 120
},
{
userId: this.$store.state.user.name,
functionId: 102001,
serialNumber: '102001Table3UmId',
tableId: '102001Table3',
tableName: '项目物料表',
columnProp: 'umId',
headerAlign: 'center',
align: 'center',
columnLabel: '单位',
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: '',
columnWidth: 100
},
{
userId: this.$store.state.user.name,
functionId: 102001,
serialNumber: '102001Table3CodeNo',

51
src/views/modules/quotation/requestForQuote.vue

@ -238,6 +238,12 @@
</el-row>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item label="Quote Type" prop="quoteType">
<dict-data-select v-if="modalFlag" v-model="modalData.quoteType" clearable dict-type="quote_type"
:use-default-value="modalData.flag === '1'"></dict-data-select>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item label="优先等级" prop="priorityLevel">
<dict-data-select v-if="modalFlag" v-model="modalData.priorityLevel"
@ -250,12 +256,6 @@
value-format="yyyy-MM-dd" placeholder="选择日期"></el-date-picker>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item label="Quote Type" prop="quoteType">
<dict-data-select v-if="modalFlag" v-model="modalData.quoteType" clearable dict-type="quote_type"
:use-default-value="modalData.flag === '1'"></dict-data-select>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="10" v-if="false">
<el-col :span="24">
@ -1876,7 +1876,44 @@ export default {
status: true,
fixed: '',
columnWidth: 120
}, {
},
{
userId: this.$store.state.user.name,
functionId: 102001,
serialNumber: '102001Table3Type',
tableId: '102001Table3',
tableName: '项目物料表',
columnProp: 'type',
headerAlign: 'center',
align: 'center',
columnLabel: '制造类型',
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: '',
columnWidth: 120
},
{
userId: this.$store.state.user.name,
functionId: 102001,
serialNumber: '102001Table3UmId',
tableId: '102001Table3',
tableName: '项目物料表',
columnProp: 'umId',
headerAlign: 'center',
align: 'center',
columnLabel: '单位',
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: '',
columnWidth: 100
},
{
userId: this.$store.state.user.name,
functionId: 102001,
serialNumber: '102001Table3CodeNo',

36
src/views/modules/quotation/sellForQuotation/quoteDetail.vue

@ -605,6 +605,42 @@ export default {
fixed: '',
columnWidth: 120
}, {
userId: this.$store.state.user.name,
functionId: 102001,
serialNumber: '102001Table3Type',
tableId: '102001Table3',
tableName: '项目物料表',
columnProp: 'type',
headerAlign: 'center',
align: 'center',
columnLabel: '制造类型',
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: '',
columnWidth: 120
},
{
userId: this.$store.state.user.name,
functionId: 102001,
serialNumber: '102001Table3UmId',
tableId: '102001Table3',
tableName: '项目物料表',
columnProp: 'umId',
headerAlign: 'center',
align: 'center',
columnLabel: '单位',
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: '',
columnWidth: 100
},
{
userId: this.$store.state.user.name,
functionId: 102003,
serialNumber: '102003Table3CodeNo',

19
src/views/modules/test/file/testFile.vue

@ -86,6 +86,23 @@ export default {
}).catch(() => {
})
},
previewFile(row){
//
let image = ['jpg', 'jpeg', 'png', 'gif', 'bmp']
if (image.includes(row.fileType.toLowerCase())){
return
}
let office = ['doc', 'docx', 'ppt', 'pptx', 'xls', 'xlsx']
if (office.includes(row.fileType.toLowerCase())){
return;
}
let pdf = ['pdf']
if (pdf.includes(row.fileType.toLowerCase())){
}
}
},
watch:{
uploadDialog(newValue,oldValue){
@ -131,7 +148,7 @@ export default {
<template slot-scope="{row,$index}">
<el-link style="cursor:pointer;" @click="downloadFile(row)">下载</el-link>
<el-link style="cursor:pointer;" @click="removeFile(row)">删除</el-link>
<!-- <el-link>预览</el-link>-->
<el-link style="cursor:pointer;" @click="previewFile(row)">预览</el-link>
</template>
</el-table-column>
</el-table>

39
src/views/modules/test/requestForTest.vue

@ -1823,7 +1823,44 @@
status: true,
fixed: '',
columnWidth: 140
},{
},
{
userId: this.$store.state.user.name,
functionId: 102001,
serialNumber: '102001Table3Type',
tableId: '102001Table3',
tableName: '项目物料表',
columnProp: 'type',
headerAlign: 'center',
align: 'center',
columnLabel: '制造类型',
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: '',
columnWidth: 120
},
{
userId: this.$store.state.user.name,
functionId: 102001,
serialNumber: '102001Table3UmId',
tableId: '102001Table3',
tableName: '项目物料表',
columnProp: 'umId',
headerAlign: 'center',
align: 'center',
columnLabel: '单位',
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: '',
columnWidth: 100
},
{
userId: this.$store.state.user.name,
functionId: 103001,
serialNumber: '103001Table3CodeNo',

Loading…
Cancel
Save