问题提交

master
Wangxubin 3 years ago
parent 11cfe6d6fc
commit 83d61efa78

Binary file not shown.

@ -164,3 +164,13 @@ export function editsServiceOrder(params) {
data: params
});
}
// 或者当前人密码短信
export function getPsw(data) {
return service({
url: "/api" + "/demay/ssm/staffLogin/getPsw",
method: "post",
data
});
}

@ -27,6 +27,15 @@ export function courseReissue(data){
})
}
// 更新交易记录充值接口
export function AccountList(params) {
return service({
url: "/api" + "/demay/ssm/recAccount/AccountList",
method: "post",
data: params
});
}
// 收银短信重发
export function sms(data){
return service({

@ -47,6 +47,38 @@ export function storeParaList(params) {
});
}
export function accounGivetList(params) {
return service({
url: "/api" + "/demay/ssm/storeAccountOutin/accounGivetList",
method: "post",
data: params
});
}
export function addCardStore(params){
return service({
url: "/api" + "/demay/ssm/storeAccountOutin/add",
method: "post",
data: params
});
}
export function storeAccountOutin(params) {
return service({
url: "/api" + "/demay/ssm/storeAccountOutin/page",
method: "post",
data: params
});
}
export function updateStatu(params) {
return service({
url: "/api" + "/demay/ssm/storeAccountOutin/updateState",
method: "post",
data: params
});
}
// 修改门店参数
export function editstorePara(params) {
return service({

@ -1,5 +1,5 @@
<template>
<el-dialog :close-on-click-modal="false" v-dialogDrag rechargeTypeId="form" :title="title" :visible.sync="dialogFormVisible">
<el-dialog :close-on-click-modal="false" append-to-body v-dialogDrag rechargeTypeId="form" :title="title" :visible.sync="dialogFormVisible">
<el-form :model="form" :rules="rules" ref="form" label-width="120px">
<el-form-item label="编码:" prop="rechargeTypeNum">
<div>

@ -1,5 +1,5 @@
<template >
<el-dialog :close-on-click-modal="false" v-dialogDrag rechargeTypeId="form" :title="title" :visible.sync="dialogFormVisible" width="75%">
<el-dialog :close-on-click-modal="false" append-to-body v-dialogDrag rechargeTypeId="form" :title="title" :visible.sync="dialogFormVisible" width="75%">
<div class="form-width-ms block">
<span class="demonstration"></span>
<el-date-picker v-model="queryForm.month" type="month" @change="getData" placeholder="选择月份">

@ -1,5 +1,5 @@
<template>
<el-dialog :close-on-click-modal="false" v-dialogDrag rechargeTypeId="form" :title="title" :visible.sync="dialogFormVisible" width="75%">
<el-dialog :close-on-click-modal="false" append-to-body v-dialogDrag rechargeTypeId="form" :title="title" :visible.sync="dialogFormVisible" width="75%">
<div class="form-width-ms block">
<span class="demonstration"></span>
<el-date-picker v-model="queryForm.month" type="month" @change="getData" placeholder="选择月份">
@ -15,7 +15,6 @@
</template>
</el-table-column>
<el-table-column show-overflow-tooltip align="center" min-width="100" prop="inputBy" label="操作人"></el-table-column>
<el-table-column show-overflow-tooltip align="center" label="单据">
<el-table-column show-overflow-tooltip align="center" min-width="120" prop="docNum" label="单据号"></el-table-column>
<el-table-column show-overflow-tooltip align="center" min-width="115" prop="inputDate" label="时间"></el-table-column>

@ -1,6 +1,6 @@
<template>
<div>
<el-dialog :close-on-click-modal="false" title="会员交易记录" :visible.sync="dialogFormVisible" width="80%" v-dialogDrag>
<el-dialog append-to-body :close-on-click-modal="false" title="会员交易记录" :visible.sync="dialogFormVisible" width="80%" v-dialogDrag>
<el-tabs disabled type="border-card" v-model="activeName" @tab-click="handleClick">
<el-tab-pane label="充值" name="充值">
<rec ref="rec"></rec>

@ -5,7 +5,7 @@
<!-- {{copyList}} -->
<el-tag size="mini" class="tags-mini" v-for="(item,index) in tagsList" :class="{'active': isActive(item.path)}" :key="index">
<router-link :to="item.path" class="tagsTitle">{{item.title}}</router-link>
<span class="tagsIcon" @click="closeTags(index)">
<span class="tagsIcon" @click="closeTags(index,item.title)">
<i class="el-icon-close"></i>
</span>
</el-tag>
@ -54,11 +54,14 @@ export default {
return path === this.$route.fullPath;
},
//
closeTags(index) {
closeTags(index,title) {
const delItem = this.tagsList.splice(index, 1)[0];
const item = this.tagsList[index]
? this.tagsList[index]
: this.tagsList[index - 1];
if(title == '直接收银'){
window.service = 'false'
}
if (item) {
delItem.path === this.$route.fullPath && this.$router.push(item.path);
} else {

@ -379,6 +379,14 @@ export default {
number: "500200",
id:"8008004",
},
{
name: "充值卡转门店",
icon: "el-icon-sort",
route: "/cardToStore",
index: "cardToStore",
number: "5001900",
id:"80080251",
},
{
name: "充值",
icon: "el-icon-info",
@ -688,6 +696,22 @@ export default {
number: "600100",
id:"100010001",
},
{
name: "门店收款总汇",
icon: "el-icon-suitcase",
route: "/storeSummary",
index: "storeSummary",
number: "600900",
id:"100110",
},
{
name: "收款明细",
icon: "el-icon-suitcase",
route: "/cardCollection",
index: "cardCollection",
number: "6001500",
id:"10011011",
},
{
name: "活跃会员",
icon: "el-icon-present",

@ -79,6 +79,7 @@
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button size="mini" type="success" @click="getPassword" :loading='butLoading'>{{ butLoading?'加载中':'短信密码' }}</el-button>
<el-button size="mini" type="primary" @click="handleClose"> </el-button>
<el-button size="mini" type="primary" @click="confirm()"> </el-button>
</div>
@ -88,6 +89,7 @@
</template>
<script>
// import {changePassword} from "../../items.js"
import { getPsw } from '../api/api'
import { changePassword, logout } from "../api/logout.js";
import asider from "./components/asider";
import emain from "./components/Emain";
@ -117,6 +119,7 @@ export default {
}
};
return {
butLoading:false,
grt: "hello", //
ho: new Date().getHours(), //
storeNum: "", //
@ -182,6 +185,23 @@ export default {
emain,
},
methods: {
getPassword(){
this.butLoading = true
getPsw().then(res=>{
this.butLoading = false
if( res.code == "000000" ){
this.$message.success({ message: "短信发送成功,注意查收" });
}else{
this.$alert(res.message, "提示", {
confirmButtonText: "确定",
confirmButtonClass: "confirmbtnFalses",
type: "warning",
center: true,
callback: (action) => {},
});
}
})
},
//
handleClose() {
this.editpassword = {};
@ -295,7 +315,9 @@ export default {
}
}, 800);
},
mounted() { },
mounted() {
window.service = 'true'
},
destroyed() {
window.removeEventListener("resize", this.getHeight);
},

@ -1,6 +1,22 @@
<template>
<el-dialog :close-on-click-modal="false" class="text-center" v-dialogDrag title="选择门店" center :visible.sync="dialogVisible" width="500px">
<el-table v-loading="listLoading" :data="list" :element-loading-text="elementLoadingText" style="width: 500px;margin-top:5px" max-height="650" @current-change="rowClick" @row-dblclick="confirm">
<el-select
filterable
default-first-option
clearable
v-model="selectVal"
placeholder="请选择编码"
style="width:100px"
>
<el-option
v-for="(item, index) in list"
:key="index"
:label="item.storeNum"
:value="item.id"
>
</el-option>
</el-select>
<el-table v-loading="listLoading" :data="copyList" :element-loading-text="elementLoadingText" style="width: 500px;margin-top:5px" max-height="650" @current-change="rowClick" @row-dblclick="confirm">
<el-table-column label="选择" width="80" align="center">
<template slot-scope="scope">
<el-radio v-model="rowIndex" :label="scope.row.id" @change.native="scope.row">
@ -30,6 +46,7 @@
export default {
data() {
return {
selectVal:'',
listLoading: false, //list
elementLoadingText: "正在加载中...",
dialogVisible: false, //
@ -45,6 +62,15 @@ export default {
storeId: "",
};
},
computed:{
copyList(){
if(!this.selectVal){
return this.list
}else{
return this.list.filter(item=>item.id == this.selectVal)
}
}
},
methods: {
//
show(list) {
@ -65,5 +91,5 @@ export default {
},
};
</script>
<style>
<style scoped>
</style>

@ -1,5 +1,6 @@
<template>
<el-dialog :close-on-click-modal="false" class="text-center" v-dialogDrag title="选择门店" center :visible.sync="dialogVisible" width="500px">
<div class="text-center">
<el-input style="width:160px" size="samll" clearable v-model="form.storeNum" @change="search" placeHolder="请输入门店编码"></el-input>
<el-input style="width:160px" size="samll" clearable v-model="form.storeName" @change="search" placeHolder="请输入门店名称"></el-input>
@ -59,8 +60,15 @@ export default {
passText: "",
showNumber: -1,
storeId: "",
serlectValue,
};
},
computed:{
copyList(){
if(!this.serlectValue)return this.list
}
},
methods: {
//
show(form, text, number) {

@ -680,7 +680,8 @@ export default {
},
//
sendcode() {
const reg = 11 && /^((13|14|15|17|18)[0-9]{1}\d{8})$/;
console.log('点击了发送密码')
const reg = /^[1][3,4,5,6,7,8,9][0-9]{9}$/;
if (this.form.mobilePhone == "") {
this.$message({
message: "手机号码不能为空",
@ -688,6 +689,7 @@ export default {
});
return;
}
console.log(reg.test(this.form.mobilePhone))
if (!reg.test(this.form.mobilePhone)) {
this.$message({
message: "手机号码尚未注册或绑定,或者手机格式不对,请先前往注册!",

@ -167,7 +167,6 @@ export default {
if (partten.phoneNum.test(this.form.mobilePhone)) {
phonePassLoginNew(this.form).then((res) => {
if (res.code == "000000") {
console.log(res.data);
if (res.data.storeType == 2) {
localStorage.setItem("token", res.data.token);
sessionStorage.setItem("token", res.data.token);
@ -298,8 +297,17 @@ export default {
});
}
},
toHome(res) {
this.$router.push("/home");
toHome(res) {
var parentId = "";
sessionStorage.setItem("keyPath", "25");
sessionStorage.setItem("indexPath", "home");
sessionStorage.setItem("staffName", res.data.staffName);
sessionStorage.setItem("roleName", res.data.roleName);
sessionStorage.setItem("storeName", res.data.storeName);
sessionStorage.setItem("storeId", res.data.storeId);
sessionStorage.setItem("mobilePhone", res.data.mobilePhone);
sessionStorage.setItem("userInfo", JSON.stringify(res.data));
sessionStorage.setItem("list", JSON.stringify(res.data.list));
if (this.hours < 9) {
this.hello = "早上好!";
} else if (this.hours < 12) {
@ -318,13 +326,12 @@ export default {
duration: 3000,
offset: 100,
});
this.setPara();
var parentId = "";
storeOne({
id: res.data.storeId,
}).then((res) => {
sessionStorage.setItem("storeInfo", JSON.stringify(res.data));
if (res.code == "000000") {
sessionStorage.setItem("storeInfo", JSON.stringify(res.data));
console.log('存储进去了呀???',res.data)
if (res.data.parentId == null) {
sessionStorage.setItem("parentId", res.data.id);
sessionStorage.setItem("parentName", res.data.storeName);
@ -381,6 +388,8 @@ export default {
}
});
}
this.setPara();
this.$router.push("/home");
} else {
this.$alert("加载门店信息 :" + res.message, "提示", {
confirmButtonText: "确定",
@ -391,15 +400,6 @@ export default {
});
}
});
sessionStorage.setItem("keyPath", "25");
sessionStorage.setItem("indexPath", "home");
sessionStorage.setItem("staffName", res.data.staffName);
sessionStorage.setItem("roleName", res.data.roleName);
sessionStorage.setItem("storeName", res.data.storeName);
sessionStorage.setItem("storeId", res.data.storeId);
sessionStorage.setItem("mobilePhone", res.data.mobilePhone);
sessionStorage.setItem("userInfo", JSON.stringify(res.data));
sessionStorage.setItem("list", JSON.stringify(res.data.list));
},
clear() {
@ -620,7 +620,7 @@ export default {
duration: 3000,
offset: 100,
});
this.setPara();
this.setPara()
localStorage.setItem("token", res.data.token);
sessionStorage.setItem("token", res.data.token);
setCookie("token", res.data.token, 120); //
@ -733,7 +733,7 @@ export default {
},
//
sendcode() {
const reg = 11 && /^((13|14|15|17|18)[0-9]{1}\d{8})$/;
const reg = /^[1][3,4,5,6,7,8,9][0-9]{9}$/;
if (this.form.mobilePhone == "") {
this.$message({
message: "手机号码不能为空",
@ -741,6 +741,7 @@ export default {
});
return;
}
console.log(reg.test(this.form.mobilePhone));
if (!reg.test(this.form.mobilePhone)) {
this.$message({
message: "手机号码尚未注册或绑定,或者手机格式不对,请先前往注册!",
@ -790,7 +791,6 @@ export default {
setPara() {
var dataList = {};
storeParaList({}).then((res) => {
//console.log(res);
if (res.code == "000000") {
for (let i in res.rows) {
if (res.rows[i].paramentName == "minimum") {

@ -33,7 +33,7 @@
{{btntxt}}</el-button>
</el-form-item>
<el-form-item label="选择行业" prop="industry">
<el-select filterable default-first-option v-model="storeForm.industry" filterable default-first-option placeholder="请选择">
<el-select filterable default-first-option v-model="storeForm.industry" placeholder="请选择">
<el-option v-for="item in options" :key="item.num" :label="item.name" :value="item.num">
</el-option>
</el-select>
@ -64,7 +64,7 @@
<!-- 地图弹出层 -->
<el-dialog title="提示" :visible.sync="dialogVisible" width="80%" :before-close="handleClose">
<div style="height:50vh;overflow: auto;">
<BMap @getAddrByPoint="getAddrByPoint"></BMap>
<BMap @getAddrByPoint="getAddrByPoint" ref="bmap"></BMap>
</div>
<span slot="footer" class="dialog-footer">
<el-button type="primary" size="mini" @click="dialogVisible = false"> </el-button>
@ -229,7 +229,8 @@ export default {
},
confirm() {
this.storeForm.region = this.county;
this.storeForm.storeAddress = this.address;
this.address = this.$refs.bmap.form.address
this.storeForm.storeAddress = JSON.parse(JSON.stringify(this.address));
},
submitForm() {
delete this.storeForm.region;

@ -0,0 +1,241 @@
<template>
<el-dialog :close-on-click-modal="false" title="会员卡转出门店" :visible.sync="dialogFormVisible" width="80%" v-dialogDrag>
<el-form :model="form" inline ref="form" class="max-height-60" label-width="80px">
<el-form-item label="转出门店">
<el-select class="form-width-m" filterable default-first-option clearable v-model="form.storesNum" placeholder="请选择" @change="changeOut">
<el-option v-for="(item,index) in options" :key="index" :label="item.storeNum" :value="item.id">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="门店名称">
<div class="form-width-m">
{{form.storesName}}
</div>
</el-form-item>
<el-form-item label="手机号码">
<el-input class="form-width-ms" style="padding-left:0px;" ref="" oninput="this.value=this.value.replace(/\D/g,'')" pattern="[0-9]*" :maxlength="11" v-model="form.mobilePhone" @blur="query" @change="query">
<el-button size="mini" slot="append" icon="el-icon-search" @click="openMember"></el-button>
</el-input>
</el-form-item>
<el-form-item label="会员名字">
{{form.memberName}}
</el-form-item>
<el-table :data="list" max-height="600" ref="list" v-loading="listLoading" :element-loading-text="elementLoadingText" @row-click="getCurrentRow" :row-class-name="rowName" @selection-change="handleSelectionChange" :header-cell-style="{background: 'linear-gradient(#6cb3ff, #1873d4)',color:'#eeeeee'}">
<el-table-column type="selection" width="50"></el-table-column>
<el-table-column align="center" prop="rechargeTypeNum" label="充值卡编码" sortable min-width="80"></el-table-column>
<el-table-column align="center" prop="rechargeTypeName" label="充值卡名称" sortable min-width="80"></el-table-column>
<el-table-column align="center" prop="giftConsumeMoney" label="赠送余额" sortable min-width="80"></el-table-column>
<el-table-column align="center" prop="storeName" label="门店名称" min-width="180">
<template slot-scope="scope">
<el-select filterable default-first-option clearable @clear='clear(scope.row)' v-model="scope.row.storeId" @change="changeIn($event,scope.row)" placeholder="请选择">
<el-option v-for="(item,index) in storeList" :key="index" :label="item.storeNum + '-' + item.storeName" :value="item.id">
</el-option>
</el-select>
</template>
</el-table-column>
</el-table>
</el-form>
<member ref="member" @memberData="memberData"></member>
<div slot="footer" class="dialog-footer">
<el-button size="mini" type="primary" @click="dialogFormVisible = false"> </el-button>
<el-button size="mini" type="primary" @click="confirm()"> </el-button>
</div>
</el-dialog>
</template>
<script>
import {
organizations,
accounGivetList,
addCardStore
} from "@/api/storeManage.js";
import { storeMemberOne, couAccountList } from "@/api/eashier.js";
import member from "@/components/member/index";
export default {
components: { member },
data() {
return {
dialogFormVisible: false, //
listLoading: false, //list
elementLoadingText: "加载中...", //list
title: "", //
form: {}, //
list: [], //
selection: [], //
queryForm: {
pageNum: 1,
pageSize: 10,
},
options: [], //
storeList: [], //
};
},
methods: {
//
changeOut(e) {
this.options.forEach((item) => {
if (item.storeNum == e) {
this.form.storesName = item.storeName;
this.form.storesId = item.id;
}
});
if(this.form.mobilePhone)this.query()
},
//
changeIn(e, row) {
let form = { ...row };
this.storeList.forEach((item) => {
if (item.storeName == e) {
form.storeName = item.storeName;
form.storeId = item.id;
form.storeNum = item.storeNum;
}
});
this.list.splice(row.index, 1, form);
this.getCurrentRow(row);
this.$nextTick(() => {
this.$refs["list"].toggleRowSelection(this.list[row.index], true);
});
console.log(this.selection);
},
//
clear(row) {
this.$nextTick(() => {
this.$refs["list"].toggleRowSelection(this.list[row.index], false);
});
},
//
openMember() {
this.$refs.member.show();
},
//
memberData(v) {
// this.form.mobilePhone = v.mobilePhone;
this.$set(this.form,'mobilePhone',v.mobilePhone)
this.$set(this.form,'memberName',v.memberName)
this.$set(this.form,'id',v.id)
this.$set(this.form,'memberNum',v.memberNum)
this.query();
},
//
query() {
accounGivetList({
memberId: this.form.id,
storeId: this.form.storesNum,
}).then((res) => {
if (res.code == "000000") {
this.list = res.rows
} else {
this.$alert(res.message, "查询会员", {
confirmButtonText: "确定",
confirmButtonClass: "confirmbtnFalses",
type: "warning",
center: true,
callback: (action) => {},
});
}
});
},
//
getCourse() {
var ids = {
memberId: this.form.memberId,
storeId: this.form.storesId,
};
couAccountList(ids).then((res) => {
if (res.code == "000000") {
res.rows.forEach((item) => {
item.storeNum = null;
item.storeName = null;
item.courseAccountId = item.id;
});
this.list = res.rows;
} else {
this.$alert(res.message, "查询会员疗程", {
confirmButtonText: "确定",
confirmButtonClass: "confirmbtnFalses",
type: "warning",
center: true,
callback: (action) => {},
});
}
});
},
//
getCurrentRow(row) {
this.$refs["list"].toggleRowSelection(row);
},
//
rowName({ row, rowIndex }) {
row.index = rowIndex;
},
//
handleSelectionChange(selection) {
this.selection = selection;
},
//
show(row) {
this.title = "员工转出门店";
this.dialogFormVisible = true;
this.getData();
},
//
async getData() {
organizations({ pageSize: 999 }).then((res) => {
if (res.code == "000000") {
let list = [];
res.rows.forEach((item) => {
if (this.form.storesNum != item.storeNum) {
list.push(item);
}
});
this.options = res.rows;
this.storeList = list;
} else {
this.$alert(res.message, "获取门店信息", {
confirmButtonText: "确定",
confirmButtonClass: "confirmbtnFalses",
type: "warning",
center: true,
callback: (action) => {},
});
}
});
},
//
confirm() {
if(!this.selection.length)return this.$message.info({ message: "请至少选中一条!" });
if(!this.selection.every(item=>item.storeId)){
return this.$message.info({ message: "请选择转入门店!" });
}
let params = this.selection.map(item=>{
return {
outMemberNum:this.form.memberNum,
outMemberId:this.form.id,
outMemberName:this.form.memberName,
outStoreId:this.form.storesNum,
inStoreId:item.storeId,
rechargeAccountGive:{...item}
}
})
addCardStore(params).then((res) => {
if (res.code == "000000") {
this.dialogFormVisible = false;
this.$emit("editData");
} else {
this.$alert(res.message, "提示", {
confirmButtonText: "确定",
confirmButtonClass: "confirmbtnFalses",
type: "warning",
center: true,
callback: (action) => {},
});
}
});
},
},
};
</script>
<style>
</style>

@ -0,0 +1,206 @@
<template>
<!-- 停用 -->
<div class="displsy-mod">
<div class="flex">
<div class="left">
<el-button size="mini" @click="edit" type="primary">充值卡转门店</el-button>
<el-button size="mini" @click="quers" type="primary">批量确认</el-button>
</div>
<div class="right">
<el-input v-model="queryForm.phone" placeholder="请输入手机号" size='small' oninput="this.value=this.value.replace(/\D/g,'')" pattern="[0-9]*"></el-input>
<el-date-picker v-model="queryForm.docDate" type="date" placeholder="选择日期" format="yyyy-MM-dd" @change="dateChange" size='small'></el-date-picker>
<el-button size="mini" @click="queryInit" type="primary">搜索</el-button>
</div>
</div>
<el-table class="margin-top-xs" :data="list" ref="list" v-loading="listLoading" max-height="600" :element-loading-text="elementLoadingText" @row-click="getCurrentRow" :row-class-name="rowName" @selection-change="handleSelectionChange" :header-cell-style="{background: 'linear-gradient(#6cb3ff, #1873d4)',color:'#eeeeee'}">
<el-table-column type="selection" width="50"></el-table-column>
<el-table-column align="center" prop="job" label="状态" width="80">
<template slot-scope="scope">
<el-tag :type="scope.row.state==1?'success':'primary'">
{{scope.row.state==1?'已通过':'新增'}}
</el-tag>
</template>
</el-table-column>
<el-table-column align="center" label="转出门店">
<el-table-column align="center" prop="outStoreNum" label="编码" min-width="100"></el-table-column>
<el-table-column align="center" prop="outStoreName" label="名称" min-width="100"></el-table-column>
</el-table-column>
<el-table-column align="center" label="转入门店">
<el-table-column align="center" prop="inStoreNum" label="编码" min-width="100"></el-table-column>
<el-table-column align="center" prop="inStoreName" label="名称" min-width="100"></el-table-column>
</el-table-column>
<el-table-column align="center" label="会员信息">
<el-table-column align="center" prop="outMemberNum" label="编码" sortable min-width="100"></el-table-column>
<el-table-column align="center" prop="outMemberName" label="名字" sortable min-width="100"></el-table-column>
</el-table-column>
<el-table-column align="center" label="充值卡">
<el-table-column align="center" prop="rechargeNum" label="编码" sortable min-width="100"></el-table-column>
<el-table-column align="center" prop="rechargeTypeName" label="名称" sortable min-width="100"></el-table-column>
<el-table-column align="center" prop="outGiftConsumeMoney" label="赠送金额" sortable min-width="100"></el-table-column>
</el-table-column>
<el-table-column align="center" fixed="right" label="创建时间" width="120" prop="date"></el-table-column>
<el-table-column align="center" fixed="right" label="操作" width="80">
<template slot-scope="scope">
<el-button size="mini" type="primary" @click="quer(scope.row)" plain>确认</el-button>
</template>
</el-table-column>
</el-table>
<div class="block" style="margin-top:15px;">
<el-pagination align="left" @size-change="handleSizeChange" @current-change="handleCurrentChange" :current-page="queryForm.pageNum" :page-sizes="[10,20,30,40,50]" :page-size="queryForm.pageSize" layout="total, sizes, prev, pager, next, jumper" :total="total"></el-pagination>
</div>
<edit ref="edit" @editData="getData"></edit>
</div>
</template>
<script>
import edit from "./components/edit.vue";
import {
storeAccountOutin,
updateStatu,
} from "@/api/storeManage.js";
export default {
components: { edit },
computed:{
timestamp(){
return function(time){
return new Date(parseInt(time)).toLocaleString().replace(/:\d{1,2}$/,' ').replace('/','-').replace('/','-')
}
}
},
data() {
return {
dialogFormVisible: false,
listLoading: false, //list
elementLoadingText: "加载中...",
list: [], //
queryForm: {
pageSize: 10,
pageNum: 1,
},
total: 0, //
};
},
methods: {
queryInit(){
this.getData()
},
dateChange(date){
if(!date){
this.queryForm.date = ''
}
},
//
show() {
},
edit() {
this.$refs.edit.show();
},
//
getCurrentRow(row) {
this.$refs["list"].toggleRowSelection(row);
},
//
rowName({ row, rowIndex }) {
row.index = rowIndex;
},
//
handleSelectionChange(selection) {
this.selection = selection;
},
//
quer(row) {
this.confirm([row]);
},
//
quers() {
this.confirm(this.selection);
},
//
confirm(form) {
updateStatu(form).then((res) => {
if (res.code == "000000") {
this.$message.success({message: "操作成功!"});
this.getData();
} else {
this.$alert(res.message, "提示", {
confirmButtonText: "确定",
confirmButtonClass: "confirmbtnFalses",
type: "warning",
center: true,
callback: (action) => {},
});
}
});
},
//
handleSizeChange(val) {
this.queryForm.pageSize = val;
this.getData();
},
handleCurrentChange(val) {
this.queryForm.pageNum = val;
this.getData();
},
//
async getData() {
storeAccountOutin(this.queryForm).then((res) => {
if (res.code == "000000") {
this.list = res.pageInfo.list;
this.total = res.pageInfo.total;
} else {
this.$alert(res.message, "提示", {
confirmButtonText: "确定",
confirmButtonClass: "confirmbtnFalses",
type: "warning",
center: true,
callback: (action) => {},
});
}
});
},
},
created(){
this.getData();
}
};
</script>
<style scoped>
.flex{
display: flex;
align-items: center;
justify-content: space-between;
}
.right{
text-align: right;
}
.el-input {
width: 200px;
}
.el-col {
border-radius: 4px;
box-shadow: 5px 5px 5px #717070;
margin: 0 30px;
width: 360px;
}
.bg-purple {
background: #d3dce6;
}
.bg-purple-light {
background: #d3dce6;
}
.grid-content {
border-radius: 4px;
min-height: 36px;
padding: 10px;
}
.row-bg {
padding: 10px 0;
background-color: #d3dce6;
}
.examineForm .el-form-item {
height: 30px;
}
</style>

@ -17,7 +17,7 @@
<i v-if="form.sex==1" class="el-icon-male text-blue"></i>
<i v-if="form.sex==0" class="el-icon-female text-pink"></i>
</span>
<el-button size="mini" type="text" v-show="debtMoneys != 0" @click="routePush"></el-button>
<el-button size="mini" type="text" v-show="form.memberName" @click="routePush"></el-button>
</div>
</el-form-item>
<el-form-item v-if="sessionStorageData.recDebt&&debtMoneys" label="以往欠款:">

@ -129,7 +129,7 @@
>
<el-table-column
show-overflow-tooltip
min-width="150"
min-width="130"
align="center"
label="项目选项"
>
@ -153,7 +153,7 @@
</el-table-column>
<el-table-column
show-overflow-tooltip
min-width="150"
min-width="110"
align="center"
prop="projectName"
label="项目名称"
@ -163,7 +163,7 @@
align="center"
prop="noDiscount"
label="卡付打折"
width="100"
width="70"
>
<template slot-scope="scope">{{
scope.row.noDiscount == 0
@ -175,7 +175,7 @@
</el-table-column>
<el-table-column
show-overflow-tooltip
min-width="100"
min-width="70"
align="center"
prop=""
label="支付类型"
@ -199,7 +199,7 @@
</el-table-column>
<el-table-column
show-overflow-tooltip
min-width="120"
min-width="100"
align="center"
prop="transactionPrice"
label="项目金额"
@ -222,7 +222,7 @@
</el-table-column>
<el-table-column
show-overflow-tooltip
min-width="120"
min-width="80"
align="center"
prop=""
label="充值卡付"
@ -354,7 +354,7 @@
</el-table-column>
<el-table-column
show-overflow-tooltip
min-width="120"
min-width="100"
align="center"
prop="collectionAmounts"
label="卡付抵扣金额"
@ -367,7 +367,7 @@
</el-table-column>
<el-table-column
show-overflow-tooltip
min-width="120"
min-width="80"
align="center"
prop="collectionRechargeAmount"
label="卡付金额"
@ -403,6 +403,7 @@
v-model="scope.row.zhonggongLists"
placeholder="请选择"
:ref="'zhonggongList'+scope.$index"
@keyup.enter.native="selectBlur(scope.row.zhonggongLists,'zhonggongList',scope.$index)"
@change="
handleChange($event, scope.row, 'zhonggongList',scope.$index)
"
@ -438,6 +439,7 @@
clearable
:ref="'largeList'+scope.$index"
@clear="clear(scope.row, 'largeList')"
@keyup.enter.native="selectBlur(scope.row.largeLists,'largeList',scope.$index)"
v-model="scope.row.largeLists"
placeholder="请选择"
@change="handleChange($event, scope.row, 'largeList',scope.$index)"
@ -471,6 +473,7 @@
v-model="scope.row.technicianLists"
placeholder="请选择"
:ref="'technicianList'+scope.$index"
@keyup.enter.native="selectBlur(scope.row.technicianLists,'technicianList',scope.$index)"
@change="
handleChange($event, scope.row, 'technicianList',scope.$index)
"
@ -508,6 +511,7 @@
v-model="scope.row.smallLists"
placeholder="请选择"
:ref="'smallList'+scope.$index"
@keyup.enter.native="selectBlur(scope.row.smallLists,'smallList',scope.$index)"
@change="handleChange($event, scope.row, 'smallList',scope.$index)"
style="width:110px"
>
@ -539,6 +543,7 @@
v-model="scope.row.managerLists"
placeholder="请选择"
:ref="'managerList'+scope.$index"
@keyup.enter.native="selectBlur(scope.row.managerLists,'managerList',scope.$index)"
@change="handleChange($event, scope.row, 'managerList',scope.$index)"
style="width:110px"
>
@ -566,11 +571,12 @@
filterable
default-first-option
clearable
@keyup.enter.native="selectBlur(scope.row.adminLists,'adminList',scope.$index)"
@clear="clear(scope.row, 'adminLists')"
v-model="scope.row.adminLists"
placeholder="请选择"
:ref="'adminList'+scope.$index"
@change="handleChange($event, scope.row, 'adminList',scope.$index)"
@change.enter.native="handleChange($event, scope.row, 'adminList',scope.$index)"
style="width:110px"
>
<el-option
@ -745,16 +751,6 @@
</el-form>
</div>
</div>
<!-- <div class="right">
<el-form ref="form" label-width="65px">
<el-form-item label="结算金额:">
<span>{{numlist[0].settlementNum}}</span>
</el-form-item>
<el-form-item label="支付金额:">
<span>{{numlist[0].payNum}}</span>
</el-form-item>
</el-form>
</div> -->
<div class="left" style="margin-right:15px">
<div
class="border-radius-10 border margin-left-xs bg-white padding-xs"
@ -1010,6 +1006,13 @@ export default {
}
},
methods: {
selectBlur(val,text,index){
console.log('回车事件1')
this.$nextTick(()=>{
this.$refs[text+index].blur()
this.triggerInit(text,index)
})
},
vipShow(){
this.$refs.trading.dialogFormVisible = true
},
@ -2151,7 +2154,7 @@ export default {
}
},
handleChange(data, row, text,index) {
this.$refs.zhonggongList0.blur()
// this.$refs.zhonggongList0.blur()
let form = { ...row };
if (text == "managerList") {
this.managerOptions.forEach((item, index) => {
@ -2182,7 +2185,7 @@ export default {
});
}
this.list.splice(row.index, 1, form);
if(data)this.triggerInit(text,index)
// if(data)this.triggerInit(text,index)
},
goPayDebt() {
this.$refs.repayment.show(this.memberForm);
@ -2194,8 +2197,7 @@ export default {
storeId: sessionStorage.getItem("parentId")
}).then(res => {
if (res.code == "000000") {
this.memberForm = res.data;
this.memberForm.manNumber = 1
this.memberForm = {...res.data,manNumber:1};
this.debtMoneys = res.data.debtMoneys;
this.cashNumber = 1;
this.list = [];
@ -3258,7 +3260,6 @@ export default {
});
}, 500);
this.setPage();
console.log('点击了清空界面')
this.updataCollection()
},
setPage() {
@ -3268,6 +3269,16 @@ export default {
activated() {
this.setPage();
},
beforeRouteEnter(to,from,next){
if(from){
if(window.service == 'false'){
next(vm=>Object.assign(vm.$data, vm.$options.data.call(vm)))
window.service = 'true'
}
}
console.log(window.service)
next()
},
created() {
this.notData()
},

@ -44,8 +44,8 @@
</el-form-item>
<!-- <el-form-item label="仅本店使用:" prop="giveType">
<el-radio-group v-model="form.giveType">
<el-radio :label="0"></el-radio>
<el-radio :label="1"></el-radio>
<el-radio :label="1"></el-radio>
<el-radio :label="0"></el-radio>
</el-radio-group>
</el-form-item> -->
<el-form-item label="赠送金额:" prop="giftMoney">

@ -0,0 +1,97 @@
<template>
<div>
<div class="flex justify-between" style="margin-bottom: 10px">
<div>
<el-date-picker
v-model="days"
:picker-options="pickerOptions"
@change="changeMonth"
type="daterange"
value-format="yyyy-MM-dd"
range-separator="至"
start-placeholder="开始日期"
end-placeholder="结束日期"
>
</el-date-picker>
</div>
</div>
<el-table :data="list" :header-cell-style="{background: 'linear-gradient(#6cb3ff, #1873d4)',color:'#eeeeee'}" v-loading="loading">
<el-table-column align="center" v-for="(item,index) in labProList" :key="index" :prop="item.prop" :label="item.label" min-width="120"></el-table-column>
</el-table>
</div>
</template>
<script>
export default {
data () {
return {
pickerOptions: {
onPick: ({ maxDate, minDate }) => {
this.choiceDate = minDate.getTime();
if (maxDate) {
this.choiceDate = "";
}
},
disabledDate: (time) => {
const self = this;
const startDay =
(new Date(self.choiceDate).getDate() - 1) * 24 * 3600 * 1000;
const endDay =
(new Date(
new Date(self.choiceDate).getFullYear(),
new Date(self.choiceDate).getMonth() + 1,
0
).getDate() -
new Date(self.choiceDate).getDate()) *
24 *
3600 *
1000;
let minTime = self.choiceDate - startDay;
let maxTime = self.choiceDate + endDay;
return (
time.getTime() > Date.now() ||
time.getTime() < minTime ||
time.getTime() > maxTime
);
},
},
days:[],
list:[],
loading:false,
labProList:[]
}
},
created(){
this.defaultDate()
this.init()
},
methods:{
changeMonth(){
},
defaultDate(){
//
let date = new Date()
//
let year = date.getFullYear().toString() //'2019'
//0110'0'
let month = date.getMonth()+1 < 10 ? '0'+(date.getMonth()+1).toString():(date.getMonth()+1).toString() //'04'
//10'0'
let da = date.getDate() < 10 ? '0'+date.getDate().toString():date.getDate().toString() //'12'
//
let end = year + '-' + month + '-' + da //'2023-01-01'
let beg = year + '-' + month + '-01' //'2023-01-01'
this.days = [beg,end]
},
init(){
let res = {
cardList:[],
cardSum:[]
}
}
}
}
</script>
<style scoped>
</style>

@ -55,7 +55,7 @@
color: '#eeeeee',
}" show-summary border max-height="600">
<el-table-column align="center" min-width="75" prop="date" label="日期"></el-table-column>
<el-table-column align="center" label="总营业额" prop="numAmount">
<el-table-column align="center" label="总营业额" prop="sum">
</el-table-column>
<el-table-column align="center" label="充值业绩" prop="rechargeMoneys"></el-table-column>
<el-table-column align="center" label="疗程业绩" prop="coursexMoneys"></el-table-column>

@ -0,0 +1,280 @@
<template>
<div>
<div class="flex justify-between" style="margin-bottom: 10px">
<div>
<el-date-picker
v-model="days"
:picker-options="pickerOptions"
@change="changeMonth"
type="daterange"
value-format="yyyy-MM-dd"
range-separator="至"
start-placeholder="开始日期"
end-placeholder="结束日期"
>
</el-date-picker>
</div>
</div>
<el-table
v-loading="loading"
:data="tableDate"
:header-cell-style="{
background: 'linear-gradient(#6cb3ff, #1873d4)',
color: '#eeeeee',
}"
show-summary
border
max-height="600"
ref="table"
>
<el-table-column
align="center"
min-width="50"
prop="storeNum"
label="门店编码"
></el-table-column>
<el-table-column
align="center"
min-width="50"
prop="storeName"
label="门店名称"
></el-table-column>
<el-table-column
align="center"
v-for="(item, index) in list"
:key="index"
:label="item.label"
:prop="item.prop"
width="60"
></el-table-column>
</el-table>
</div>
</template>
<script>
export default {
data() {
return {
days: [],
pickerOptions: {
onPick: ({ maxDate, minDate }) => {
this.choiceDate = minDate.getTime();
if (maxDate) {
this.choiceDate = "";
}
},
disabledDate: (time) => {
const self = this;
const startDay =
(new Date(self.choiceDate).getDate() - 1) * 24 * 3600 * 1000;
const endDay =
(new Date(
new Date(self.choiceDate).getFullYear(),
new Date(self.choiceDate).getMonth() + 1,
0
).getDate() -
new Date(self.choiceDate).getDate()) *
24 *
3600 *
1000;
let minTime = self.choiceDate - startDay;
let maxTime = self.choiceDate + endDay;
return (
time.getTime() > Date.now() ||
time.getTime() < minTime ||
time.getTime() > maxTime
);
},
},
loading: false,
tableDate: [],
list: [],
};
},
created() {
this.defaultDate()
this.init()
},
methods: {
init() {
this.loading = true
let res = {
list: [
{
cashPeopleNum: 0,
cashMoney: 0,
courseMoney: 0,
courseOrderNum: 0,
rechargeMoney: 2000.0,
rechargeOrderNum: 2,
repayMoney: 0,
refundMoney: 0,
cashRefundMoney: 0,
newMemberNum: 0,
memberNum: 6,
recNegativeMoney: 2000.0,
startMemberNum: 6,
woman: 0,
man: 0,
date: "2023-01-12",
cashierCashMoney: 0,
cashierCardMoney: 0,
cashlMoney: 0,
coursexMoney: 0,
coursekMoney: 0,
recRepay: null,
recRepayMoney: 0,
courseRepay: null,
courseRepayMoney: 0,
promotionCourseRepay: null,
promotionCourseRepayMoney: 0,
changeInPayMoney: 0,
rechargeMoneys: 2000.0,
coursexMoneys: 0,
cashierCashMoneys: 0,
grouponCounts: 0.0,
grouponMoney: 0.0,
sumList:[10,100,0]
},
{
cashPeopleNum: 0,
cashMoney: 0,
courseMoney: 0,
courseOrderNum: 0,
rechargeMoney: 2000.0,
rechargeOrderNum: 2,
repayMoney: 0,
refundMoney: 0,
cashRefundMoney: 0,
newMemberNum: 0,
memberNum: 6,
recNegativeMoney: 2000.0,
startMemberNum: 6,
woman: 0,
man: 0,
date: "2023-01-12",
cashierCashMoney: 0,
cashierCardMoney: 0,
cashlMoney: 0,
coursexMoney: 0,
coursekMoney: 0,
recRepay: null,
recRepayMoney: 0,
courseRepay: null,
courseRepayMoney: 0,
promotionCourseRepay: null,
promotionCourseRepayMoney: 0,
changeInPayMoney: 0,
rechargeMoneys: 2000.0,
coursexMoneys: 0,
cashierCashMoneys: 0,
grouponCounts: 0.0,
grouponMoney: 0.0,
sumList:[100,10000]
},
],
exportList: [
{
label: "1-1",
},
{
label: "1-2",
},
],
};
this.list = res.exportList
this.tableDate = res.list
this.$nextTick(()=>{
res.list.forEach((item,index)=>{
res.list.forEach((item,index)=>{
this.list[index].prop = 'sum'+index
})
item.sumList.forEach((item2,index2)=>{
this.$set(this.tableDate[index],`sum${index2}`,item2)
})
})
})
this.loading = false
},
//
defaultDate(){
//
let date = new Date()
//
let year = date.getFullYear().toString() //'2019'
//0110'0'
let month = date.getMonth()+1 < 10 ? '0'+(date.getMonth()+1).toString():(date.getMonth()+1).toString() //'04'
//10'0'
let da = date.getDate() < 10 ? '0'+date.getDate().toString():date.getDate().toString() //'12'
//
let end = year + '-' + month + '-' + da //'2023-01-01'
let beg = year + '-' + month + '-01' //'2023-01-01'
this.days = [beg,end]
},
changeMonth(date) {
if (!date) {
} else {
}
},
currentMonthDays() {
//
const date = new Date();
//
const currentDay = date.getDate();
// 1
const currentMonth =
date.getMonth() + 1 < 10 ? date.getMonth() + 1 : date.getMonth() + 1;
//
const currentYear = date.getFullYear();
//
const currentMonthDays = new Date(currentYear, currentMonth, 0).getDate();
//
const currentMonthArr = [];
for (let day = 1; day <= currentMonthDays; day++) {
//
if (day <= currentDay) {
// (yyyy-MM-dd)
// let dateItem = currentYear + "-" + currentMonth + "-" + (day < 10 ? '0' + day : day)
let dateItem = currentMonth + "-" + (day < 10 ? "0" + day : day);
currentMonthArr.push(dateItem);
}
}
return currentMonthArr;
},
//
getDayAll(starDay, endDay) {
let arr = [];
let dates = [];
// UTC
let db = new Date(starDay);
let de = new Date(endDay);
// GTM
let s = db.getTime() - 24 * 60 * 60 * 1000;
let d = de.getTime() - 24 * 60 * 60 * 1000;
//
for (let i = s; i <= d; ) {
i = i + 24 * 60 * 60 * 1000;
arr.push(parseInt(i));
}
// YY-MM-DD
for (let j in arr) {
let time = new Date(arr[j]);
let year = time.getFullYear(time);
let mouth =
time.getMonth() + 1 >= 10
? time.getMonth() + 1
: "0" + (time.getMonth() + 1);
let day = time.getDate() >= 10 ? time.getDate() : "0" + time.getDate();
let YYMMDD = mouth + "-" + day;
// let YYMMDD = year + '-' + mouth + '-' + day;
dates.push(YYMMDD);
}
return dates;
},
},
};
</script>
<style scoped>
</style>

@ -46,7 +46,7 @@
<el-pagination background :current-page="queryForm.pageNum" :page-size="queryForm.pageSize" :layout="layout" :page-sizes="[10,20,50,100,1000,10000]" :total="total" @size-change="handleSizeChange" @current-change="handleCurrentChange"></el-pagination>
<div slot="footer" class="dialog-footer">
<el-button size="mini" @click="close"> </el-button>
<el-button type="primary" size="mini" @click="save"> </el-button>
<el-button type="primary" size="mini" @click="save" :loading="butLoading"> </el-button>
</div>
</el-dialog>
</template>
@ -56,6 +56,7 @@ import { propage, organization, importProject } from "@/api/storeManage.js";
export default {
data() {
return {
butLoading:false,
title: "",
listLoading: false,
dialogFormVisible: false,
@ -144,6 +145,7 @@ export default {
},
save() {
this.butLoading = true
this.selection.forEach((item) => {
delete item.storeId;
delete item.storeNum;
@ -154,6 +156,7 @@ export default {
});
let form = { baseProjects: this.selection };
importProject(form).then((res) => {
this.butLoading = false
if (res.code == "000000") {
this.$message.success({ message: "引入成功!" });
this.$emit("detailData");

@ -123,40 +123,51 @@ export default {
search() {
this.searchForm.searchTrue = true;
if (this.activeName == "onjob") {
this.searchForm.state = 1;
Bus.$emit("onjob", this.searchForm);
// this.searchForm.state = 1;
// this.$refs.onjob.getPage(this.searchForm)
this.$refs.onjob.queryForm = {...this.$refs.onjob.queryForm,...this.searchForm}
this.$refs.onjob.getPage()
// Bus.$emit("onjob", this.searchForm);
} else if (this.activeName == "dimission") {
this.searchForm.state = 0;
Bus.$emit("dimission", this.searchForm);
this.$refs.dimission.queryFome = {...this.searchForm,...this.$refs.dimission.queryFome}
// Bus.$emit("dimission", this.searchForm);
this.$refs.dimission.leave()
} else {
this.searchForm.state = 2;
Bus.$emit("deactivate", this.searchForm);
this.searchForm.state = 3;
this.$refs.deactivate.queryFome = {...this.searchForm,...this.$refs.deactivate.queryFome}
this.$refs.deactivate.leave()
// Bus.$emit("deactivate", this.searchForm);
}
},
//
refresh() {
var page = { state: null, pageSize: 10, pageNum: 1 };
if (this.activeName == "onjob") {
page.state = 1;
Bus.$emit("onjob", page);
} else if (this.activeName == "dimission") {
page.state = 0;
Bus.$emit("dimission", page);
} else {
page.state = 2;
Bus.$emit("deactivate", page);
}
this.$route.go(0)
// var page = { state: null, pageSize: 10, pageNum: 1 };
// if (this.activeName == "onjob") {
// page.state = 1;
// Bus.$emit("onjob", page);
// } else if (this.activeName == "dimission") {
// page.state = 0;
// Bus.$emit("dimission", page);
// } else {
// page.state = 2;
// Bus.$emit("deactivate", page);
// }
},
//
handleClick(tab, event) {
if (tab.name == "onjob") {
this.$refs.onjob.$emit("onjob");
// this.$refs.onjob.$emit("onjob");
this.$refs.onjob.getPage(this.searchForm)
}
if (tab.name == "dimission") {
this.$refs.dimission.$emit("dimission");
// this.$refs.dimission.$emit("dimission");
this.$refs.dimission.leave(this.searchForm)
}
if (tab.name == "deactivate") {
this.$refs.deactivate.$emit("deactivate");
// this.$refs.deactivate.$emit("deactivate");
this.$refs.deactivate.leave(this.searchForm)
}
if (tab.name == "tostore") {
this.$refs.tostore.show();

@ -37,7 +37,7 @@
<el-table-column align="center" prop="qq" label="QQ" sortable min-width="120"></el-table-column>
<el-table-column align="center" prop="wechat" label="微信" sortable min-width="120"></el-table-column>
<el-table-column align="center" prop="popularity" label="人气" sortable min-width="100"></el-table-column>
<el-table-column align="center" v-if='sessionStorageList.payroll!=1' prop="baseSalary" label="底薪" sortable min-width="190"></el-table-column>
<!-- <el-table-column align="center" v-if='sessionStorageList.payroll!=1' prop="baseSalary" label="底薪" sortable min-width="190"></el-table-column> -->
<el-table-column align="center" prop="userState" label="是否用户" sortable min-width="100"></el-table-column>
<el-table-column align="center" prop="" label="操作人" min-width="100"></el-table-column>
<el-table-column align="center" fixed="right" label="操作" width="80" v-role='4002007'>
@ -71,7 +71,9 @@ export default {
total: 0, //
tableList: [],
},
queryFome:{
state: 3,
},
examineIndex: -1,
examineForm: {
userState: "",
@ -125,12 +127,7 @@ export default {
}
},
leave() {
var arr1 = {
state: 3,
pageNum: this.pageNum,
pageSize: this.pageSize,
};
staffPage(arr1)
staffPage({...this.queryFome,pageNum:this.pageNum,pageSize:this.pageSize})
.then((res) => {
var list = [];
res.pageInfo.list.forEach((item) => {
@ -219,13 +216,13 @@ export default {
}
});
},
mounted() {
this.$nextTick(function () {
this.$on("deactivate", function () {
this.leave();
});
});
},
// mounted() {
// this.$nextTick(function () {
// this.$on("deactivate", function () {
// this.leave();
// });
// });
// },
computed: {
//
tableData() {

@ -39,7 +39,7 @@
<el-table-column align="center" prop="qq" label="QQ" sortable min-width="120"></el-table-column>
<el-table-column align="center" prop="wechat" label="微信" sortable min-width="120"></el-table-column>
<el-table-column align="center" prop="popularity" label="人气" sortable min-width="100"></el-table-column>
<el-table-column align="center" v-if='sessionStorageList.payroll!=1' prop="baseSalary" label="底薪" sortable min-width="190"></el-table-column>
<!-- <el-table-column align="center" v-if='sessionStorageList.payroll!=1' prop="baseSalary" label="底薪" sortable min-width="190"></el-table-column> -->
<el-table-column align="center" prop="userState" label="是否用户" sortable min-width="100"></el-table-column>
<el-table-column align="center" prop="inputBy" label="操作人" sortable min-width="100"></el-table-column>
<el-table-column align="center" fixed="right" label="查看" width="76" v-role='4002006'>
@ -61,6 +61,7 @@
</div>
</template>
<script>
import { Form } from 'element-ui';
import {
staffPage,
reinstated,
@ -84,6 +85,9 @@ export default {
total: 0, //
tableList: [],
},
queryFome:{
state: 0,
},
id: {},
dimission: {},
searchTrue: false,
@ -161,12 +165,12 @@ export default {
}
},
leave() {
var arr1 = {
state: 0,
pageNum: this.pageNum,
pageSize: this.pageSize,
};
staffPage(arr1)
// var arr1 = {
// state: 0,
// pageNum: this.pageNum,
// pageSize: this.pageSize,
// };
staffPage({...this.queryFome,pageSize:this.pageSize,pageNum:this.pageNum})
.then((res) => {
var list = [];
res.pageInfo.list.forEach((item) => {
@ -230,12 +234,12 @@ export default {
},
},
created() {
Bus.$on("dimission", (val) => {
// Bus.$on
this.dimission = {};
this.dimission = val;
this.search();
});
// Bus.$on("dimission", (val) => {
// // Bus.$on
// this.dimission = {};
// this.dimission = val;
// this.search();
// });
this.sessionStorageList = JSON.parse(
sessionStorage.getItem("sessionStorageData")
);
@ -247,11 +251,11 @@ export default {
});
},
mounted() {
this.$nextTick(function () {
this.$on("dimission", function () {
this.leave();
});
});
// this.$nextTick(function () {
// this.$on("dimission", function () {
// this.leave();
// });
// });
},
computed: {
//

@ -120,11 +120,11 @@
<el-input :disabled="title=='查看'" placeholder="请输入收银业绩" oninput="this.value=this.value.replace(/\D/g,'')" pattern="[0-9]*" v-model="form.cashAchi"></el-input>
</div>
</el-form-item>
<el-form-item label="底薪:" v-show='sessionStorageData.payroll==2||sessionStorageData.payroll==3'>
<!-- <el-form-item label="底薪:" v-show='sessionStorageData.payroll==2||sessionStorageData.payroll==3'>
<div class="form-width">
<el-input :disabled="title=='查看'" placeholder="请输入底薪:" oninput="this.value=this.value.replace(/\D/g,'')" pattern="[0-9]*" v-model="form.baseSalary"></el-input>
</div>
</el-form-item>
</el-form-item> -->
<el-form-item label="擅长">
<div class="form-width">
<el-input :disabled="title=='查看'" placeholder="请输入擅长" v-model="form.goodAt" autocomplete="on" type="textarea" size="medium" :autosize="{ minRows: 2, maxRows: 4}" :maxlength="150" show-word-limit></el-input>

@ -39,7 +39,7 @@
</el-table-column>
<el-table-column show-overflow-tooltip align="center" prop="wechat" label="微信" sortable min-width="75"></el-table-column>
<el-table-column show-overflow-tooltip align="center" prop="qq" label="qq" sortable min-width="75"></el-table-column>
<el-table-column show-overflow-tooltip align="center" v-if='sessionStorageData.payroll!=1' prop="baseSalary" label="底薪" sortable min-width="75"></el-table-column>
<!-- <el-table-column show-overflow-tooltip align="center" v-if='sessionStorageData.payroll!=1' prop="baseSalary" label="底薪" sortable min-width="75"></el-table-column> -->
<el-table-column show-overflow-tooltip align="center" prop="identityCard" label="身份证号" sortable min-width="160"></el-table-column>
<el-table-column show-overflow-tooltip align="center" prop="popularity" label="人气" sortable min-width="75"></el-table-column>
<el-table-column show-overflow-tooltip align="center" prop="deptName" label="部门" sortable min-width="75">
@ -457,7 +457,8 @@ export default {
},
getPage() {
this.queryForm.state = 1;
staffPage(this.queryForm)
let params = {...this.queryForm}
staffPage(params)
.then((res) => {
res.pageInfo.list.forEach((item) => {
if (item.row == 1) {

@ -728,7 +728,6 @@ export default {
})
.catch(() => {
this.searchForm.isMessage = 0;
storeMemberExport(that.searchForm).then(res => {
let blob = new Blob([res]);
console.log(blob);
@ -873,7 +872,8 @@ export default {
pageNum: this.pageInfo.pageNum,
state: this.state,
storeId: sessionStorage.getItem("parentId"),
slectPhoneName:this.pageInfo.slectPhoneName
slectPhoneName:this.pageInfo.slectPhoneName,
type:0
};
storeMemberpage(page).then(res => {
if (res.code == "000000") {

@ -436,7 +436,8 @@ export default {
},
// sessionStorage
toPar(row) {
var dataList = {};
var dataList = {}; //dataList.employeesSMS
console.log( 'row--->',row )
row.forEach((item) => {
if (item.paramentName == "minimum") {
dataList.minimum = item.paramentValue;
@ -688,12 +689,11 @@ export default {
} else {
dataList.refunSpan = false;
}
if (dataList.employeesSMS == 0 && dataList.employeesSMS != undefined) {
if (dataList.employeesSMS == '0') {
dataList.employeesSMS = true;
} else {
dataList.employeesSMS = false;
}
if (dataList.recDebt == 1 && dataList.recDebt != undefined) {
dataList.recDebt = true;
} else {

@ -24,7 +24,7 @@
</template>
<script>
import { recAccountCashList } from "@/api/eashier.js";
import { AccountList } from "@/api/eashier.js";
import detail from "./recdetail";
export default {
components: { detail },
@ -65,7 +65,7 @@ export default {
},
//
async getData() {
recAccountCashList({
AccountList({
memberId: this.form.id,
}).then((res) => {
if (res.code == "000000") {

@ -272,6 +272,14 @@ const router = new VueRouter({
keepAlive:true
}
},
{
path: "/cardToStore",
component: () => import("../pages/eashier/cardToStore/index.vue"),
meta: {
title: "充值卡转门店",
index: "cardToStre",
}
},
{
path: "/shareBill",
component: () => import("../pages/eashier/proceeds/index.vue"),
@ -560,7 +568,24 @@ const router = new VueRouter({
index: "recpromotion"
}
},
//统计报表
{
path: "/storeSummary",
component: () =>
import("../pages/statistics/storeSummary/index.vue"),
meta: {
title: "收款总汇",
index: "storeSummary"
}
},
{
path: "/cardCollection",
component: () =>
import("../pages/statistics/cardCollection/index.vue"),
meta: {
title: "收款明细",
index: "cardCollection"
}
},
//门店日报 storeDaily
{
path: "/storeDaily",

@ -16,7 +16,7 @@ axios.defaults.headers.post["Content-Type"] = "application/json;charset=UTF-8";
// 创建axios实例
const service = axios.create({
// baseURL: baseURL,
timeout: 120000 // 请求超时时间
timeout: 300000 // 请求超时时间
});
// request拦截器
service.interceptors.request.use(

Loading…
Cancel
Save