Commit 53681b11 by qinjianhui

Merge branch 'dev_order_select' into release

parents c2097860 77a2f776
......@@ -20,6 +20,7 @@
>
复制店铺单号
</div>
<div v-if="showCopyCount" class="menu-item" @click="onChangeCopy('count')">
统计数量
</div>
......@@ -28,7 +29,7 @@
</template>
<script setup lang="ts">
import { ref, defineExpose, onMounted, onUnmounted } from 'vue'
import { ref, onMounted, onUnmounted } from 'vue'
const visible = ref(false)
const position = ref({ x: 0, y: 0 })
......
......@@ -706,6 +706,44 @@ function changeChinaTime(zone: string) {
})
}
const handleRadioGroupClick = (event: Event) => {
const target = event.target as HTMLElement
const radioButton = target.closest('.el-radio-button')
if (radioButton) {
const input = radioButton.querySelector(
'input[type="radio"]',
) as HTMLInputElement
if (input) {
const value = input.value
if (searchForm.value.customizedQuantity === value) {
event.preventDefault()
event.stopPropagation()
searchForm.value.customizedQuantity = ''
}
}
}
}
const handleMultiRadioGroupClick = (event: Event) => {
const target = event.target as HTMLElement
const radioButton = target.closest('.el-radio-button')
if (radioButton) {
const input = radioButton.querySelector(
'input[type="radio"]',
) as HTMLInputElement
if (input) {
const value = input.value === 'true' ? true : false
if (searchForm.value.multi === value) {
event.preventDefault()
event.stopPropagation()
searchForm.value.multi = null
}
}
}
}
const resultConfirm = () => {
search()
loadTabData()
......@@ -796,7 +834,7 @@ onMounted(() => {
clearable
filterable
popper-class="customize-select-style"
style="width: 150px"
style="width: 180px"
>
<ElOption
v-for="(item, index) in platformJson"
......@@ -878,16 +916,27 @@ onMounted(() => {
</ElSelect>
</ElFormItem>
<ElFormItem label="类型">
<ElFormItem
label="印刷"
@click.stop="(e: Event) => handleRadioGroupClick(e)"
>
<el-radio-group v-model="searchForm.customizedQuantity">
<el-radio-button value="single">单面</el-radio-button>
<el-radio-button value="multiple">多面</el-radio-button>
<el-radio-button value="normal">普品</el-radio-button>
</el-radio-group>
</ElFormItem>
<ElFormItem label="数量">
<el-radio-group v-model="searchForm.multi">
<el-radio-button :value="false">单件</el-radio-button>
<el-radio-button :value="true">多件</el-radio-button>
<el-radio-group
v-model="searchForm.multi"
@click.stop="(e: Event) => handleMultiRadioGroupClick(e)"
>
<el-radio-button :value="false" class="radioBtn"
>单件</el-radio-button
>
<el-radio-button :value="true" class="radioBtn"
>多件</el-radio-button
>
</el-radio-group>
</ElFormItem>
<ElFormItem>
......@@ -1283,12 +1332,9 @@ onMounted(() => {
}
}
}
.search-form {
::v-deep .el-radio-button {
.radioBtn {
::v-deep .el-radio-button__inner {
width: 75px;
.el-radio-button__inner {
width: 100%;
}
}
}
</style>
......@@ -167,7 +167,7 @@
v-model.trim="searchForm.thirdSkuCode"
placeholder="库存SKU"
clearable
style="width: 150px"
style="width: 180px"
></ElInput>
</ElFormItem>
<ElFormItem label="款号" v-if="status !== 'BATCH_DOWNLOAD'">
......@@ -229,13 +229,14 @@
<el-option value="desc" label="倒序"></el-option>
</el-select>
</ElFormItem>
<ElFormItem label="类型" v-if="status !== 'BATCH_DOWNLOAD'">
<ElFormItem label="印刷" v-if="status !== 'BATCH_DOWNLOAD'">
<el-radio-group
v-model="searchForm.customizedQuantity"
@click.stop="(e: Event) => handleRadioGroupClick(e)"
>
<el-radio-button value="single">单面</el-radio-button>
<el-radio-button value="multiple">多面</el-radio-button>
<el-radio-button label="single">单面</el-radio-button>
<el-radio-button label="multiple">多面</el-radio-button>
<el-radio-button label="normal">普品</el-radio-button>
</el-radio-group>
</ElFormItem>
<ElFormItem label="数量" v-if="status !== 'BATCH_DOWNLOAD'">
......@@ -243,8 +244,12 @@
v-model="searchForm.multi"
@click.stop="(e: Event) => handleMultiRadioGroupClick(e)"
>
<el-radio-button :value="false">单件</el-radio-button>
<el-radio-button :value="true">多件</el-radio-button>
<el-radio-button :value="false" class="radioBtn"
>单件</el-radio-button
>
<el-radio-button :value="true" class="radioBtn"
>多件</el-radio-button
>
</el-radio-group>
</ElFormItem>
<ElFormItem v-if="status !== 'BATCH_DOWNLOAD'">
......@@ -372,6 +377,7 @@
></ElOption>
</ElSelect>
</ElFormItem>
<ElFormItem
v-if="searchForm.replaceShipment === 0"
label="物流类型"
......@@ -2296,6 +2302,9 @@
<div class="menu-item" @click="rightChange('order-number')">
复制订单号
</div>
<div class="menu-item" @click="rightChange('factorySubOrderNumber')">
复制生产单号
</div>
</template>
</RightClickMenu>
<el-dialog
......@@ -4567,13 +4576,40 @@ const rightChange = async (code: string) => {
} else if (code === 'copy_shopNumber') {
const str = (tableData.value as ProductList[] | PodCnOrderListData[])
.map((item) => item?.shopNumber)
.join()
.filter(Boolean)
.join(',')
if (!str) return ElMessage.warning('当前数据没有店铺单号')
navigator.clipboard.writeText(str)
ElMessage.success('复制成功')
} else if (code === 'order-number') {
const str = (tableData.value as ProductList[] | PodCnOrderListData[])
.map((item) => item?.factoryOrderNumber)
.join()
.filter(Boolean)
.join(',')
if (!str) return ElMessage.warning('当前数据没有订单号')
navigator.clipboard.writeText(str)
ElMessage.success('复制成功')
} else if (code === 'factorySubOrderNumber') {
let str
if (flat) {
str = (tableData.value as (ProductList | PodCnOrderListData)[])
.flatMap(
(item) =>
(item as PodCnOrderListData)?.productList
?.map((product) => product.factorySubOrderNumber)
?.filter(Boolean) ?? [],
)
.filter(Boolean)
.join(',')
} else {
str = (tableData.value as ProductList[])
.map((item) => item?.factorySubOrderNumber)
.filter(Boolean)
.join(',')
}
if (!str) return ElMessage.warning('当前数据没有生产单号')
navigator.clipboard.writeText(str)
ElMessage.success('复制成功')
}
......@@ -6166,14 +6202,14 @@ useEnterKeyTrigger({
color: white;
font-weight: bold;
}
.search-form {
::v-deep .el-radio-button {
width: 75px;
.el-radio-button__inner {
width: 100%;
}
}
}
// .search-form {
// ::v-deep .el-radio-button {
// width: 75px;
// .el-radio-button__inner {
// width: 100%;
// }
// }
// }
.triangle-container-wrap {
position: absolute;
top: 0;
......@@ -6202,6 +6238,11 @@ useEnterKeyTrigger({
font-size: 12px;
}
}
.radioBtn {
::v-deep .el-radio-button__inner {
width: 75px;
}
}
</style>
<style lang="scss">
.customize-select-style {
......
......@@ -132,7 +132,7 @@
<LogisticsWaySelect
v-model="searchForm.craftCode"
:company-list="craftList"
:start-width="'178px'"
:start-width="'150px'"
search-placeholder="搜索工艺名称"
start-placeholder="请选择工艺名称"
></LogisticsWaySelect>
......@@ -142,7 +142,7 @@
v-model.trim="searchForm.thirdSkuCode"
placeholder="库存SKU"
clearable
style="width: 150px"
style="width: 180px"
></ElInput>
</ElFormItem>
<ElFormItem label="款号" v-if="status !== 'BATCH_DOWNLOAD'">
......@@ -219,7 +219,7 @@
</ElSelect>
</ElFormItem>
<!-- </div> -->
<ElFormItem label="类型" v-if="status !== 'BATCH_DOWNLOAD'">
<ElFormItem label="印刷" v-if="status !== 'BATCH_DOWNLOAD'">
<el-radio-group
v-model="searchForm.customizedQuantity"
@click.stop="(e: Event) => handleRadioGroupClick(e)"
......@@ -234,8 +234,12 @@
v-model="searchForm.multi"
@click.stop="(e: Event) => handleMultiRadioGroupClick(e)"
>
<el-radio-button :label="false">单件</el-radio-button>
<el-radio-button :label="true">多件</el-radio-button>
<el-radio-button :label="false" class="radioBtn"
>单件</el-radio-button
>
<el-radio-button :label="true" class="radioBtn"
>多件</el-radio-button
>
</el-radio-group>
</ElFormItem>
<ElFormItem>
......@@ -2542,6 +2546,9 @@
<div class="menu-item" @click="rightChange('order-number')">
复制订单号
</div>
<div class="menu-item" @click="rightChange('factorySubOrderNumber')">
复制生产单号
</div>
</template>
</RightClickMenu>
<el-dialog
......@@ -5178,13 +5185,38 @@ const rightChange = async (code: string) => {
} else if (code === 'copy_shopNumber') {
const str = (tableData.value as ProductList[] | PodUsOrderListData[])
.map((item) => item?.shopNumber)
.join()
.filter(Boolean)
.join(',')
if (!str) return ElMessage.warning('当前数据没有店铺单号')
navigator.clipboard.writeText(str)
ElMessage.success('复制成功')
} else if (code === 'order-number') {
const str = (tableData.value as ProductList[] | PodUsOrderListData[])
.map((item) => item?.factoryOrderNumber)
.join()
.filter(Boolean)
.join(',')
if (!str) return ElMessage.warning('当前数据没有订单号')
navigator.clipboard.writeText(str)
ElMessage.success('复制成功')
} else if (code === 'factorySubOrderNumber') {
let str
if (flat) {
str = (tableData.value as (ProductList | PodUsOrderListData)[])
.flatMap(
(item) =>
(item as PodUsOrderListData)?.productList
?.map((product) => product.factorySubOrderNumber)
?.filter(Boolean) ?? [],
)
.filter(Boolean)
.join(',')
} else {
str = (tableData.value as ProductList[])
.map((item) => item?.factorySubOrderNumber)
.filter(Boolean)
.join(',')
}
if (!str) return ElMessage.warning('当前数据没有生产单号')
navigator.clipboard.writeText(str)
ElMessage.success('复制成功')
}
......@@ -7218,6 +7250,11 @@ const printNormal = async () => {
font-size: 12px;
}
}
.radioBtn {
::v-deep .el-radio-button__inner {
width: 75px;
}
}
</style>
<style lang="scss">
.customize-select-style {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment