Compare commits
5 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 8fb90bfa4e | |||
| 4738137e9a | |||
| d83decf0a7 | |||
| c379057590 | |||
| e8d29f4517 |
@@ -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"
|
||||
|
||||
@@ -31,7 +31,7 @@
|
||||
.el-header {
|
||||
background-color: rgba(0, 0, 0, 0.025);
|
||||
padding: 0;
|
||||
height: 80px;
|
||||
height: 60px;
|
||||
}
|
||||
|
||||
.app-main {
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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 {
|
||||
|
||||
@@ -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) +
|
||||
|
||||
@@ -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) {
|
||||
|
||||
@@ -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: '加工费用',
|
||||
|
||||
@@ -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' },
|
||||
|
||||
@@ -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' },
|
||||
|
||||
@@ -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' },
|
||||
|
||||
@@ -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({
|
||||
|
||||
@@ -190,6 +190,9 @@ const data = reactive({
|
||||
}, {
|
||||
label: '不停产促销',
|
||||
value: 3
|
||||
},{
|
||||
label: '战略产品特价',
|
||||
value: 4
|
||||
}
|
||||
],//分类下拉
|
||||
statelist: [
|
||||
|
||||
@@ -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>
|
||||
|
||||
Reference in New Issue
Block a user