19 Commits

Author SHA1 Message Date
lixuan
19ab9eec78 xiugai 2023-03-17 14:12:23 +08:00
xiaozhiyong
bfb9fc7761 更新 2023-03-16 16:21:36 +08:00
xiaozhiyong
0ff8937579 更新 2023-03-16 16:14:11 +08:00
xiaozhiyong
d4f33ff63c Merge branch 'master' of http://121.196.213.68:3000/xiaozhiyong/refinery-admin 2023-03-16 15:44:52 +08:00
xiaozhiyong
ed47372ad5 更新 2023-03-16 15:44:44 +08:00
b4a92e8395 Merge pull request 'xiugai' (#7) from lixuan into master
Reviewed-on: #7
2023-03-16 07:18:30 +00:00
lixuan
1126906b5e xiugai 2023-03-16 15:12:24 +08:00
xiaozhiyong
479879ef38 Merge branch 'master' of http://121.196.213.68:3000/xiaozhiyong/refinery-admin 2023-03-09 11:52:00 +08:00
xiaozhiyong
a28edee556 更新 2023-03-09 11:51:18 +08:00
fbb1742fc2 Merge pull request 'lixuan' (#6) from lixuan into master
Reviewed-on: #6
2023-03-02 09:38:36 +00:00
lixuan
6928ce33a0 Merge branch 'master' of http://121.196.213.68:3000/xiaozhiyong/refinery-admin into lixuan 2023-03-02 17:38:17 +08:00
lixuan
10047d1f4a xiugai 2023-03-02 17:38:02 +08:00
3f1030fe8a Merge pull request 'lixuan' (#5) from lixuan into master
Reviewed-on: #5
2023-03-02 03:32:44 +00:00
lixuan
fe2721936a Merge branch 'master' of http://121.196.213.68:3000/xiaozhiyong/refinery-admin into lixuan 2023-03-02 11:32:27 +08:00
lixuan
2e4498069c xiugai 2023-03-02 11:32:19 +08:00
xiaozhiyong
9f1b7e7a9a 更新 2023-03-01 17:14:09 +08:00
xiaozhiyong
bed6901627 Merge remote-tracking branch 'origin/xiaozy_产品列表' 2023-03-01 16:43:25 +08:00
xiaozhiyong
56cf799cfb 更新 2023-03-01 16:42:36 +08:00
xiaozhiyong
0b9076df67 更新 2023-03-01 15:40:40 +08:00
10 changed files with 245 additions and 119 deletions

View File

@@ -66,7 +66,8 @@ export default {
handler(nval, oval) { handler(nval, oval) {
this.list = []; this.list = [];
// this.isDisabled = !!this.config.isDisabled; // this.isDisabled = !!this.config.isDisabled;
if (nval) { let type = this.$utils.typeJudgment(this.config.echoName);
if (nval && ["String"].includes(type)) {
let resultName = this.config.echoName.replace(/\s*/g, ""); let resultName = this.config.echoName.replace(/\s*/g, "");
if (!resultName) return; if (!resultName) return;
this.remoteMethod(resultName); this.remoteMethod(resultName);

View File

@@ -21,7 +21,7 @@ service.interceptors.request.use(
const JSESSIONID = utils.uuid(); const JSESSIONID = utils.uuid();
config.headers["JSESSIONID"] = JSESSIONID; config.headers["JSESSIONID"] = JSESSIONID;
config.headers["token"] = utils.bcrypt(JSESSIONID); config.headers["token"] = utils.bcrypt(JSESSIONID);
config.headers['dataSources'] = 'WEB'
if (env === "development") { if (env === "development") {
return config; return config;
} }

View File

@@ -28,7 +28,7 @@
clearable clearable
> >
<el-option <el-option
v-for="(item, index) in companyNatureTypeEnum" v-for="(item, index) in companyNatureTypeEnum.slice(1)"
:key="index" :key="index"
:label="item.label" :label="item.label"
:value="item.value" :value="item.value"
@@ -49,14 +49,14 @@
clearable clearable
> >
<el-option <el-option
v-for="(item, index) in auditMarkEnum" v-for="(item, index) in auditMarkEnum.slice(1)"
:key="index" :key="index"
:label="item.label" :label="item.label"
:value="item.value" :value="item.value"
/> />
</el-select> </el-select>
<el-select <!-- <el-select
v-model="parameter.params.companyType" v-model="parameter.params.companyType"
placeholder="账户类型" placeholder="账户类型"
clearable clearable
@@ -67,7 +67,7 @@
:label="item.label" :label="item.label"
:value="item.value" :value="item.value"
/> />
</el-select> </el-select> -->
<!-- 企业负责人或联系方式 --> <!-- 企业负责人或联系方式 -->
<autocomplete <autocomplete
@@ -300,7 +300,7 @@
<!-- 新增 --> <!-- 新增 -->
<add <add
:controlWindows="controlWindows" :controlWindows="controlWindows"
:companyNatureTypeEnum="companyNatureTypeEnum" :companyNatureTypeEnum="companyNatureTypeEnum.slice(1)"
@closeWindow="search" @closeWindow="search"
/> />
<!-- 认证 --> <!-- 认证 -->
@@ -332,16 +332,17 @@
</p> </p>
</template> </template>
<template #companyNature> <template #companyNature>
<!-- <p v-if="oilCompanyMatch[0]"> <p>
{{ <!-- {{
companyNatureEnum.find( companyNatureTypeEnum.find(
(item) => item.value === oilCompanyMatch[0].companyNature (item) => item.value === oilCompanyMatch[0].companyNature
).label ).label
}} }} -->
</p> --> </p>
</template> </template>
<template #companyDockType> <template #companyDockType>
<p> <p v-if="oilCompanyMatch[0].companyDockType === null"></p>
<p v-else>
{{ {{
oilCompanyMatch[0].companyDockType == 0 ? "对接客户" : "平台客户" oilCompanyMatch[0].companyDockType == 0 ? "对接客户" : "平台客户"
}} }}
@@ -356,7 +357,7 @@
<p> <p>
{{ {{
auditMarkEnum.find( auditMarkEnum.find(
(item) => item.value == oilCompanyMatch[0].enableMark (item) => item.value == oilCompanyMatch[0].auditMark
).label ).label
}} }}
</p> </p>
@@ -386,7 +387,7 @@
<template #accountState> <template #accountState>
<p v-if="oilCompanyMatch[3]"> <p v-if="oilCompanyMatch[3]">
{{ {{
accountStatusEnum.find( companyTypeEnum.find(
(item) => item.value === oilCompanyMatch[3].accountState (item) => item.value === oilCompanyMatch[3].accountState
).label ).label
}} }}
@@ -501,7 +502,8 @@ export default {
querykey: "companyName", querykey: "companyName",
}, },
configAutocompleteHead: { configAutocompleteHead: {
serveTarget: commonServe.getCompanyNames, serveTarget: commonServe.getRefineryCompanyList,
autocompleteKey: "name",
labelKey: "name", labelKey: "name",
valueKey: "name", valueKey: "name",
placeholder: "总公司名称", placeholder: "总公司名称",
@@ -544,6 +546,10 @@ export default {
}, },
], ],
auditMarkEnum: [ auditMarkEnum: [
{
value: null,
label: "",
},
{ {
label: "未提交", label: "未提交",
value: "0", value: "0",
@@ -566,6 +572,10 @@ export default {
}, },
], ],
companyNatureTypeEnum: [ companyNatureTypeEnum: [
{
value: null,
label: "",
},
{ {
label: "零售客户", label: "零售客户",
value: "0", value: "0",
@@ -693,6 +703,7 @@ export default {
this.getByPage(); this.getByPage();
}, },
getByPage() { getByPage() {
this.parameter.params.companyType = "4";
serve.getByPage(this.parameter).then((res) => { serve.getByPage(this.parameter).then((res) => {
this.tableData = res.data.list; this.tableData = res.data.list;
this.parameter.total = res.data.totalCount; this.parameter.total = res.data.totalCount;

View File

@@ -1,13 +1,18 @@
<template> <template>
<div class="order"> <div class="order">
<div class="frame"> <div class="frame">
<el-input class="mr20" v-model="parameter.params.id" placeholder="订单编号" clearable></el-input> <el-input
<!-- 公司名称 --> class="mr20"
v-model="parameter.params.id"
placeholder="订单编号"
clearable
></el-input>
<!-- 公司名称 -->
<autocomplete <autocomplete
class="mr20" class="mr20"
:params="parameter.params" :params="parameter.params"
:config="configAutocomplete" :config="configAutocomplete"
/> />
<!-- <el-select style="margin-right: 20px;" v-model="parameter.params.id" placeholder="用户名称" clearable> <!-- <el-select style="margin-right: 20px;" v-model="parameter.params.id" placeholder="用户名称" clearable>
<el-option <el-option
v-for="item in refineryList" v-for="item in refineryList"
@@ -56,13 +61,13 @@
:data="tableData" :data="tableData"
style="width: 100%" style="width: 100%"
> >
<el-table-column <el-table-column
prop="id" prop="id"
label="订单ID" label="订单ID"
show-overflow-tooltip show-overflow-tooltip
minWidth="250" minWidth="250"
> >
</el-table-column> </el-table-column>
<el-table-column label="购方客户信息" minWidth="250"> <el-table-column label="购方客户信息" minWidth="250">
<template slot-scope="{ row }"> <template slot-scope="{ row }">
<p class="gray"> <p class="gray">
@@ -84,29 +89,44 @@
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column prop="salePrice" label="价格" minWidth="90">
prop="salePrice" label="价格" minWidth="90">
</el-table-column> </el-table-column>
<el-table-column
<el-table-column prop="payStatus" label="支付状态" minWidth="120" show-overflow-tooltip> prop="payStatus"
label="支付状态"
minWidth="120"
show-overflow-tooltip
>
<template slot-scope="{ row }"> <template slot-scope="{ row }">
<el-tag :effect="payTagType(row.payStatus).effect" :type="payTagType(row.payStatus).type">{{ payTagType(row.payStatus).label }}</el-tag> <el-tag
:effect="payTagType(row.payStatus).effect"
:type="payTagType(row.payStatus).type"
>{{ payTagType(row.payStatus).label }}</el-tag
>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="orderStatus" label="订单状态" minWidth="120"> <el-table-column prop="orderStatus" label="订单状态" minWidth="120">
<template slot-scope="{ row }"> <template slot-scope="{ row }">
<el-tag :effect="orderTagType(row.orderStatus).effect" :type="orderTagType(row.orderStatus).type">{{ orderTagType(row.orderStatus).label }}</el-tag> <el-tag
:effect="orderTagType(row.orderStatus).effect"
:type="orderTagType(row.orderStatus).type"
>{{ orderTagType(row.orderStatus).label }}</el-tag
>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="orderSerialNumber" prop="orderSerialNumber"
label="订单提货量(实际/预约)" label="订单提货量(实际/预约)"
minWidth="180" minWidth="180"
> >
<template slot-scope="{ row }"> <template slot-scope="{ row }">
<span>{{ row.actQuantity|toNumberFixed }} / {{ row.preQuantity|toNumberFixed }} {{row.productMeasurement}}</span> <span
>{{ row.actQuantity | toNumberFixed }} /
{{ row.preQuantity | toNumberFixed }}
{{ row.productMeasurement }}</span
>
</template> </template>
</el-table-column> </el-table-column>
@@ -116,7 +136,10 @@
minWidth="180" minWidth="180"
> >
<template slot-scope="{ row }"> <template slot-scope="{ row }">
<span>{{ row.actAmount|toNumberFixed}} / {{ row.preAmount|toNumberFixed }} </span> <span
>{{ row.actAmount | toNumberFixed }} /
{{ row.preAmount | toNumberFixed }} </span
>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="时间" minWidth="235"> <el-table-column label="时间" minWidth="235">
@@ -129,30 +152,71 @@
</p> </p>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="orderSerialNumber" fixed="right" label="操作" width="250"> <el-table-column
prop="orderSerialNumber"
fixed="right"
label="操作"
width="250"
>
<template slot-scope="{ row }"> <template slot-scope="{ row }">
<el-link type="primary" :underline="false" @click="detail(row)" <el-link type="primary" :underline="false" @click="detail(row)"
>详情</el-link >详情</el-link
> >
<el-link v-show="row.orderStatus!=='SUBMITED'&&row.orderStatus!=='ORDER_LOCKED'" type="primary" :underline="false" @click="billOfLading(row)" <el-link
v-show="
row.orderStatus !== 'SUBMITED' &&
row.orderStatus !== 'ORDER_LOCKED'
"
type="primary"
:underline="false"
@click="billOfLading(row)"
>提货单</el-link >提货单</el-link
> >
<el-popconfirm <el-popconfirm
:title="row.orderStatus=='SUBMITED'?'是否确认订单锁定?':'是否确认下单?'" :title="
row.orderStatus == 'SUBMITED'
? '是否确认订单锁定?'
: '是否确认下单?'
"
icon-color="red" icon-color="red"
@confirm="Locked(row)" @confirm="Locked(row)"
> >
<el-link v-show="row.orderStatus=='SUBMITED'||row.orderStatus=='ORDER_LOCKED'" slot="reference" type="primary" :underline="false" <el-link
>{{row.orderStatus=='SUBMITED'?'订单锁定':'下单确认'}}</el-link v-show="
row.orderStatus == 'SUBMITED' ||
row.orderStatus == 'ORDER_LOCKED'
"
slot="reference"
type="primary"
:underline="false"
>{{
row.orderStatus == "SUBMITED" ? "订单锁定" : "下单确认"
}}</el-link
> >
</el-popconfirm> </el-popconfirm>
<el-popconfirm <el-popconfirm
:title="row.orderStatus=='SUBMITED'||row.orderStatus=='ORDER_LOCKED'?'是否确认取消订单?':'是否确认退款?'" :title="
row.orderStatus == 'SUBMITED' ||
row.orderStatus == 'ORDER_LOCKED'
? '是否确认取消订单?'
: '是否确认退款?'
"
icon-color="red" icon-color="red"
@confirm="orderCencle(row)" @confirm="orderCencle(row)"
> >
<el-link v-show="row.orderStatus!=='CANCELED'&&row.payStatus!=='REFUNDED'" slot="reference" type="primary" :underline="false" <el-link
>{{row.orderStatus=='SUBMITED'||row.orderStatus=='ORDER_LOCKED'?'订单取消':'订单退款'}}</el-link v-show="
row.orderStatus !== 'CANCELED' && row.payStatus !== 'REFUNDED'
"
slot="reference"
type="primary"
:underline="false"
>{{
row.orderStatus == "SUBMITED" ||
row.orderStatus == "ORDER_LOCKED"
? "订单取消"
: "订单退款"
}}</el-link
> >
</el-popconfirm> </el-popconfirm>
</template> </template>
@@ -190,7 +254,11 @@
</general-details> </general-details>
</el-drawer> </el-drawer>
<!-- 提货单 --> <!-- 提货单 -->
<billOfLading :billData="billData" :controlWindows="controlWindows" @closeWindow="handleCurrentChange" /> <billOfLading
:billData="billData"
:controlWindows="controlWindows"
@closeWindow="handleCurrentChange"
/>
</div> </div>
</template> </template>
@@ -204,20 +272,20 @@ import autocomplete from "components/autocomplete/index.vue";
import billOfLading from "./components/billOfLading.vue"; import billOfLading from "./components/billOfLading.vue";
export default { export default {
filters:{ filters: {
toNumberFixed(val){ toNumberFixed(val) {
if(val){ if (val) {
return Number(val).toFixed(2) return Number(val).toFixed(2);
}else{return '--'} } else {
} return "--";
}
},
}, },
data() { data() {
return { return {
controlWindows: { controlWindows: {
add: false, add: false,
addInfo: { addInfo: {},
},
detail: false, detail: false,
bill: false, bill: false,
}, },
@@ -231,7 +299,7 @@ export default {
}, },
configAutocompleteLc: { configAutocompleteLc: {
serveTarget: serve.findByEntity, serveTarget: serve.findByEntity,
autocompleteKey: "name", autocompleteKey: "refineryName",
labelKey: "refineryName", labelKey: "refineryName",
valueKey: "id", valueKey: "id",
placeholder: "炼厂名称", placeholder: "炼厂名称",
@@ -262,7 +330,7 @@ export default {
params: {}, params: {},
}, },
oilCompanyMatch: {}, oilCompanyMatch: {},
billData:[], billData: [],
mappingData: [ mappingData: [
{ {
carTitle: "", carTitle: "",
@@ -285,7 +353,7 @@ export default {
generalDetails, generalDetails,
billOfLading, billOfLading,
autocomplete, autocomplete,
productApi productApi,
}, },
mounted() { mounted() {
this.$nextTick(() => { this.$nextTick(() => {
@@ -301,29 +369,43 @@ export default {
this.getByPage(); this.getByPage();
}, },
methods: { methods: {
payTagType(val){ payTagType(val) {
switch(val){ switch (val) {
case 'PREPAID': return {label:'预支付',type:'info'} case "PREPAID":
case 'PAYING': return {label:'支付中',type:'warning'} return { label: "预支付", type: "info" };
case 'SUCCESS': return {label:'支付成功',type:'success',effect:'dark'} case "PAYING":
case 'FAILURE': return {label:'支付失败',type:'danger',effect:'dark'} return { label: "支付中", type: "warning" };
case 'CANCELED': return {label:'支付取消',type:'info'} case "SUCCESS":
case 'REFUNDED': return {label:'退款成功',type:'danger',effect:'dark'} return { label: "支付成功", type: "success", effect: "dark" };
case 'REFUNDING': return{label:'退款中',type:'warning'} case "FAILURE":
case 'REFUNDFAIL': return{label:'退款失败',type:'info',effect:'dark'} return { label: "支付失败", type: "danger", effect: "dark" };
case "CANCELED":
return { label: "支付取消", type: "info" };
case "REFUNDED":
return { label: "退款成功", type: "danger", effect: "dark" };
case "REFUNDING":
return { label: "退款中", type: "warning" };
case "REFUNDFAIL":
return { label: "退款失败", type: "info", effect: "dark" };
} }
return {label:val?val:'暂无数据',type:'info',effect:'plain'} return { label: val ? val : "暂无数据", type: "info", effect: "plain" };
}, },
orderTagType(val){ orderTagType(val) {
switch(val){ switch (val) {
case 'SUBMITED': return {label:'订单提交 ',type:'info'} case "SUBMITED":
case 'ORDER_LOCKED': return {label:'订单锁定',type:'warning'} return { label: "订单提交 ", type: "info" };
case 'ORDER_SUCCESS': return {label:'下单成功',type:'success',effect:'dark'} case "ORDER_LOCKED":
case 'DELIVERING': return {label:'提货中', type: ''} return { label: "订单锁定", type: "warning" };
case 'COMPLETE': return {label:'订单完成',type:'success',effect:'dark'} case "ORDER_SUCCESS":
case 'CANCELED': return {label:'订单取消',type:'info'} return { label: "下单成功", type: "success", effect: "dark" };
case "DELIVERING":
return { label: "提货中", type: "" };
case "COMPLETE":
return { label: "订单完成", type: "success", effect: "dark" };
case "CANCELED":
return { label: "订单取消", type: "info" };
} }
return {label:val?val:'暂无数据',type:'info'} return { label: val ? val : "暂无数据", type: "info" };
}, },
// currentPage change // currentPage change
handleCurrentChange(page) { handleCurrentChange(page) {
@@ -350,17 +432,19 @@ export default {
}); });
}, },
//下单取消 //下单取消
orderCencle(row){ orderCencle(row) {
if(row.orderStatus=='SUBMITED'||row.orderStatus=='ORDER_LOCKED'){ if (row.orderStatus == "SUBMITED" || row.orderStatus == "ORDER_LOCKED") {
order.orderUpdate({id:row.id,orderStatus:'CANCELED'}).then((res) => { order
if(res.code==20000){ .orderUpdate({ id: row.id, orderStatus: "CANCELED" })
this.getByPage() .then((res) => {
} if (res.code == 20000) {
}); this.getByPage();
}else{ }
order.orderRefund({id:row.id}).then((res) => { });
if(res.code==20000){ } else {
this.getByPage() order.orderRefund({ id: row.id }).then((res) => {
if (res.code == 20000) {
this.getByPage();
} }
}); });
} }
@@ -371,16 +455,16 @@ export default {
this.controlWindows.add = true; this.controlWindows.add = true;
}, },
//提货单 //提货单
async billOfLading(row){ async billOfLading(row) {
this.controlWindows.addInfo.title = ""; this.controlWindows.addInfo.title = "";
await order.findDeliveryByOrderId(row.id).then((res) => { await order.findDeliveryByOrderId(row.id).then((res) => {
this.billData.list = res.data this.billData.list = res.data;
}); });
await order.findByOrderId(row.id).then((res) => { await order.findByOrderId(row.id).then((res) => {
this.billData.orderInfo = res.data this.billData.orderInfo = res.data;
}); });
this.controlWindows.addInfo = row this.controlWindows.addInfo = row;
this.controlWindows.bill = true this.controlWindows.bill = true;
}, },
//详情 //详情
detail(row) { detail(row) {
@@ -389,16 +473,16 @@ export default {
}, },
//订单锁定 //订单锁定
Locked(row) { Locked(row) {
if(row.orderStatus=='SUBMITED'){ if (row.orderStatus == "SUBMITED") {
order.orderLock({id:row.id}).then((res) => { order.orderLock({ id: row.id }).then((res) => {
if(res.code == 20000){ if (res.code == 20000) {
this.getByPage() this.getByPage();
} }
}); });
}else{ } else {
order.orderSuccess({id:row.id}).then((res) => { order.orderSuccess({ id: row.id }).then((res) => {
if(res.code == 20000){ if (res.code == 20000) {
this.getByPage() this.getByPage();
} }
}); });
} }

View File

@@ -36,7 +36,11 @@
placeholder="请选择炼厂" placeholder="请选择炼厂"
></el-autocomplete> --> ></el-autocomplete> -->
<autocomplete :params="form" :config="configAutocomplete" /> <autocomplete
ref="autocomplete"
:params="form"
:config="configAutocomplete"
/>
</el-form-item> </el-form-item>
<el-form-item label="所属炼厂库名" prop="belongLibrary"> <el-form-item label="所属炼厂库名" prop="belongLibrary">
<el-input <el-input
@@ -68,10 +72,14 @@
</el-form-item> </el-form-item>
</template> </template>
<el-form-item label="计量单位" prop="measurement"> <el-form-item label="计量单位" prop="measurement">
<el-input <!-- <el-input
v-model="form.measurement" v-model="form.measurement"
placeholder="请输入计量单位" placeholder="请输入计量单位"
></el-input> disabled
></el-input> -->
<el-radio-group v-model="form.measurement">
<el-radio :label="'吨'"></el-radio>
</el-radio-group>
</el-form-item> </el-form-item>
<el-form-item label="启用状态" prop="enableMark"> <el-form-item label="启用状态" prop="enableMark">
<el-radio-group v-model="form.enableMark"> <el-radio-group v-model="form.enableMark">
@@ -106,7 +114,9 @@ export default {
else callback("请选择炼厂"); else callback("请选择炼厂");
}; };
return { return {
form: {}, form: {
measurement:'吨'
},
refineryList: [], refineryList: [],
configAutocomplete: { configAutocomplete: {
serveTarget: refineryInfoServe.findByEntity, serveTarget: refineryInfoServe.findByEntity,
@@ -124,19 +134,19 @@ export default {
productTypeList: [ productTypeList: [
{ {
label: "0#柴", label: "0#柴",
value: "0#", value: "0#",
}, },
{ {
label: "-10#柴", label: "-10#柴",
value: "-10#", value: "-10#",
}, },
{ {
label: "92#汽", label: "92#汽",
value: "92#", value: "92#",
}, },
{ {
label: "95#汽", label: "95#汽",
value: "95#", value: "95#",
}, },
], ],
rules: { rules: {
@@ -201,8 +211,10 @@ export default {
closeWindow() { closeWindow() {
this.$emit("closeWindow"); this.$emit("closeWindow");
this.form = {}; this.form = {};
this.form.measurement = '吨'
this.controlWindows.addInfo = {}; this.controlWindows.addInfo = {};
this.$nextTick(() => { this.$nextTick(() => {
this.$refs.autocomplete.list = [];
this.$refs.form.clearValidate(); this.$refs.form.clearValidate();
this.controlWindows.add = false; this.controlWindows.add = false;
}); });

View File

@@ -41,14 +41,28 @@ export default {
controlWindows: Object, controlWindows: Object,
}, },
data() { data() {
let validatorFloorPrice = (rule, value, callback) => {
if (!value || !+value) return callback("成本价价不能为0或空");
callback();
};
let validatorSalePrice2company = (rule, value, callback) => {
if (!value || !+value) return callback("企业销售价不能为0或空");
if (+value < +this.form.floorPrice)
return callback("企业销售价不能低于成本价");
callback();
};
return { return {
form: {}, form: {},
rules: { rules: {
floorPrice: [ floorPrice: [
{ required: true, message: "请输入成本价", trigger: "blur" }, { required: true, validator: validatorFloorPrice, trigger: "change" },
], ],
salePrice2company: [ salePrice2company: [
{ required: true, message: "请输入企业销售价", trigger: "blur" }, {
required: true,
validator: validatorSalePrice2company,
trigger: "change",
},
], ],
}, },
}; };

View File

@@ -112,14 +112,14 @@ export default {
"form.salePrice": { "form.salePrice": {
handler(n, o) { handler(n, o) {
if(n){ if(n){
this.form.preAmount = this.form.salePrice*(this.form.preQuantity?this.form.preQuantity:0) this.form.preAmount = (this.form.salePrice*(this.form.preQuantity?this.form.preQuantity:0)).toFixed(2)
} }
}, },
}, },
"form.preQuantity": { "form.preQuantity": {
handler(n, o) { handler(n, o) {
if(n){ if(n){
this.form.preAmount = this.form.preQuantity*(this.form.salePrice?this.form.salePrice:0) this.form.preAmount = (this.form.preQuantity*(this.form.salePrice?this.form.salePrice:0)).toFixed(2)
} }
}, },
} }
@@ -193,7 +193,6 @@ export default {
); );
this.form.salePrice = this.productRowData[0].salePrice2company this.form.salePrice = this.productRowData[0].salePrice2company
this.form.floorPrice = this.productRowData[0].floorPrice this.form.floorPrice = this.productRowData[0].floorPrice
this.form.productMeasurement = this.productRowData[0].measurement
}, },
productChange(){ productChange(){
this.productData() this.productData()
@@ -256,7 +255,7 @@ export default {
submit() { submit() {
this.$refs["form"].validate((valid) => { this.$refs["form"].validate((valid) => {
if (valid) { if (valid) {
this.form.productMeasurement = this.productRowData[0].measurement
this.judgeInterface(this.form).then((res) => { this.judgeInterface(this.form).then((res) => {
if (res.code === 20000) { if (res.code === 20000) {
this.$message.success(res.msg); this.$message.success(res.msg);

View File

@@ -66,7 +66,7 @@
</p></template </p></template
> >
</el-table-column> </el-table-column>
<el-table-column label="个人销售价"> <!-- <el-table-column label="个人销售价">
<template slot-scope="{ row }"> <template slot-scope="{ row }">
<p v-if="row.salePrice2personal"> <p v-if="row.salePrice2personal">
{{ row.salePrice2personal }}/{{ row.measurement }} {{ row.salePrice2personal }}/{{ row.measurement }}
@@ -79,7 +79,7 @@
{{ row.lastSalePrice2personal }}/{{ row.measurement }} {{ row.lastSalePrice2personal }}/{{ row.measurement }}
</p></template </p></template
> >
</el-table-column> </el-table-column> -->
<el-table-column label="时间" width="235"> <el-table-column label="时间" width="235">
<template slot-scope="{ row }"> <template slot-scope="{ row }">
<p class="gray"> <p class="gray">

View File

@@ -97,17 +97,17 @@
</el-switch> </el-switch>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="refineryLevel" label="成本价" width="70"> <el-table-column prop="refineryLevel" label="成本价" width="110">
<template slot-scope="{ row }"> <template slot-scope="{ row }">
{{ row.floorPrice | toNumberFixed }}/{{ row.measurement }} {{ row.floorPrice | toNumberFixed }}/{{ row.measurement }}
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="refineryLevel" label="企业销售价" width="100"> <el-table-column prop="refineryLevel" label="企业销售价" width="110">
<template slot-scope="{ row }"> <template slot-scope="{ row }">
{{ row.salePrice2company | toNumberFixed }}/{{ row.measurement }} {{ row.salePrice2company | toNumberFixed }}/{{ row.measurement }}
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="refineryLevel" label="个人销售价" width="100"> <el-table-column prop="refineryLevel" label="个人销售价" width="110">
<template slot-scope="{ row }"> <template slot-scope="{ row }">
{{ row.salePrice2personal | toNumberFixed }}/{{ row.measurement }} {{ row.salePrice2personal | toNumberFixed }}/{{ row.measurement }}
</template> </template>
@@ -277,7 +277,7 @@ export default {
], ],
configAutocomplete: { configAutocomplete: {
serveTarget: serve.findByEntity, serveTarget: serve.findByEntity,
autocomplateKey: "refineryName", autocompleteKey: "refineryName",
valueKey: "refineryName", valueKey: "refineryName",
valueKey: "id", valueKey: "id",
placeholder: "炼厂名称", placeholder: "炼厂名称",

View File

@@ -27,7 +27,11 @@
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="炼厂名称" prop="refineryId"> <el-form-item label="炼厂名称" prop="refineryId">
<autocomplete :params="form" :config="configAutocomplete" /> <autocomplete
ref="autocomplete"
:params="form"
:config="configAutocomplete"
/>
</el-form-item> </el-form-item>
</el-form> </el-form>
</div> </div>
@@ -104,6 +108,7 @@ export default {
this.form = {}; this.form = {};
this.controlWindows.addInfo = {}; this.controlWindows.addInfo = {};
this.$nextTick(() => { this.$nextTick(() => {
this.$refs.autocomplete.list = [];
this.$refs.form.clearValidate(); this.$refs.form.clearValidate();
this.controlWindows.add = false; this.controlWindows.add = false;
}); });