提交 996665dd authored 作者: lidongxu's avatar lidongxu

Merge branch 'ap' into dev

...@@ -41,7 +41,8 @@ import Snack from './tabs/snack.vue' ...@@ -41,7 +41,8 @@ import Snack from './tabs/snack.vue'
import ThreeTwoSeconds from './tabs/three_two_seconds.vue' import ThreeTwoSeconds from './tabs/three_two_seconds.vue'
import SixLittleDiamonds from './tabs/six_little_diamonds.vue' import SixLittleDiamonds from './tabs/six_little_diamonds.vue'
const activeName = ref('常规陈列'); // const activeName = ref('常规陈列');
const activeName = ref('档期计划');
const handleClickTabs = (tab) => { const handleClickTabs = (tab) => {
activeName.value = tab.name; activeName.value = tab.name;
} }
......
...@@ -34,32 +34,31 @@ ...@@ -34,32 +34,31 @@
{ {
label: "基础信息", // 类型标题(用于右上角控制显隐列) label: "基础信息", // 类型标题(用于右上角控制显隐列)
children: [ children: [
{ // {
label: '操作提示', // 列标题 // label: '操作提示', // 列标题
prop: 'operationTip', // 列属性 // prop: 'operationTip', // 列属性
visible: true, // 是否显示 // visible: true, // 是否显示
type: 'string', // 列类型 // type: 'string', // 列类型
fill: true, // 是否在填报模式显示 // fill: true, // 是否在填报模式显示
fixed: 'left', // 是否固定在左侧 // fixed: 'left', // 是否固定在左侧
width: 100, // 列宽度 // width: 100, // 列宽度
onlyFill: true, // 只在填报列显示(展示模式不显示) // onlyFill: true, // 只在填报列显示(展示模式不显示)
render: (_, row, col) => { // 列自定义渲染内容 // render: (_, row, col) => { // 列自定义渲染内容
return ( // return (
<div class="operation_tip_cell"> // <div class="operation_tip_cell">
<p>计划</p> // <p>计划</p>
<p>实际</p> // <p>实际</p>
</div> // </div>
) // )
} // }
}, // },
{ {
label: '计划月份', // 列标题 label: '计划月份', // 列标题
prop: 'salesMonth', // 列属性 prop: 'salesMonth', // 列属性
visible: true, // 是否显示 visible: true, // 是否显示
type: 'string', // 列类型 type: 'string', // 列类型
fill: true, // 是否为填报列 fill: false, // 是否为填报列
fixed: 'left', // 是否固定在左侧 width: 100
width: 90
}, },
{ {
"label": "销售大区", "label": "销售大区",
...@@ -167,7 +166,7 @@ ...@@ -167,7 +166,7 @@
"type": "string", "type": "string",
"fill": true, "fill": true,
"width": 100, "width": 100,
fixed: 'left' // fixed: 'left'
}, },
{ {
"label": "系统类型", "label": "系统类型",
...@@ -372,11 +371,12 @@ ...@@ -372,11 +371,12 @@
// "width": 280 // "width": 280
// }, // },
{ {
"label": "计划端架 - 数量", "label": "端架数量",
"subLabel": '计划',
"prop": "plannedEndCapQty", "prop": "plannedEndCapQty",
"visible": true, "visible": true,
"type": "string", "type": "string",
"fill": false, "fill": true,
"width": 140 "width": 140
}, },
// { // {
...@@ -388,7 +388,8 @@ ...@@ -388,7 +388,8 @@
// "width": 140 // "width": 140
// }, // },
{ {
"label": "实际端架 - 数量", "label": "端架数量",
"subLabel": '实际',
"prop": "actualEndCapQty", "prop": "actualEndCapQty",
"visible": true, "visible": true,
"type": "select", "type": "select",
...@@ -414,7 +415,7 @@ ...@@ -414,7 +415,7 @@
render: (_, row, col) => { render: (_, row, col) => {
return ( return (
<div> <div>
<span>{row[col.referenceKey] || '-'}</span> {/* <span>{row[col.referenceKey] || '-'}</span> */}
<el-select modelValue={row[col.prop]} <el-select modelValue={row[col.prop]}
onUpdate:modelValue={(value) => { onUpdate:modelValue={(value) => {
if (!value) { if (!value) {
...@@ -443,12 +444,13 @@ ...@@ -443,12 +444,13 @@
requestKey: ["actualEndCapExecuted", "promotionDisplayExecuted"] requestKey: ["actualEndCapExecuted", "promotionDisplayExecuted"]
}, },
{ {
"label": "实际端架 - 是否执行", "label": "端架是否",
"subLabel": '按计划执行',
"prop": "actualEndCapExecuted", "prop": "actualEndCapExecuted",
"visible": true, "visible": true,
"type": "formula", "type": "formula",
"fill": true, "fill": true,
"width": 160, "width": 140,
func: (row) => { func: (row) => {
// 如果计划端架数量为空则返回 '-' // 如果计划端架数量为空则返回 '-'
if (!row.plannedEndCapQty) { if (!row.plannedEndCapQty) {
...@@ -461,21 +463,15 @@ ...@@ -461,21 +463,15 @@
formulaStr: "执行端架数量 >= 计划端架数量" formulaStr: "执行端架数量 >= 计划端架数量"
}, },
{ {
"label": "计划地堆 - 平米数(㎡)", "label": "地堆平米数(㎡)",
"subLabel": '计划',
"prop": "plannedFloorStackArea", "prop": "plannedFloorStackArea",
"visible": true, "visible": true,
"type": "string", "type": "string",
"fill": false, "fill": true,
"width": 180
},
{
"label": "计划地堆 - 数量",
"prop": "plannedFloorStackQty",
"visible": true,
"type": "string",
"fill": false,
"width": 140 "width": 140
}, },
// { // {
// "label": "计划地堆 - 费用", // "label": "计划地堆 - 费用",
// "prop": "plannedFloorStackTotalCost", // "prop": "plannedFloorStackTotalCost",
...@@ -485,12 +481,13 @@ ...@@ -485,12 +481,13 @@
// "width": 140 // "width": 140
// }, // },
{ {
"label": "实际地堆 - 平米数(㎡)", "label": "地堆平米数(㎡)",
"subLabel": '实际',
"prop": "actualFloorStackArea", "prop": "actualFloorStackArea",
"visible": true, "visible": true,
"type": "input", "type": "input",
"fill": true, "fill": true,
"width": 180, "width": 140,
referenceKey: "plannedFloorStackArea", referenceKey: "plannedFloorStackArea",
// "options": [ // "options": [
// { // {
...@@ -529,7 +526,7 @@ ...@@ -529,7 +526,7 @@
render: (_, row, col) => { render: (_, row, col) => {
return ( return (
<div> <div>
<span>{row[col.referenceKey] || '-'}</span> {/* <span>{row[col.referenceKey] || '-'}</span> */}
<el-input modelValue={row[col.prop]} <el-input modelValue={row[col.prop]}
onUpdate:modelValue={(value) => { onUpdate:modelValue={(value) => {
// 判断空字符串给 0 // 判断空字符串给 0
...@@ -550,7 +547,17 @@ ...@@ -550,7 +547,17 @@
requestKey: ["actualFloorStackExecuted", "promotionDisplayExecuted"] requestKey: ["actualFloorStackExecuted", "promotionDisplayExecuted"]
}, },
{ {
"label": "实际地堆 - 数量", "label": "地堆数量",
"subLabel": '计划',
"prop": "plannedFloorStackQty",
"visible": true,
"type": "string",
"fill": true,
"width": 140
},
{
"label": "地堆数量",
"subLabel": '实际',
"prop": "actualFloorStackQty", "prop": "actualFloorStackQty",
"visible": true, "visible": true,
"type": "input", "type": "input",
...@@ -583,7 +590,7 @@ ...@@ -583,7 +590,7 @@
render: (_, row, col) => { render: (_, row, col) => {
return ( return (
<div> <div>
<span>{row[col.referenceKey] || '-'}</span> {/* <span>{row[col.referenceKey] || '-'}</span> */}
<el-input modelValue={row[col.prop]} <el-input modelValue={row[col.prop]}
onUpdate:modelValue={(value) => { onUpdate:modelValue={(value) => {
const numValue = value === '' ? 0 : Number(value); const numValue = value === '' ? 0 : Number(value);
...@@ -603,12 +610,13 @@ ...@@ -603,12 +610,13 @@
requestKey: ["actualFloorStackExecuted", "promotionDisplayExecuted"] requestKey: ["actualFloorStackExecuted", "promotionDisplayExecuted"]
}, },
{ {
"label": "实际地堆是否执行", "label": "地堆是否",
"subLabel": '按计划执行',
"prop": "actualFloorStackExecuted", "prop": "actualFloorStackExecuted",
"visible": true, "visible": true,
"type": "formula", "type": "formula",
"fill": true, "fill": true,
"width": 150, "width": 140,
func: (row) => { func: (row) => {
// 如果计划端架数量为空则返回 '-' // 如果计划端架数量为空则返回 '-'
if (!row.plannedFloorStackArea || !row.plannedFloorStackQty) { if (!row.plannedFloorStackArea || !row.plannedFloorStackQty) {
...@@ -621,12 +629,13 @@ ...@@ -621,12 +629,13 @@
formulaStr: "执行平米数 >= 计划平米数,并且 执行地堆数量 >= 计划地堆数量" formulaStr: "执行平米数 >= 计划平米数,并且 执行地堆数量 >= 计划地堆数量"
}, },
{ {
"label": "计划其他陈列数量 + 形式", "label": "其他陈列数量+形式",
"subLabel": '计划',
"prop": "plannedOtherDisplay", "prop": "plannedOtherDisplay",
"visible": true, "visible": true,
"type": "string", "type": "string",
"fill": false, "fill": true,
"width": 180 "width": 140
}, },
// { // {
// "label": "计划其他陈列 - 总费用", // "label": "计划其他陈列 - 总费用",
...@@ -637,7 +646,8 @@ ...@@ -637,7 +646,8 @@
// "width": 160 // "width": 160
// }, // },
{ {
"label": "实际其他陈列 - 数量 + 形式", "label": "其他陈列数量+形式",
"subLabel": '实际',
"prop": "actualOtherDisplay", "prop": "actualOtherDisplay",
"visible": true, "visible": true,
"type": "select", "type": "select",
...@@ -651,7 +661,7 @@ ...@@ -651,7 +661,7 @@
render: (_, row, col) => { render: (_, row, col) => {
return ( return (
<div> <div>
<span>{row[col.referenceKey] || '-'}</span> {/* <span>{row[col.referenceKey] || '-'}</span> */}
<el-select modelValue={row[col.prop]} <el-select modelValue={row[col.prop]}
onUpdate:modelValue={(value) => { onUpdate:modelValue={(value) => {
row[col.prop] = value; row[col.prop] = value;
...@@ -676,12 +686,13 @@ ...@@ -676,12 +686,13 @@
requestKey: ["actualOtherDisplayExecuted", "promotionDisplayExecuted"] requestKey: ["actualOtherDisplayExecuted", "promotionDisplayExecuted"]
}, },
{ {
"label": "实际其他陈列 - 是否执行", "label": "其他陈列是否",
"subLabel": '按计划执行',
"prop": "actualOtherDisplayExecuted", "prop": "actualOtherDisplayExecuted",
"visible": true, "visible": true,
"type": "formula", "type": "formula",
"fill": true, "fill": true,
"width": 190, "width": 140,
func: (row) => { func: (row) => {
if (!row.plannedOtherDisplay) { if (!row.plannedOtherDisplay) {
row.actualOtherDisplayExecuted = '-' row.actualOtherDisplayExecuted = '-'
...@@ -828,7 +839,7 @@ ...@@ -828,7 +839,7 @@
const isLoading = ref(true) const isLoading = ref(true)
let params = reactive({ let params = reactive({
pageNum: 1, pageNum: 1,
pageSize: 10, pageSize: 20,
}) })
const total = ref(0) const total = ref(0)
......
...@@ -34,32 +34,31 @@ ...@@ -34,32 +34,31 @@
{ {
label: "基础信息", label: "基础信息",
children: [ children: [
{ // {
label: '操作提示', // label: '操作提示',
prop: 'operationTip', // 列属性 // prop: 'operationTip', // 列属性
visible: true, // 是否显示 // visible: true, // 是否显示
type: 'string', // 列类型 // type: 'string', // 列类型
fill: true, // 是否为填报列 // fill: true, // 是否为填报列
fixed: 'left', // 是否固定在左侧 // fixed: 'left', // 是否固定在左侧
width: 100, // width: 100,
onlyFill: true, // 只在填报列显示 // onlyFill: true, // 只在填报列显示
render: (_, row, col) => { // render: (_, row, col) => {
return ( // return (
<div class="operation_tip_cell"> // <div class="operation_tip_cell">
<p>计划</p> // <p>计划</p>
<p>实际</p> // <p>实际</p>
</div> // </div>
) // )
} // }
}, // },
{ {
label: '计划月份', // 列标题 label: '计划月份', // 列标题
prop: 'salesMonth', // 列属性 prop: 'salesMonth', // 列属性
visible: true, // 是否显示 visible: true, // 是否显示
type: 'string', // 列类型 type: 'string', // 列类型
fill: true, // 是否为填报列 fill: false, // 是否为填报列
fixed: 'left', // 是否固定在左侧 width: 100
width: 90
}, },
{ {
label: '销售大区', label: '销售大区',
...@@ -225,15 +224,17 @@ ...@@ -225,15 +224,17 @@
label: "六小金刚批发挂网", label: "六小金刚批发挂网",
children: [ children: [
{ {
label: '计划执行-六小金刚批发挂网', label: '六小金刚批发挂网',
subLabel: '计划',
prop: 'plannedGw6', prop: 'plannedGw6',
visible: true, visible: true,
type: 'string', type: 'string',
fill: false, fill: true,
width: 180 width: 210
}, },
{ {
label: '实际执行-六小金刚批发挂网', label: '六小金刚批发挂网',
subLabel: '实际',
prop: 'actualGw6', prop: 'actualGw6',
referenceKey: 'plannedGw6', referenceKey: 'plannedGw6',
visible: true, visible: true,
...@@ -247,8 +248,8 @@ ...@@ -247,8 +248,8 @@
// ], // ],
render: (_, row, col) => { render: (_, row, col) => {
return ( return (
<div> <div style="padding: 10px 0;">
<span>{row[col.referenceKey] || '-'}</span> {/* <span>{row[col.referenceKey] || '-'}</span> */}
<el-input modelValue={row[col.prop]} <el-input modelValue={row[col.prop]}
onUpdate:modelValue={(value) => { onUpdate:modelValue={(value) => {
const numValue = value === '' ? 0 : Number(value); const numValue = value === '' ? 0 : Number(value);
...@@ -266,7 +267,7 @@ ...@@ -266,7 +267,7 @@
) )
}, },
fill: true, fill: true,
width: 190 width: 210
}, },
{ {
label: '六小金刚批发挂网陈列费', label: '六小金刚批发挂网陈列费',
...@@ -277,7 +278,8 @@ ...@@ -277,7 +278,8 @@
width: 160 width: 160
}, },
{ {
label: '六小金刚批发挂网-是否执行', label: '六小金刚批发挂网是否',
subLabel: '按实际执行',
prop: 'gwExecuted6', prop: 'gwExecuted6',
visible: true, visible: true,
type: 'formula', type: 'formula',
...@@ -357,7 +359,7 @@ ...@@ -357,7 +359,7 @@
const params = ref({ const params = ref({
pageNum: 1, pageNum: 1,
pageSize: 10, pageSize: 20,
}) })
const showFill = ref(true) const showFill = ref(true)
const getTableList = () => { const getTableList = () => {
......
...@@ -33,32 +33,31 @@ ...@@ -33,32 +33,31 @@
{ {
label: "基础信息", label: "基础信息",
children: [ children: [
{ // {
label: '操作提示', // label: '操作提示',
prop: 'operationTip', // 列属性 // prop: 'operationTip', // 列属性
visible: true, // 是否显示 // visible: true, // 是否显示
type: 'string', // 列类型 // type: 'string', // 列类型
fill: true, // 是否为填报列 // fill: true, // 是否为填报列
fixed: 'left', // 是否固定在左侧 // fixed: 'left', // 是否固定在左侧
width: 100, // width: 100,
onlyFill: true, // 只在填报列显示 // onlyFill: true, // 只在填报列显示
render: (_, row, col) => { // render: (_, row, col) => {
return ( // return (
<div class="operation_tip_cell"> // <div class="operation_tip_cell">
<p>计划</p> // <p>计划</p>
<p>实际</p> // <p>实际</p>
</div> // </div>
) // )
} // }
}, // },
{ {
label: '计划月份', // 列标题 label: '计划月份', // 列标题
prop: 'salesMonth', // 列属性 prop: 'salesMonth', // 列属性
visible: true, // 是否显示 visible: true, // 是否显示
type: 'string', // 列类型 type: 'string', // 列类型
fill: true, // 是否为填报列 fill: false, // 是否为填报列
fixed: 'left', // 是否固定在左侧 width: 100
width: 90
}, },
{ {
"label": "销售大区", "label": "销售大区",
...@@ -250,15 +249,17 @@ ...@@ -250,15 +249,17 @@
"width": 280 "width": 280
}, },
{ {
"label": "计划 - 陈列形式", "label": "陈列形式",
subLabel: '计划',
"prop": "plannedDisplay", "prop": "plannedDisplay",
"visible": true, "visible": true,
"type": "string", "type": "string",
"fill": false, "fill": true,
"width": 140 "width": 190
}, },
{ {
"label": "实际 - 陈列形式", "label": "陈列形式",
subLabel: '实际',
"prop": "actualDisplay", "prop": "actualDisplay",
"visible": true, "visible": true,
"type": "input", "type": "input",
...@@ -276,7 +277,7 @@ ...@@ -276,7 +277,7 @@
render: (_, row, col) => { render: (_, row, col) => {
return ( return (
<div> <div>
<span>{row[col.referenceKey] || '-'}</span> {/* <span>{row[col.referenceKey] || '-'}</span> */}
<div style="width: 100%"> <div style="width: 100%">
<el-select modelValue={row[col.prop]} <el-select modelValue={row[col.prop]}
onUpdate:modelValue={(value) => { onUpdate:modelValue={(value) => {
...@@ -297,7 +298,7 @@ ...@@ -297,7 +298,7 @@
) )
}, },
"fill": true, "fill": true,
"width": 160, "width": 190,
// "options": [ // "options": [
// { // {
// "label": "端架", // "label": "端架",
...@@ -360,15 +361,17 @@ ...@@ -360,15 +361,17 @@
// formulaStr: "实际陈列形式 === 计划陈列形式" // formulaStr: "实际陈列形式 === 计划陈列形式"
// }, // },
{ {
"label": "计划 - 端架数量(组)", "label": "端架数量(组)",
subLabel: '计划',
"prop": "plannedEndCapQty", "prop": "plannedEndCapQty",
"visible": true, "visible": true,
"type": "string", "type": "string",
"fill": false, "fill": true,
"width": 160 "width": 190
}, },
{ {
"label": "实际 - 端架数量(组)", "label": "端架数量(组)",
subLabel: '实际',
"prop": "actualEndCapQty", "prop": "actualEndCapQty",
"visible": true, "visible": true,
"type": "input", "type": "input",
...@@ -395,7 +398,6 @@ ...@@ -395,7 +398,6 @@
render: (_, row, col) => { render: (_, row, col) => {
return ( return (
<div> <div>
<span>{row[col.referenceKey] || '-'}</span>
<div> <div>
<el-input modelValue={row[col.prop]} <el-input modelValue={row[col.prop]}
onUpdate:modelValue={(value) => { onUpdate:modelValue={(value) => {
...@@ -414,7 +416,7 @@ ...@@ -414,7 +416,7 @@
</div> </div>
) )
}, },
"width": 160, "width": 190,
// requestKey: ["endCapQtyExecuted", "snackDisplayExecuted"] // requestKey: ["endCapQtyExecuted", "snackDisplayExecuted"]
requestKey: ["endCapQtyExecuted"] requestKey: ["endCapQtyExecuted"]
}, },
...@@ -621,7 +623,7 @@ ...@@ -621,7 +623,7 @@
const isLoading = ref(true) const isLoading = ref(true)
let params = reactive({ let params = reactive({
pageNum: 1, pageNum: 1,
pageSize: 10, pageSize: 20,
}) })
const total = ref(0) const total = ref(0)
......
...@@ -37,32 +37,31 @@ ...@@ -37,32 +37,31 @@
{ {
label: "基础信息", label: "基础信息",
children: [ children: [
{ // {
label: '操作提示', // label: '操作提示',
prop: 'operationTip', // 列属性 // prop: 'operationTip', // 列属性
visible: true, // 是否显示 // visible: true, // 是否显示
type: 'string', // 列类型 // type: 'string', // 列类型
fill: true, // 是否为填报列 // fill: true, // 是否为填报列
fixed: 'left', // 是否固定在左侧 // fixed: 'left', // 是否固定在左侧
width: 100, // width: 100,
onlyFill: true, // 只在填报列显示 // onlyFill: true, // 只在填报列显示
render: (_, row, col) => { // render: (_, row, col) => {
return ( // return (
<div class="operation_tip_cell"> // <div class="operation_tip_cell">
<p>计划</p> // <p>计划</p>
<p>实际</p> // <p>实际</p>
</div> // </div>
) // )
} // }
}, // },
{ {
label: '计划月份', // 列标题 label: '计划月份', // 列标题
prop: 'salesMonth', // 列属性 prop: 'salesMonth', // 列属性
visible: true, // 是否显示 visible: true, // 是否显示
type: 'string', // 列类型 type: 'string', // 列类型
fill: true, // 是否为填报列 fill: false, // 是否为填报列
fixed: 'left', // 是否固定在左侧 width: 100
width: 90
}, },
{ {
label: '销售大区', label: '销售大区',
...@@ -228,12 +227,13 @@ ...@@ -228,12 +227,13 @@
label: "60g挂条陈列", label: "60g挂条陈列",
children: [ children: [
{ {
label: '计划-60g挂条陈列数量', label: '60g挂条陈列数量',
subLabel: '计划',
prop: 'plannedDisplayQty60', prop: 'plannedDisplayQty60',
visible: true, visible: true,
type: 'string', type: 'string',
fill: false, fill: true,
width: 160 width: 200
}, },
{ {
label: '60g挂条陈列费', label: '60g挂条陈列费',
...@@ -244,19 +244,20 @@ ...@@ -244,19 +244,20 @@
width: 140 width: 140
}, },
{ {
label: '实际-60g挂条陈列数量', label: '60g挂条陈列数量',
subLabel: '实际',
prop: 'actualDisplayQty60', prop: 'actualDisplayQty60',
referenceKey: 'plannedDisplayQty60', referenceKey: 'plannedDisplayQty60',
visible: true, visible: true,
type: 'input', type: 'input',
fill: true, fill: true,
width: 160, width: 200,
render: (_, row, col) => { render: (_, row, col) => {
return ( return (
<div> <div style="padding: 10px 0;">
<span>{row[col.referenceKey] || '-'}</span> {/* <span>{row[col.referenceKey] || '-'}</span> */}
<div> <div>
<el-input <el-input
modelValue={row[col.prop]} modelValue={row[col.prop]}
onUpdate:modelValue={(value) => { onUpdate:modelValue={(value) => {
const numValue = value === '' ? 0 : Number(value); const numValue = value === '' ? 0 : Number(value);
...@@ -278,7 +279,8 @@ ...@@ -278,7 +279,8 @@
}, },
// 60g挂条陈列-是否执行 // 60g挂条陈列-是否执行
{ {
label: '60g挂条陈列-是否执行', label: '60g挂条陈列是否',
subLabel: '按计划执行',
prop: 'displayQtyExecuted60', prop: 'displayQtyExecuted60',
visible: true, visible: true,
type: 'formula', type: 'formula',
...@@ -358,7 +360,7 @@ ...@@ -358,7 +360,7 @@
const params = ref({ const params = ref({
pageNum: 1, pageNum: 1,
pageSize: 10, pageSize: 20,
}) })
const showFill = ref(true) const showFill = ref(true)
const getTableList = () => { const getTableList = () => {
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论