Compare commits

..

No commits in common. "c7ce2d2eff50acf8610f6b737fe3e646efd8ed97" and "05848781a3c9dc82478134f99fd3894beec39a0e" have entirely different histories.

30 changed files with 344 additions and 898 deletions

View File

@ -2,7 +2,9 @@
ENV = 'development' ENV = 'development'
# base api # base api
VUE_APP_BASE_API = 'http://127.0.0.1:20010' VUE_APP_BASE_API = 'https://syy.xunyingcloud.cn'
#VUE_APP_BASE_API = 'http://localhost:20010/'
# vue-cli uses the VUE_CLI_BABEL_TRANSPILE_MODULES environment variable, # vue-cli uses the VUE_CLI_BABEL_TRANSPILE_MODULES environment variable,
# to control whether the babel-plugin-dynamic-import-node plugin is enabled. # to control whether the babel-plugin-dynamic-import-node plugin is enabled.
# It only does one thing by converting all import() to require(). # It only does one thing by converting all import() to require().

View File

@ -2,5 +2,5 @@
ENV = 'production' ENV = 'production'
# base api # base api
VUE_APP_BASE_API = 'https://0511syy.cn' VUE_APP_BASE_API = 'https://syy.xunyingcloud.cn'

View File

@ -1 +0,0 @@
v14.21.3

View File

@ -169,7 +169,7 @@ utils 自定义工具js 独立命名,一般不用新建文件夹
│ │ └──SvgIcon # svg图标 │ │ └──SvgIcon # svg图标
│ │ └──Tinymce # 富文本编辑器 │ │ └──Tinymce # 富文本编辑器
│ │ └──ThemePicker # 右侧设置按钮,设置组题颜色 │ │ └──ThemePicker # 右侧设置按钮,设置组题颜色
│ │ └──templatesFrom # 配送模板 │ │ └──templatesFrom # 运费模板
│ │ └──uploadPicture # 上传图片组件 │ │ └──uploadPicture # 上传图片组件
│ │ └──Upload # 上传文件组件 │ │ └──Upload # 上传文件组件
│ │ └──UploadExcel # 下载Excel │ │ └──UploadExcel # 下载Excel
@ -211,7 +211,7 @@ utils 自定义工具js 独立命名,一般不用新建文件夹
│ │ └──cityList # 城市数据 │ │ └──cityList # 城市数据
│ │ └──companyList # 物流公司 │ │ └──companyList # 物流公司
│ │ └──config # 物流配置 │ │ └──config # 物流配置
│ │ └──shippingTemplates # 配送模板 │ │ └──shippingTemplates # 运费模板
│ │ └──setting # 系统设置 │ │ └──setting # 系统设置
│ │ └──systemStore # 提货点设置 │ │ └──systemStore # 提货点设置
│ │ └──appSetting # 应用 小程序 公众号设置 │ │ └──appSetting # 应用 小程序 公众号设置

View File

@ -1,11 +1,11 @@
{ {
"name": "crmeb-java-webpc-admin", "name": "crmeb-java-webpc-admin",
"version": "4.2.1", "version": "4.2.1",
"description": "食材", "description": "水月雨后台",
"author": "CRMEB", "author": "CRMEB",
"license": "MIT", "license": "MIT",
"scripts": { "scripts": {
"dev": "SET NODE_OPTIONS=--openssl-legacy-provider && vue-cli-service serve", "dev": "vue-cli-service serve --open",
"build:prod": "vue-cli-service build", "build:prod": "vue-cli-service build",
"build:stage": "vue-cli-service build --mode staging", "build:stage": "vue-cli-service build --mode staging",
"preview": "node build/index.js --preview", "preview": "node build/index.js --preview",

View File

@ -104,27 +104,3 @@ export function userActivityPlaceListApi(data) {
data data
}) })
} }
/**
* ebactivity删除
* @param data
*/
export function placeDeleteApi(data) {
return request({
url: `/admin/place/records/delete`,
method: 'get',
params:data
})
}
/**
* ebactivity删除预约记录
* @param data
*/
export function activityRecordDeleteApi(data) {
return request({
url: `/admin/activity/records/delete`,
method: 'get',
params:data
})
}

View File

@ -99,7 +99,7 @@ export function expressDelete(data) {
}) })
} }
// 物流配送模板列表 // 物流运费模板列表
export function shippingTemplatesList(data) { export function shippingTemplatesList(data) {
return request({ return request({
url: '/admin/express/shipping/templates/list', url: '/admin/express/shipping/templates/list',
@ -108,7 +108,7 @@ export function shippingTemplatesList(data) {
}) })
} }
// 物流配送模板详情 // 物流运费模板详情
export function templateDetailApi(data) { export function templateDetailApi(data) {
return request({ return request({
url: '/admin/express/shipping/templates/info', url: '/admin/express/shipping/templates/info',
@ -117,7 +117,7 @@ export function templateDetailApi(data) {
}) })
} }
// 物流配送模板包邮 // 物流运费模板包邮
export function shippingFree(data) { export function shippingFree(data) {
return request({ return request({
url: '/admin/express/shipping/free/list', url: '/admin/express/shipping/free/list',
@ -126,7 +126,7 @@ export function shippingFree(data) {
}) })
} }
// 物流配送模板不包邮 // 物流运费模板不包邮
export function shippingRegion(data) { export function shippingRegion(data) {
return request({ return request({
url: 'admin/express/shipping/region/list', url: 'admin/express/shipping/region/list',
@ -135,7 +135,7 @@ export function shippingRegion(data) {
}) })
} }
// 物流配送模板新增 // 物流运费模板新增
export function shippingSave(data) { export function shippingSave(data) {
return request({ return request({
url: 'admin/express/shipping/templates/save', url: 'admin/express/shipping/templates/save',
@ -144,7 +144,7 @@ export function shippingSave(data) {
}) })
} }
// 物流配送模板更新 // 物流运费模板更新
export function shippingUpdate(data, id) { export function shippingUpdate(data, id) {
return request({ return request({
url: 'admin/express/shipping/templates/update', url: 'admin/express/shipping/templates/update',
@ -154,7 +154,7 @@ export function shippingUpdate(data, id) {
}) })
} }
// 物流配送模板删除 // 物流运费模板删除
export function shippingDetete(data) { export function shippingDetete(data) {
return request({ return request({
url: 'admin/express/shipping/templates/delete', url: 'admin/express/shipping/templates/delete',

View File

@ -18,9 +18,9 @@ export function EbTeaPlantOrderCreateApi(data) {
* ebteaplantorder更新 * ebteaplantorder更新
* @param pram * @param pram
*/ */
export function plantorderUpdateApi(data) { export function ebteaplantorderUpdateApi(data) {
return request({ return request({
url: `admin/teaPlant/updateOrderItem?itemId=${data.itemId}`, url: 'autogencode/ebteaplantorder/update',
method: 'POST', method: 'POST',
data data
}) })
@ -30,9 +30,9 @@ export function plantorderUpdateApi(data) {
* ebteaplantorder详情 * ebteaplantorder详情
* @param pram * @param pram
*/ */
export function plantorderDetailApi(id) { export function ebteaplantorderDetailApi(id) {
return request({ return request({
url: `admin/plantorder/info/${id}`, url: `autogencode/ebteaplantorder/info/${id}`,
method: 'GET' method: 'GET'
}) })
} }
@ -41,11 +41,10 @@ export function plantorderDetailApi(id) {
* ebteaplantorder删除 * ebteaplantorder删除
* @param pram * @param pram
*/ */
export function plantorderDeleteApi(data) { export function ebteaplantorderDeleteApi(id) {
return request({ return request({
url: `admin/teaPlant/delete`, url: `autogencode/ebteaplantorder/delete/${id}`,
method: 'get', method: 'get'
params: data,
}) })
} }

View File

@ -326,7 +326,7 @@ export function productGetRuleApi() {
} }
/** /**
* @description 商品 -- 获取配送模板 * @description 商品 -- 获取运费模板
*/ */
export function productGetTemplateApi() { export function productGetTemplateApi() {
return request({ return request({

View File

@ -1,4 +1,4 @@
<template> <template>
<div> <div>
<el-row :gutter="30"> <el-row :gutter="30">
<el-col v-bind="grid"> <el-col v-bind="grid">
@ -88,8 +88,7 @@
type="primary" type="primary"
class="mr15 mb20" class="mr15 mb20"
@click="checkPics" @click="checkPics"
>使用选中图片 >使用选中图片</el-button
</el-button
> >
<div class="mb20"> <div class="mb20">
<el-tooltip <el-tooltip
@ -141,7 +140,9 @@
:show-file-list="false" :show-file-list="false"
multiple multiple
> >
<el-button class="mr10" type="primary" v-if="pictureType">上传{{typeDate =='pic'?'图片':'视频'}}</el-button> <el-button class="mr10" type="primary" v-if="pictureType"
>上传图片</el-button
>
</el-upload> </el-upload>
<div> <div>
<el-button <el-button
@ -149,8 +150,7 @@
type="danger" type="danger"
@click.stop="editPicList('图片')" @click.stop="editPicList('图片')"
v-if="pictureType" v-if="pictureType"
>删除{{typeDate =='pic'?'图片':'视频'}} >删除图片</el-button
</el-button
> >
</div> </div>
<el-select <el-select
@ -202,7 +202,7 @@
:key="index" :key="index"
class="gridPic" class="gridPic"
> >
<span class="num_badge" v-if="item.num > 0">{{ item.num }}</span> <span class="num_badge" v-if="item.num > 0">{{item.num}}</span>
<img <img
style="object-fit: contain;" style="object-fit: contain;"
v-lazy="item.sattDir ? item.sattDir : localImg" v-lazy="item.sattDir ? item.sattDir : localImg"
@ -278,15 +278,14 @@
}, },
]" ]"
> >
<el-input v-model="editPram.name" placeholder="分类名称"/> <el-input v-model="editPram.name" placeholder="分类名称" />
</el-form-item> </el-form-item>
<el-form-item label="排序"> <el-form-item label="排序">
<el-input-number v-model="editPram.sort"/> <el-input-number v-model="editPram.sort" />
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
<el-button type="primary" @click="handlerSubmit('editPram')" <el-button type="primary" @click="handlerSubmit('editPram')"
>确定 >确定</el-button
</el-button
> >
</el-form-item> </el-form-item>
</el-form> </el-form>
@ -307,10 +306,10 @@ import {
fileImageApi, fileImageApi,
fileListApi, fileListApi,
fileDeleteApi, fileDeleteApi,
attachmentMoveApi, fileFileApi, attachmentMoveApi,
} from "@/api/systemSetting"; } from "@/api/systemSetting";
import {getToken} from "@/utils/auth"; import { getToken } from "@/utils/auth";
import {checkPermi} from "@/utils/permission"; // import { checkPermi } from "@/utils/permission"; //
export default { export default {
name: "Upload", name: "Upload",
props: { props: {
@ -389,7 +388,7 @@ export default {
attType: "jpg,jpeg,gif,png,bmp,PNG,JPG", attType: "jpg,jpeg,gif,png,bmp,PNG,JPG",
}, },
classifyId: 0, classifyId: 0,
myHeaders: {"X-Token": getToken()}, myHeaders: { "X-Token": getToken() },
treeFrom: { treeFrom: {
status: -1, status: -1,
type: 2, type: 2,
@ -411,7 +410,7 @@ export default {
}, },
localImg: "", localImg: "",
videoStatus: false, videoStatus: false,
typeDate: "pic", typeDate:"pic",
}; };
}, },
watch: { watch: {
@ -525,7 +524,7 @@ export default {
if (id === 10000) id = 0; if (id === 10000) id = 0;
this.bizTitle = "编辑分类"; this.bizTitle = "编辑分类";
this.loading = true; this.loading = true;
infoCategroy({id: id}).then((res) => { infoCategroy({ id: id }).then((res) => {
this.editPram = res; this.editPram = res;
this.loading = false; this.loading = false;
}); });
@ -535,7 +534,7 @@ export default {
handleDelete(id) { handleDelete(id) {
if (id === 10000) id = 0; if (id === 10000) id = 0;
this.$modalSure().then(() => { this.$modalSure().then(() => {
deleteCategroy({id: id}).then(() => { deleteCategroy({ id: id }).then(() => {
this.$message.success("删除成功"); this.$message.success("删除成功");
this.getList(); this.getList();
}); });
@ -560,28 +559,16 @@ export default {
spinner: "el-icon-loading", spinner: "el-icon-loading",
background: "rgba(0, 0, 0, 0.7)", background: "rgba(0, 0, 0, 0.7)",
}); });
if (this.typeDate =='pic'){
fileImageApi(formData, data) fileImageApi(formData, data)
.then((res) => { .then((res) => {
loading.close(); loading.close();
this.$message.success("上传成功"); this.$message.success("上传成功");
this.tableData.page = 1; this.tableData.page = 1;
this.getFileList(); this.getFileList();
}).catch((res) => { })
.catch((res) => {
loading.close(); loading.close();
}); });
}else {
fileFileApi(formData, data)
.then((res) => {
loading.close();
this.$message.success("上传成功");
this.tableData.page = 1;
this.getFileList();
}).catch((res) => {
loading.close();
});
}
}, },
// //
getFileList() { getFileList() {
@ -720,10 +707,10 @@ export default {
this.getFileList(); this.getFileList();
} }
}, },
radioChange(val) { radioChange(val){
if (val === 'video') { if(val === 'video'){
this.videoChange(true) this.videoChange(true)
} else { }else{
this.videoChange(false) this.videoChange(false)
} }
} }
@ -742,32 +729,26 @@ export default {
overflow-x: hidden; overflow-x: hidden;
overflow-y: auto; overflow-y: auto;
} }
.temp { .temp {
height: 0; height: 0;
margin-bottom: 0; margin-bottom: 0;
border: none; border: none;
padding: 0; padding: 0;
} }
.selectTreeClass { .selectTreeClass {
background: #d5e8fc; background: #d5e8fc;
} }
.treeBox { .treeBox {
width: 100%; width: 100%;
height: 100%; height: 100%;
} }
.upload-demo { .upload-demo {
display: inline-block !important; display: inline-block !important;
float: left; float: left;
} }
.tree_w { .tree_w {
padding: 20px 30px; padding: 20px 30px;
} }
.custom-tree-node { .custom-tree-node {
flex: 1; flex: 1;
display: flex; display: flex;
@ -777,7 +758,6 @@ export default {
padding-right: 8px; padding-right: 8px;
color: #4386c6; color: #4386c6;
} }
.custom-tree-node-label { .custom-tree-node-label {
display: block; display: block;
width: 125px; width: 125px;
@ -785,119 +765,97 @@ export default {
white-space: nowrap; white-space: nowrap;
text-overflow: ellipsis; text-overflow: ellipsis;
} }
.el-ic { .el-ic {
display: none; display: none;
i, i,
span { span {
/*padding: 0 14px;*/ /*padding: 0 14px;*/
font-size: 18px; font-size: 18px;
font-weight: 600; font-weight: 600;
} }
.svg-icon { .svg-icon {
color: #4386c6; color: #4386c6;
} }
} }
.el-tree-node__content { .el-tree-node__content {
height: 38px; height: 38px;
} }
.el-tree-node__expand-icon { .el-tree-node__expand-icon {
color: #428bca; color: #428bca;
/*padding: 10px 10px 0px 10px !important;*/ /*padding: 10px 10px 0px 10px !important;*/
} }
.el-tree-node__content:hover .el-ic { .el-tree-node__content:hover .el-ic {
color: #428bca !important; color: #428bca !important;
display: inline-block; display: inline-block;
} }
.el-tree-node__content:hover { .el-tree-node__content:hover {
font-weight: bold; font-weight: bold;
} }
.el-tree--highlight-current .el-tree--highlight-current
.el-tree-node.is-current .el-tree-node.is-current
> .el-tree-node__content > .el-tree-node__content
:hover { :hover {
.el-tree-node__expand-icon.is-leaf { .el-tree-node__expand-icon.is-leaf {
color: transparent; color: transparent;
cursor: default; cursor: default;
} }
/*background-color: #3998d9;*/ /*background-color: #3998d9;*/
.custom-tree-node { .custom-tree-node {
font-weight: bold; font-weight: bold;
} }
.el-tree-node__expand-icon { .el-tree-node__expand-icon {
font-weight: bold; font-weight: bold;
} }
} }
.el-dialog__body { .el-dialog__body {
.upload-container .image-preview .image-preview-wrapper img { .upload-container .image-preview .image-preview-wrapper img {
height: 100px; height: 100px;
} }
.el-dialog .el-collapse-item__wrap { .el-dialog .el-collapse-item__wrap {
padding-top: 0px; padding-top: 0px;
} }
.spatial_img { .spatial_img {
.el-collapse-item__wrap { .el-collapse-item__wrap {
margin-bottom: 0; margin-bottom: 0;
padding-top: 0px; padding-top: 0px;
} }
} }
.upload-container .image-preview .image-preview-wrapper { .upload-container .image-preview .image-preview-wrapper {
width: 120px; width: 120px;
} }
.upload-container .image-preview .image-preview-action { .upload-container .image-preview .image-preview-action {
line-height: 100px; line-height: 100px;
height: 100px; height: 100px;
} }
} }
.trees-coadd { .trees-coadd {
width: 100%; width: 100%;
border-radius: 4px; border-radius: 4px;
overflow: hidden; overflow: hidden;
position: relative; position: relative;
.scollhide { .scollhide {
overflow-x: hidden; overflow-x: hidden;
overflow-y: scroll; overflow-y: scroll;
padding: 10px 0 10px 0; padding: 10px 0 10px 0;
box-sizing: border-box; box-sizing: border-box;
.trees { .trees {
width: 100%; width: 100%;
} }
} }
.scollhide::-webkit-scrollbar { .scollhide::-webkit-scrollbar {
display: none; display: none;
} }
} }
.conters { .conters {
display: flex; display: flex;
flex-wrap: wrap; flex-wrap: wrap;
/*max-height: 296px;*/ /*max-height: 296px;*/
overflow: auto; overflow: auto;
} }
.conters:after { .conters:after {
content: ""; content: "";
width: 410px !important; width: 410px !important;
} }
.gridPic { .gridPic {
margin-right: 15px; margin-right: 15px;
margin-bottom: 10px; margin-bottom: 10px;
@ -905,19 +863,16 @@ export default {
height: 110px; height: 110px;
position: relative; position: relative;
cursor: pointer; cursor: pointer;
img { img {
width: 100%; width: 100%;
height: 100%; height: 100%;
display: block; display: block;
} }
video { video {
width: 100%; width: 100%;
height: 100%; height: 100%;
display: block; display: block;
} }
.num_badge { .num_badge {
position: absolute; position: absolute;
bottom: 6px; bottom: 6px;
@ -933,38 +888,31 @@ export default {
line-height: 20px; line-height: 20px;
} }
} }
.conter { .conter {
width: 99%; width: 99%;
height: 100%; height: 100%;
.bnt { .bnt {
width: 100%; width: 100%;
padding: 0 13px 10px 7px; padding: 0 13px 10px 7px;
box-sizing: border-box; box-sizing: border-box;
display: flex; display: flex;
} }
.pictrueList { .pictrueList {
/*padding-left: 15px;*/ /*padding-left: 15px;*/
width: 100%; width: 100%;
el-image { el-image {
width: 100%; width: 100%;
border: 2px solid #fff; border: 2px solid #fff;
} }
.on { .on {
border: 2px solid #1890FF; border: 2px solid #1890FF;
} }
} }
.el-image { .el-image {
width: 110px; width: 110px;
height: 110px; height: 110px;
cursor: pointer; cursor: pointer;
} }
.imagesNo { .imagesNo {
width: 100%; width: 100%;
display: flex; display: flex;
@ -972,7 +920,6 @@ export default {
flex-direction: column; flex-direction: column;
align-items: center; align-items: center;
margin: 65px 0; margin: 65px 0;
.imagesNo_sp { .imagesNo_sp {
font-size: 13px; font-size: 13px;
color: #dbdbdb; color: #dbdbdb;
@ -980,12 +927,10 @@ export default {
} }
} }
} }
.relative{
.relative {
position: relative; position: relative;
} }
.abs_video{
.abs_video {
position: absolute; position: absolute;
right: 20px; right: 20px;
top: 0; top: 0;

View File

@ -146,7 +146,7 @@ const operationRouter = {
path: 'freightSet', path: 'freightSet',
component: () => import('@/views/systemSetting/deliverGoods/freightSet'), component: () => import('@/views/systemSetting/deliverGoods/freightSet'),
name: 'freightSet', name: 'freightSet',
meta: { title: '配送模板', noCache: true } meta: { title: '运费模板', noCache: true }
}, },
] ]
}, },

View File

@ -32,9 +32,10 @@
<el-form-item label="视频简介" prop="synopsis"> <el-form-item label="视频简介" prop="synopsis">
<el-input v-model="dataForm.synopsis" placeholder="视频简介"></el-input> <el-input v-model="dataForm.synopsis" placeholder="视频简介"></el-input>
</el-form-item> </el-form-item>
<!-- <el-form-item label="详细内容" prop="content">--> <el-form-item label="详细内容" prop="content">
<!-- <Tinymce v-model="dataForm.content"></Tinymce>--> <Tinymce v-model="dataForm.content"></Tinymce>
<!-- </el-form-item>--> </el-form-item>
<el-form-item label="关联商品" prop="productId"> <el-form-item label="关联商品" prop="productId">
<div class="acea-row"> <div class="acea-row">
<template v-if="checked.length"> <template v-if="checked.length">

View File

@ -8,9 +8,7 @@
<el-radio-group v-model="tableFrom.dateLimit" type="button" class="mr20" size="small" @change="selectChange(tableFrom.dateLimit)"> <el-radio-group v-model="tableFrom.dateLimit" type="button" class="mr20" size="small" @change="selectChange(tableFrom.dateLimit)">
<el-radio-button v-for="(item,i) in fromList.fromTxt" :key="i" :label="item.val">{{ item.text }}</el-radio-button> <el-radio-button v-for="(item,i) in fromList.fromTxt" :key="i" :label="item.val">{{ item.text }}</el-radio-button>
</el-radio-group> </el-radio-group>
<el-date-picker <el-date-picker v-model="timeVal" value-format="yyyy-MM-dd" format="yyyy-MM-dd" size="small" type="daterange" placement="bottom-end" placeholder="自定义时间" style="width: 250px;" @change="onchangeTime" />
v-model="timeVal"
value-format="yyyy-MM-dd" format="yyyy-MM-dd" size="small" type="daterange" placement="bottom-end" placeholder="自定义时间" style="width: 250px;" @change="onchangeTime" />
</el-form-item> </el-form-item>
<el-form-item label="提现状态:"> <el-form-item label="提现状态:">
<el-radio-group v-model="tableFrom.status" type="button" size="small" @change="getList(1)" clearable> <el-radio-group v-model="tableFrom.status" type="button" size="small" @change="getList(1)" clearable>

View File

@ -1,7 +1,7 @@
<template> <template>
<el-dialog <el-dialog
v-if="dialogVisible" v-if="dialogVisible"
title="配送模板" title="运费模板"
:visible.sync="dialogVisible" :visible.sync="dialogVisible"
width="1000px" width="1000px"
:before-close="handleClose" :before-close="handleClose"
@ -15,10 +15,9 @@
<el-radio :label="1">按件数</el-radio> <el-radio :label="1">按件数</el-radio>
<el-radio :label="2">按重量</el-radio> <el-radio :label="2">按重量</el-radio>
<el-radio :label="3">按体积</el-radio> <el-radio :label="3">按体积</el-radio>
<el-radio :label="4">按距离</el-radio>
</el-radio-group> </el-radio-group>
</el-form-item> </el-form-item>
<el-form-item label="配送区域及" prop="region"> <el-form-item label="配送区域及费" prop="region">
<el-table v-loading="listLoading" :data="ruleForm.region" border fit highlight-current-row style="width: 100%" size="mini" class="tempBox"> <el-table v-loading="listLoading" :data="ruleForm.region" border fit highlight-current-row style="width: 100%" size="mini" class="tempBox">
<el-table-column align="center" label="可配送区域" min-width="260"> <el-table-column align="center" label="可配送区域" min-width="260">
<template slot-scope="scope"> <template slot-scope="scope">
@ -43,7 +42,7 @@
</el-form-item> </el-form-item>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column min-width="120px" align="center" label="(元)" prop="firstPrice"> <el-table-column min-width="120px" align="center" label="费(元)" prop="firstPrice">
<template slot-scope="scope"> <template slot-scope="scope">
<el-form-item :rules="rules.firstPrice" :prop="'region.'+scope.$index+'.firstPrice'"> <el-form-item :rules="rules.firstPrice" :prop="'region.'+scope.$index+'.firstPrice'">
<el-input-number v-model="scope.row.firstPrice" controls-position="right" /> <el-input-number v-model="scope.row.firstPrice" controls-position="right" />
@ -187,7 +186,6 @@ const defaultRole = {
} }
const kg = '重量kg' const kg = '重量kg'
const m = '体积' const m = '体积'
const km = '公里km'
const statusMap = [ const statusMap = [
{ {
title: '首件', title: '首件',
@ -203,11 +201,6 @@ const statusMap = [
title: `首件${m}`, title: `首件${m}`,
title2: `续件${m}`, title2: `续件${m}`,
title3: `包邮${m}` title3: `包邮${m}`
},
{
title: `${km}`,
title2: `${km}`,
title3: `免费${km}`
} }
] ]
export default { export default {
@ -246,7 +239,7 @@ export default {
{ required: true, message: '请输入', trigger: 'blur' } { required: true, message: '请输入', trigger: 'blur' }
], ],
firstPrice: [ firstPrice: [
{ required: true, message: '请输入', trigger: 'blur' } { required: true, message: '请输入费', trigger: 'blur' }
], ],
renewalPrice: [ renewalPrice: [
{ required: true, message: '请输入续费', trigger: 'blur' } { required: true, message: '请输入续费', trigger: 'blur' }
@ -429,7 +422,7 @@ export default {
name: this.ruleForm.name, name: this.ruleForm.name,
sort: this.ruleForm.sort, sort: this.ruleForm.sort,
type: this.ruleForm.type, type: this.ruleForm.type,
// //
// shippingTemplatesRegionRequestList: [], // shippingTemplatesRegionRequestList: [],
// // // //
// shippingTemplatesFreeRequestList: [] // shippingTemplatesFreeRequestList: []

View File

@ -11,7 +11,7 @@
</el-form-item> </el-form-item>
</el-form> </el-form>
</div> </div>
<el-button type="primary" size="mini" @click="handleSubmit()" v-hasPermi="['admin:shipping:templates:save']">添加配送模板</el-button> <el-button type="primary" size="mini" @click="handleSubmit()" v-hasPermi="['admin:shipping:templates:save']">添加运费模板</el-button>
</div> </div>
<el-table <el-table
v-loading="loading" v-loading="loading"
@ -103,8 +103,7 @@ export default {
const statusMap = { const statusMap = {
1: '按件数', 1: '按件数',
2: '按重量', 2: '按重量',
3: '按体积', 3: '按体积'
4: '按距离'
} }
return statusMap[status] return statusMap[status]
} }

View File

@ -1,25 +1,11 @@
<template> <template>
<div class="divBox"> <div class="divBox">
<el-form <el-form :model="tableFrom" @keyup.enter.native="getDataList()" label-width="90px">
:model="tableFrom"
@keyup.enter.native="getDataList()"
label-width="90px"
>
<el-form-item label="活动名称:"> <el-form-item label="活动名称:">
<el-input <el-input @input="getDataList()" style="width: 275px" v-model="tableFrom.keywords" placeholder="查询活动" clearable></el-input>
@input="getDataList()"
style="width: 275px"
v-model="tableFrom.keywords"
placeholder="查询活动"
clearable
></el-input>
</el-form-item> </el-form-item>
<el-form-item label="活动类型:"> <el-form-item label="活动类型:">
<el-radio-group <el-radio-group v-model="tableFrom.cid" size="medium" @input="getDataList()">
v-model="tableFrom.cid"
size="medium"
@input="getDataList()"
>
<el-radio-button label="">全部</el-radio-button> <el-radio-button label="">全部</el-radio-button>
<el-radio-button label="746">活动预约</el-radio-button> <el-radio-button label="746">活动预约</el-radio-button>
<el-radio-button label="752">采茶预约</el-radio-button> <el-radio-button label="752">采茶预约</el-radio-button>
@ -27,34 +13,30 @@
</el-radio-group> </el-radio-group>
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
<el-button <el-button v-hasPermi="['admin:activity:save']" type="primary" @click="addOrUpdateHandle()">新增活动</el-button>
v-hasPermi="['admin:activity:save']"
type="primary"
@click="addOrUpdateHandle()"
>新增活动</el-button
>
<!-- <el-button v-hasPermi="['autogencode:ebactivity:delete']" type="danger" @click="deleteHandle()" :disabled="dataListSelections.length <= 0">批量删除</el-button>--> <!-- <el-button v-hasPermi="['autogencode:ebactivity:delete']" type="danger" @click="deleteHandle()" :disabled="dataListSelections.length <= 0">批量删除</el-button>-->
</el-form-item> </el-form-item>
</el-form> </el-form>
<el-table :data="dataList" v-loading="dataListLoading" style="width: 100%;"> <el-table
:data="dataList"
v-loading="dataListLoading"
style="width: 100%;">
<el-table-column <el-table-column
width="60" width="60"
prop="id" prop="id"
header-align="center" header-align="center"
align="center" align="center"
label="活动编号" label="活动编号">
>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="cid" prop="cid"
header-align="center" header-align="center"
align="center" align="center"
label="活动类型" label="活动类型">
>
<template slot-scope="scope"> <template slot-scope="scope">
<div class="demo-image__preview"> <div class="demo-image__preview">
<span v-if="scope.row.cid == 746">活动预约</span> <span v-if="scope.row.cid == 746">活动预约</span>
<span v-else-if="scope.row.cid == 752">采茶预约</span> <span v-else-if="scope.row.cid ==752">采茶预约</span>
<span v-else-if="scope.row.cid == 753">其他预约</span> <span v-else-if="scope.row.cid == 753">其他预约</span>
<span v-else>类型错误</span> <span v-else>类型错误</span>
</div> </div>
@ -65,16 +47,14 @@
prop="title" prop="title"
header-align="center" header-align="center"
align="center" align="center"
label="标题" label="标题">
>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="imageInput" prop="imageInput"
header-align="center" header-align="center"
align="center" align="center"
label="图片" label="图片">
>
<template slot-scope="scope"> <template slot-scope="scope">
<div class="demo-image__preview"> <div class="demo-image__preview">
<el-image <el-image
@ -89,22 +69,19 @@
prop="activityAddr" prop="activityAddr"
header-align="center" header-align="center"
align="center" align="center"
label="地址" label="地址">
>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="activityNum" prop="activityNum"
header-align="center" header-align="center"
align="center" align="center"
label="活动人数" label="活动人数">
>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="activityPrice" prop="activityPrice"
header-align="center" header-align="center"
align="center" align="center"
label="费用" label="费用">
>
</el-table-column> </el-table-column>
<!-- <el-table-column--> <!-- <el-table-column-->
<!-- prop="content"--> <!-- prop="content"-->
@ -117,21 +94,23 @@
prop="beginTime" prop="beginTime"
header-align="center" header-align="center"
align="center" align="center"
label="开始时间 - 结束时间" label="开始时间 - 结束时间">
>
<template slot-scope="scope"> <template slot-scope="scope">
{{ scope.row.beginTime }} - {{ scope.row.endTime }} {{ scope.row.beginTime }} - {{ scope.row.endTime }}
</template> </template>
</el-table-column> </el-table-column>
<el-table-column header-align="center" align="center" label="是否热门"> <el-table-column
header-align="center"
align="center"
label="是否热门">
<template slot-scope="scope"> <template slot-scope="scope">
<el-switch <el-switch
@change="changeStatus($event, scope.row, 'hot')" @change='changeStatus($event,scope.row,"hot")'
v-model="scope.row.isHot" v-model="scope.row.isHot"
active-color="#13ce66" active-color="#13ce66"
inactive-color="#ff4949" inactive-color="#ff4949">
>
</el-switch> </el-switch>
</template> </template>
</el-table-column> </el-table-column>
<!-- <el-table-column--> <!-- <el-table-column-->
@ -151,36 +130,21 @@
prop="sort" prop="sort"
header-align="center" header-align="center"
align="center" align="center"
label="排序" label="排序">
>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
fixed="right" fixed="right"
header-align="center" header-align="center"
align="center" align="center"
width="150" width="150"
label="操作" label="操作">
>
<template slot-scope="scope"> <template slot-scope="scope">
<el-button <el-button type="text" size="small" @click="addOrUpdateHandle(scope.row.id)">修改</el-button>
type="text" <el-button v-hasPermi="['admin:activity:update']" type="text" size="small"
size="small" @click="activityLog(scope.row.id)">预约记录
@click="addOrUpdateHandle(scope.row.id)"
>修改</el-button
>
<el-button
v-hasPermi="['admin:activity:update']"
type="text"
size="small"
@click="activityLog(scope.row.id)"
>预约记录
</el-button> </el-button>
<el-button <el-button v-hasPermi="['admin:activity:delete']" type="text" size="small"
v-hasPermi="['admin:activity:delete']" @click="deleteHandle(scope.row.id)">删除
type="text"
size="small"
@click="deleteHandle(scope.row.id)"
>删除
</el-button> </el-button>
</template> </template>
</el-table-column> </el-table-column>
@ -192,93 +156,38 @@
:page-sizes="[10, 20, 50, 100]" :page-sizes="[10, 20, 50, 100]"
:page-size="tableFrom.limit" :page-size="tableFrom.limit"
:total="totalPage" :total="totalPage"
layout="total, sizes, prev, pager, next, jumper" layout="total, sizes, prev, pager, next, jumper">
>
</el-pagination> </el-pagination>
<!-- 表单弹窗, 新增数据和修改数据--> <!-- 表单弹窗, 新增数据和修改数据-->
<add-or-update <add-or-update v-if="addOrUpdateVisible" ref="addOrUpdate" @refreshDataList="getDataList"></add-or-update>
v-if="addOrUpdateVisible"
ref="addOrUpdate"
@refreshDataList="getDataList"
></add-or-update>
<el-dialog <el-dialog
@close="closeLog"
title="活动预约记录" title="活动预约记录"
:close-on-click-modal="false" :close-on-click-modal="false"
:visible.sync="logVisible" :visible.sync="logVisible"
width="80%" width="80%"
> >
<el-form :inline="true" size="small" label-width="100px"> <el-table
<el-form-item label="手机号:" > :data="logList"
<el-input style="width: 100%;">
v-model="logParams.cellPhone"
placeholder="请输入手机号码"
class="selWidth"
size="small"
clearable
@clear="activityLog(logParams.activityId)"
>
<el-button
slot="append"
icon="el-icon-search"
size="small"
@click="activityLog(logParams.activityId)"
/>
</el-input>
</el-form-item>
<el-form-item label="姓名:" >
<el-input
v-model="logParams.userName"
placeholder="请输入联系人姓名"
class="selWidth"
size="small"
clearable
@clear="activityLog(logParams.activityId)"
>
<el-button
slot="append"
icon="el-icon-search"
size="small"
@click="activityLog(logParams.activityId)"
/>
</el-input>
</el-form-item>
<el-form-item label="预约日期:" >
<el-date-picker
v-model="date"
type="daterange"
range-separator="至"
start-placeholder="开始日期"
end-placeholder="结束日期"
value-format="yyyy-MM-dd"
@change="activityLog(logParams.activityId)"
>
</el-date-picker>
</el-form-item>
</el-form>
<el-table :data="logList" style="width: 100%;">
<el-table-column <el-table-column
width="100" width="100"
prop="id" prop="id"
header-align="center" header-align="center"
align="center" align="center"
label="预约编号" label="预约编号">
>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
width="100" width="100"
prop="userName" prop="userName"
header-align="center" header-align="center"
align="center" align="center"
label="预约人" label="预约人">
>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="cellPhone" prop="cellPhone"
header-align="center" header-align="center"
align="center" align="center"
label="预约手机号" label="预约手机号">
>
</el-table-column> </el-table-column>
<!-- <el-table-column--> <!-- <el-table-column-->
<!-- width="120"--> <!-- width="120"-->
@ -292,32 +201,25 @@
prop="registerDate" prop="registerDate"
header-align="center" header-align="center"
align="center" align="center"
label="预约指定日期" label="预约指定日期">
>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="remark" prop="remark"
header-align="center" header-align="center"
align="center" align="center"
label="备注" label="备注">
>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="registerStatus" prop="registerStatus"
header-align="center" header-align="center"
align="center" align="center"
label="预约状态" label="预约状态">
>
<template slot-scope="scope"> <template slot-scope="scope">
<div class="demo-image__preview"> <div class="demo-image__preview">
<el-tag v-if="scope.row.registerStatus == 0">待确认</el-tag> <el-tag v-if="scope.row.registerStatus == 0">待确认</el-tag>
<el-tag v-else-if="scope.row.registerStatus == 1" <el-tag v-else-if="scope.row.registerStatus == 1">报名成功</el-tag>
>报名成功</el-tag
>
<el-tag v-else-if="scope.row.registerStatus == 2">已拒绝</el-tag> <el-tag v-else-if="scope.row.registerStatus == 2">已拒绝</el-tag>
<el-tag type="warning" v-else-if="scope.row.registerStatus == 4" <el-tag type="warning" v-else-if="scope.row.registerStatus ==4">已取消</el-tag>
>已取消</el-tag
>
<el-tag v-else>未知类型</el-tag> <el-tag v-else>未知类型</el-tag>
</div> </div>
</template> </template>
@ -326,8 +228,7 @@
prop="cancelData" prop="cancelData"
header-align="center" header-align="center"
align="center" align="center"
label="取消时间" label="取消时间">
>
<template slot-scope="scope"> <template slot-scope="scope">
<div class="demo-image__preview"> <div class="demo-image__preview">
<span v-if="scope.row.cancelData === null"> - </span> <span v-if="scope.row.cancelData === null"> - </span>
@ -339,8 +240,7 @@
prop="cancelReason" prop="cancelReason"
header-align="center" header-align="center"
align="center" align="center"
label="取消原因" label="取消原因">
>
<template slot-scope="scope"> <template slot-scope="scope">
<div class="demo-image__preview"> <div class="demo-image__preview">
<span v-if="scope.row.cancelReason === null"> - </span> <span v-if="scope.row.cancelReason === null"> - </span>
@ -354,32 +254,15 @@
header-align="center" header-align="center"
align="center" align="center"
width="150" width="150"
label="操作" label="操作">
>
<template slot-scope="scope"> <template slot-scope="scope">
<el-popconfirm <el-popconfirm v-hasPermi="['admin:activity:update']" @onConfirm="update(scope.row)" v-if="scope.row.registerStatus == 0"
v-hasPermi="['admin:activity:update']" title="请在和客户确认之后再点击哦!">
@onConfirm="update(scope.row)"
v-if="scope.row.registerStatus == 0"
title="请在和客户确认之后再点击哦!"
>
<!-- //todo --> <!-- //todo -->
<template #reference> <template #reference>
<el-button type="text" size="small">同意预约</el-button> <el-button type="text" size="small">同意预约</el-button>
</template> </template>
</el-popconfirm> </el-popconfirm>
<el-popconfirm
v-hasPermi="['admin:activity:update']"
@onConfirm="rejectRecord(scope.row)"
v-if="scope.row.registerStatus == 0"
title="确定要拒绝吗?"
>
<!-- //todo -->
<template #reference>
<el-button type="text" size="small">拒绝</el-button>
</template>
</el-popconfirm>
<el-button v-if="scope.row.registerStatus >=2" type="text" size="small" @click="deleteRecordHandle(scope.row)">删除</el-button>
<!-- <el-button type="text" size="small" @click="addOrUpdateHandle(scope.row.id)">修改</el-button>--> <!-- <el-button type="text" size="small" @click="addOrUpdateHandle(scope.row.id)">修改</el-button>-->
<!-- <el-button v-hasPermi="['admin:activity:update']" type="text" size="small"--> <!-- <el-button v-hasPermi="['admin:activity:update']" type="text" size="small"-->
<!-- @click="activityLog(scope.row.id)">预约记录--> <!-- @click="activityLog(scope.row.id)">预约记录-->
@ -394,26 +277,27 @@
background background
layout="prev, pager, next" layout="prev, pager, next"
@current-change="handleCurrentChange" @current-change="handleCurrentChange"
:total="logParams.total" :total="this.logParams.total">
>
</el-pagination> </el-pagination>
<span slot="footer" class="dialog-footer"> <span slot="footer" class="dialog-footer">
<!-- <el-button type="primary" @click="logVisibles = false"> </el-button> --> <el-button type="primary" @click="logVisibles = false"> </el-button>
</span> </span>
</el-dialog> </el-dialog>
</div> </div>
</template> </template>
<script> <script>
import { import {
activityDeleteApi, activityDeleteApi,
activityListApi, activityListApi,
activityLogListApi, activityLogListApi,
ebactivityUpdateApi, ebactivityUpdateApi,
userActivityPlaceListApi, userActivityPlaceListApi
activityRecordDeleteApi } from "@/api/activity"
} from "@/api/activity"; import AddOrUpdate from "@/views/marketing/activity/activityList/activity-add-and-update"
import AddOrUpdate from "@/views/marketing/activity/activityList/activity-add-and-update";
export default { export default {
data() { data() {
@ -422,141 +306,91 @@ export default {
logVisible: false, logVisible: false,
dataList: [], dataList: [],
logList: [], logList: [],
date: [],
logParams: { logParams: {
activityId: "", activityId: "",
limit: 10, limit: 10,
page: 1, page: 1,
total: 1, total: 1,
cellPhone: "",
userName: ""
}, },
tableFrom: { tableFrom: {
page: 1, page: 1,
limit: 20, limit: 20,
name: "", name: '',
keywords: "", keywords: '',
cid: "" cid: "",
}, },
totalPage: 0, totalPage: 0,
addOrUpdateVisible: false addOrUpdateVisible: false
}; }
}, },
components: { components: {
AddOrUpdate AddOrUpdate
}, },
mounted() { mounted() {
this.getDataList(); this.getDataList()
}, },
methods: { methods: {
deleteRecordHandle(row) {
this.$confirm('确定删除当前数据?').then(() => {
activityRecordDeleteApi({ id: row.id }).then(res => {
this.$message.success("删除成功");
this.activityLog(this.logParams.activityId);
});
}).catch(() => {
})
},
closeLog() {
this.logParams = {
activityId: "",
limit: 10,
page: 1,
total: 1,
cellPhone: "",
userName: ""
};
this.date = [];
},
update(row) { update(row) {
console.log("确定了"); console.log("确定了")
console.log(row); console.log(row)
userActivityPlaceListApi({ id: row.id, registerStatus: 1 }).then(res => { userActivityPlaceListApi({id:row.id,status:0}).then(res =>{
this.$message.success("修改成功!"); this.$message.success("修改成功!");
this.activityLog(this.logParams.activityId); this.activityLog(this.logParams.activityId)
}); })
},
rejectRecord(row) {
userActivityPlaceListApi({ id: row.id, registerStatus: 2 }).then(res => {
this.$message.success("拒绝成功!");
this.activityLog(this.logParams.activityId);
});
}, },
// //
activityLog(id) { activityLog(id) {
this.logParams.activityId = id; this.logParams.activityId = id
this.logVisible = true; this.logVisible = true
this.logParams.page = 1; activityLogListApi(this.logParams).then(res => {
activityLogListApi( this.logParams.limit = res.limit
Object.assign( this.logParams.page = res.page
{ ...this.logParams }, this.logParams.total = res.total
this.date && this.date.length > 0 this.logList = res.list
? { })
beginDate: this.date[0] + " 01:00:00" || "",
endDate: this.date[1] + " 23:59:59" || ""
}
: {}
)
).then(res => {
this.logParams.limit = res.limit;
this.logParams.page = res.page;
this.logParams.total = res.total;
this.logList = res.list;
});
}, },
handleCurrentChange(val) { handleCurrentChange(val) {
this.logParams.page = val; this.logParams.page = val
activityLogListApi( activityLogListApi(this.logParams).then(res => {
Object.assign( this.logParams.limit = res.limit
{ ...this.logParams }, this.logParams.page = res.page
this.date && this.date.length > 0 this.logParams.total = res.total
? { this.logList = res.list
beginDate: this.date[0] + " 01:00:00" || "", })
endDate: this.date[1] + " 23:59:59" || ""
}
: {}
)
).then(res => {
this.logParams.limit = res.limit;
this.logParams.page = res.page;
this.logParams.total = res.total;
this.logList = res.list;
});
}, },
changeStatus($event, val, type) { changeStatus($event, val, type) {
if (type === "banner") { if (type === 'banner') {
val.isBanner = $event; val.isBanner = $event
} }
if (type === "hot") { if (type === 'hot') {
val.isHot = $event; val.isHot = $event
} }
ebactivityUpdateApi(val).then(res => { ebactivityUpdateApi(val).then(res => {
this.$message.success("修改成功!"); this.$message.success("修改成功!");
this.getDataList(); this.getDataList()
}); })
}, },
addOrUpdateHandle(id) { addOrUpdateHandle(id) {
this.addOrUpdateVisible = true; this.addOrUpdateVisible = true
this.$nextTick(() => { this.$nextTick(() => {
this.$refs.addOrUpdate.init(id); this.$refs.addOrUpdate.init(id)
}); })
}, },
deleteHandle(id) { deleteHandle(id) {
this.$confirm("确定删除当前数据?").then(() => { this.$confirm('确定删除当前数据?').then(() => {
activityDeleteApi({ id: id }).then(data => { activityDeleteApi({id: id}).then(data => {
this.$message.success("删除成功"); this.$message.success('删除成功')
this.getDataList(); this.getDataList()
}); })
}); })
}, },
sizeChangeHandle(val) { sizeChangeHandle(val) {
this.tableFrom.limit = val; this.tableFrom.limit = val
this.getDataList(); this.getDataList()
}, },
currentChangeHandle(page) { currentChangeHandle(page) {
this.tableFrom.page = page; this.tableFrom.page = page
this.getDataList(); this.getDataList()
}, },
// //
selectionChangeHandle(val) { selectionChangeHandle(val) {
@ -564,19 +398,23 @@ export default {
}, },
// //
getDataList() { getDataList() {
this.dataListLoading = true; this.dataListLoading = true
activityListApi(this.tableFrom).then(res => { activityListApi(this.tableFrom).then(res => {
// TODO // TODO
this.dataList = res.list; this.dataList = res.list
this.totalPage = res.total; this.totalPage = res.total
this.tableFrom.limit = res.limit; this.tableFrom.limit = res.total
this.tableFrom.page = res.page; this.tableFrom.page = res.page
this.dataListLoading = false; this.dataListLoading = false
}); })
} }
} }
};
}
</script> </script>
<style lang="sass" scoped></style> <style lang="sass" scoped>
</style>

View File

@ -3,38 +3,26 @@
<el-card class="box-card"> <el-card class="box-card">
<div class="clearfix"> <div class="clearfix">
<div class="container"> <div class="container">
<el-form size="small" label-width="120px" > <el-form size="small" label-width="100px" >
<el-form-item label="预约状态:"> <!-- <el-form-item label="预约状态:">-->
<el-radio-group v-model="tableFrom.status" type="button" @change="seachList"> <!-- <el-radio-group v-model="tableFrom.status" type="button" @change="seachList">-->
<el-radio-button :label="''">全部</el-radio-button> <!-- <el-radio-button label="all">全部</el-radio-button>-->
<el-radio-button label="0">待确认 </el-radio-button> <!-- <el-radio-button label="unPaid">待确认 </el-radio-button>-->
<el-radio-button label="1">预约成功 </el-radio-button> <!-- <el-radio-button label="unPaid">预约成功 </el-radio-button>-->
<el-radio-button label="2">预约取消 </el-radio-button> <!-- <el-radio-button label="unPaid">预约取消 </el-radio-button>-->
</el-radio-group> <!-- </el-radio-group>-->
</el-form-item> <!-- </el-form-item>-->
<!-- <el-form-item label="预约人:" class="width100"> <el-form-item label="预约人:" class="width100">
<el-input v-model="tableFrom.keywords" placeholder="请输入预约人" class="selWidth" size="small" clearable> <el-input v-model="tableFrom.keywords" placeholder="请输入预约人" class="selWidth" size="small" clearable>
<el-button slot="append" icon="el-icon-search" size="small" @click="seachList" /> <el-button slot="append" icon="el-icon-search" size="small" @click="seachList" />
</el-input> </el-input>
</el-form-item> --> </el-form-item>
<el-form-item label="预约人/手机号:" class="width100"> <el-form-item label="手机号:" class="width100">
<el-input v-model="tableFrom.keywords" placeholder="请输入预约人姓名/手机号" class="selWidth" size="small" clearable @clear="seachList"> <el-input v-model="tableFrom.keywords" placeholder="请输入订单号" class="selWidth" size="small" clearable>
<el-button slot="append" icon="el-icon-search" size="small" @click="seachList" /> <el-button slot="append" icon="el-icon-search" size="small" @click="seachList" />
</el-input> </el-input>
</el-form-item> </el-form-item>
<el-form-item label="预约日期:" class="width100">
<el-date-picker
v-model="date"
type="daterange"
range-separator="至"
start-placeholder="开始日期"
end-placeholder="结束日期"
value-format="yyyy-MM-dd"
@change="seachList"
>
</el-date-picker>
</el-form-item>
</el-form> </el-form>
</div> </div>
@ -143,7 +131,6 @@
label="操作"> label="操作">
<template slot-scope="scope"> <template slot-scope="scope">
<el-button v-if="scope.row.status == 0" type="text" size="small" @click="mobile(scope.row)">审核预约</el-button> <el-button v-if="scope.row.status == 0" type="text" size="small" @click="mobile(scope.row)">审核预约</el-button>
<el-button v-if="scope.row.status == 2" type="text" size="small" @click="deleteHandle(scope.row)">删除</el-button>
<!-- <el-button v-if="scope.row.status == 1" type="text" size="small" @click="innerVisible = true">后台取消</el-button>--> <!-- <el-button v-if="scope.row.status == 1" type="text" size="small" @click="innerVisible = true">后台取消</el-button>-->
<!-- <el-button v-hasPermi="['admin:activity:update']" type="text" size="small"--> <!-- <el-button v-hasPermi="['admin:activity:update']" type="text" size="small"-->
@ -239,8 +226,7 @@ import {
activityListApi, activityListApi,
activityLogListApi, activityLogListApi,
activityPlaceListApi, activityPlaceUpdateApi, activityPlaceListApi, activityPlaceUpdateApi,
ebactivityUpdateApi, ebactivityUpdateApi
placeDeleteApi
} from "@/api/activity" } from "@/api/activity"
import AddOrUpdate from "@/views/marketing/activity/activityList/activity-add-and-update" import AddOrUpdate from "@/views/marketing/activity/activityList/activity-add-and-update"
@ -253,13 +239,10 @@ export default {
mobileVisible: false, mobileVisible: false,
dataList:[], dataList:[],
mobileFrom:{}, mobileFrom:{},
date:[],
totalPage:0,
tableFrom:{ tableFrom:{
page: 1, page: 1,
limit: 20, limit: 20,
keywords: '', keywords: '',
status: ''
} }
} }
}, },
@ -273,15 +256,6 @@ export default {
methods: { methods: {
deleteHandle(row){
this.$confirm('确定删除当前数据?').then(() => {
placeDeleteApi({id:row.id}).then(data => {
this.$message.success('删除成功')
this.getDataList()
})
}).catch(() => {
})
},
seachList() { seachList() {
this.tableFrom.page = 1 this.tableFrom.page = 1
this.getDataList() this.getDataList()
@ -311,10 +285,11 @@ export default {
getDataList(){ getDataList(){
this.dataListLoading = true this.dataListLoading = true
activityPlaceListApi(Object.assign({...this.tableFrom},this.date&&this.date.length > 0 ? {beginDate:this.date[0] + ' 01:00:00'|| '',endDate:this.date[1] + ' 23:59:59' || ''} : {})).then(res =>{ activityPlaceListApi(this.tableFrom).then(res =>{
console.log(res)
this.dataList = res.list this.dataList = res.list
this.totalPage = res.total this.totalPage = res.total
this.tableFrom.limit = res.limit this.tableFrom.limit = res.total
this.tableFrom.page = res.page this.tableFrom.page = res.page

View File

@ -121,7 +121,7 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col v-bind="grid2"> <el-col v-bind="grid2">
<el-form-item label="配送模板:" prop="tempId"> <el-form-item label="运费模板:" prop="tempId">
<div class="acea-row"> <div class="acea-row">
<el-select v-model="formValidate.tempId" placeholder="请选择" class="selWidthd"> <el-select v-model="formValidate.tempId" placeholder="请选择" class="selWidthd">
<el-option <el-option
@ -131,7 +131,7 @@
:value="item.id" :value="item.id"
/> />
</el-select> </el-select>
<!--<el-button class="mr15" @click="addTem">添加配送模板</el-button>--> <!--<el-button class="mr15" @click="addTem">添加运费模板</el-button>-->
</div> </div>
</el-form-item> </el-form-item>
</el-col> </el-col>
@ -362,7 +362,7 @@
loading: false, loading: false,
fullscreenLoading: false, fullscreenLoading: false,
merCateList: [], // merCateList: [], //
shippingList: [], // shippingList: [], //
seckillTime: [], seckillTime: [],
ruleValidate: { ruleValidate: {
productId: [ productId: [
@ -384,7 +384,7 @@
{ required: true, message: '请输入砍价商品简介', trigger: 'blur' } { required: true, message: '请输入砍价商品简介', trigger: 'blur' }
], ],
tempId: [ tempId: [
{ required: true, message: '请选择配送模板', trigger: 'change' } { required: true, message: '请选择运费模板', trigger: 'change' }
], ],
timeId: [ timeId: [
{ required: true, message: '请选择活动时间', trigger: 'change' } { required: true, message: '请选择活动时间', trigger: 'change' }
@ -523,13 +523,13 @@
return item return item
}) })
}, },
// //
getShippingList() { getShippingList() {
shippingTemplatesList(this.tempData).then(res => { shippingTemplatesList(this.tempData).then(res => {
this.shippingList = res.list this.shippingList = res.list
}) })
}, },
// //
addTem() { addTem() {
this.$refs.addTemplates.dialogVisible = true this.$refs.addTemplates.dialogVisible = true
this.$refs.addTemplates.getCityList() this.$refs.addTemplates.getCityList()

View File

@ -133,7 +133,7 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col v-bind="grid2"> <el-col v-bind="grid2">
<el-form-item label="配送模板:" prop="tempId"> <el-form-item label="运费模板:" prop="tempId">
<div class="acea-row"> <div class="acea-row">
<el-select v-model="formValidate.tempId" placeholder="请选择" class="selWidthd"> <el-select v-model="formValidate.tempId" placeholder="请选择" class="selWidthd">
<el-option <el-option
@ -143,7 +143,7 @@
:value="item.id" :value="item.id"
/> />
</el-select> </el-select>
<!--<el-button class="mr15" @click="addTem">添加配送模板</el-button>--> <!--<el-button class="mr15" @click="addTem">添加运费模板</el-button>-->
</div> </div>
</el-form-item> </el-form-item>
</el-col> </el-col>
@ -369,7 +369,7 @@
loading: false, loading: false,
fullscreenLoading: false, fullscreenLoading: false,
merCateList: [], // merCateList: [], //
shippingList: [], // shippingList: [], //
seckillTime: [], seckillTime: [],
ruleValidate: { ruleValidate: {
productId: [ productId: [
@ -391,7 +391,7 @@
{ required: true, message: '请输入拼团商品简介', trigger: 'blur' } { required: true, message: '请输入拼团商品简介', trigger: 'blur' }
], ],
tempId: [ tempId: [
{ required: true, message: '请选择配送模板', trigger: 'change' } { required: true, message: '请选择运费模板', trigger: 'change' }
], ],
image: [ image: [
{ required: true, message: '请上传商品图', trigger: 'change' } { required: true, message: '请上传商品图', trigger: 'change' }
@ -532,13 +532,13 @@
return item return item
}) })
}, },
// //
getShippingList() { getShippingList() {
shippingTemplatesList(this.tempData).then(res => { shippingTemplatesList(this.tempData).then(res => {
this.shippingList = res.list this.shippingList = res.list
}) })
}, },
// //
addTem() { addTem() {
this.$refs.addTemplates.dialogVisible = true this.$refs.addTemplates.dialogVisible = true
this.$refs.addTemplates.getCityList() this.$refs.addTemplates.getCityList()

View File

@ -86,7 +86,7 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col v-bind="grid2"> <el-col v-bind="grid2">
<el-form-item label="配送模板:" prop="tempId"> <el-form-item label="运费模板:" prop="tempId">
<div class="acea-row"> <div class="acea-row">
<el-select v-model="formValidate.tempId" placeholder="请选择" class="selWidth"> <el-select v-model="formValidate.tempId" placeholder="请选择" class="selWidth">
<el-option <el-option
@ -96,7 +96,7 @@
:value="item.id" :value="item.id"
/> />
</el-select> </el-select>
<!--<el-button class="mr15" @click="addTem">添加配送模板</el-button>--> <!--<el-button class="mr15" @click="addTem">添加运费模板</el-button>-->
</div> </div>
</el-form-item> </el-form-item>
</el-col> </el-col>
@ -345,7 +345,7 @@
loading: false, loading: false,
fullscreenLoading: false, fullscreenLoading: false,
merCateList: [], // merCateList: [], //
shippingList: [], // shippingList: [], //
seckillTime: [], seckillTime: [],
ruleValidate: { ruleValidate: {
productId: [ productId: [
@ -367,7 +367,7 @@
{ required: true, message: '请输入秒杀商品简介', trigger: 'blur' } { required: true, message: '请输入秒杀商品简介', trigger: 'blur' }
], ],
tempId: [ tempId: [
{ required: true, message: '请选择配送模板', trigger: 'change' } { required: true, message: '请选择运费模板', trigger: 'change' }
], ],
timeId: [ timeId: [
{ required: true, message: '请选择活动时间', trigger: 'change' } { required: true, message: '请选择活动时间', trigger: 'change' }
@ -496,13 +496,13 @@
return item return item
}) })
}, },
// //
getShippingList() { getShippingList() {
shippingTemplatesList(this.tempData).then(res => { shippingTemplatesList(this.tempData).then(res => {
this.shippingList = res.list this.shippingList = res.list
}) })
}, },
// //
addTem() { addTem() {
this.$refs.addTemplates.dialogVisible = true this.$refs.addTemplates.dialogVisible = true
this.$refs.addTemplates.getCityList() this.$refs.addTemplates.getCityList()

View File

@ -49,21 +49,6 @@
</div> </div>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column
prop="viceImage"
header-align="center"
align="center"
label="背景图">
<template slot-scope="scope">
<div class="demo-image__preview">
<el-image
style="width: 36px; height: 36px"
:src="scope.row.viceImage"
:preview-src-list="[scope.row.viceImage]"
/>
</div>
</template>
</el-table-column>
<el-table-column <el-table-column
prop="productPrice" prop="productPrice"

View File

@ -21,8 +21,6 @@
</el-col> </el-col>
</el-row> </el-row>
<el-row :gutter="20"> <el-row :gutter="20">
<el-col :span="6"> <el-col :span="6">
<el-form-item label="茶树图" prop="productImage"> <el-form-item label="茶树图" prop="productImage">
@ -35,17 +33,6 @@
</div> </div>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="6">
<el-form-item label="背景图" prop="viceImage">
<div class="upLoadPicBox" @click="modalPicTap('1','pi7')">
<div v-if="dataForm.viceImage" class="pictrue">
<img :src="dataForm.viceImage"></div>
<div v-else class="upLoad">
<i class="el-icon-camera cameraIconfont"/>
</div>
</div>
</el-form-item>
</el-col>
<el-col :span="6"> <el-col :span="6">
<el-form-item label="小苗阶段图" prop="smallImage"> <el-form-item label="小苗阶段图" prop="smallImage">
@ -136,14 +123,14 @@
</el-form-item> </el-form-item>
<!-- <el-form-item label="热门新品图" prop="hotImage"> <el-form-item label="热门新品图" prop="hotImage">
<el-switch v-model="dataForm.hotImage" :active-value="1" :inactive-value="0"></el-switch> <el-switch v-model="dataForm.hotImage" :active-value="1" :inactive-value="0"></el-switch>
</el-form-item> --> </el-form-item>
<!-- <el-form-item label="认领状态" prop="status"> <el-form-item label="认领状态" prop="status">
<el-switch v-model="dataForm.status" :active-value="1" :inactive-value="0"></el-switch> <el-switch v-model="dataForm.status" :active-value="1" :inactive-value="0"></el-switch>
</el-form-item> --> </el-form-item>
</el-form> </el-form>
<span slot="footer" class="dialog-footer"> <span slot="footer" class="dialog-footer">
<el-button @click="visible = false">取消</el-button> <el-button @click="visible = false">取消</el-button>
@ -184,8 +171,7 @@ export default {
createTime: '', createTime: '',
updateTime: '', updateTime: '',
status: 1, status: 1,
limitNum: '', limitNum: ''
viceImage:'',
}, },
dataRule: { dataRule: {
title: [ title: [
@ -194,9 +180,6 @@ export default {
productImage: [ productImage: [
{required: true, message: '茶树图 为必填项', trigger: 'blur'} {required: true, message: '茶树图 为必填项', trigger: 'blur'}
], ],
viceImage: [
{required: true, message: '背景图 为必填项', trigger: 'blur'}
],
productName: [ productName: [
{required: true, message: '茶树名称 为必填项', trigger: 'blur'} {required: true, message: '茶树名称 为必填项', trigger: 'blur'}
], ],
@ -267,9 +250,6 @@ export default {
case 'pi5': case 'pi5':
_this.dataForm.productImage = img[0].sattDir; _this.dataForm.productImage = img[0].sattDir;
break; break;
case 'pi7':
_this.dataForm.viceImage = img[0].sattDir;
break;
} }
} }
}, tit, 'content'); }, tit, 'content');
@ -293,19 +273,15 @@ export default {
if (!this.dataForm.id){ if (!this.dataForm.id){
plantCreateApi(this.dataForm).then(res => { plantCreateApi(this.dataForm).then(res => {
this.$message.success('添加成功') this.$message.success('添加成功')
setTimeout(() => {
this.$router.go(0);
}, 1000);
}); });
}else { }else {
plantUpdateApi(this.dataForm).then(res => { plantUpdateApi(this.dataForm).then(res => {
this.$message.success('更新成功') this.$message.success('更新成功')
setTimeout(() => {
this.$router.go(0);
}, 1000);
}); });
} }
this.$router.go(0);
} }
}) })
} }

View File

@ -10,11 +10,12 @@
<el-radio-group v-model="tableFrom.itemStatus" size="medium" @input="getDataList()"> <el-radio-group v-model="tableFrom.itemStatus" size="medium" @input="getDataList()">
<el-radio-button label="">全部</el-radio-button> <el-radio-button label="">全部</el-radio-button>
<el-radio-button label=0>待确认</el-radio-button> <el-radio-button label=0>待确认</el-radio-button>
<el-radio-button label="1">认领</el-radio-button> <el-radio-button label="1">成长</el-radio-button>
<el-radio-button label="2">已成熟</el-radio-button> <el-radio-button label="2">已成熟</el-radio-button>
</el-radio-group> </el-radio-group>
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
<el-button @click="getDataList()">查询</el-button>
<!-- <el-button v-hasPermi="['autogencode:ebteaplantorderitem:save']" type="primary" @click="addOrUpdateHandle()">新增数据</el-button>--> <!-- <el-button v-hasPermi="['autogencode:ebteaplantorderitem:save']" type="primary" @click="addOrUpdateHandle()">新增数据</el-button>-->
<!-- <el-button v-hasPermi="['autogencode:ebteaplantorderitem:delete']" type="danger" @click="deleteHandle()" :disabled="dataListSelections.length <= 0">批量删除</el-button>--> <!-- <el-button v-hasPermi="['autogencode:ebteaplantorderitem:delete']" type="danger" @click="deleteHandle()" :disabled="dataListSelections.length <= 0">批量删除</el-button>-->
</el-form-item> </el-form-item>
@ -30,12 +31,12 @@
align="center" align="center"
label="认领凭证"> label="认领凭证">
</el-table-column> </el-table-column>
<!-- <el-table-column--> <el-table-column
<!-- prop="account"--> prop="account"
<!-- header-align="center"--> header-align="center"
<!-- align="center"--> align="center"
<!-- label="手机号">--> label="手机号">
<!-- </el-table-column>--> </el-table-column>
<el-table-column <el-table-column
prop="productImage" prop="productImage"
header-align="center" header-align="center"
@ -57,7 +58,12 @@
align="center" align="center"
label="商品名称"> label="商品名称">
</el-table-column> </el-table-column>
<el-table-column
prop="account"
header-align="center"
align="center"
label="商品名称">
</el-table-column>
<el-table-column <el-table-column
prop="productPrice" prop="productPrice"
header-align="center" header-align="center"
@ -83,41 +89,33 @@
label="结束时间"> label="结束时间">
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="status"
header-align="center" header-align="center"
align="center" align="center"
label="认领状态"> label="认领状态">
<template slot-scope="scope"> <template slot-scope="scope">
<span v-if="scope.row.itemStatus == 0" style="color: #f87d3f;font-weight: 700;font-size: 16px"> 待确认</span> <span v-if="scope.row.status == 0" style="color: red"> 待确认</span>
<span v-if="scope.row.itemStatus == 1" style="color: blue"> 认领</span> <span v-if="scope.row.status == 1" style="color: blue"> 成长</span>
<span v-if="scope.row.itemStatus == 2" style="color: green"> 已成熟</span> <span v-else style="color: green"> 已成熟</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column
prop="createTime"
header-align="center"
align="center"
width="180"
label="创建时间">
</el-table-column>
<el-table-column <el-table-column
header-align="center" header-align="center"
align="center" align="center"
label="剩余天数"> label="支付状态">
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{calculateRemainingDays(scope.row.beginTime,scope.row.endTime)}} </span> <span v-if="scope.row.payStatus == 0" style="color: red"> 待支付</span>
<span v-if="scope.row.payStatus == 1" > 已支付</span>
<span v-else style="color: #be64a1"> 未知状态</span>
</template> </template>
</el-table-column> </el-table-column>
<!-- <el-table-column-->
<!-- prop="createTime"-->
<!-- header-align="center"-->
<!-- align="center"-->
<!-- width="180"-->
<!-- label="创建时间">-->
<!-- </el-table-column>-->
<!-- <el-table-column-->
<!-- header-align="center"-->
<!-- align="center"-->
<!-- label="支付状态">-->
<!-- <template slot-scope="scope">-->
<!-- <span v-if="scope.row.payStatus == 0" style="color: red"> 待支付</span>-->
<!-- <span v-if="scope.row.payStatus == 1" > 已支付</span>-->
<!-- <span v-else style="color: #be64a1"> 未知状态</span>-->
<!-- </template>-->
<!-- </el-table-column>-->
<el-table-column <el-table-column
fixed="right" fixed="right"
header-align="center" header-align="center"
@ -125,17 +123,8 @@
width="150" width="150"
label="操作"> label="操作">
<template slot-scope="scope"> <template slot-scope="scope">
<el-button v-if="scope.row.itemStatus == 0" type="text" size="small" @click="sureOrUpdateHandle(scope.row)" v-hasPermi="['admin:teaPlant:update']">确认订单</el-button> <el-button type="text" size="small" @click="addOrUpdateHandle(scope.row.id)">修改</el-button>
<!-- <el-button type="text" size="small" @click="addOrUpdateHandle(scope.row)">修改</el-button>--> <el-button type="text" size="small" @click="deleteHandle(scope.row.id)">删除</el-button>
<el-dropdown trigger="click">
<span class="el-dropdown-link">
更多<i class="el-icon-arrow-down el-icon--right" />
</span>
<el-dropdown-menu slot="dropdown">
<el-button type="text" size="small" @click="deleteHandle(scope.row.itemId)" >认领详情</el-button>
<el-button type="text" size="small" @click="deleteHandle(scope.row.itemId)" >删除认领茶树</el-button>
</el-dropdown-menu>
</el-dropdown>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
@ -150,15 +139,13 @@
</el-pagination> </el-pagination>
<!-- 表单弹窗, 新增数据和修改数据 --> <!-- 表单弹窗, 新增数据和修改数据 -->
<add-or-update v-if="addOrUpdateVisible" ref="addOrUpdate" @refreshDataList="getDataList"></add-or-update> <add-or-update v-if="addOrUpdateVisible" ref="addOrUpdate" @refreshDataList="getDataList"></add-or-update>
<sure-update v-if="sureOrUpdateVisible" ref="sureUpdate" @refreshDataList="getDataList"></sure-update>
</div> </div>
</template> </template>
<script> <script>
import AddOrUpdate from '@/views/marketing/tree/order/orde-add-and-update' import AddOrUpdate from '@/views/marketing/tree/order/orde-add-and-update'
import SureUpdate from '@/views/marketing/tree/order/orde-add-sure.vue' import * as api from '@/api/plantorder'
import {plantorderDeleteApi, plantOrderListApi} from "@/api/plantorder"; import {plantOrderListApi} from "@/api/plantorder";
import {plantDeleteApi} from "@/api/plant";
export default { export default {
data () { data () {
return { return {
@ -174,33 +161,19 @@ import {plantDeleteApi} from "@/api/plant";
totalPage: 0, totalPage: 0,
dataListLoading: false, dataListLoading: false,
dataListSelections: [], dataListSelections: [],
addOrUpdateVisible: false, addOrUpdateVisible: false
sureOrUpdateVisible: false
} }
}, },
components: { components: {
AddOrUpdate, AddOrUpdate
SureUpdate
}, },
created () { created () {
this.getDataList() this.getDataList()
}, },
methods: { methods: {
calculateRemainingDays(startDate, endDate) {
// Date
const start = new Date(startDate);
const end = new Date(endDate);
//
const timeDifference = end - start;
//
const remainingDays = Math.ceil(timeDifference / (1000 * 60 * 60 * 24));
return remainingDays;
},
// //
getDataList () { getDataList () {
this.dataListLoading = true this.dataListLoading = true
this.tableFrom.limit= 20
plantOrderListApi(this.tableFrom).then(res => { plantOrderListApi(this.tableFrom).then(res => {
this.dataList = res.list this.dataList = res.list
this.totalPage = res.total this.totalPage = res.total
@ -231,87 +204,22 @@ import {plantDeleteApi} from "@/api/plant";
this.$refs.addOrUpdate.init(id) this.$refs.addOrUpdate.init(id)
}) })
}, },
//
sureOrUpdateHandle (id) {
this.sureOrUpdateVisible = true
this.$nextTick(() => {
this.$refs.sureUpdate.init(id)
})
},
// //
deleteHandle (id) { deleteHandle (id) {
console.log(id) // var ids = id ? [id] : this.dataListSelections.map(item => {
this.$confirm(`您确定对[id=id] 删除操作?`, '提示', { // return item.id
confirmButtonText: '确定', // })
cancelButtonText: '取消', // this.$confirm(`[id=${ids.join(',')}][${id ? '' : ''}]?`, '', {
type: 'warning' // confirmButtonText: '',
}).then(() => { // cancelButtonText: '',
plantorderDeleteApi({id: id}).then(res => { // type: 'warning'
// TODO // }).then(() => {
this.getDataList() // api.ebteaplantorderitemDeleteApi(id).then(res => {
this.$message.success('删除成功!') // // TODO
}) // })
}) // })
// })
} }
} }
} }
</script> </script>
<style lang="scss" scoped>
.el-table__body {
width: 100%;
table-layout: fixed !important;
}
.demo-table-expand{
::v-deeplabel{
width: 83px !important;
}
}
.refunding{
span{
display: block;
}
}
.selWidth{
width: 300px;
}
.el-dropdown-link {
cursor: pointer;
color: #409EFF;
font-size: 12px;
}
.el-icon-arrow-down {
font-size: 12px;
}
.tabBox_tit {
font-size: 12px !important;
/*margin: 0 2px 0 10px;*/
letter-spacing: 1px;
/*padding: 5px 0;*/
box-sizing: border-box;
}
.text_overflow{
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
max-width: 400px;
}
.pup_card{
width: 200px;
border-radius: 5px;
padding: 5px;
box-sizing: border-box;
font-size: 12px;
line-height: 16px;
}
.flex-column{
display: flex;
flex-direction: column;
}
.mt20{
margin-top:20px
}
.relative{
position: relative;
}
</style>

View File

@ -1,126 +0,0 @@
<template>
<!-- 基于 Element UI 新增和修改弹窗 -->
<el-dialog
title="确定订单"
:close-on-click-modal="false"
:visible.sync="visible">
<!-- 新增和创建表单表单 -->
<el-form :model="dataForm" :rules="dataRule" ref="dataForm" @keyup.enter.native="dataSubmit()" label-width="120px">
<el-form-item label="唯一凭证" prop="code">
<el-input disabled v-model="dataForm.code" placeholder="茶树唯一凭证"></el-input>
</el-form-item>
<el-form-item label="认领开始时间" prop="beginTime">
<el-date-picker
v-model="dataForm.beginTime"
type="datetime"
value-format="yyyy-MM-dd HH:mm:ss"
placeholder="认领开始时间"
>
</el-date-picker>
<!-- <el-input v-model="dataForm.beginTime" placeholder="树成熟开始时间"></el-input>-->
</el-form-item>
<el-form-item label="认领结束时间" prop="endTime">
<el-date-picker
v-model="dataForm.endTime"
type="datetime"
value-format="yyyy-MM-dd HH:mm:ss"
@change="dateSubmit()"
placeholder="认领结束时间">
</el-date-picker>
</el-form-item>
<el-form-item label="最终领养时间">
<span style="color: red;font-size: 18px">{{ time }}</span>
</el-form-item>
</el-form>
<span slot="footer" class="dialog-footer">
<el-button @click="visible = false">取消</el-button>
<el-button type="primary" @click="dataSubmit()">确定</el-button>
</span>
</el-dialog>
</template>
<script>
import * as api from '@/api/plantorder'
import {plantorderDetailApi, plantorderUpdateApi} from "@/api/plantorder";
import {Message} from "element-ui";
export default {
data() {
return {
time: 0,
visible: false,
beginTime: '',
endTime: '',
dataForm: {},
dataRule: {
plantOrderId: [
{required: true, message: '订单编号 为必填项', trigger: 'blur'}
],
code: [
{required: true, message: '茶树唯一凭证 为必填项', trigger: 'blur'}
],
beginTime: [
{required: true, message: '认领开始时间 为必填项', trigger: 'blur'}
],
endTime: [
{required: true, message: '认领结束时间 为必填项', trigger: 'blur'}
],
}
}
},
methods: {
init(data) {
this.visible = true
this.$nextTick(() => {
this.$refs['dataForm'].resetFields()
this.dataForm = data;
})
},
dateSubmit() {
if (this.isStartDateAfterEndDate(this.dataForm.beginTime, this.dataForm.endTime)) {
console.log("开始日期超出结束日期!");
Message.error('开始日期超出结束日期!');
return
} else {
this.time = this.calculateRemainingDays(this.dataForm.beginTime, this.dataForm.endTime);
}
},
calculateRemainingDays(startDate, endDate) {
// Date
const start = new Date(startDate);
const end = new Date(endDate);
//
const timeDifference = end - start;
//
const remainingDays = Math.ceil(timeDifference / (1000 * 60 * 60 * 24));
return remainingDays;
},
isStartDateAfterEndDate(startDate, endDate) {
// Date
const start = new Date(startDate);
const end = new Date(endDate);
//
if (isNaN(start) || isNaN(end)) {
Message.error('日期格式不正确');
return false;
}
return start > end;
}
,
//
dataSubmit() {
this.$refs['dataForm'].validate((valid) => {
if (valid) {
this.dataForm.status = 1
plantorderUpdateApi(this.dataForm).then(res => {
Message.success('确定成功!');
this.$emit('refreshDataList');
});
}
})
}
}
}
</script>

View File

@ -72,8 +72,8 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :xs="18" :sm="18" :md="18" :lg="12" :xl="12"> <el-col :xs="18" :sm="18" :md="18" :lg="12" :xl="12">
<el-form-item label="配送模板:" prop="tempId"> <el-form-item label="运费模板:" prop="tempId">
<el-select v-model="formValidate.tempId" placeholder="请选择" class="mr20" style="width:100%;"> <el-select v-model="formValidate.tempId" placeholder="请选择" class="mr20" :disabled="isDisabled" style="width:100%;">
<el-option <el-option
v-for="item in shippingList" v-for="item in shippingList"
:key="item.id" :key="item.id"
@ -84,7 +84,7 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :xs="6" :sm="6" :md="6" :lg="12" :xl="12"> <el-col :xs="6" :sm="6" :md="6" :lg="12" :xl="12">
<el-button v-show="!isDisabled" class="mr15" @click="addTem">配送模板</el-button> <el-button v-show="!isDisabled" class="mr15" @click="addTem">运费模板</el-button>
</el-col> </el-col>
<el-col :span="24"> <el-col :span="24">
<el-form-item label="商品规格:" props="specType"> <el-form-item label="商品规格:" props="specType">
@ -93,9 +93,9 @@
<el-radio :label="true">多规格</el-radio> <el-radio :label="true">多规格</el-radio>
</el-radio-group> </el-radio-group>
</el-form-item> </el-form-item>
<el-form-item label="基础设置:" props="isSub"> <el-form-item label="佣金设置:" props="isSub">
<el-radio-group v-model="formValidate.isSub" @change="onChangetype(formValidate.isSub)" :disabled="isDisabled"> <el-radio-group v-model="formValidate.isSub" @change="onChangetype(formValidate.isSub)" :disabled="isDisabled">
<!-- <el-radio :label="true" class="radio">单独设置</el-radio>--> <el-radio :label="true" class="radio">单独设置</el-radio>
<el-radio :label="false">默认设置</el-radio> <el-radio :label="false">默认设置</el-radio>
</el-radio-group> </el-radio-group>
</el-form-item> </el-form-item>
@ -422,8 +422,8 @@
otPrice: 0, otPrice: 0,
stock: 0, stock: 0,
barCode: '', barCode: '',
// weight: 0, weight: 0,
// volume: 0 volume: 0
}], }],
attr: [], attr: [],
selectRule: '', selectRule: '',
@ -433,7 +433,7 @@
id: 0, id: 0,
couponIds: [], couponIds: [],
coupons: [], coupons: [],
activity: ['默认','秒杀'] activity: ['默认','秒杀','砍价','拼团']
} }
const objTitle = { const objTitle = {
price: { price: {
@ -451,12 +451,12 @@
barCode: { barCode: {
title: '商品编号' title: '商品编号'
}, },
// weight: { weight: {
// title: 'KG' title: '重量KG'
// }, },
// volume: { volume: {
// title: '(m³)' title: '体积(m³)'
// } }
} }
export default { export default {
name: 'ProductProductAdd', name: 'ProductProductAdd',
@ -464,7 +464,7 @@
data() { data() {
return { return {
isDisabled: this.$route.params.isDisabled==='1'?true:false, isDisabled: this.$route.params.isDisabled==='1'?true:false,
activity: { '默认': 'red', '秒杀': 'blue' }, activity: { '默认': 'red', '秒杀': 'blue', '砍价': 'green', '拼团': 'yellow' },
props2: { props2: {
children: 'child', children: 'child',
label: 'name', label: 'name',
@ -482,7 +482,7 @@
ManyAttrValue: [Object.assign({}, defaultObj.attrValue[0])], // ManyAttrValue: [Object.assign({}, defaultObj.attrValue[0])], //
ruleList: [], ruleList: [],
merCateList: [], // merCateList: [], //
shippingList: [], // shippingList: [], //
formThead: Object.assign({}, objTitle), formThead: Object.assign({}, objTitle),
formValidate: Object.assign({}, defaultObj), formValidate: Object.assign({}, defaultObj),
formDynamics: { formDynamics: {
@ -535,7 +535,7 @@
{ required: true, message: '请输入商品简介', trigger: 'blur' } { required: true, message: '请输入商品简介', trigger: 'blur' }
], ],
tempId: [ tempId: [
{ required: true, message: '请选择配送模板', trigger: 'change' } { required: true, message: '请选择运费模板', trigger: 'change' }
], ],
image: [ image: [
{ required: true, message: '请上传商品图', trigger: 'change' } { required: true, message: '请上传商品图', trigger: 'change' }
@ -706,8 +706,8 @@
otPrice: 0, otPrice: 0,
stock: 0, stock: 0,
barCode: '', barCode: '',
// weight: 0, weight: 0,
// volume: 0, volume: 0,
brokerage: 0, brokerage: 0,
brokerage_two: 0 brokerage_two: 0
} }
@ -737,8 +737,8 @@
otPrice: 0, otPrice: 0,
stock: 0, stock: 0,
barCode: '', barCode: '',
// weight: 0, weight: 0,
// volume: 0, volume: 0,
brokerage: 0, brokerage: 0,
brokerage_two: 0, brokerage_two: 0,
attrValue: { [v['attrName']]: vv } attrValue: { [v['attrName']]: vv }
@ -756,7 +756,7 @@
return res return res
} }
}, },
// //
addTem() { addTem() {
this.$refs.addTemplates.dialogVisible = true this.$refs.addTemplates.dialogVisible = true
this.$refs.addTemplates.getCityList() this.$refs.addTemplates.getCityList()
@ -823,7 +823,7 @@
this.ruleList = list this.ruleList = list
}) })
}, },
// //
getShippingList() { getShippingList() {
shippingTemplatesList(this.tempData).then(res => { shippingTemplatesList(this.tempData).then(res => {
this.shippingList = res.list this.shippingList = res.list
@ -870,8 +870,8 @@
this.$set(val, 'otPrice', this.oneFormBatch[0].otPrice) this.$set(val, 'otPrice', this.oneFormBatch[0].otPrice)
this.$set(val, 'stock', this.oneFormBatch[0].stock) this.$set(val, 'stock', this.oneFormBatch[0].stock)
this.$set(val, 'barCode', this.oneFormBatch[0].barCode) this.$set(val, 'barCode', this.oneFormBatch[0].barCode)
// this.$set(val, 'weight', this.oneFormBatch[0].weight) this.$set(val, 'weight', this.oneFormBatch[0].weight)
// this.$set(val, 'volume', this.oneFormBatch[0].volume) this.$set(val, 'volume', this.oneFormBatch[0].volume)
this.$set(val, 'brokerage', this.oneFormBatch[0].brokerage) this.$set(val, 'brokerage', this.oneFormBatch[0].brokerage)
this.$set(val, 'brokerageTwo', this.oneFormBatch[0].brokerageTwo) this.$set(val, 'brokerageTwo', this.oneFormBatch[0].brokerageTwo)
} }
@ -984,7 +984,7 @@
ficti: info.ficti, ficti: info.ficti,
coupons: info.coupons, coupons: info.coupons,
couponIds: info.couponIds, couponIds: info.couponIds,
activity: info.activityStr ? info.activityStr.split(',') : ['默认','秒杀'] activity: info.activityStr ? info.activityStr.split(',') : ['默认','秒杀','砍价','拼团']
} }
marketingSendApi({type:3}).then(res=>{ marketingSendApi({type:3}).then(res=>{
if(this.formValidate.couponIds !== null){ if(this.formValidate.couponIds !== null){

View File

@ -62,7 +62,7 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col v-bind="grid"> <el-col v-bind="grid">
<el-form-item label="配送模板:" prop="tempId"> <el-form-item label="运费模板:" prop="tempId">
<el-select v-model="formValidate.tempId" placeholder="请选择" class="selWidth"> <el-select v-model="formValidate.tempId" placeholder="请选择" class="selWidth">
<el-option <el-option
v-for="item in shippingList" v-for="item in shippingList"
@ -319,7 +319,7 @@
{required: true, message: '请输入单位', trigger: 'blur'} {required: true, message: '请输入单位', trigger: 'blur'}
], ],
tempId: [ tempId: [
{required: true, message: '请选择配送模板', trigger: 'change', type: 'number'} {required: true, message: '请选择运费模板', trigger: 'change', type: 'number'}
], ],
keyword: [ keyword: [
{required: true, message: '请输入商品关键字', trigger: 'blur'} {required: true, message: '请输入商品关键字', trigger: 'blur'}
@ -485,7 +485,7 @@
return res return res
} }
}, },
// //
productGetTemplate() { productGetTemplate() {
shippingTemplatesList(this.tempData).then(res => { shippingTemplatesList(this.tempData).then(res => {
this.shippingList = res.list this.shippingList = res.list

View File

@ -1,7 +1,7 @@
<template> <template>
<el-dialog <el-dialog
v-if="dialogVisible" v-if="dialogVisible"
title="配送模板" title="运费模板"
:visible.sync="dialogVisible" :visible.sync="dialogVisible"
width="1000px" width="1000px"
:before-close="handleClose" :before-close="handleClose"
@ -15,10 +15,9 @@
<el-radio :label="1">按件数</el-radio> <el-radio :label="1">按件数</el-radio>
<el-radio :label="2">按重量</el-radio> <el-radio :label="2">按重量</el-radio>
<el-radio :label="3">按体积</el-radio> <el-radio :label="3">按体积</el-radio>
<el-radio :label="4">按距离</el-radio>
</el-radio-group> </el-radio-group>
</el-form-item> </el-form-item>
<el-form-item label="配送区域及" prop="region"> <el-form-item label="配送区域及费" prop="region">
<el-table v-loading="listLoading" :data="ruleForm.region" border fit highlight-current-row style="width: 100%" size="mini" class="tempBox"> <el-table v-loading="listLoading" :data="ruleForm.region" border fit highlight-current-row style="width: 100%" size="mini" class="tempBox">
<el-table-column align="center" label="可配送区域" min-width="260"> <el-table-column align="center" label="可配送区域" min-width="260">
<template slot-scope="scope"> <template slot-scope="scope">
@ -43,7 +42,7 @@
</el-form-item> </el-form-item>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column min-width="120px" align="center" label="(元)" prop="firstPrice"> <el-table-column min-width="120px" align="center" label="费(元)" prop="firstPrice">
<template slot-scope="scope"> <template slot-scope="scope">
<el-form-item :rules="rules.firstPrice" :prop="'region.'+scope.$index+'.firstPrice'"> <el-form-item :rules="rules.firstPrice" :prop="'region.'+scope.$index+'.firstPrice'">
<el-input-number v-model="scope.row.firstPrice" controls-position="right" :min="0" /> <el-input-number v-model="scope.row.firstPrice" controls-position="right" :min="0" />
@ -108,7 +107,7 @@
<el-input-number v-model="row.number" controls-position="right" :step-strictly="ruleForm.type===1?true:false" :min="ruleForm.type===1?1:0.1"/> <el-input-number v-model="row.number" controls-position="right" :step-strictly="ruleForm.type===1?true:false" :min="ruleForm.type===1?1:0.1"/>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column min-width="120px" align="center" label="包邮金额(元)" v-if="isShowPrice"> <el-table-column min-width="120px" align="center" label="包邮金额(元)">
<template slot-scope="{row}"> <template slot-scope="{row}">
<el-input-number v-model="row.price" controls-position="right" /> <el-input-number v-model="row.price" controls-position="right" />
</template> </template>
@ -188,7 +187,6 @@ const defaultRole = {
} }
const kg = '重量kg' const kg = '重量kg'
const m = '体积' const m = '体积'
const km = '公里km'
const statusMap = [ const statusMap = [
{ {
title: '首件', title: '首件',
@ -204,11 +202,6 @@ const statusMap = [
title: `首件${m}`, title: `首件${m}`,
title2: `续件${m}`, title2: `续件${m}`,
title3: `包邮${m}` title3: `包邮${m}`
},
{
title: `${km}`,
title2: `${km}`,
title3: `免费${km}`
} }
] ]
export default { export default {
@ -247,7 +240,7 @@ export default {
{ required: true, message: '请输入', trigger: 'blur' } { required: true, message: '请输入', trigger: 'blur' }
], ],
firstPrice: [ firstPrice: [
{ required: true, message: '请输入', trigger: 'blur' } { required: true, message: '请输入费', trigger: 'blur' }
], ],
renewalPrice: [ renewalPrice: [
{ required: true, message: '请输入续费', trigger: 'blur' } { required: true, message: '请输入续费', trigger: 'blur' }
@ -269,7 +262,6 @@ export default {
title2: '续件', title2: '续件',
title3: '包邮件数' title3: '包邮件数'
}, },
isShowPrice: true,
tempId: 0, tempId: 0,
type: 0 // 0 1 type: 0 // 0 1
} }
@ -318,11 +310,6 @@ export default {
}, },
changeRadio(num) { changeRadio(num) {
this.columns = Object.assign({}, statusMap[num - 1]) this.columns = Object.assign({}, statusMap[num - 1])
if (num === 4) {
this.isShowPrice = false;
} else {
this.isShowPrice = true;
}
}, },
// //
addRegion(region) { addRegion(region) {
@ -436,7 +423,7 @@ export default {
name: this.ruleForm.name, name: this.ruleForm.name,
sort: this.ruleForm.sort, sort: this.ruleForm.sort,
type: this.ruleForm.type, type: this.ruleForm.type,
// //
// shippingTemplatesRegionRequestList: [], // shippingTemplatesRegionRequestList: [],
// // // //
// shippingTemplatesFreeRequestList: [] // shippingTemplatesFreeRequestList: []

View File

@ -11,7 +11,7 @@
</el-form-item> </el-form-item>
</el-form> </el-form>
</div> </div>
<el-button type="primary" size="mini" @click="handleSubmit()" v-hasPermi="['admin:shipping:templates:save']">添加配送模板</el-button> <el-button type="primary" size="mini" @click="handleSubmit()" v-hasPermi="['admin:shipping:templates:save']">添加运费模板</el-button>
</div> </div>
<el-table <el-table
v-loading="loading" v-loading="loading"
@ -108,8 +108,7 @@ export default {
const statusMap = { const statusMap = {
1: '按件数', 1: '按件数',
2: '按重量', 2: '按重量',
3: '按体积', 3: '按体积'
4: '按距离'
} }
return statusMap[status] return statusMap[status]
} }

View File

@ -1,7 +1,7 @@
<template> <template>
<el-dialog <el-dialog
v-if="dialogVisible" v-if="dialogVisible"
title="配送模板" title="运费模板"
:visible.sync="dialogVisible" :visible.sync="dialogVisible"
width="1000px" width="1000px"
:before-close="handleClose" :before-close="handleClose"
@ -15,10 +15,9 @@
<el-radio :label="1">按件数</el-radio> <el-radio :label="1">按件数</el-radio>
<el-radio :label="2">按重量</el-radio> <el-radio :label="2">按重量</el-radio>
<el-radio :label="3">按体积</el-radio> <el-radio :label="3">按体积</el-radio>
<el-radio :label="4">按距离</el-radio>
</el-radio-group> </el-radio-group>
</el-form-item> </el-form-item>
<el-form-item label="配送区域及" prop="region"> <el-form-item label="配送区域及费" prop="region">
<el-table v-loading="listLoading" :data="ruleForm.region" border fit highlight-current-row style="width: 100%" size="mini" class="tempBox"> <el-table v-loading="listLoading" :data="ruleForm.region" border fit highlight-current-row style="width: 100%" size="mini" class="tempBox">
<el-table-column align="center" label="可配送区域" min-width="260"> <el-table-column align="center" label="可配送区域" min-width="260">
<template slot-scope="scope"> <template slot-scope="scope">
@ -187,7 +186,6 @@ const defaultRole = {
} }
const kg = '重量kg' const kg = '重量kg'
const m = '体积' const m = '体积'
const km = '公里km'
const statusMap = [ const statusMap = [
{ {
title: '首件', title: '首件',
@ -203,11 +201,6 @@ const statusMap = [
title: `首件${m}`, title: `首件${m}`,
title2: `续件${m}`, title2: `续件${m}`,
title3: `包邮${m}` title3: `包邮${m}`
},
{
title: `${km}`,
title2: `${km}`,
title3: `免费${km}`
} }
] ]
export default { export default {

View File

@ -11,7 +11,7 @@
</el-form-item> </el-form-item>
</el-form> </el-form>
</div> </div>
<el-button type="primary" size="mini" @click="handleSubmit()">添加配送模板</el-button> <el-button type="primary" size="mini" @click="handleSubmit()">添加运费模板</el-button>
</div> </div>
<el-table <el-table
v-loading="loading" v-loading="loading"
@ -107,8 +107,7 @@ export default {
const statusMap = { const statusMap = {
1: '按件数', 1: '按件数',
2: '按重量', 2: '按重量',
3: '按体积', 3: '按体积'
4: '按距离'
} }
return statusMap[status] return statusMap[status]
} }