Pārlūkot izejas kodu

feat(price-approval): 问题修复

xinyan 5 mēneši atpakaļ
vecāks
revīzija
c70f822f41

+ 3 - 3
src/views/price-approval/Columns.ts

@@ -134,9 +134,9 @@ export const SupplyCheckColumns_Special = [
 
 export const DirectSalesCheckColumns_Regular = [
 	{ type: 'seq', title: '序 号', width: 50, align: 'center' },
-	{ field: 'sku', title: 'SKU', minWidth: 300, align: 'center', showOverflow: true, slots: { default: 'description' } },
-	{ field: 'sales_mode', title: '销售模式', minWidth: 'auto', align: 'center', showOverflow: true, slots: { default:'station' } },
-	{ field: 'platform', title: '平 台', minWidth: 'auto', align: 'center', showOverflow: true, slots: { default: 'platform' } },
+	{ field: 'sku', title: 'SKU', minWidth: 300, align: 'center', showOverflow: true,  },
+	{ field: 'sales_mode', title: '销售模式', minWidth: 'auto', align: 'center', showOverflow: true, },
+	{ field: 'platform', title: '平 台', minWidth: 'auto', align: 'center', showOverflow: true,  },
 	{ field: 'country_code', title: '国 家', minWidth: 'auto', align: 'center', showOverflow: true,},
 	{ field: 'price_show', title: '展示价格(外币)', minWidth: 'auto', align: 'center', showOverflow: true,},
 	// { field: '', title: '活动价格', minWidth: 'auto', align: 'center', showOverflow: true,},

+ 36 - 27
src/views/price-approval/components/AddPage.vue

@@ -13,6 +13,7 @@ import * as api from '../api';
 
 const route = useRoute();
 const routeQuery: any = ref(route.query);
+console.log("=>(AddPage.vue:16) routeQuery", routeQuery.value.type);
 
 const currencyCodeOptions = ref([]);
 const countryOptions = ref([]);
@@ -27,11 +28,11 @@ interface RuleForm {
 	sku: any;
 	weight: any;
 	currency_code: any;
-	price_market_ref: any;
+	price_amz_min: any;
 	estimated_cost: any;
 	final_cost: any;
 	price_market: any;
-	price_supply: any;
+	sales_mode: any;
 	cost: any;
 	price_show: any;
 	price_daily: any;
@@ -45,11 +46,11 @@ const ruleForm = reactive<RuleForm>({
 	sku: '',
 	weight: '',
 	currency_code: '',
-	price_market_ref: '',
+	price_amz_min: '',
 	estimated_cost: '',
 	final_cost: '',
 	price_market: '',
-	price_supply: '',
+	sales_mode: '',
 	cost: '',
 	price_show: '',
 	price_daily: '',
@@ -61,7 +62,7 @@ const rules = reactive<FormRules<RuleForm>>({
 	platform: [{ required: true, message: '请输入平台', trigger: 'blur' }],
 	country_code: [{ required: true, message: '请输入国家', trigger: 'blur' }],
 	currency_code: [{ required: true, message: '请选择货币代码', trigger: 'change' }],
-	price_supply: [{ required: true, message: '请输入供货价', trigger: 'blur' }],
+	sales_mode: [{ required: true, message: '请输入销售模式', trigger: 'blur' }],
 	estimated_cost: [{ required: true, message: '请输入预估成本', trigger: 'blur' }],
 });
 
@@ -69,7 +70,7 @@ const submitForm = async (formEl: FormInstance | undefined) => {
 	if (!formEl) return;
 	await formEl.validate(async (valid, fields) => {
 		if (valid) {
-			const res = await useResponse(routeQuery.type === 'supply' ? api.postSupplyCreate : api.postDirectCreate, ruleForm, loading);
+			const res = await useResponse(routeQuery.value.type === 'supply' ? api.postSupplyCreate : api.postDirectCreate, ruleForm, loading);
 			if (res.code === 2000) {
 				ElMessage.success({ message: res.msg, plain: true, icon: CirclePlusFilled });
 				resetForm(formEl);
@@ -160,31 +161,30 @@ function getCheckId(id: any) {
 								</el-select>
 							</el-form-item>
 						</el-col>
-						<el-col :span="6">
-							<el-form-item class="font-medium" label="卖场参考价" prop="price_market_ref">
-								<el-input v-model="ruleForm.price_market_ref" placeholder="请输入卖场参考价" />
-							</el-form-item>
-						</el-col>
 						<el-col :span="6">
 							<el-form-item class="font-medium" label="预估硬件成本" prop="estimated_cost">
 								<el-input v-model="ruleForm.estimated_cost" placeholder="请输入预估硬件成本" />
 							</el-form-item>
 						</el-col>
 						<el-col :span="6">
-							<el-form-item class="font-medium" label="尾段成本" prop="final_cost">
-								<el-input v-model="ruleForm.final_cost" placeholder="请输入尾段成本" />
+							<el-form-item class="font-medium" label="最低售价(外币)" prop="price_amz_min">
+								<el-input v-model="ruleForm.price_amz_min" placeholder="请输入最低售价(外币)" />
 							</el-form-item>
 						</el-col>
-					</el-row>
-					<el-row :gutter="20" style="margin-bottom: 5px">
 						<el-col :span="6">
-							<el-form-item class="font-medium" label="卖场价(不含VAT)" prop="price_market">
-								<el-input v-model="ruleForm.price_market" placeholder="请输入卖场价" />
+							<el-form-item class="font-medium" label="尾程费用(外币)" prop="final_cost">
+								<el-input v-model="ruleForm.final_cost" placeholder="请输入尾程费用(外币)" />
 							</el-form-item>
 						</el-col>
+					</el-row>
+					<el-row :gutter="20" style="margin-bottom: 5px">
 						<el-col :span="6">
-							<el-form-item class="font-medium" label="供货价" prop="price_supply">
-								<el-input v-model="ruleForm.price_supply" placeholder="请输入供货价" />
+							<el-form-item class="font-medium" label="销售模式" prop="sales_mode">
+								<!--<el-input v-model="ruleForm.sales_mode" placeholder="请输入销售模式" />-->
+								<el-select v-model="ruleForm.sales_mode" clearable placeholder="请选择销售模式">
+									<el-option label="线上" value="线上"></el-option>
+									<el-option label="线下" value="线下"></el-option>
+								</el-select>
 							</el-form-item>
 						</el-col>
 						<el-col :span="6">
@@ -239,18 +239,18 @@ function getCheckId(id: any) {
 							</el-form-item>
 						</el-col>
 						<el-col :span="6">
-							<el-form-item class="font-medium" label="展示价格" prop="price_show">
-								<el-input v-model="ruleForm.price_show" placeholder="请输入展示价格" />
+							<el-form-item class="font-medium" label="展示价格(外币)" prop="price_show">
+								<el-input v-model="ruleForm.price_show" placeholder="请输入展示价格(外币)" />
 							</el-form-item>
 						</el-col>
 						<el-col :span="6">
-							<el-form-item class="font-medium" label="日常活动售价" prop="price_daily">
-								<el-input v-model="ruleForm.price_daily" placeholder="请输入日常活动售价" />
+							<el-form-item class="font-medium" label="日常活动售价(外币)" prop="price_daily">
+								<el-input v-model="ruleForm.price_daily" placeholder="请输入日常活动售价(外币)" />
 							</el-form-item>
 						</el-col>
 						<el-col :span="6">
-							<el-form-item class="font-medium" label="最低活动价" prop="price_min">
-								<el-input v-model="ruleForm.price_min" placeholder="请输入最低活动价" />
+							<el-form-item class="font-medium" label="最低售价(外币)" prop="price_min">
+								<el-input v-model="ruleForm.price_min" placeholder="请输入最低售价(外币)" />
 							</el-form-item>
 						</el-col>
 					</el-row>
@@ -261,8 +261,17 @@ function getCheckId(id: any) {
 							</el-form-item>
 						</el-col>
 						<el-col :span="6">
-							<el-form-item class="font-medium" label="尾段成本" prop="final_cost">
-								<el-input v-model="ruleForm.final_cost" placeholder="请输入尾段成本" />
+							<el-form-item class="font-medium" label="尾程费用(外币)" prop="final_cost">
+								<el-input v-model="ruleForm.final_cost" placeholder="请输入尾程费用(外币)" />
+							</el-form-item>
+						</el-col>
+						<el-col :span="6">
+							<el-form-item class="font-medium" label="销售模式" prop="sales_mode">
+								<!--<el-input v-model="ruleForm.sales_mode" placeholder="请输入销售模式" />-->
+								<el-select v-model="ruleForm.sales_mode" clearable placeholder="请选择销售模式">
+									<el-option label="线上" value="线上"></el-option>
+									<el-option label="线下" value="线下"></el-option>
+								</el-select>
 							</el-form-item>
 						</el-col>
 						<el-col :span="6">

+ 0 - 1
src/views/price-approval/direct-sales/component/DataTable.vue

@@ -99,7 +99,6 @@ async function fetchDept() {
 	const resp = (await useResponse(getDept)).data;
 	is_superuser.value = resp.is_superuser;
 	roleKey.value = resp.role_info.length > 0 ? resp.role_info.map((role) => role.key) : '';
-	console.log('=>(DataTable.vue:100) roleKey.value', roleKey.value);
 }
 
 async function fetchList(isQuery = false) {

+ 5 - 6
src/views/price-approval/direct-sales/component/DataTableSlot.vue

@@ -1,5 +1,4 @@
 <script lang="ts" setup>
-
 /**
  * @Name: DataTableSlot.vue
  * @Description: 审批查看(直接销售)数据表格插槽
@@ -60,7 +59,7 @@ function onConfirm() {
 		<div v-if="field === 'operate'">
 			<div class="flex justify-center gap-2">
 				<div v-if="hasPermission('PRICE_DIRECT_UPDATE')">
-					<PermissionButton  circle plain type="warning" @click="handleEdit">
+					<PermissionButton circle plain type="warning" @click="handleEdit">
 						<el-icon>
 							<Operation />
 						</el-icon>
@@ -84,16 +83,16 @@ function onConfirm() {
 			</div>
 		</div>
 		<div v-else-if="field === 'average_gross_profit'">
-			{{ average_gross_profit || '-'}}
+			{{ average_gross_profit && average_gross_profit !== -Infinity ? average_gross_profit : '-' }}
 		</div>
 		<div v-else-if="field === 'routine_activity_profit'">
-			{{ routine_activity_profit || '-'}}
+			{{ routine_activity_profit && routine_activity_profit !== -Infinity ? routine_activity_profit : '-' }}
 		</div>
 		<div v-else-if="field === 'gross_margin_daily'">
-			{{ gross_margin_daily || '-'}}
+			{{ gross_margin_daily && gross_margin_daily !== -Infinity ? gross_margin_daily : '-' }}
 		</div>
 		<div v-else-if="field === 'country_code'">
-			<el-tag :disable-transitions="true" :style="{color: color, borderColor: color }" effect="plain" round>
+			<el-tag :disable-transitions="true" :style="{ color: color, borderColor: color }" effect="plain" round>
 				{{ country ? country.name : '-' }}
 			</el-tag>
 		</div>