Commit 53681b11 by qinjianhui

Merge branch 'dev_order_select' into release

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