| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158 |
- import {idGen, dateTime, fetchGraphql} from '../../../../../utils/util';
- import {createserviceAndcreaterepertory, updateserviceAndupdaterepertory} from '../../../../../config/gql';
- Component({
- properties: {
- service: {
- type: Object,
- observer(newVal) {
- this.setData({
- service: newVal
- });
- let service = newVal;
- console.log(newVal);
- service.id === 'add' ?
- this.setData({
- price: '',
- description: '',
- repertory: 0,
- date: dateTime(Date.now(), true).date,
- startTime: dateTime(Date.now(), true).time,
- endTime: dateTime(Date.now(), true).time
- })
- :
- this.setData({
- date: dateTime(Number(service.startTime), true).date,
- startTime: dateTime(Number(service.startTime), true).time,
- endTime: dateTime(Number(service.startTime) + Number(service.lastTime), true).time,
- price: service.price,
- description: service.description,
- repertory: service.repertory_id.count
- })
- }
- }
- },
- data: {
- service: '',
- price: '',
- description: '',
- repertory: 0,
- date: '2019-01-01',
- startTime: '00:00',
- endTime: '00:01'
- },
- lifetimes: {
- attached() {
- let service = this.data.service;
- service.id === 'add' ?
- this.setData({
- date: dateTime(Date.now(), true).date,
- startTime: dateTime(Date.now(), true).time,
- endTime: dateTime(Date.now(), true).time
- })
- :
- this.setData({
- date: dateTime(Number(service.startTime), true).date,
- startTime: dateTime(Number(service.startTime), true).time,
- endTime: dateTime(Number(service.startTime) + Number(service.lastTime), true).time,
- price: service.price,
- description: service.description,
- repertory: service.repertory_id.count
- })
- }
- },
- methods: {
- priceInput(e) {
- this.setData({
- price: e.detail
- })
- },
- descriptionInput(e) {
- this.setData({
- description: e.detail
- })
- },
- repertorySlide(e) {
- this.setData({
- repertory: e.detail
- })
- },
- dateChange(e) {
- this.setData({
- date: e.detail.value
- })
- },
- startTimeChange(e) {
- this.setData({
- startTime: e.detail.value
- })
- },
- endTimeChange(e) {
- this.setData({
- endTime: e.detail.value
- })
- },
- reset() {
- this.setData({
- price: '',
- description: '',
- repertory: 0,
- date: dateTime(Date.now(), true).date,
- startTime: dateTime(Date.now(), true).time,
- endTime: dateTime(Date.now(), true).time
- })
- },
- submit() {
- let startTime = dateTime({date: this.data.date, time: this.data.startTime}, false);
- let endTime = dateTime({date: this.data.date, time: this.data.endTime}, false);
- let lastTime = endTime - startTime;
- let {price, description, repertory} = this.data;
- if (this.data.service.id === 'add') {
- fetchGraphql(createserviceAndcreaterepertory,
- {
- server_id: this.properties.service.server_id.id,
- service_id: idGen('service'),
- repertory_id: idGen('repertory'),
- description,
- startTime,
- lastTime,
- price,
- count: repertory,
- createdAt: Date.now(),
- updatedAt: ''
- }
- )
- .then(result => {
- wx.startPullDownRefresh()
- });
- } else {
- fetchGraphql(updateserviceAndupdaterepertory,
- {
- server_id: this.properties.service.server_id.id,
- service_id: this.properties.service.id,
- repertory_id: this.properties.service.repertory_id.id,
- description,
- startTime,
- lastTime,
- price,
- count: repertory,
- updatedAt: Date.now()
- }
- )
- .then(result => {
- wx.startPullDownRefresh()
- });
- }
- },
- }
- });
|