合并提交

master
lemon橪 2022-05-12 15:46:55 +08:00
commit 68d2c25ff5
11 changed files with 1987 additions and 340 deletions

1
.gitignore vendored
View File

@ -1,6 +1,7 @@
/.vscode/ /.vscode/
/.idea/ /.idea/
/dist/ /dist/
.DS_Store
node_modules/ node_modules/
yarn.lock yarn.lock
package-lock.json package-lock.json

20
build.sh Normal file
View File

@ -0,0 +1,20 @@
#代码目录
code_path=$PWD
git checkout master
git pull
cd ${code_path}/manager
rm -rf ./dist
yarn install
yarn build
cd ${code_path}/seller
rm -rf ./dist
yarn install
yarn build
cd ${code_path}/buyer
rm -rf ./dist
yarn install
yarn build

2107
buyer/package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@ -44,7 +44,7 @@
</div> </div>
<div class="goods-seckill-btn" :class="{'goods-seckill-btn-gray' : nowHour < list[currIndex].timeLine}">{{nowHour >= list[currIndex].timeLine ? '立即抢购' : '即将开始'}}</div> <div class="goods-seckill-btn" :class="{'goods-seckill-btn-gray' : nowHour < list[currIndex].timeLine}">{{nowHour >= list[currIndex].timeLine ? '立即抢购' : '即将开始'}}</div>
<div class="goods-show-num"> <div class="goods-show-num">
已售<Progress style="width:110px" class="ml_10" :percent="Math.ceil(item.salesNum/item.quantity)" /> 已售<Progress style="width:110px" class="ml_10" :percent="Math.ceil(item.salesNum/(item.quantity+item.salesNum))" />
</div> </div>
<div class="goods-show-seller"> <div class="goods-show-seller">
<span>{{ item.storeName }}</span> <span>{{ item.storeName }}</span>

View File

@ -26,6 +26,7 @@
"vue-awesome-swiper": "^4.1.1", "vue-awesome-swiper": "^4.1.1",
"vue-i18n": "^8.15.1", "vue-i18n": "^8.15.1",
"vue-json-excel": "^0.3.0", "vue-json-excel": "^0.3.0",
"vue-print-nb": "^1.7.5",
"vue-qr": "^2.3.0", "vue-qr": "^2.3.0",
"vue-router": "^3.1.3", "vue-router": "^3.1.3",
"vuedraggable": "^2.23.2", "vuedraggable": "^2.23.2",

View File

@ -20,6 +20,11 @@ import * as filters from '@/utils/filters' // global filter
import liliDialog from '@/views/lili-dialog' import liliDialog from '@/views/lili-dialog'
import i18nBox from '@/views/lili-components/i18n-translate' import i18nBox from '@/views/lili-components/i18n-translate'
import {md5} from '@/utils/md5.js'; import {md5} from '@/utils/md5.js';
// 打印
import Print from 'vue-print-nb';
Vue.use(Print);
Vue.config.devtools = true; Vue.config.devtools = true;
Vue.config.productionTip = false Vue.config.productionTip = false
const PC_URL = BASE.PC_URL; // 跳转买家端地址 pc端 const PC_URL = BASE.PC_URL; // 跳转买家端地址 pc端

View File

@ -21,6 +21,7 @@
>收款</Button >收款</Button
> >
<Button @click="orderLog" type="info" ghost>订单日志</Button> <Button @click="orderLog" type="info" ghost>订单日志</Button>
<Button @click="printOrder" type="primary" ghost style="float:right;">打印发货单</Button>
</div> </div>
</Card> </Card>
<Card class="mt_10 clearfix"> <Card class="mt_10 clearfix">
@ -444,6 +445,60 @@
<Button @click="handelCancel"></Button> <Button @click="handelCancel"></Button>
</div> </div>
</Modal> </Modal>
<Modal v-model="printModal" width="530" @on-cancel="printCancel" >
<p slot="header" style="line-height:26px;height:26px;">
<span style="float: left;">打印发货单</span>
<Button size="small" style="margin-right:35px;float: right;padding-bottom: 2px;" @click="printHiddenInfo"><template v-if="printHiddenFlag"></template><template v-else></template></Button>
</p>
<div style="max-height:500px;overflow-y:auto;overflow-x:hidden;">
<div id="printInfo">
<Row v-if="orderInfo.order.remark !== ''">
<Col span="24">
<p class="lineH30 f14">备注{{ orderInfo.order.remark }}</p>
</Col>
</Row>
<Row>
<Col span="12">
<p class="lineH30 f14">收件人{{ orderInfo.order.consigneeName }}</p>
</Col>
<Col span="12" v-if="orderInfo.order.consigneeMobile">
<p class="lineH30 f14" v-if="printHiddenFlag">{{ orderInfo.order.consigneeMobile.replace(/^(.{3})(?:\d+)(.{4})$/, "$1****$2") }}</p>
<p class="lineH30 f14" v-else>{{ orderInfo.order.consigneeMobile }}</p>
</Col>
</Row>
<Row>
<Col span="24">
<p class="lineH30 f14">收货地址{{ orderInfo.order.consigneeAddressPath }}{{ orderInfo.order.consigneeDetail }}</p>
</Col>
</Row>
<Row>
<Col span="24">
<p class="printgoodtitle">商品信息</p>
<div class="printgoodinfo">
<div v-for="(item,index) in orderInfo.orderItems" :key="index" class="printgooditem">
<div class="printgoodname">
<p>{{item.goodsName}}</p>
<div class="printgoodguid">
<span v-for="(itemchild, keychild) in JSON.parse(item.specs)" :key="keychild">
<span class="printgoodguiditem" v-if="keychild != 'images'">
{{ keychild }} : {{ itemchild }}
</span>
</span>
</div>
</div>
<span class="printgoodnumber">数量{{item.num}}</span>
</div>
</div>
</Col>
</Row>
</div>
</div>
<div slot="footer" style="text-align: right">
<Button @click="printModal = false">关闭</Button>
<Button type="primary" v-print="printInfoObj"></Button>
</div>
</Modal>
</div> </div>
</template> </template>
@ -460,6 +515,12 @@ export default {
}, },
data() { data() {
return { return {
printHiddenFlag:false,//
printInfoObj:{
id: "printInfo",//id #
popTitle:'&nbsp;',// undefined 使html
extraHead:'',//
},
loading: false, // loading: false, //
submitLoading: false, // submitLoading: false, //
addr: "", // addr: "", //
@ -513,6 +574,7 @@ export default {
reason: [{ required: true, message: "取消原因不能为空", trigger: "blur" }], reason: [{ required: true, message: "取消原因不能为空", trigger: "blur" }],
}, },
addressModal: false, // addressModal: false, //
printModal:false,
// //
addressForm: { addressForm: {
consigneeName: "", consigneeName: "",
@ -722,6 +784,16 @@ export default {
handelCancel() { handelCancel() {
this.orderLogModal = false; this.orderLogModal = false;
}, },
//
printOrder(){
this.printModal = true;
},
printHiddenInfo(){
this.printHiddenFlag = !this.printHiddenFlag;
},
printCancel(){
// this.printHiddenFlag = false;
},
// //
editAddress() { editAddress() {
this.addressModal = true; this.addressModal = true;
@ -762,6 +834,9 @@ export default {
}; };
</script> </script>
<style lang="scss"> <style lang="scss">
.lineH30{
line-height: 30px;
}
.order-log-div { .order-log-div {
line-height: 30px; line-height: 30px;
overflow-y: scroll; overflow-y: scroll;
@ -857,4 +932,60 @@ export default {
} }
} }
} }
.f14{
font-size: 14px;
color: #333;
}
.printgoodtitle{
font-size: 14px;
line-height: 1.5;
margin-top: 15px;
color: #333;
}
.printgoodinfo{
// font-size: 14px;
// background: #f2f2f2;
// border-bottom:2px solid #333 ;
padding: 10px;
overflow: hidden;
color: #333;
.printgooditem{
border-bottom: 1px solid #e8eaec;
display: flex;
align-items: flex-start;
overflow: hidden;
line-height: 30px;
margin-bottom: 10px;
padding-bottom: 10px;
.printgoodname{
flex: 1;
overflow: hidden;
.printgoodguid{
font-size: 12px;
color:#999999;
line-height:1.5;
.printgoodguiditem{
margin-right: 10px;
}
}
}
.printgoodprice{
width: 135px;
margin-left: 15px;
}
.printgoodnumber{
width: 85px;
margin-left: 15px;
}
}
}
@media print {
@page{
size: auto;
margin: 3mm;
}
html,body{
height:inherit;
}
}
</style> </style>

View File

@ -246,6 +246,24 @@ export default {
}, },
}, },
{
title: "平台优惠券补贴金额",
key: "siteCouponCommission",
render: (h, params) => {
if(params.row.siteCouponCommission == null){
return h(
"div",
"-"
);
}else{
return h(
"div",
this.$options.filters.unitPrice(params.row.siteCouponCommission, "¥")
);
}
},
},
{ {
title: "分销金额", title: "分销金额",
key: "distributionRebate", key: "distributionRebate",

View File

@ -125,14 +125,14 @@
style="width: 350px" style="width: 350px"
/> />
</FormItem> </FormItem>
<Divider orientation="left">腾讯云智服</Divider> <!-- <Divider orientation="left">腾讯云智服</Divider>
<FormItem label="唯一标识"> <FormItem label="唯一标识">
<Input v-model="shopForm.yzfSign" clearable style="width: 350px" /> <Input v-model="shopForm.yzfSign" clearable style="width: 350px" />
</FormItem> </FormItem>
<FormItem label="小程序唯一标识"> <FormItem label="小程序唯一标识">
<Input v-model="shopForm.yzfMpSign" clearable style="width: 350px" /> <Input v-model="shopForm.yzfMpSign" clearable style="width: 350px" />
</FormItem> </FormItem>
<Spin fix v-if="loading"></Spin> <Spin fix v-if="loading"></Spin> -->
</div> </div>
</TabPane> </TabPane>
@ -299,24 +299,24 @@
</FormItem> </FormItem>
</TabPane> </TabPane>
<TabPane label="配送信息" class="tab" name="send"> <!-- <TabPane label="配送信息" class="tab" name="send"> -->
<!-- 遮罩层 --> <!-- 遮罩层 -->
<FormItem label="达达编码" prop="ddCode"> <!-- <FormItem label="达达编码" prop="ddCode">
<Input <Input
v-model="shopForm.ddCode" v-model="shopForm.ddCode"
maxlength="20" maxlength="20"
clearable clearable
style="width: 200px" style="width: 200px"
/> />
</FormItem> </FormItem> -->
</TabPane> <!-- </TabPane> -->
<TabPane label="结算信息" class="tab" name="settlement"> <TabPane label="结算信息" class="tab" name="settlement">
<Alert type="error" <Alert type="error"
>已添加<span class="theme_color">{{ settlementCycle.length }}</span >已添加<span class="theme_color">{{ settlementCycle.length }}</span
>个结算日最多可添加5个结算日当月不包含所设日期时将会顺延到下一个结算日</Alert >个结算日最多可添加5个结算日当月不包含所设日期时将会顺延到下一个结算日</Alert
> >
<FormItem label="结算期"> <FormItem label="结算期">
<Tag <Tag
v-for="item in settlementCycle" v-for="item in settlementCycle"
:key="item" :key="item"
@ -339,7 +339,7 @@
size="small" size="small"
v-if="addSettlementBtn && settlementCycle.length < 5" v-if="addSettlementBtn && settlementCycle.length < 5"
style="margin-left: 8px" style="margin-left: 8px"
>添加结算 >添加结算
</Button> </Button>
<Button <Button
v-if="addSettlementConfirmBtn" v-if="addSettlementConfirmBtn"

View File

@ -22,10 +22,10 @@ export default {
show: true, // show: true, //
setting: [ setting: [
// //
// { {
// type: "BASE_SETTING", type: "BASE_SETTING",
// name: "", name: "基础配置",
// }, },
// //
{ {
type: "GOODS_SETTING", type: "GOODS_SETTING",

View File

@ -248,6 +248,24 @@ export default {
} }
}, },
}, },
{
title: "平台优惠券补贴金额",
key: "siteCouponCommission",
render: (h, params) => {
if(params.row.siteCouponCommission == null){
return h(
"div",
"-"
);
}else{
return h(
"div",
this.$options.filters.unitPrice(params.row.siteCouponCommission, "¥")
);
}
},
},
{ {
title: "分销金额", title: "分销金额",
key: "distributionRebate", key: "distributionRebate",