修改提交代码

This commit is contained in:
熊丽君
2021-09-18 12:16:26 +08:00
parent 0178fba4b8
commit 92bae8f4f7
12 changed files with 449 additions and 112 deletions

View File

@ -1,5 +1,12 @@
import request from '@/utils/request'; import request from '@/utils/request';
// 获取短信发送的总条数
export function getSmsCount(params) {
return request({
url: '/mobile/getSmsCount',
params
});
}
// 修改活动 // 修改活动
export function qrUpdate(data) { export function qrUpdate(data) {
return request({ return request({
@ -18,9 +25,11 @@ export function orderList(data, params) {
}); });
} }
// 获取活动领取名单列表 // 获取活动领取名单列表
export function userList(params) { export function userList(data, params) {
return request({ return request({
url: '/aUser/userList', url: '/aUser/userList',
method: 'post',
data,
params params
}); });
} }

View File

@ -1,5 +1,5 @@
<template> <template>
<div :class="{'hidden':hidden}" class="pagination-container"> <div :class="{ hidden: hidden }" class="pagination-container">
<el-pagination <el-pagination
:background="background" :background="background"
:current-page.sync="currentPage" :current-page.sync="currentPage"
@ -15,7 +15,7 @@
</template> </template>
<script> <script>
import { scrollTo } from '@/utils/scroll-to' import { scrollTo } from '@/utils/scroll-to';
export default { export default {
name: 'Pagination', name: 'Pagination',
@ -35,7 +35,7 @@ export default {
pageSizes: { pageSizes: {
type: Array, type: Array,
default() { default() {
return [10, 20, 30, 50] return [10, 20, 30, 50];
} }
}, },
layout: { layout: {
@ -58,41 +58,41 @@ export default {
computed: { computed: {
currentPage: { currentPage: {
get() { get() {
return this.page return this.page;
}, },
set(val) { set(val) {
this.$emit('update:page', val) this.$emit('update:page', val);
} }
}, },
pageSize: { pageSize: {
get() { get() {
return this.limit return this.limit;
}, },
set(val) { set(val) {
this.$emit('update:limit', val) this.$emit('update:limit', val);
} }
} }
}, },
methods: { methods: {
handleSizeChange(val) { handleSizeChange(val) {
this.$emit('pagination', { page: this.currentPage, limit: val }) this.$emit('pagination', { page: this.currentPage, limit: val });
if (this.autoScroll) { if (this.autoScroll) {
scrollTo(0, 800) scrollTo(0, 800);
} }
}, },
handleCurrentChange(val) { handleCurrentChange(val) {
this.$emit('pagination', { page: val, limit: this.pageSize }) this.$emit('pagination', { page: val, limit: this.pageSize });
if (this.autoScroll) { if (this.autoScroll) {
scrollTo(0, 800) scrollTo(0, 800);
} }
} }
} }
} };
</script> </script>
<style scoped> <style scoped>
.pagination-container { .pagination-container {
background: #fff; /* background: #fff; */
padding: 32px 16px; padding: 32px 16px;
} }
.pagination-container.hidden { .pagination-container.hidden {

View File

@ -14,8 +14,7 @@
> >
<i class="el-icon-plus"></i> <i class="el-icon-plus"></i>
</el-upload> </el-upload>
<el-dialog :visible.sync="dialogVisible"> <el-dialog :visible.sync="dialogVisible" :append-to-body="true">
<!-- :append-to-body="true" -->
<img width="100%" :src="dialogImageUrl" alt="" /> <img width="100%" :src="dialogImageUrl" alt="" />
</el-dialog> </el-dialog>
</div> </div>

View File

@ -228,14 +228,14 @@
</span> </span>
<el-input-number class="w-60" :controls="false" size="mini"></el-input-number>--> <el-input-number class="w-60" :controls="false" size="mini"></el-input-number>-->
</div> </div>
<div class="style-config"> <!-- <div class="style-config">
<span class="label"> <span class="label">
对齐 对齐
</span> </span>
<align-select <align-select
v-model="activeWidget.style.align" v-model="activeWidget.style.align"
></align-select> ></align-select>
</div> </div> -->
<div class="style-config"> <div class="style-config">
<span class="label">其他</span> <span class="label">其他</span>
<span <span
@ -316,19 +316,19 @@ export default {
data() { data() {
return { return {
painting: { painting: {
width: '120px', width: '240px',
height: '120px', height: '240px',
background: '#eee', background: '#eee',
views: [ views: [
{ {
type: 'qrcode', type: 'qrcode',
content: 'http://golden.shangqie.cn/#/?id=' + this.id, content: 'http://golden.shangqie.cn?id=' + this.id,
css: { css: {
top: '0', top: '0',
left: '0', left: '0',
color: '#000', color: '#000',
width: '120px', width: '240px',
height: '120px' height: '240px'
} }
} }
] ]
@ -416,6 +416,9 @@ export default {
handleActiveWidget(item) { handleActiveWidget(item) {
this.widgetList.forEach(w => { this.widgetList.forEach(w => {
if (item.uuid === w.uuid) { if (item.uuid === w.uuid) {
if (w.type == 'text') {
w.setDataRange.box.detail.background = false;
}
w.active = !item.active; w.active = !item.active;
} else { } else {
w.active = false; w.active = false;
@ -516,7 +519,7 @@ export default {
{ {
useCORS: true, useCORS: true,
// 编辑器缩放保持 960 * 720 的尺寸 // 编辑器缩放保持 960 * 720 的尺寸
scale: 1 / this.dZoom scale: 3 / this.dZoom
} }
).then(async canvas => { ).then(async canvas => {
// console.timeEnd('1'); // console.timeEnd('1');
@ -684,10 +687,10 @@ export default {
uuid: '32a' + +new Date(), uuid: '32a' + +new Date(),
active: false, active: false,
style: { style: {
top: 129, top: 65,
left: 86, left: 17,
height: 120, height: 240,
width: 120, width: 240,
align: { x: 0, y: 0 }, align: { x: 0, y: 0 },
lineHeight: 14, lineHeight: 14,
fontSize: 14, fontSize: 14,
@ -761,10 +764,10 @@ export default {
} }
}, },
content: { content: {
show: false show: true
}, },
innerStyle: { innerStyle: {
show: false, show: true,
detail: { detail: {
align: true, align: true,
lineHeight: true, lineHeight: true,
@ -813,10 +816,10 @@ export default {
} }
}, },
content: { content: {
show: false show: true
}, },
innerStyle: { innerStyle: {
show: false, show: true,
detail: { detail: {
align: true, align: true,
lineHeight: true, lineHeight: true,

View File

@ -31,7 +31,7 @@ export default {
}, },
data() { data() {
return { return {
title: '金花提货管理', title: '金花提货管理',
logo: logoImg logo: logoImg
// logo: '' // logo: ''
}; };

View File

@ -1,5 +1,5 @@
module.exports = { module.exports = {
title: '金花服务平台', title: '金花服务平台',
/** /**
* 是否系统布局配置 * 是否系统布局配置

View File

@ -2,19 +2,29 @@
<div class="dashboard-editor-container"> <div class="dashboard-editor-container">
<div style="height:10%"></div> <div style="height:10%"></div>
<el-row class="tc"> <el-row class="tc">
<div style="font-size:50px">欢迎登录金花提货管理系统</div> <div style="font-size:50px">欢迎登录金花提货管理系统</div>
<!-- <div class="mt10 mb10"></div> --> <div class="mt20 mb10 count">
已成功验证人数<span>{{ count }}</span>
</div>
</el-row> </el-row>
</div> </div>
</template> </template>
<script> <script>
import { getSmsCount } from '@/api/index';
export default { export default {
name: 'home', name: 'home',
data() { data() {
return {}; return {
count: 0
};
}, },
methods: {} methods: {},
created() {
getSmsCount().then(({ data }) => {
this.count = data;
});
}
}; };
</script> </script>
@ -42,6 +52,21 @@ export default {
} }
.tc { .tc {
text-align: center; text-align: center;
.count {
border-radius: 6px;
height: 108px;
line-height: 108px;
background-color: rgba(255, 255, 255, 0.4);
font-size: 20px;
font-weight: 700;
box-shadow: rgba(0, 0, 0, 0.05) 4px 4px 40px 0px;
border-color: rgba(0, 0, 0, 0.05);
span {
vertical-align: top;
font-size: 40px;
color: #41b584;
}
}
} }
@media (max-width: 1024px) { @media (max-width: 1024px) {

View File

@ -25,10 +25,26 @@
clearable clearable
placeholder="请选择" placeholder="请选择"
> >
<el-option key="0" label="未领取" value="0" /> <el-option
<el-option key="1" label="已领取" value="1" /> v-for="item in optionList"
:key="item.key"
:label="item.value"
:value="item.key"
/>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="领取时间">
<el-date-picker
v-model="dateRange"
type="daterange"
value-format="yyyy-MM-dd HH:mm:ss"
align="right"
start-placeholder="开始日期"
end-placeholder="结束日期"
:default-time="['00:00:00', '23:59:59']"
>
</el-date-picker>
</el-form-item>
<el-button type="primary" @click="handleSearchList" size="small"> <el-button type="primary" @click="handleSearchList" size="small">
查询 查询
</el-button> </el-button>
@ -69,6 +85,13 @@
type="success" type="success"
>一键删除</el-button >一键删除</el-button
> >
<el-button
@click="handleImportStatus"
class="btn-del"
size="small"
type="success"
>一键发货</el-button
>
</div> </div>
</el-card> </el-card>
<!-- @selection-change="handleSelectionChange" --> <!-- @selection-change="handleSelectionChange" -->
@ -83,19 +106,34 @@
label="姓名" label="姓名"
prop="name" prop="name"
align="center" align="center"
width="80px"
></el-table-column> ></el-table-column>
<el-table-column <el-table-column
label="手机号" label="手机号"
prop="phone" prop="phone"
align="center" align="center"
width="120px"
></el-table-column> ></el-table-column>
<el-table-column <el-table-column
label="单位" label="单位"
align="center" align="center"
prop="unit" prop="unit"
show-overflow-tooltip
></el-table-column> ></el-table-column>
<el-table-column <el-table-column
label="地址" label="收货姓名"
prop="otherName"
align="center"
width="80px"
></el-table-column>
<el-table-column
label="收货手机号"
prop="otherPhone"
align="center"
width="120px"
></el-table-column>
<el-table-column
label="收货地址"
align="center" align="center"
prop="address" prop="address"
></el-table-column> ></el-table-column>
@ -103,17 +141,37 @@
label="创建时间" label="创建时间"
align="center" align="center"
prop="createTime" prop="createTime"
width="100px"
></el-table-column> ></el-table-column>
<el-table-column label="领取状态" align="center" prop="status"> <el-table-column
label="领取状态"
align="center"
prop="status"
width="80px"
>
<template slot-scope="scope"> <template slot-scope="scope">
<el-tag v-if="scope.row.status == 0" type="danger">未领取</el-tag> <el-tag v-if="scope.row.status == 0" type="danger">未领取</el-tag>
<el-tag v-else>已领取</el-tag> <el-tag v-else-if="scope.row.status == 1">已领取</el-tag>
<el-tag v-else type="warning">已发货</el-tag>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="领取时间" align="center" prop="receiveTime">
<!-- <template slot-scope="scope">
<span v-if="scope.row.status == '1'">
{{ scope.row.receiveTime }}
</span>
<span v-else></span>
</template> -->
</el-table-column>
<el-table-column <el-table-column
label="领取时间" label="快递公司"
align="center" align="center"
prop="receiveTime" prop="trackingUnit"
></el-table-column>
<el-table-column
label="快递单号"
align="center"
prop="trackingNumber"
></el-table-column> ></el-table-column>
<el-table-column <el-table-column
label="操作" label="操作"
@ -121,6 +179,14 @@
align="center" align="center"
> >
<template slot-scope="scope"> <template slot-scope="scope">
<el-button
@click="handleStatus(scope.row)"
type="text"
size="mini"
style="color:#41b584"
:disabled="scope.row.status == '0'"
>发货</el-button
>
<el-button @click="handleUpdate(scope.row)" type="text" size="mini" <el-button @click="handleUpdate(scope.row)" type="text" size="mini"
>编辑</el-button >编辑</el-button
> >
@ -143,12 +209,37 @@
/> />
<!-- 添加修改 --> <!-- 添加修改 -->
<el-dialog :title="title" :visible.sync="dialogVisible" width="25%"> <el-dialog :title="title" :visible.sync="dialogVisible" width="25%">
<el-form ref="form" :model="form" :rules="rules" label-width="80px"> <el-form ref="form" :model="form" :rules="rules" label-width="120px">
<el-form-item label="姓名" prop="name"> <el-form-item label="姓名" prop="name">
<el-input v-model="form.name"></el-input> <el-input v-model="form.name" :disabled="form.status == 1"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="手机号" prop="phone"> <el-form-item label="手机号" prop="phone">
<el-input v-model="form.phone" maxlength="11"></el-input> <el-input
v-model="form.phone"
:disabled="form.status == 1"
maxlength="11"
></el-input>
</el-form-item>
<el-form-item
label="收货手机号"
prop="otherPhone"
v-if="form.status == 1"
>
<!-- v-if="title == '修改名单'" -->
<el-input v-model="form.otherPhone" maxlength="11"></el-input>
</el-form-item>
<el-form-item label="收货地址" prop="address" v-if="form.status == 1">
<el-input v-model="form.address" type="textarea" autosize></el-input>
</el-form-item>
<el-form-item label="领取状态" prop="status" v-if="form.status">
<el-select v-model="form.status" placeholder="请选择" disabled>
<el-option
v-for="item in optionList"
:key="item.key"
:label="item.value"
:value="item.key"
/>
</el-select>
</el-form-item> </el-form-item>
</el-form> </el-form>
<span slot="footer" class="dialog-footer"> <span slot="footer" class="dialog-footer">
@ -157,6 +248,27 @@
</span> </span>
</el-dialog> </el-dialog>
<!-- 发货 -->
<el-dialog title="发货" :visible.sync="statusDialogVisible" width="25%">
<el-form
ref="statusForm"
:model="statusForm"
:rules="statusRules"
label-width="90px"
>
<el-form-item label="快递公司" prop="trackingUnit">
<el-input v-model="statusForm.trackingUnit"></el-input>
</el-form-item>
<el-form-item label="快递单号" prop="trackingNumber">
<el-input v-model="statusForm.trackingNumber"></el-input>
</el-form-item>
</el-form>
<span slot="footer" class="dialog-footer">
<el-button @click="statusDialogVisible = false"> </el-button>
<el-button type="primary" @click="submitStatusForm"> </el-button>
</span>
</el-dialog>
<!-- 用户导入对话框 --> <!-- 用户导入对话框 -->
<el-dialog <el-dialog
:title="upload.title" :title="upload.title"
@ -199,6 +311,38 @@
<el-button @click="upload.open = false"> </el-button> <el-button @click="upload.open = false"> </el-button>
</div> </div>
</el-dialog> </el-dialog>
<!-- 发货文件 -->
<el-dialog
:title="uploadStatus.title"
:visible.sync="uploadStatus.open"
width="400px"
append-to-body
>
<el-upload
ref="uploadStatus"
:limit="1"
accept=".xlsx, .xls"
:headers="uploadStatus.headers"
:action="uploadStatus.url"
:disabled="uploadStatus.isUploading"
:on-progress="handleFileUploadProgress"
:on-success="handleFileStatusSuccess"
:auto-upload="false"
drag
>
<i class="el-icon-upload"></i>
<div class="el-upload__text">
将文件拖到此处
<em>点击上传</em>
</div>
</el-upload>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitFileStatusForm"
> </el-button
>
<el-button @click="uploadStatus.open = false"> </el-button>
</div>
</el-dialog>
</div> </div>
</template> </template>
<script> <script>
@ -213,7 +357,35 @@ import { getToken } from '@/utils/auth';
export default { export default {
name: 'Index', name: 'Index',
data() { data() {
var checkPhone = (rule, value, callback) => {
if (!value) {
return callback(new Error('手机号不能为空'));
} else {
const reg = /^1[3|4|5|7|8|9][0-9]\d{8}$/;
console.log(reg.test(value));
if (reg.test(value)) {
callback();
} else {
return callback(new Error('请输入正确的手机号'));
}
}
};
return { return {
optionList: [
{
key: '0',
value: '未领取'
},
{
key: '1',
value: '已领取'
},
{
key: '2',
value: '已发货'
}
],
dateRange: [],
// 用户导入参数 // 用户导入参数
upload: { upload: {
// 是否显示弹出层(用户导入) // 是否显示弹出层(用户导入)
@ -227,6 +399,19 @@ export default {
// 上传的地址 // 上传的地址
url: process.env.VUE_APP_BASE_API + '/aUser/importDate' url: process.env.VUE_APP_BASE_API + '/aUser/importDate'
}, },
// 发货文件参数
uploadStatus: {
// 是否显示弹出层(用户导入)
open: false,
// 弹出层标题(用户导入)
title: '',
// 是否禁用上传
isUploading: false,
// 设置上传的请求头部
headers: { Authorization: 'Bearer ' + getToken() },
// 上传的地址
url: process.env.VUE_APP_BASE_API + '/aUser/batchShipment'
},
unit: '', unit: '',
// 选中数组 // 选中数组
ids: [], ids: [],
@ -243,27 +428,50 @@ export default {
total: 0, total: 0,
dataList: [], dataList: [],
dialogVisible: false, dialogVisible: false,
statusDialogVisible: false,
rowItem: {},
title: '', title: '',
form: {}, form: {},
statusForm: {},
rules: { rules: {
name: [{ required: true, message: '请输入', trigger: 'blur' }], name: [{ required: true, message: '请输入', trigger: 'blur' }],
phone: [{ required: true, message: '请输入', trigger: 'blur' }], // phone: [{ required: true, message: '请输入', trigger: 'blur' }],
phone: [{ required: true, validator: checkPhone, trigger: 'blur' }],
unit: [{ required: true, message: '请输入', trigger: 'blur' }], unit: [{ required: true, message: '请输入', trigger: 'blur' }],
// otherPhone: [{ required: true, message: '请输入', trigger: 'blur' }],
otherPhone: [
{ required: true, validator: checkPhone, trigger: 'blur' }
],
address: [{ required: true, message: '请输入', trigger: 'blur' }] address: [{ required: true, message: '请输入', trigger: 'blur' }]
},
statusRules: {
trackingUnit: [{ required: true, message: '请输入', trigger: 'blur' }],
trackingNumber: [{ required: true, message: '请输入', trigger: 'blur' }]
} }
}; };
}, },
methods: { methods: {
importTemplate() { importTemplate() {
window.location.href = window.location.href =
'http://192.168.0.125:9000/pic/20210901/1432982759525191680.xlsx'; 'http://124.70.138.50:9000/pic/20210910/1436156274994712576.xlsx';
}, },
handleSearchList() { handleSearchList() {
this.queryParams.pageNum = 1; this.queryParams.pageNum = 1;
this.getDataList(); this.getDataList();
}, },
getDataList() { getDataList() {
userList(this.queryParams).then(({ data }) => { if (this.dateRange == [] || !this.dateRange) {
delete this.queryParams.startTime;
delete this.queryParams.endTime;
} else {
this.queryParams.startTime = this.dateRange[0];
this.queryParams.endTime = this.dateRange[1];
}
const query = {
pageNum: this.queryParams.pageNum,
pageSize: this.queryParams.pageSize
};
userList(this.queryParams, query).then(({ data }) => {
this.dataList = data.list; this.dataList = data.list;
this.total = data.total; this.total = data.total;
}); });
@ -278,6 +486,15 @@ export default {
this.dialogVisible = true; this.dialogVisible = true;
this.title = '添加名单'; this.title = '添加名单';
}, },
handleStatus(row) {
this.statusForm = {};
this.resetForm('statusForm');
this.statusDialogVisible = true;
this.rowItem = Object.assign({}, row);
if (row.status == 2) {
this.statusForm = Object.assign({}, row);
}
},
// 编辑 // 编辑
handleUpdate(row) { handleUpdate(row) {
this.resetForm('form'); this.resetForm('form');
@ -306,27 +523,70 @@ export default {
} }
}); });
}, },
submitStatusForm() {
this.$refs['statusForm'].validate(valid => {
if (valid) {
console.log(this.rowItem);
console.log(this.statusForm);
let query =
this.rowItem.status == '2'
? this.statusForm
: Object.assign({}, this.rowItem, this.statusForm);
query.status = '2';
aUserUpdate(query).then(response => {
this.msgSuccess('修改成功');
this.statusDialogVisible = false;
this.getDataList();
});
}
});
},
// 导出 // 导出
handleExport() { handleExport() {
this.$confirm('是否确认导出所有定时任务数据项?', '警告', { this.$confirm('是否确认导出所有数据项?', '警告', {
confirmButtonText: '确定', confirmButtonText: '确定',
cancelButtonText: '取消', cancelButtonText: '取消',
type: 'warning' type: 'warning'
}).then(() => { }).then(() => {
window.location.href = window.location.href =
process.env.VUE_APP_BASE_API + process.env.VUE_APP_BASE_API +
'/aUser/export?activityId=' + '/aUser/export' +
this.queryParams.activityId; this.changeParam(this.queryParams);
// process.env.VUE_APP_BASE_API + '/aUser/export?' + this.queryParams;
// this.queryParams.activityId;
}); });
}, },
changeParam(param) {
return JSON.stringify(param)
.replace(/:/g, '=')
.replace(/,/g, '&')
.replace(/{/g, '?')
.replace(/}/g, '')
.replace(/"/g, '');
},
/** 导入按钮操作 */ /** 导入按钮操作 */
handleImport() { handleImport() {
this.upload.title = '导入名单'; this.upload.title = '导入名单';
this.upload.open = true; this.upload.open = true;
}, },
handleImportStatus() {
this.uploadStatus.title = '发货管理';
this.uploadStatus.open = true;
},
// 发货文件上传成功处理
handleFileStatusSuccess(response, file, fileList) {
this.uploadStatus.open = false;
this.uploadStatus.isUploading = false;
this.$refs.uploadStatus.clearFiles();
this.$alert(response.data, '发货结果', {
dangerouslyUseHTMLString: true
});
this.getDataList();
},
// 文件上传中处理 // 文件上传中处理
handleFileUploadProgress(event, file, fileList) { handleFileUploadProgress(event, file, fileList) {
this.upload.isUploading = true; this.upload.isUploading = true;
this.uploadStatus.isUploading = true;
}, },
// 文件上传成功处理 // 文件上传成功处理
handleFileSuccess(response, file, fileList) { handleFileSuccess(response, file, fileList) {
@ -342,6 +602,9 @@ export default {
submitFileForm() { submitFileForm() {
this.$refs.upload.submit(); this.$refs.upload.submit();
}, },
submitFileStatusForm() {
this.$refs.uploadStatus.submit();
},
/** 删除按钮操作 */ /** 删除按钮操作 */
handleDelete(row) { handleDelete(row) {
if (!row && !this.total) return this.msgInfo('暂无数据'); if (!row && !this.total) return this.msgInfo('暂无数据');
@ -388,3 +651,15 @@ export default {
} }
}; };
</script> </script>
<style lang="scss">
.el-date-table td.in-range div {
background-color: #d2f9e8 !important;
}
</style>
<style lang="scss" scoped>
/deep/.el-dialog__header {
.el-dialog__title {
color: #000 !important;
}
}
</style>

View File

@ -54,7 +54,7 @@
<template slot-scope="scope"> <template slot-scope="scope">
<el-image <el-image
style="width: 100px; height: 100px" style="width: 100px; height: 100px"
:src="scope.row.pic" :src="scope.row.pic.split(',')[0]"
fit="cover" fit="cover"
></el-image> ></el-image>
</template> </template>
@ -109,32 +109,32 @@
/> />
<!-- 添加修改 --> <!-- 添加修改 -->
<el-dialog :title="title" :visible.sync="dialogVisible" width="50%"> <el-dialog :title="title" :visible.sync="dialogVisible" width="50%">
<el-form ref="form" :model="form" :rules="rules" label-width="100px"> <el-form ref="form" :model="value" :rules="rules" label-width="100px">
<el-form-item label="活动名称" prop="name"> <el-form-item label="活动名称" prop="name">
<el-input v-model="form.name"></el-input> <el-input
v-model="value.name"
placeholder="请输入活动名称"
></el-input>
</el-form-item> </el-form-item>
<el-form-item label="单位" prop="unit"> <el-form-item label="单位" prop="unit">
<el-input v-model="form.unit"></el-input> <el-input v-model="value.unit" placeholder="请输入单位"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="截止时间"> <el-form-item label="截止时间">
<el-date-picker <el-date-picker
v-model="form.lastTime" v-model="value.lastTime"
type="datetime" type="datetime"
value-format="yyyy-MM-dd hh:mm:ss" value-format="yyyy-MM-dd HH:mm:ss"
placeholder="选择截止时间" placeholder="选择截止时间"
> >
</el-date-picker> </el-date-picker>
</el-form-item> </el-form-item>
<el-form-item label="礼品详情" prop="note"> <el-form-item label="礼品详情" prop="note">
<div id="text"> <div id="text">
<editor v-model="form.note" :min-height="192" /> <editor v-model="value.note" :min-height="192" />
</div> </div>
</el-form-item> </el-form-item>
<el-form-item label="礼品图片" prop="pic"> <el-form-item label="礼品图片" prop="pic">
<multi-upload <multi-upload v-model="selectProductPics"></multi-upload>
v-model="selectProductPics"
:maxCount="1"
></multi-upload>
</el-form-item> </el-form-item>
</el-form> </el-form>
<span slot="footer" class="dialog-footer"> <span slot="footer" class="dialog-footer">
@ -166,10 +166,8 @@ export default {
data() { data() {
return { return {
imageUrl: require('@/assets/logo/logo.png'), //icon路径 imageUrl: require('@/assets/logo/logo.png'), //icon路径
path: path: 'http://golden.shangqie.cn',
process.env.NODE_ENV === 'development' // path: 'http://192.168.0.148:8081',
? 'http://golden.shangqie.cn/#/'
: process.env.VUE_APP_BASE_API,
queryParams: { queryParams: {
pageNum: 1, pageNum: 1,
pageSize: 10 pageSize: 10
@ -178,10 +176,16 @@ export default {
dataList: [], dataList: [],
dialogVisible: false, dialogVisible: false,
title: '', title: '',
form: {}, value: {
pic: '',
albumPics: ''
},
rules: { rules: {
name: [{ required: true, message: '请输入', trigger: 'blur' }], name: [{ required: true, message: '请输入', trigger: 'blur' }],
unit: [{ required: true, message: '请输入', trigger: 'blur' }], unit: [
{ required: true, message: '请输入', trigger: 'blur' },
{ min: 2, message: '长度在 2 个字符及以上', trigger: 'blur' }
],
pic: [{ required: true, message: '请上传', trigger: 'blur' }], pic: [{ required: true, message: '请上传', trigger: 'blur' }],
note: [{ required: true, message: '请输入', trigger: 'blur' }], note: [{ required: true, message: '请输入', trigger: 'blur' }],
lastTime: [ lastTime: [
@ -200,21 +204,21 @@ export default {
get: function() { get: function() {
let pics = []; let pics = [];
if ( if (
this.form.pic === undefined || this.value.pic === undefined ||
this.form.pic == null || this.value.pic == null ||
this.form.pic === '' this.value.pic === ''
) { ) {
return pics; return pics;
} }
pics.push(this.form.pic); pics.push(this.value.pic);
if ( if (
this.form.albumPics === undefined || this.value.albumPics === undefined ||
this.form.albumPics == null || this.value.albumPics == null ||
this.form.albumPics === '' this.value.albumPics === ''
) { ) {
return pics; return pics;
} }
let albumPics = this.form.albumPics.split(','); let albumPics = this.value.albumPics.split(',');
for (let i = 0; i < albumPics.length; i++) { for (let i = 0; i < albumPics.length; i++) {
pics.push(albumPics[i]); pics.push(albumPics[i]);
} }
@ -222,16 +226,16 @@ export default {
}, },
set: function(newValue) { set: function(newValue) {
if (newValue == null || newValue.length === 0) { if (newValue == null || newValue.length === 0) {
this.form.pic = null; this.value.pic = null;
this.form.albumPics = null; this.value.albumPics = null;
} else { } else {
this.form.pic = newValue[0]; this.value.pic = newValue[0];
this.form.albumPics = ''; this.value.albumPics = '';
if (newValue.length > 1) { if (newValue.length > 1) {
for (let i = 1; i < newValue.length; i++) { for (let i = 1; i < newValue.length; i++) {
this.form.albumPics += newValue[i]; this.value.albumPics += newValue[i];
if (i !== newValue.length - 1) { if (i !== newValue.length - 1) {
this.form.albumPics += ','; this.value.albumPics += ',';
} }
} }
} }
@ -240,6 +244,12 @@ export default {
} }
}, },
methods: { methods: {
handleRemove(file, fileList) {
console.log(file, fileList);
},
handlePictureCardPreview(file) {
this.dialogImageUrl = file.url;
},
handleSearchList() { handleSearchList() {
this.queryParams.pageNum = 1; this.queryParams.pageNum = 1;
this.getDataList(); this.getDataList();
@ -252,16 +262,21 @@ export default {
}, },
// 添加 // 添加
handleAdd() { handleAdd() {
this.form = {}; this.value = {
pic: '',
albumPics: ''
};
this.resetForm('form'); this.resetForm('form');
this.dialogVisible = true; this.dialogVisible = true;
this.title = '添加礼品'; this.title = '添加礼品';
}, },
// 编辑 // 编辑
handleUpdate(row) { handleUpdate(row) {
this.form = {};
this.resetForm('form'); this.resetForm('form');
this.form = Object.assign({}, row); this.value = Object.assign({}, row, { albumPics: '' });
const pics = row.pic.split(',');
this.value.pic = pics[0];
this.value.albumPics = pics.slice(1).join(',');
this.dialogVisible = true; this.dialogVisible = true;
this.title = '修改活动'; this.title = '修改活动';
}, },
@ -270,13 +285,19 @@ export default {
this.$refs['form'].validate(valid => { this.$refs['form'].validate(valid => {
if (valid) { if (valid) {
if (this.title == '修改活动') { if (this.title == '修改活动') {
qrUpdate(this.form).then(response => { if (this.value.albumPics != '') {
this.value.pic = this.value.pic + ',' + this.value.albumPics;
}
qrUpdate(this.value).then(response => {
this.msgSuccess('修改成功'); this.msgSuccess('修改成功');
this.dialogVisible = false; this.dialogVisible = false;
this.getDataList(); this.getDataList();
}); });
} else { } else {
qrCreate(this.form).then(response => { if (this.value.albumPics != '') {
this.value.pic = this.value.pic + ',' + this.value.albumPics;
}
qrCreate(this.value).then(response => {
this.msgSuccess('新增成功'); this.msgSuccess('新增成功');
this.dialogVisible = false; this.dialogVisible = false;
this.getDataList(); this.getDataList();
@ -287,9 +308,14 @@ export default {
}, },
// 跳转页面 // 跳转页面
handlePage(row) { handlePage(row) {
if (!row.id) return this.msgError('数据错误无ID');
const query = {
id: row.id,
unit: row.unit
};
this.$router.push({ this.$router.push({
path: '/index1', path: '/index1',
query: { row: JSON.stringify(row) } query: { row: JSON.stringify(query) }
}); });
// this.$router.push({ path: '/index1', query: { id: row.id } }); // this.$router.push({ path: '/index1', query: { id: row.id } });
}, },

View File

@ -49,12 +49,12 @@
<single-upload <single-upload
v-model="imgSrc" v-model="imgSrc"
@input="checkImg" @input="checkImg"
v-if="index == 2" v-if="index == 3"
></single-upload> ></single-upload>
<el-button <el-button
style="width:80%" style="width:80%"
size="mini" size="mini"
v-if="index == 3" v-if="index == 2"
@click="clickParent" @click="clickParent"
> >
添加文本 添加文本
@ -178,10 +178,10 @@ export default {
uuid: '32a' + +new Date(), uuid: '32a' + +new Date(),
active: false, active: false,
style: { style: {
top: 129, top: 65,
left: 86, left: 17,
height: 120, height: 240,
width: 120, width: 240,
align: { x: 0, y: 0 }, align: { x: 0, y: 0 },
lineHeight: 14, lineHeight: 14,
fontSize: 14, fontSize: 14,
@ -255,10 +255,10 @@ export default {
} }
}, },
content: { content: {
show: false show: true
}, },
innerStyle: { innerStyle: {
show: false, show: true,
detail: { detail: {
align: true, align: true,
lineHeight: true, lineHeight: true,
@ -307,10 +307,10 @@ export default {
} }
}, },
content: { content: {
show: false show: true
}, },
innerStyle: { innerStyle: {
show: false, show: true,
detail: { detail: {
align: true, align: true,
lineHeight: true, lineHeight: true,
@ -506,19 +506,19 @@ export default {
const { id } = this.$route.query; const { id } = this.$route.query;
this.id = id; this.id = id;
this.painting = { this.painting = {
width: '120px', width: '240px',
height: '120px', height: '240px',
background: '#eee', background: '#eee',
views: [ views: [
{ {
type: 'qrcode', type: 'qrcode',
content: 'http://golden.shangqie.cn/#/?id=' + id, content: 'http://golden.shangqie.cn?id=' + id,
css: { css: {
top: '0', top: '0',
left: '0', left: '0',
color: '#000', color: '#000',
width: '120px', width: '240px',
height: '120px' height: '240px'
} }
} }
] ]

View File

@ -2,7 +2,7 @@
<div class="login"> <div class="login">
<div class="login-title"> <div class="login-title">
<!-- <img src="../assets/image/logo.png" alt="" /> --> <!-- <img src="../assets/image/logo.png" alt="" /> -->
<!-- <span>花服务平台</span> --> <!-- <span>花服务平台</span> -->
</div> </div>
<el-form <el-form
ref="loginForm" ref="loginForm"
@ -10,11 +10,11 @@
:rules="loginRules" :rules="loginRules"
class="login-form" class="login-form"
> >
<!-- <h3 class="col">花服务平台</h3> <!-- <h3 class="col">花服务平台</h3>
<h1 class="title">登录</h1> --> <h1 class="title">登录</h1> -->
<div style="font-size: 54px;font-weight: 500;color:#fff">hello</div> <div style="font-size: 54px;font-weight: 500;color:#fff">hello</div>
<div style="margin: 29px 0;font-size: 26px;font-weight: 400;color:#fff"> <div style="margin: 29px 0;font-size: 26px;font-weight: 400;color:#fff">
欢迎来到金花管理系统 欢迎来到金花管理系统
</div> </div>
<div class="login-info"> <div class="login-info">
<el-form-item prop="username"> <el-form-item prop="username">
@ -48,7 +48,7 @@
</el-form-item> </el-form-item>
<el-checkbox <el-checkbox
v-model="loginForm.rememberMe" v-model="loginForm.rememberMe"
style="margin: 0px 0px 25px 0px" style="margin: 0px 0px 25px 0px;color:#fff"
>记住密码</el-checkbox >记住密码</el-checkbox
> >
<el-form-item style="width: 100%"> <el-form-item style="width: 100%">
@ -68,7 +68,7 @@
<!-- <div class="login-form-bg"></div> --> <!-- <div class="login-form-bg"></div> -->
<!-- 底部 --> <!-- 底部 -->
<!-- <div class="el-login-footer"> <!-- <div class="el-login-footer">
<span>版权所有</span> <span>版权所有</span>
</div> --> </div> -->
</div> </div>
</template> </template>

View File

@ -6,7 +6,7 @@ function resolve(dir) {
return path.join(__dirname, dir); return path.join(__dirname, dir);
} }
const name = defaultSettings.title || '金花服务平台'; // 标题 const name = defaultSettings.title || '金花服务平台'; // 标题
const port = process.env.port || process.env.npm_config_port || 8080; // 端口 const port = process.env.port || process.env.npm_config_port || 8080; // 端口