| | |
| | | "integrity": "sha512-hBSVCvSmWC+QypYObzwGOd9wqdDpOt+0wl0KbU+R+uuZBS1jN8VsD1ss3irQDknRj5NvxiTF6oj/nDRnN/UQNw==", |
| | | "dev": true |
| | | }, |
| | | "dayjs": { |
| | | "version": "1.11.13", |
| | | "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.13.tgz", |
| | | "integrity": "sha512-oaMBel6gjolK862uaPQOVTA7q3TZhuSvuMQAAglQDOWYO9A91IrAOUJEyKVlqJlHE0vq5p5UXxzdPfMH/x6xNg==" |
| | | }, |
| | | "de-indent": { |
| | | "version": "1.0.2", |
| | | "resolved": "https://registry.npmjs.org/de-indent/-/de-indent-1.0.2.tgz", |
| | |
| | | "@wangeditor/editor-for-vue": "^1.0.2", |
| | | "axios": "^0.21.1", |
| | | "core-js": "^3.6.5", |
| | | "dayjs": "^1.11.13", |
| | | "echarts": "^5.4.2", |
| | | "ele-calendar": "^2.0.0", |
| | | "element-ui": "^2.15.13", |
| | |
| | | trim: true |
| | | }) |
| | | } |
| | | export function comboUpdatePost(data) { |
| | | return request.post('/business/discount/updStatus', data, { |
| | | trim: true |
| | | }) |
| | | } |
| | | |
| | | export function comboDelPost(id) { |
| | | return request.get(`/business/discount/delete/${id}`) |
| | | } |
| | | export function comboListPost(data) { |
| | | return request.post('/business/discount/page', data, { |
| | | trim: true |
| | |
| | | </div> |
| | | <div class="createTime_wrap"> |
| | | <span class="item">创建时间:{{ detail.createDate }}</span> |
| | | <span class="item">创建人:{{ detail.creator }}</span> |
| | | <span class="item">最后更新时间:{{ detail.editDate }}</span> |
| | | <span class="item">更新人:{{ detail.editor }}</span> |
| | | <span class="item">创建人:{{ detail.creatorName }}</span> |
| | | <span class="item">最后更新时间:{{ detail.endDate }}</span> |
| | | <span class="item">更新人:{{ detail.editorName }}</span> |
| | | </div> |
| | | </div> |
| | | <div class="separate" /> |
| | |
| | | <div class="line"> |
| | | <div class="key">套餐简介:</div> |
| | | <div class="value"> |
| | | <div>{{ detail.desc }}</div> |
| | | <div>{{ detail.descs }}</div> |
| | | </div> |
| | | </div> |
| | | |
| | |
| | | </div> |
| | | <div class="line"> |
| | | <div class="key">适用范围:</div> |
| | | <div class="value">{{ detail.useWorkday == 1 && '工作日' }} {{ detail.useWorkday && detail.useHoliday && '|' }} {{ detail.useHoliday == 1 && '节假日' }}</div> |
| | | <div class="value">{{ detail.useWorkday == 1 ? '工作日' : ''}} {{ detail.useWorkday && detail.useHoliday ? '|' : '' }} {{ detail.useHoliday == 1 ? '节假日' : '' }}</div> |
| | | </div> |
| | | <div class="line"> |
| | | <div class="key">适用项目:</div> |
| | | <div class="value">{{ detail.isbike == 1 && '自行车' }} {{ detail.isbike && detail.iselecbike && '|' }} {{ detail.iselecbike == 1 && '电动车' }}</div> |
| | | <div class="value">{{ detail.isbike == 1 ? '自行车' : '' }} {{ detail.isbike && detail.iselecbike ? '|' : '' }} {{ detail.iselecbike == 1 ? '电动车' :'' }}</div> |
| | | |
| | | </div> |
| | | <div class="line"> |
| | |
| | | </div> |
| | | </el-form-item> |
| | | <el-form-item label="总限额"> |
| | | <el-input class="w400" v-model="param.saleLimit" oninput="value=value.replace(/^(0+)|[^\d]+/g, '').slice(0, 12)" |
| | | <el-input class="w400" v-model="param.saleLimit" oninput="value=value.replace(/^(-1+)|[^\d]+/g, '').slice(0, 12)" |
| | | placeholder="请输入总发售数量" v-trim /> |
| | | <div class="placeholder9">请输入总发售数量,销量大于该数量后,不再支持销售;为空表示不限制</div> |
| | | </el-form-item> |
| | | <el-form-item label="日限额"> |
| | | <el-input class="w400" v-model="param.saleDayLimit" |
| | | oninput="value=value.replace(/^(0+)|[^\d]+/g, '').slice(0, 12)" placeholder="请输入单日发售数量" v-trim /> |
| | | oninput="value=value.replace(/^(-1+)|[^\d]+/g, '').slice(0, 12)" placeholder="请输入单日发售数量" v-trim /> |
| | | <div class="placeholder9">请输入日发售数量,当日销量大于该数量后,不再支持销售;为空表示不限制</div> |
| | | </el-form-item> |
| | | |
| | |
| | | if (res.useStartDate && res.useEndDate) { |
| | | this.$set(this.param, 'useDate', [res.useStartDate, res.useEndDate]) |
| | | } |
| | | this.$set(this.param, id, type == 'copy' ? null : this.param.id) |
| | | this.$set(this.param, 'id', type == 'copy' ? null : this.param.id) |
| | | }) |
| | | }, |
| | | } |
| | |
| | | <template> |
| | | <GlobalWindow :title="title" width="1000px" :visible.sync="visible" :confirm-working="isWorking"> |
| | | <GlobalWindow :title="title" width="1100px" :visible.sync="visible" :confirm-working="isWorking"> |
| | | <div class="title">订单信息</div> |
| | | <div class="info_warp"> |
| | | <div class="item"> |
| | |
| | | </div> |
| | | <div class="item"> |
| | | <div class="la">完成时间:</div> |
| | | <div class="val">{{ info.closeDate }}</div> |
| | | <div class="val">{{ info.payDate }}</div> |
| | | </div> |
| | | <div class="item"> |
| | | <div class="la">备注:</div> |
| | |
| | | comboReDetailPost({ orderId: id }).then(res => { |
| | | if (res) { |
| | | this.form = res |
| | | this.form.backType = 0 |
| | | // this.form.backType = 0 |
| | | this.$set(this.form, 'backType', 0) |
| | | this.form.orderId = id |
| | | } |
| | | }) |
| | |
| | | <div> |
| | | <span v-if="row.status == 0" @click="handleEdit(row, 'copy')" class="primaryColor pointer">复制</span> |
| | | <span v-if="row.status == 1" @click="handleEdit(row)" class="primaryColor pointer mr10">编辑</span> |
| | | <span v-if="row.status == 1" @click="handleDetail(row)" class="red pointer">删除</span> |
| | | <span v-if="row.status == 1" @click="handleDel(row)" class="red pointer">删除</span> |
| | | </div> |
| | | </template> |
| | | </el-table-column> |
| | |
| | | import TableLayout from '@/layouts/TableLayout' |
| | | import Edit from './components/Edit' |
| | | import ComboDetail from './components/ComboDetail.vue' |
| | | import { comboListPost, comboEditPost } from '@/api/business/combo.js' |
| | | import { comboListPost, comboUpdatePost, comboDelPost } from '@/api/business/combo.js' |
| | | import { Message } from 'element-ui' |
| | | export default { |
| | | extends: BasePageTemp, |
| | |
| | | }) |
| | | }, |
| | | changeStatus(row) { |
| | | comboEditPost({ ...row }).then(res => { |
| | | comboUpdatePost({ ...row }).then(res => { |
| | | if (res.code == 200) { |
| | | return Message.success('更新成功') |
| | | } |
| | | }) |
| | | }, |
| | | handleDel(row) { |
| | | this.$confirm('您确认要删除当前套餐吗?', '提示', { |
| | | confirmButtonText: '确定', |
| | | cancelButtonText: '取消', |
| | | type: 'warning', |
| | | }).then(() => { |
| | | comboDelPost(row.id).then(res => { |
| | | if (res) { |
| | | Message.success('删除成功') |
| | | this.getList() |
| | | } |
| | | }) |
| | | }) |
| | | }, |
| | | handleEdit(row, type = 'edit') { |
| | | this.isShowEdit = true |
| | | this.$nextTick(() => { |
| | |
| | | <el-table-column prop="money" align="center" label="合计(元)" min-width="80" show-overflow-tooltip /> |
| | | <el-table-column prop="money" align="center" label="实付(元)" min-width="80" show-overflow-tooltip /> |
| | | <el-table-column prop="refundMoney" align="center" label="已退金额(元)" min-width="100" show-overflow-tooltip /> |
| | | <el-table-column prop="memberId" align="center" label="用户信息" min-width="200" show-overflow-tooltip /> |
| | | <el-table-column prop="openid" align="center" label="用户信息" min-width="200" show-overflow-tooltip /> |
| | | <el-table-column prop="payWay" align="center" label="支付方式" min-width="80" show-overflow-tooltip> |
| | | <template v-slot="{ row }"> |
| | | <span v-if="row.payWay == 0">微信支付</span> |
| | |
| | | comboListOrderEx, |
| | | comboOrderDetailPost |
| | | } from '@/api/business/combo.js' |
| | | import dayjs from 'dayjs' |
| | | export default { |
| | | extends: BasePageTemp, |
| | | components: { |
| | |
| | | }, |
| | | { |
| | | filed: 'selDate', |
| | | type: 'date', |
| | | type: 'daterange', |
| | | label: '支付时间', |
| | | }, |
| | | { |
| | |
| | | } |
| | | }, |
| | | created() { |
| | | let date = dayjs().format('YYYY-MM-DD') |
| | | this.$set(this.filters, 'selDate', [date,date]) |
| | | this.getList() |
| | | // this.initData() |
| | | }, |
| | |
| | | .then(() => { |
| | | this.loading = true |
| | | if (filters.selDate && filters.selDate.length > 0) { |
| | | filters.startDate = filters.selDate[0] |
| | | filters.endDate = filters.selDate[1] |
| | | filters.startDate = filters.selDate[0] + ' 00:00:00' |
| | | filters.endDate = filters.selDate[1] + ' 00:00:00' |
| | | } else { |
| | | filters.startDate = null |
| | | filters.endDate = null |
| | |
| | | getList(page) { |
| | | const { pagination, filters } = this |
| | | this.loading = true |
| | | if (page) { pagination.page = page } |
| | | if (filters.selDate && filters.selDate.length > 0) { |
| | | filters.startDate = filters.selDate[0] |
| | | filters.endDate = filters.selDate[1] |
| | | filters.startDate = filters.selDate[0] + ' 00:00:00' |
| | | filters.endDate = filters.selDate[1] + ' 00:00:00' |
| | | } else { |
| | | filters.startDate = null |
| | | filters.endDate = null |
| | | } |
| | | if (page) { pagination.page = page } |
| | | comboOrderPost({ |
| | | model: { |
| | | ...filters, |
| | |
| | | <template> |
| | | <div class="main_app"> |
| | | <Breadcrumb /> |
| | | <QueryForm v-model="querys" :query-form-config="queryFormConfig" @handleQuery="getList(1)" @clear="clearQueryForm"> |
| | | <QueryForm v-model="filters" :query-form-config="queryFormConfig" @handleQuery="getList(1)" @clear="clearQueryForm"> |
| | | </QueryForm> |
| | | <div class="table_btns"> |
| | | <el-button plain type="primary" @click="handleEx">导出</el-button> |
| | |
| | | }, |
| | | clearQueryForm() { |
| | | // eslint-disable-next-line no-unused-vars |
| | | this.querys = {} |
| | | this.filters = {} |
| | | this.getList(1) |
| | | }, |
| | | // 打开modal 冻结 解冻 作废 |