5 Commits

13 changed files with 73 additions and 72 deletions

View File

@@ -38,7 +38,8 @@
"vue-loader-plugin": "^1.3.0",
"vue-router": "^4.0.0-0",
"vuex": "^4.0.0-0",
"vxe-table": "^4.1.0",
"vxe-pc-ui": "^4.6.47",
"vxe-table": "^4.13.52",
"vxe-table-plugin-export-xlsx": "^2.2.1",
"xe-utils": "^3.4.0",
"xlsx": "^0.17.3"

View File

@@ -31,7 +31,7 @@
.el-header {
background-color: rgba(0, 0, 0, 0.025);
padding: 0;
height: 80px;
height: 60px;
}
.app-main {

View File

@@ -17,11 +17,11 @@
</template>
<style lang="scss" scoped>
.system-title {
font-size: 14px;
font-size: 16px;
font-weight: bold;
color: #fff;
text-align: center;
padding: 15px 0;
padding: 5px 0;
line-height: 50px;
background-color: #4178D5;
}

View File

@@ -10,7 +10,7 @@
:class="fullPath === tag.fullPath ? 'tag active' : 'tag'">{{ tag.meta.title }}</el-tag>
</div>
</el-col>
<el-col :span="4" class="text-c p-t-20">
<el-col :span="4" class="text-c p-t-10">
<div class="dropdown_box">
<el-dropdown v-if="isShow">
<span class="el-dropdown-link">
@@ -97,8 +97,8 @@
background-color: #293749;
cursor: pointer;
padding: 0px 10px 0px 10px;
height: 38px !important;
line-height: 38px;
height: 32px !important;
line-height: 32px;
}
.tag.active {

View File

@@ -280,7 +280,7 @@
</template>
</vxe-column>
<vxe-column v-if="item.value && item.key == 'other_fare' && data.userInfo.isall == 1" field="other_fare"
title="硬盘/运费/其他" :edit-render="{ autofocus: '.vxe-input--inner' }" width="130" align="center">
title="硬盘/运费/其他/DDR" :edit-render="{ autofocus: '.vxe-input--inner' }" width="130" align="center">
<template #default="{ row }">
<span>¥{{ row.other_fare ? row.other_fare : '0.000' }}</span>
</template>
@@ -332,7 +332,7 @@
<vxe-column v-if="item.value && item.key == 'tco_cost' && data.userInfo.isall == 1" field="tco_cost" title="物料成本价"
width="130" align="center">
<template #default="{ row }">
<!--结构/本体+硬盘/运费/其他+电子+电源+线材+配料/配件+加工费+包材-->
<!--结构/本体+硬盘/运费/其他/DDR+电子+电源+线材+配料/配件+加工费+包材-->
<span>¥{{
setNums83((
parseFloat(row.structure_fare ? row.structure_fare : 0) +

View File

@@ -29,6 +29,8 @@ import '@/utils/iconfont.js'
import 'xe-utils'
import VXETable from 'vxe-table'
import 'vxe-table/lib/style.css'
import VxeUIAll from 'vxe-pc-ui'
import 'vxe-pc-ui/lib/style.css'
import lcProject from './components/lcProject/index'
import debounce from './utils/debounce'
configure({
@@ -59,7 +61,7 @@ app.use(ElLoading)
app.use(ElementPlus, {
locale
}) //需要改变的地方加入locale
app.use(VXETable)
app.use(VXETable).use(VxeUIAll)
app.use(JxOricoTable)
app.config.globalProperties.$topNavTagRename = function (title) {

View File

@@ -162,7 +162,7 @@ export const spsdmqKeylist = {
key: 'parts_fare',
value: false
}, {
name: '硬盘/运费/其他',
name: '硬盘/运费/其他/DDR',
key: 'other_fare',
value: false
}, {
@@ -366,7 +366,7 @@ export const spsdmqKeylistMr = {
key: 'parts_fare',
value: false
}, {
name: '硬盘/运费/其他',
name: '硬盘/运费/其他/DDR',
key: 'other_fare',
value: false
}, {
@@ -716,7 +716,7 @@ export const ggdykeytable = [{
name: '辅料/配件',
field: 'parts_fare'
}, {
name: '硬盘/运费/其他',
name: '硬盘/运费/其他/DDR',
field: 'other_fare'
}, {
name: '加工费用',

View File

@@ -212,7 +212,7 @@ export default defineComponent({
{ type: 'col', field: 'accessories_cost', title: '配料/配件', width: '100' },
{ type: 'col', field: 'packing_cost', title: '包材', width: '80' },
{ type: 'col', field: 'process_cost', title: '加工费', width: '80' },
{ type: 'col', field: 'other_cost', title: '硬盘/运费其他', width: '120' },
{ type: 'col', field: 'other_cost', title: '硬盘/运费/其他/DDR', width: '120' },
]
},
{ type: 'col', field: 'moq', title: 'MOQ', width: '100', align: 'center' },

View File

@@ -295,7 +295,7 @@ export default defineComponent({
{ type: 'col', field: 'acces', title: '配料/配件', width: '100' },
{ type: 'col', field: 'materials', title: '包材', width: '80' },
{ type: 'col', field: 'processcost', title: '加工费', width: '80' },
{ type: 'col', field: 'disk', title: '硬盘/运费其他', width: '120' },
{ type: 'col', field: 'disk', title: '硬盘/运费/其他/DDR', width: '120' },
]
},
{ type: 'col', field: 'moq', title: 'MOQ', width: '100', align: 'center' },

View File

@@ -372,6 +372,7 @@ export default defineComponent({
{ type: 'selout', field: 'form_buy', title: '物料属性', width: '120', align: 'left', list: data.mtlist },
{ type: 'selout_1', field: 'supply_chain', title: '供应链', width: '100', align: 'left', list: data.splist },
{ type: 'colfdedit_69', field: 'FBARCODE', title: '69码', width: '100', align: 'left', edit: true },
{ type: 'col', field: 'fnsku', title: 'FNSKU', width: '100', align: 'left' },
{ type: 'selmhout-allow', field: 'supplier', title: '默认供应商', width: '140', align: 'left', list: data.dsplist },
{ type: 'colfdedit-allow-price', field: 'purchase_price', title: '采购价格', width: '120', align: 'left', edit: true },
{ type: 'selmhout', field: 'FUseOrgId', title: '默认供应组织', width: '140', align: 'left', list: data.dspzlist },
@@ -409,7 +410,7 @@ export default defineComponent({
{ type: 'col', field: 'accessories_cost', title: '配料/配件', width: '100' },
{ type: 'col', field: 'packing_cost', title: '包材', width: '80' },
{ type: 'col', field: 'process_cost', title: '加工费', width: '80' },
{ type: 'col', field: 'other_cost', title: '硬盘/运费其他', width: '120' },
{ type: 'col', field: 'other_cost', title: '硬盘/运费/其他/DDR', width: '120' },
]
},
{ type: 'col', field: 'moq', title: 'MOQ', width: '100', align: 'center' },

View File

@@ -2,7 +2,7 @@
<el-main class="bg_white">
<div class="m-t-10 table_90 border-r-10 text-black">
<el-row>
<el-col :span="8">
<el-col :span="8" style="align-items: center;display: flex;flex-direction: row;">
<!-- <el-button type="primary" size="mini" @click="getList(1)">搜索</el-button>
<el-button type="primary" size="mini" @click="reset()">重置</el-button>-->
<el-button type="primary" size="mini" @click="save">保存修改</el-button>
@@ -23,18 +23,9 @@
</div>
<!--表格-->
<div class="bg_white table_90 m-t-10 border-r-10 text-black f-12">
<vxe-table border resizable show-overflow ref="xTable" height="700" :scroll-x="{ enabled: false }"
<vxe-table border resizable show-overflow :height="tableHeight" :scroll-x="{ enabled: false }"
:scroll-y="{ enabled: false }" :header-row-style="header_style" :data="tableData" :edit-config="editConfig">
<vxe-colgroup title="基本信息" header-align="center" fixed="left" resizable>
<!-- <vxe-colgroup title="品牌" header-align="center">
<vxe-column field="name" width="100">
<template #header>
<el-select v-model="brand_name" placeholder="" @change="selectSKU()" clearable filterable size="mini">
<el-option v-for="(option, index) in brand_list" :key="index"></el-option>
</el-select>
</template>
</vxe-column>
</vxe-colgroup>-->
<vxe-column field="picture" title="图片" width="80" header-align="center" align="center" class="position-r">
<template #default="{ row }">
<el-upload :action="api_upload_url" :with-credentials="true" :on-success="function (res, file, file_list) {
@@ -163,37 +154,6 @@
<vxe-input v-model="row.overseas_minimum_activity_price" type="text"></vxe-input>
</template>
</vxe-column>
<!-- <vxe-colgroup title="供应信息" header-align="center">
<vxe-colgroup title="供应链" header-align="center">
<vxe-column field="sex" width="100">
<template #header>
<el-select v-model="brand_name" placeholder="" @change="selectSKU()" clearable filterable size="mini">
<el-option v-for="(option, index) in brand_list" :key="index"></el-option>
</el-select>
</template>
</vxe-column>
</vxe-colgroup>
<vxe-colgroup title="是否211" header-align="center">
<vxe-column field="sex" width="80">
<template #header>
<el-select v-model="brand_name" placeholder="" @change="selectSKU()" clearable filterable size="mini">
<el-option value="1" label="是"></el-option>
<el-option value="2" label="否"></el-option>
</el-select>
</template>
</vxe-column>
</vxe-colgroup>
<vxe-colgroup title="供应商" header-align="center">
<vxe-column field="sex" width="200">
<template #header>
<el-select v-model="brand_name" placeholder="" @change="selectSKU()" clearable filterable size="mini">
<el-option v-for="(option, index) in supplier_list" :key="index"></el-option>
</el-select>
</template>
</vxe-column>
</vxe-colgroup>
</vxe-colgroup>-->
<!-- <vxe-column field="cost" title="产品成本(含税)" width="80" header-align="center" align="right"></vxe-column> -->
<vxe-colgroup title="产品成本构成" header-align="center" v-allow="'NewCost.NewCostFinance'">
<vxe-column field="clinker_cost" title="结构/本体" width="70" header-align="center" align="right"
:edit-render="{ autofocus: '.vxe-input--inner' }">
@@ -237,7 +197,7 @@
<vxe-input v-model="row.process_cost" type="text"></vxe-input>
</template>
</vxe-column>
<vxe-column field="other_cost" title="硬盘/运费其他" width="80" header-align="center" align="right"
<vxe-column field="other_cost" title="硬盘/运费/其他/DDR" width="80" header-align="center" align="right"
:edit-render="{ autofocus: '.vxe-input--inner' }">
<template #edit="{ row }">
<vxe-input v-model="row.other_cost" type="text"></vxe-input>
@@ -362,16 +322,20 @@
</vxe-colgroup>
<vxe-column field="FITEMPPROPERTY" title="物料属性" width="80" header-align="center" align="right"></vxe-column>
<vxe-column field="bom_version" title="BOM版本" width="140" header-align="center" align="right"></vxe-column>
<vxe-column field="remark1" title="绩效提成经营分析品线(一级)" width="80" header-align="center" align="right"
:edit-render="{ autofocus: '.vxe-input--inner' }">
<template #edit="{ row }">
<vxe-input v-model="row.remark1" type="text"></vxe-input>
<vxe-column field="remark1" title="绩效提成经营分析品线(一级)" width="80" header-align="center" align="right">
<template #default="{ row }">
{{ row.remark1 }}
</template>
</vxe-column>
<vxe-column field="remark2" title="绩效提成经营分析品线(二级)" width="80" header-align="center" align="right"
:edit-render="{ autofocus: '.vxe-input--inner' }">
<template #edit="{ row }">
<vxe-input v-model="row.remark2" type="text"></vxe-input>
<vxe-column field="remark2" title="绩效提成经营分析品线(二级)" width="100" header-align="center" align="right"
:edit-render="{}">
<template #default="{ row }">
{{ row.remark2}}
</template>
<template #edit="{ row, $rowIndex }">
<vxe-select v-model="row.remark2" @change="val => updateRemark(val, $rowIndex)" clearable>
<vxe-option v-for="item in remark_level" :key="item.remark_two" :value="item.remark_two" :label="item.remark_two"></vxe-option>
</vxe-select>
</template>
</vxe-column>
<vxe-column field="remark3" title="业绩/回款统计品线" width="80" header-align="center" align="right"
@@ -464,7 +428,9 @@ export default {
old_value: '',
enlargeImgShow: false,
enlargeImg: '',
top: ''
top: '',
tableHeight: 700, // 表格高度,会动态计算
remark_level: [] // 绩效提成经营分析品线等级下拉选择
}
},
computed: {
@@ -484,7 +450,36 @@ export default {
created () {
this.getList()
},
mounted() {
// 组件挂载后计算表格高度
this.calculateTableHeight();
// 监听窗口大小变化,动态调整表格高度
window.addEventListener('resize', this.calculateTableHeight);
},
beforeDestroy() {
// 组件销毁前移除事件监听
window.removeEventListener('resize', this.calculateTableHeight);
},
methods: {
updateRemark(val, rowIndex){
// 根据选中的二级品线查找对应的一级品线
const item = this.remark_level.find(i => i && i.remark_two === val.value);
this.tableData[rowIndex].remark1 = val.value==null|| !val.value?'' :item.remark_one;
},
// 计算表格自适应高度
calculateTableHeight() {
// 获取浏览器窗口高度
const windowHeight = window.innerHeight;
// 获取表格容器上方元素的高度(这里需要根据实际情况调整)
// 假设上方操作栏和标题区域大约占用200px
const headerHeight = 200;
// 计算表格可用高度,减去一些边距和预留空间
this.tableHeight = windowHeight - headerHeight - 30; // 30px作为底部边距预留
// 确保表格高度不会太小
if (this.tableHeight < 300) {
this.tableHeight = 300;
}
},
enlarge (e, row) {
console.log(e)
this.enlargeImg = row.picture
@@ -520,6 +515,7 @@ export default {
this.form_buy = res.data.form_buy
this.fast = res.data.fast
this.opd_list = res.data.opd
this.remark_level = res.data.remark_level
this.tableData.forEach(item => {
item.is_show = 1
})
@@ -611,10 +607,8 @@ export default {
})
}
})
.finally(() => {
listLoading.close()
})
},
//同步ERP
synchronizeErp () {
const listLoading = ElLoading.service({

View File

@@ -190,6 +190,9 @@ const data = reactive({
}, {
label: '不停产促销',
value: 3
},{
label: '战略产品特价',
value: 4
}
],//分类下拉
statelist: [

View File

@@ -175,7 +175,7 @@
</template>
</vxe-column>
<vxe-column title="硬盘/运费/其他" v-if="item.value && item.key == 'other_fare'" width="120" align="left">
<vxe-column title="硬盘/运费/其他/DDR" v-if="item.value && item.key == 'other_fare'" width="120" align="left">
<template #default="{ row }">
<span>{{ row.sku.other_fare }}</span>
</template>