|
@@ -1,29 +1,14 @@
|
|
|
<template>
|
|
<template>
|
|
|
<div class="form-submit">
|
|
<div class="form-submit">
|
|
|
- <div class="i-layout-page-header">
|
|
|
|
|
- <PageHeader class="product_tabs" hidden-breadcrumb>
|
|
|
|
|
- <div slot="title">
|
|
|
|
|
- <router-link :to="{ path: `${roterPre}/store/checkRule/index` }">
|
|
|
|
|
- <div class="font-sm after-line">
|
|
|
|
|
- <span class="iconfont iconfanhui"></span>
|
|
|
|
|
- <span class="pl10">返回</span>
|
|
|
|
|
- </div>
|
|
|
|
|
- </router-link>
|
|
|
|
|
- <span v-text="$route.params.id ? '编辑打卡规则' : '添加打卡规则'" class="mr20 ml16"></span>
|
|
|
|
|
- </div>
|
|
|
|
|
- </PageHeader>
|
|
|
|
|
- </div>
|
|
|
|
|
|
|
+
|
|
|
<Card :bordered="false" dis-hover class="ivu-mt">
|
|
<Card :bordered="false" dis-hover class="ivu-mt">
|
|
|
<Form :model="formData" :label-width="150">
|
|
<Form :model="formData" :label-width="150">
|
|
|
- <FormItem label="规则名称" required>
|
|
|
|
|
|
|
+ <FormItem label="班次名称" required>
|
|
|
<Input v-model="formData.groupname" v-width="320"></Input>
|
|
<Input v-model="formData.groupname" v-width="320"></Input>
|
|
|
</FormItem>
|
|
</FormItem>
|
|
|
<FormItem label="打卡规则" required>
|
|
<FormItem label="打卡规则" required>
|
|
|
- <!-- <Input v-model="formData.groupname" v-width="320"></Input> -->
|
|
|
|
|
- <template v-for="item in checkedStaff">
|
|
|
|
|
- <Tag>{{item.name}}</Tag>
|
|
|
|
|
- </template>
|
|
|
|
|
- <Button type="primary" @click="chooseSatff">选择员工</Button>
|
|
|
|
|
|
|
+ <Tag v-if="checkedStaff && checkedStaff.checkin_option">{{checkedStaff.checkin_option.groupname}}</Tag>
|
|
|
|
|
+ <Button type="primary" @click="chooseRule">选择打卡规则</Button>
|
|
|
</FormItem>
|
|
</FormItem>
|
|
|
<card v-for="(itemx,indexx) in formData.checkindate" style="width:1000px;">
|
|
<card v-for="(itemx,indexx) in formData.checkindate" style="width:1000px;">
|
|
|
<card v-for="(item,index) in itemx.checkintime" style="margin-bottom: 10px;">
|
|
<card v-for="(item,index) in itemx.checkintime" style="margin-bottom: 10px;">
|
|
@@ -74,32 +59,19 @@
|
|
|
<Button type="primary" @click="showDate()">测试数据</Button>
|
|
<Button type="primary" @click="showDate()">测试数据</Button>
|
|
|
</div>
|
|
</div>
|
|
|
</Card>
|
|
</Card>
|
|
|
- <Modal v-model="modals" title="员工列表" footerHide class="paymentFooter" scrollable width="900"
|
|
|
|
|
|
|
+ <Modal v-model="modals" title="规则列表" footerHide class="paymentFooter" scrollable width="900"
|
|
|
@on-cancel="cancel">
|
|
@on-cancel="cancel">
|
|
|
- <staff-list ref="stafflist" :goodsType="1" v-if="modals" @getProductId="getProductId"
|
|
|
|
|
- :serviceCard="1"></staff-list>
|
|
|
|
|
|
|
+ <rule-list ref="rulelist" :goodsType="1" v-if="modals" @getProductId="getProductId"
|
|
|
|
|
+ :serviceCard="1"></rule-list>
|
|
|
</Modal>
|
|
</Modal>
|
|
|
</div>
|
|
</div>
|
|
|
</template>
|
|
</template>
|
|
|
|
|
|
|
|
<script>
|
|
<script>
|
|
|
- import {
|
|
|
|
|
- mapState
|
|
|
|
|
- } from "vuex";
|
|
|
|
|
- import staffList from "@/components/staffList/index";
|
|
|
|
|
- import storeList from "@/components/storeList";
|
|
|
|
|
- import {
|
|
|
|
|
- couponCategoryApi,
|
|
|
|
|
- couponSaveApi,
|
|
|
|
|
- couponDetailApi,
|
|
|
|
|
- VipEditApi,
|
|
|
|
|
- serveAddApi,
|
|
|
|
|
- serveReadApi,
|
|
|
|
|
- createServeProduct
|
|
|
|
|
- } from "@/api/marketing";
|
|
|
|
|
|
|
+ import ruleList from "@/components/ruleList/index";
|
|
|
import {
|
|
import {
|
|
|
addCheckRule
|
|
addCheckRule
|
|
|
- } from '@/api/store';
|
|
|
|
|
|
|
+ } from '@/api/check';
|
|
|
import {
|
|
import {
|
|
|
brandList
|
|
brandList
|
|
|
} from "@/api/product";
|
|
} from "@/api/product";
|
|
@@ -108,12 +80,11 @@
|
|
|
export default {
|
|
export default {
|
|
|
name: "storeCouponCreate",
|
|
name: "storeCouponCreate",
|
|
|
components: {
|
|
components: {
|
|
|
- storeList,
|
|
|
|
|
- staffList
|
|
|
|
|
|
|
+ ruleList
|
|
|
},
|
|
},
|
|
|
data() {
|
|
data() {
|
|
|
return {
|
|
return {
|
|
|
- checkedStaff: [],
|
|
|
|
|
|
|
+ checkedStaff: {},
|
|
|
modals: false, //选择员工弹出
|
|
modals: false, //选择员工弹出
|
|
|
value: '',
|
|
value: '',
|
|
|
id: '',
|
|
id: '',
|
|
@@ -172,17 +143,14 @@
|
|
|
modals: false,
|
|
modals: false,
|
|
|
}
|
|
}
|
|
|
},
|
|
},
|
|
|
- computed: {
|
|
|
|
|
- ...mapState("admin/layout", ["isMobile", "menuCollapse"]),
|
|
|
|
|
- },
|
|
|
|
|
created() {},
|
|
created() {},
|
|
|
methods: {
|
|
methods: {
|
|
|
// 测试数据
|
|
// 测试数据
|
|
|
showDate() {
|
|
showDate() {
|
|
|
console.log('shuju', this.formData)
|
|
console.log('shuju', this.formData)
|
|
|
},
|
|
},
|
|
|
- // 打开员工选择弹窗
|
|
|
|
|
- chooseSatff() {
|
|
|
|
|
|
|
+ // 打开选择弹窗
|
|
|
|
|
+ chooseRule() {
|
|
|
this.modals = true;
|
|
this.modals = true;
|
|
|
},
|
|
},
|
|
|
changeT(e) {
|
|
changeT(e) {
|
|
@@ -238,7 +206,7 @@
|
|
|
delNewDkTime(index) {
|
|
delNewDkTime(index) {
|
|
|
this.formData.checkindate.splice(index, 1)
|
|
this.formData.checkindate.splice(index, 1)
|
|
|
},
|
|
},
|
|
|
- delNewDk(item,index) {
|
|
|
|
|
|
|
+ delNewDk(item, index) {
|
|
|
item.splice(index, 1)
|
|
item.splice(index, 1)
|
|
|
},
|
|
},
|
|
|
//
|
|
//
|
|
@@ -250,12 +218,7 @@
|
|
|
this.modals = false;
|
|
this.modals = false;
|
|
|
console.log(row, '这个');
|
|
console.log(row, '这个');
|
|
|
this.checkedStaff = row
|
|
this.checkedStaff = row
|
|
|
- let arr = []
|
|
|
|
|
- this.checkedStaff.forEach(item => {
|
|
|
|
|
- arr.push(item.userid)
|
|
|
|
|
- })
|
|
|
|
|
- this.formData.range.userid = arr
|
|
|
|
|
-
|
|
|
|
|
|
|
+ // this.formData.checkindate = row.
|
|
|
},
|
|
},
|
|
|
// 选择商品
|
|
// 选择商品
|
|
|
changeGoods() {
|
|
changeGoods() {
|
|
@@ -273,13 +236,13 @@
|
|
|
// }
|
|
// }
|
|
|
},
|
|
},
|
|
|
getTime(str) {
|
|
getTime(str) {
|
|
|
- if(typeof(str) == 'string') {
|
|
|
|
|
|
|
+ if (typeof(str) == 'string') {
|
|
|
let arr = str.split(':')
|
|
let arr = str.split(':')
|
|
|
- return arr[0]*60*60 + arr[1]*60
|
|
|
|
|
- }else {
|
|
|
|
|
|
|
+ return arr[0] * 60 * 60 + arr[1] * 60
|
|
|
|
|
+ } else {
|
|
|
return str
|
|
return str
|
|
|
}
|
|
}
|
|
|
-
|
|
|
|
|
|
|
+
|
|
|
},
|
|
},
|
|
|
// 创建
|
|
// 创建
|
|
|
save() {
|
|
save() {
|
|
@@ -287,20 +250,20 @@
|
|
|
this.downTab();
|
|
this.downTab();
|
|
|
console.log('这');
|
|
console.log('这');
|
|
|
let qdata = {}
|
|
let qdata = {}
|
|
|
- qdata = Object.assign(qdata,this.formData)
|
|
|
|
|
- try{
|
|
|
|
|
|
|
+ qdata = Object.assign(qdata, this.formData)
|
|
|
|
|
+ try {
|
|
|
// let qdata = JSON.parse(JSON.stringify(this.formData))
|
|
// let qdata = JSON.parse(JSON.stringify(this.formData))
|
|
|
let checkindate = []
|
|
let checkindate = []
|
|
|
this.formData.checkindate.forEach(item => {
|
|
this.formData.checkindate.forEach(item => {
|
|
|
// checkindate.push(item.)
|
|
// checkindate.push(item.)
|
|
|
let mitem = []
|
|
let mitem = []
|
|
|
item.checkintime.forEach(itemt => {
|
|
item.checkintime.forEach(itemt => {
|
|
|
- for(let key in itemt) {
|
|
|
|
|
|
|
+ for (let key in itemt) {
|
|
|
// let val = ''
|
|
// let val = ''
|
|
|
- if(key != 'time_id') {
|
|
|
|
|
|
|
+ if (key != 'time_id') {
|
|
|
itemt[key] = that.getTime(itemt[key])
|
|
itemt[key] = that.getTime(itemt[key])
|
|
|
- }else {
|
|
|
|
|
- itemt[key] = itemt[key]*1
|
|
|
|
|
|
|
+ } else {
|
|
|
|
|
+ itemt[key] = itemt[key] * 1
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
mitem.push(itemt)
|
|
mitem.push(itemt)
|
|
@@ -309,13 +272,13 @@
|
|
|
checkindate.push(item)
|
|
checkindate.push(item)
|
|
|
})
|
|
})
|
|
|
qdata.checkindate = checkindate
|
|
qdata.checkindate = checkindate
|
|
|
- console.log(qdata,'this.formData')
|
|
|
|
|
- }catch(e){
|
|
|
|
|
|
|
+ console.log(qdata, 'this.formData')
|
|
|
|
|
+ } catch (e) {
|
|
|
//TODO handle the exception
|
|
//TODO handle the exception
|
|
|
- console.log(e,'cuow')
|
|
|
|
|
|
|
+ console.log(e, 'cuow')
|
|
|
}
|
|
}
|
|
|
-
|
|
|
|
|
-
|
|
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
addCheckRule({
|
|
addCheckRule({
|
|
|
'group': qdata
|
|
'group': qdata
|
|
|
})
|
|
})
|