Commit 97410ffa authored by lujunye's avatar lujunye

新增cell样式

parent 368094c8
......@@ -187,6 +187,7 @@
E06B1AED25B52725002F3C65 /* PrintViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = E06B1AEB25B52725002F3C65 /* PrintViewController.xib */; };
E06B1AF625B52AD3002F3C65 /* PrintListMgVc.swift in Sources */ = {isa = PBXBuildFile; fileRef = E06B1AF425B52AD3002F3C65 /* PrintListMgVc.swift */; };
E06B1AF725B52AD3002F3C65 /* PrintListMgVc.xib in Resources */ = {isa = PBXBuildFile; fileRef = E06B1AF525B52AD3002F3C65 /* PrintListMgVc.xib */; };
E06FBA9E25BFE3DA00E9C2BA /* libGSDK.a in Frameworks */ = {isa = PBXBuildFile; fileRef = E06FBA9D25BFE3DA00E9C2BA /* libGSDK.a */; };
E0706EF424B40BE800D8251C /* TitleAndTfYuanCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = E0706EF224B40BE800D8251C /* TitleAndTfYuanCell.swift */; };
E0706EF524B40BE800D8251C /* TitleAndTfYuanCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = E0706EF324B40BE800D8251C /* TitleAndTfYuanCell.xib */; };
E0706EF824B4796400D8251C /* CGDListCell2.swift in Sources */ = {isa = PBXBuildFile; fileRef = E0706EF624B4796400D8251C /* CGDListCell2.swift */; };
......@@ -884,6 +885,14 @@
E06B1AEB25B52725002F3C65 /* PrintViewController.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = PrintViewController.xib; sourceTree = "<group>"; };
E06B1AF425B52AD3002F3C65 /* PrintListMgVc.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PrintListMgVc.swift; sourceTree = "<group>"; };
E06B1AF525B52AD3002F3C65 /* PrintListMgVc.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = PrintListMgVc.xib; sourceTree = "<group>"; };
E06FBA9625BFE3DA00E9C2BA /* ReliableBurstData.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ReliableBurstData.h; sourceTree = "<group>"; };
E06FBA9725BFE3DA00E9C2BA /* DeviceInfo.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DeviceInfo.h; sourceTree = "<group>"; };
E06FBA9825BFE3DA00E9C2BA /* EscCommand.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EscCommand.h; sourceTree = "<group>"; };
E06FBA9925BFE3DA00E9C2BA /* CBController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CBController.h; sourceTree = "<group>"; };
E06FBA9A25BFE3DA00E9C2BA /* MyPeripheral.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MyPeripheral.h; sourceTree = "<group>"; };
E06FBA9B25BFE3DA00E9C2BA /* TscCommand.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TscCommand.h; sourceTree = "<group>"; };
E06FBA9C25BFE3DA00E9C2BA /* BLKWrite.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BLKWrite.h; sourceTree = "<group>"; };
E06FBA9D25BFE3DA00E9C2BA /* libGSDK.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = libGSDK.a; sourceTree = "<group>"; };
E0706EF124B4088500D8251C /* Bridge_Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = Bridge_Header.h; sourceTree = "<group>"; };
E0706EF224B40BE800D8251C /* TitleAndTfYuanCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TitleAndTfYuanCell.swift; sourceTree = "<group>"; };
E0706EF324B40BE800D8251C /* TitleAndTfYuanCell.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = TitleAndTfYuanCell.xib; sourceTree = "<group>"; };
......@@ -1447,6 +1456,7 @@
E09B3AE324B3011B00E3B238 /* libz.1.2.5.tbd in Frameworks */,
E0707DC72462457200E039A8 /* libz.tbd in Frameworks */,
E09B3AE024B2FE0200E3B238 /* libicucore.tbd in Frameworks */,
E06FBA9E25BFE3DA00E9C2BA /* libGSDK.a in Frameworks */,
E039848C2468F27800DFA56F /* libsqlite3.tbd in Frameworks */,
E09B3ADE24B2FDC600E3B238 /* JavaScriptCore.framework in Frameworks */,
E0AA7F362589A8AA0099193F /* jpush-ios-3.4.0.a in Frameworks */,
......@@ -1959,6 +1969,36 @@
path = "打印订单";
sourceTree = "<group>";
};
E06FBA9025BFE3B100E9C2BA /* 溯源 */ = {
isa = PBXGroup;
children = (
);
path = "溯源";
sourceTree = "<group>";
};
E06FBA9425BFE3C600E9C2BA /* GPrinter */ = {
isa = PBXGroup;
children = (
E06FBA9525BFE3DA00E9C2BA /* include */,
E06FBA9D25BFE3DA00E9C2BA /* libGSDK.a */,
);
path = GPrinter;
sourceTree = "<group>";
};
E06FBA9525BFE3DA00E9C2BA /* include */ = {
isa = PBXGroup;
children = (
E06FBA9625BFE3DA00E9C2BA /* ReliableBurstData.h */,
E06FBA9725BFE3DA00E9C2BA /* DeviceInfo.h */,
E06FBA9825BFE3DA00E9C2BA /* EscCommand.h */,
E06FBA9925BFE3DA00E9C2BA /* CBController.h */,
E06FBA9A25BFE3DA00E9C2BA /* MyPeripheral.h */,
E06FBA9B25BFE3DA00E9C2BA /* TscCommand.h */,
E06FBA9C25BFE3DA00E9C2BA /* BLKWrite.h */,
);
path = include;
sourceTree = "<group>";
};
E0707DC82462475700E039A8 /* 地图 */ = {
isa = PBXGroup;
children = (
......@@ -2149,6 +2189,7 @@
E09B03AD2445B0BA00211A51 /* ViewController */ = {
isa = PBXGroup;
children = (
E06FBA9025BFE3B100E9C2BA /* 溯源 */,
E06B1AE925B52684002F3C65 /* 打印订单 */,
E0272A82259C2506008142BB /* 分销员管理 */,
E04025F8259C13FE00EDF182 /* 客户详情 */,
......@@ -2243,6 +2284,7 @@
E09B3AB624B2FCAF00E3B238 /* SDK */ = {
isa = PBXGroup;
children = (
E06FBA9425BFE3C600E9C2BA /* GPrinter */,
E09B3AB724B2FCAF00E3B238 /* ShareSDK */,
E09B3ACD24B2FCAF00E3B238 /* Required */,
);
......@@ -4422,6 +4464,7 @@
"$(PROJECT_DIR)/GeliBusinessPlatform/Define/融云",
"$(PROJECT_DIR)/GeliBusinessPlatform/Other/JPush/Lib",
"$(PROJECT_DIR)/GeliBusinessPlatform/Other/SDK/ShareSDK/Support/PlatformSDK/WeChatSDK",
"$(PROJECT_DIR)/GeliBusinessPlatform/Other/SDK/GPrinter",
);
MARKETING_VERSION = 1.7.1;
OTHER_LDFLAGS = (
......@@ -4553,6 +4596,7 @@
"$(PROJECT_DIR)/GeliBusinessPlatform/Define/融云",
"$(PROJECT_DIR)/GeliBusinessPlatform/Other/JPush/Lib",
"$(PROJECT_DIR)/GeliBusinessPlatform/Other/SDK/ShareSDK/Support/PlatformSDK/WeChatSDK",
"$(PROJECT_DIR)/GeliBusinessPlatform/Other/SDK/GPrinter",
);
MARKETING_VERSION = 1.7.1;
OTHER_LDFLAGS = (
......
{
"images" : [
{
"filename" : "路径.png",
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "路径@2x.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "路径@3x.png",
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}
......@@ -27,10 +27,10 @@ let systemVersion = (UIDevice.current.systemVersion as String)
//接口地址
//test
//let SERVERCE_ImageHost = "https://z.gelifood.com/"
//let SERVERCE_HOST = "https://z.gelifood.com/admin/"
let SERVERCE_ImageHost = "https://zx.gelifood.com/"
let SERVERCE_HOST = "https://zx.gelifood.com/admin/"
let SERVERCE_ImageHost = "https://z.gelifood.com/"
let SERVERCE_HOST = "https://z.gelifood.com/admin/"
//let SERVERCE_ImageHost = "https://zx.gelifood.com/"
//let SERVERCE_HOST = "https://zx.gelifood.com/admin/"
////online
//视图常量
......
//
// BLKWrite.h
// Gprinter
//
// Created by Wind on 14/12/20.
// Copyright (c) 2014年 JiaBo. All rights reserved.
//
#import <Foundation/Foundation.h>
#import "MyPeripheral.h"
/*
调用Wi-Fi模式
1 [BLKWrite Instance].bWiFiMode = YES
2 [BLKWrite Instance] 设置ServerIP、port
3 [[BLKWrite Instance] initWiFiClient];
4 TSC:-(void) writeTscData:(NSData*) data withResponse;
5 ESC:-(void) writeEscData:(NSData*) data withResponse;
获取打印机纸张宽度
1 校验后
2[[BLKWrite Instance] PrintWidth];
*/
@interface BLKWrite : NSObject<MyPeripheralDelegate>
@property (nonatomic, strong) MyPeripheral *connectedPeripheral;
@property (nonatomic, assign) BOOL bWiFiMode; //YES: Wi-Fi模式;NO:蓝牙模式
@property (nonatomic, strong) NSString *serverIP;
@property (nonatomic, assign) int port;
+(BLKWrite*) Instance;
-(void) writeTscData:(NSData*) data withResponse:(BOOL) flag;
-(void) writeEscData:(NSData*) data withResponse:(BOOL) flag;
-(BOOL) isConnecting;
-(void) setPeripheral:(MyPeripheral*) peripheral;
#pragma mark-Wi-Fi Mode
-(void) initWiFiClient;
#pragma mark-
-(int) PrintWidth;
@end
//
// CBController.h
// BLETR
//
// Created by user D500 on 12/2/15.
// Copyright (c) 2012年 __MyCompanyName__. All rights reserved.
//
#import <UIKit/UIKit.h>
#import <CoreBluetooth/CoreBluetooth.h>
#import "MyPeripheral.h"
enum {
LE_STATUS_IDLE = 0,
LE_STATUS_SCANNING,
LE_STATUS_CONNECTING,
LE_STATUS_CONNECTED
};
@interface MultiDevice : NSObject
@property(nonatomic, assign) NSInteger index;//0:ISSC;1:红果
@property(nonatomic, assign) BOOL connected;//是否已经连接
@end
@protocol CBControllerDelegate;
@interface CBController : UIViewController<CBCentralManagerDelegate, CBPeripheralDelegate,ReliableBurstDataDelegate>
{
CBCentralManager *manager;
NSMutableArray *devicesList;
BOOL notifyState;
NSMutableArray *_connectedPeripheralList;
CBUUID *_transServiceUUID;
CBUUID *_transTxUUID;
CBUUID *_transRxUUID;
CBUUID *_disUUID1;
CBUUID *_disUUID2;
BOOL isISSCPeripheral;
}
@property(assign) id<CBControllerDelegate> delegate;
@property (retain) NSMutableArray *devicesList;
- (void) startScan;
- (void) stopScan;
- (void)connectDevice:(MyPeripheral *) myPeripheral;
- (void)disconnectDevice:(MyPeripheral *) aPeripheral;
- (NSMutableData *) hexStrToData: (NSString *)hexStr;
- (BOOL) isLECapableHardware;
- (void)addDiscoverPeripheral:(CBPeripheral *)aPeripheral advName:(NSString *)advName;
- (void)updateDiscoverPeripherals;
- (void)updateMyPeripheralForDisconnect:(MyPeripheral *)myPeripheral;
- (void)updateMyPeripheralForNewConnected:(MyPeripheral *)myPeripheral;
- (void)storeMyPeripheral: (CBPeripheral *)aPeripheral;
- (MyPeripheral *)retrieveMyPeripheral: (CBPeripheral *)aPeripheral;
- (void)removeMyPeripheral: (CBPeripheral *) aPeripheral;
- (void)configureTransparentServiceUUID: (NSString *)serviceUUID txUUID:(NSString *)txUUID rxUUID:(NSString *)rxUUID;
- (void)configureDeviceInformationServiceUUID: (NSString *)UUID1 UUID2:(NSString *)UUID2;
@end
@protocol CBControllerDelegate
@required
- (void)didUpdatePeripheralList:(NSArray *)peripherals;
- (void)didConnectPeripheral:(MyPeripheral *)peripheral;
- (void)didDisconnectPeripheral:(MyPeripheral *)peripheral;
@end
\ No newline at end of file
//
// DeviceInfo.h
// BLETR
//
// Created by d500_MacMini on 13/6/19.
// Copyright (c) 2013年 ISSC. All rights reserved.
//
#import <Foundation/Foundation.h>
#import "CBController.h"
@interface DeviceInfo : NSObject
@property(retain) MyPeripheral *myPeripheral;
//@property(retain) ViewController *mainViewController;
@end
This diff is collapsed.
//
// MyPeripheral.h
// BLETR
//
// Created by D500 user on 13/5/30.
// Copyright (c) 2013年 ISSC. All rights reserved.
//
#import <Foundation/Foundation.h>
#import <CoreBluetooth/CoreBluetooth.h>
#import "ReliableBurstData.h"
#define AIR_PATCH_COMMAND_VENDOR_MP_ENABLE 0x03
#define AIR_PATCH_COMMAND_XMEMOTY_READ 0x08
#define AIR_PATCH_COMMAND_XMEMOTY_WRITE 0x09
#define AIR_PATCH_COMMAND_E2PROM_READ 0x0a
#define AIR_PATCH_COMMAND_E2PROM_WRITE 0x0b
#define AIR_PATCH_COMMAND_READ 0x24
#define AIR_PATCH_SUCCESS 0x00
#define AIR_PATCH_ACTION_CHANGE_DEVICE_NAME 0X01
#define AIR_PATCH_ACTION_READ_ADVERTISE_DATA1 0X02
#define AIR_PATCH_ACTION_READ_ADVERTISE_DATA2 0X03
#define AIR_PATCH_ACTION_UPDATE_ADVERTISE_DATA 0X04
#define AIR_PATCH_ACTION_CHANGE_DEVICE_NAME_MEMORY 0X05
#define AIR_PATCH_ACTION_READ 0X24
#define ADVERTISE_DATA_TYPE_COMPLETE_DEVICE_NAME 0X09
#define ADVERTISE_DATA_TYPE_SHORTEN_DEVICE_NAME 0X08
enum {
MYPERIPHERAL_CONNECT_STATUS_IDLE = 0,
MYPERIPHERAL_CONNECT_STATUS_CONNECTING,
MYPERIPHERAL_CONNECT_STATUS_CONNECTED,
};
enum {
UPDATE_PARAMETERS_STEP_PREPARE = 0,
UPDATE_PARAMETERS_STEP_CHECK_RESULT,
};
typedef struct _AIR_PATCH_COMMAND_FORMAT
{
unsigned char commandID;
char parameters[19];
}__attribute__((packed)) AIR_PATCH_COMMAND_FORMAT;
typedef struct _AIR_PATCH_EVENT_FORMAT
{
char status;
unsigned char commandID;
char parameters[16];
}__attribute__((packed)) AIR_PATCH_EVENT_FORMAT;
typedef struct _WRITE_EEPROM_COMMAND_FORMAT
{
unsigned char addr[2];
unsigned char length;
char data[16];
}__attribute__((packed)) WRITE_EEPROM_COMMAND_FORMAT;
typedef struct _CONNECTION_PARAMETER_FORMAT
{
unsigned char status;
unsigned short minInterval;
unsigned short maxInterval;
unsigned short latency;
unsigned short connectionTimeout;
}__attribute__((packed)) CONNECTION_PARAMETER_FORMAT;
@protocol MyPeripheralDelegate;
@interface MyPeripheral : NSObject
{
@private
char advData[25];
char deviceName[16];
NSMutableArray *queuedTask;
}
@property(assign) id<MyPeripheralDelegate> transDataDelegate;
@property(assign) id<MyPeripheralDelegate> proprietaryDelegate;
@property(assign) id<MyPeripheralDelegate> deviceInfoDelegate;
@property (retain) CBPeripheral *peripheral;
@property(copy) NSString *advName;
@property(assign) uint8_t connectStaus;
@property (assign) BOOL canSendData;
//DIS
@property(retain) CBCharacteristic *manufactureNameChar;
@property(retain) CBCharacteristic *modelNumberChar;
@property(retain) CBCharacteristic *serialNumberChar;
@property(retain) CBCharacteristic *hardwareRevisionChar;
@property(retain) CBCharacteristic *firmwareRevisionChar;
@property(retain) CBCharacteristic *softwareRevisionChar;
@property(retain) CBCharacteristic *systemIDChar;
@property(retain) CBCharacteristic *certDataListChar;
@property(retain) CBCharacteristic *specificChar1;
@property(retain) CBCharacteristic *specificChar2;
//Proprietary
@property(retain) CBCharacteristic *airPatchChar;
@property(retain) CBCharacteristic *transparentDataWriteChar;
@property(retain) CBCharacteristic *transparentDataReadChar;
@property(retain) CBCharacteristic *connectionParameterChar;
@property(assign) uint8_t updateConnectionParameterStep;
@property(readonly) ReliableBurstData *transmit;
@property(assign) CONNECTION_PARAMETER_FORMAT connectionParameter;
@property(assign) CONNECTION_PARAMETER_FORMAT backupConnectionParameter;
@property(assign) BOOL vendorMPEnable;
@property(assign) short airPatchAction;
@property(assign) BOOL isNotifying;
- (CONNECTION_PARAMETER_FORMAT *)retrieveBackupConnectionParameter;
- (void)updateBackupConnectionParameter:(CONNECTION_PARAMETER_FORMAT *)parameter;
- (BOOL)compareBackupConnectionParameter:(CONNECTION_PARAMETER_FORMAT *)parameter;
- (void)checkConnectionParameterStatus;
- (void)sendVendorMPEnable;
- (void)updateAirPatchEvent: (NSData *)returnEvent;
- (void)writeE2promValue: (short)address length:(short)length data:(char *)data;
- (void)readE2promValue: (short)address length:(short)length;
- (void)writeMemoryValue: (short)address length:(short)length data:(char *)data;
- (void)readMemoryValue: (short)address length:(short)length;
- (CBCharacteristicWriteType)sendTransparentData:(NSData *)data type:(CBCharacteristicWriteType)type;
- (void)setTransDataNotification:(BOOL)notify;
- (NSError *)setMaxConnectionInterval:(unsigned short)maxInterval connectionTimeout:(unsigned short)connectionTimeout connectionLatency:(unsigned short)connectionLatency;
- (void)checkIsAllowUpdateConnectionParameter;
- (void)changePeripheralName: (NSString *)name;
- (void)readManufactureName;
- (void)readModelNumber;
- (void)readSerialNumber;
- (void)readHardwareRevision;
- (void)readFirmwareRevision;
- (void)readSoftwareRevison;
- (void)readSystemID;
- (void)readCertificationData;
- (void)readSpecificUUID1;
- (void)readSpecificUUID2;
@end
@protocol MyPeripheralDelegate<NSObject>
@optional
- (void)MyPeripheral:(MyPeripheral *)peripheral didUpdateConnectionParameterAllowStatus:(BOOL)status;
- (void)MyPeripheral:(MyPeripheral *)peripheral didUpdateConnectionParameterStatus:(BOOL)status interval:(unsigned short)interval timeout:(unsigned short)timeout latency:(unsigned short)latency;
- (void)MyPeripheral:(MyPeripheral *)peripheral didChangePeripheralName:(NSError *)error;
- (void)MyPeripheral:(MyPeripheral *)peripheral didReceiveTransparentData:(NSData *)data;
- (void)MyPeripheral:(MyPeripheral *)peripheral didReceiveMemoryAddress:(NSData *)address length:(short)length data:(NSData *)data;
- (void)MyPeripheral:(MyPeripheral *)peripheral didWriteMemoryAddress:(NSError *)error;
- (void)MyPeripheral:(MyPeripheral *)peripheral didSendTransparentDataStatus:(NSError *) error;
- (void)MyPeripheral:(MyPeripheral *)peripheral didUpdateTransDataNotifyStatus:(BOOL)notify;
- (void)MyPeripheral:(MyPeripheral *)peripheral didUpdateManufactureName:(NSString *)name error:(NSError *)error;
- (void)MyPeripheral:(MyPeripheral *)peripheral didUpdateModelNumber:(NSString *)modelNumber error:(NSError *)error;
- (void)MyPeripheral:(MyPeripheral *)peripheral didUpdateSerialNumber:(NSString *)serialNumber error:(NSError *)error;
- (void)MyPeripheral:(MyPeripheral *)peripheral didUpdateHardwareRevision:(NSString *)hardwareRevision error:(NSError *)error;
- (void)MyPeripheral:(MyPeripheral *)peripheral didUpdateFirmwareRevision:(NSString *)firmwareRevision error:(NSError *)error;
- (void)MyPeripheral:(MyPeripheral *)peripheral didUpdateSoftwareRevision:(NSString *)softwareRevision error:(NSError *)error;
- (void)MyPeripheral:(MyPeripheral *)peripheral didUpdateSystemId:(NSData *)systemId error:(NSError *)error;
- (void)MyPeripheral:(MyPeripheral *)peripheral didUpdateIEEE_11073_20601:(NSData *)IEEE_11073_20601 error:(NSError *)error;
- (void)MyPeripheral:(MyPeripheral *)peripheral didUpdateSpecificUUID1:(NSData *)value error:(NSError *)error;
- (void)MyPeripheral:(MyPeripheral *)peripheral didUpdateSpecificUUID2:(NSData *)value error:(NSError *)error;
@end
//
// ReliableBurstData.h
// ReliableBurstData
//
// Created by Rick on 14/2/19.
// Copyright (c) 2014 ISSC Technologies Corporation. All rights reserved.
//
/*!
* @file ReliableBurstData.h
* @framework ReliableBurstData
*
* @discussion Entry point to the ReliableBurstTransmit.
*
* @copyright 2014 ISSC Technologies Corporation. All rights reserved.
*/
#import <Foundation/Foundation.h>
#import <CoreBluetooth/CoreBluetooth.h>
@protocol ReliableBurstDataDelegate;
@interface ReliableBurstData : NSObject
/*!
* @method transmitSize
*
* @return Max package size to transmit
*/
- (NSUInteger)transmitSize;
/*!
* @method reliableBurstTransmit:withTransparentCharacteristic:
*
* @discussion Send reliableBurstTransmit with special characteristic
*
* @param data Data to transmit
* @param transparentDataWriteChar Characteristic to transmit
*/
- (void)reliableBurstTransmit:(NSData *)data withTransparentCharacteristic:(CBCharacteristic *)transparentDataWriteChar;
/*!
* @method canSendReliableBurstTransmit
*
* @return YES if the data can be sent, or NO if the transmission queue is full. If NO was returned,
* wait for it return YES to send new data.
*/
- (BOOL)canSendReliableBurstTransmit;
/*!
*
*
* @return YES if the accessory can disconnect now, or NO if the transmission is busy.
* If NO was returned, wait for it return YES to disconnect.
* @discussion
* For example:
* int count = 0;
while (![reliableBurstData canDisconnect]) {
sleep(1);
count++;
if (count >= 10) {
break;
}
}
dispatch_async(dispatch_get_main_queue(), ^{
[manager cancelPeripheralConnection:peripheral];
});
*/
- (BOOL)canDisconnect;
/*!
* @method decodeReliableBurstTransmitEvent:
*
* @param eventData The eventData need to decode for reliableBurstTransmit
*
* @discussion This method decodes the events of reliable burst transmition, it should parse all the values
* of air patch characteristic first when receiving notifications.
* For example:
* - (void)updateAirPatchEvent: (NSData *)returnEvent {
[reliableBurstData decodeReliableBurstTransmitEvent:returnEvent];
...
}
*/
- (void)decodeReliableBurstTransmitEvent:(NSData *)eventData;
/*!
* @method enableReliableBurstTransmit:andAirPatchCharacteristic:
*
* @param peripheral CBPeripheral to enable ReliableBurstTransmit
* @param airPatchCharacteristic CBCharacteristic with airPatch characteristic
*
* @discussion Ues this method to enable ReliableBurstTransmit.
* This method have to be called before sending data.
*
* For example:
* - (void) peripheral:(CBPeripheral *)aPeripheral didDiscoverCharacteristicsForService:(CBService *)service error:(NSError *)error {
if ([service.UUID isEqual:[CBUUID UUIDWithString:UUIDSTR_ISSC_PROPRIETARY_SERVICE]])
for (aChar in service.characteristics)
{
if ([aChar.UUID isEqual:[CBUUID UUIDWithString:UUIDSTR_AIR_PATCH_CHAR]]) {
[reliableBurstData enableReliableBurstTransmit:aPeripheral andAirPatchCharacteristic:aChar];
}
}
}
*/
- (void)enableReliableBurstTransmit:(CBPeripheral *)peripheral andAirPatchCharacteristic:(CBCharacteristic *)airPatchCharacteristic;
/*!
* @method isReliableBurstTransmit:
*
* @param transparentDataWriteChar The parameter should input the CBCharacteristic object of didWriteValueForCharacteristic: delegate
*
* @return YES if writeValue:forCharacteristic:type: with CBCharacteristicWriteWithResponse type is call by ReliableBurstTransmit.
*
* @discussion This library will use CBCharacteristicWriteWithResponse type when accessory doesn't
* support ReliableBurstTransmit feature. This method informs library the data have been sent.
*
* For example:
* - (void) peripheral:(CBPeripheral *)aPeripheral didWriteValueForCharacteristic:(CBCharacteristic *)characteristic error:(NSError *)error
{
if ([reliableBurstData isReliableBurstTransmit:characteristic]) {
return;
}
// Other code
}
*
*/
- (BOOL)isReliableBurstTransmit:(CBCharacteristic *)transparentDataWriteChar;
/*!
* @method version
*
* @return Version number with major.minor format.
*/
- (NSString *)version;
@property (nonatomic,weak)id<ReliableBurstDataDelegate>delegate;
@end
@protocol ReliableBurstDataDelegate <NSObject>
/*!
* @method reliableBurstData:didSendDataWithCharacteristic:
*
* @discussion This method is invoked when the data has been sent.
*
*/
- (void)reliableBurstData:(ReliableBurstData *)reliableBurstData didSendDataWithCharacteristic:(CBCharacteristic *)transparentDataWriteChar;
@end
//
// TscCommand.h
// Gprinter
//
// Created by Wind on 14/12/22.
// Copyright (c) 2014年 JiaBo. All rights reserved.
//
#import <Foundation/Foundation.h>
@interface TscCommand : NSObject
@property(nonatomic, assign) BOOL hasResponse;
/**
* 方法说明:设置标签尺寸的宽和高
* @param width 标签宽度
* @param height 标签高度
* @return void
*/
-(void) addSize:(int) width :(int) height;
/**
* 方法说明:设置标签间隙尺寸 单位mm
* @param m 间隙长度
* @param n 间隙偏移
* @return void
*/
-(void) addGapWithM:(int) m withN:(int) n;
/**
* 方法说明:设置标签原点坐标
* @param x 横坐标
* @param y 纵坐标
* @return void
*/
-(void) addReference:(int) x :(int)y;
/**
* 方法说明:设置打印速度
* @param speed 打印速度
* @return void
*/
-(void) addSpeed:(int) speed;
/**
* 方法说明:设置打印浓度
* @param density 浓度
* @return void
*/
-(void) addDensity:(int) density;
/**
* 方法说明:设置打印方向
* @param direction 方向
* @return void
*/
-(void) addDirection:(int) direction;
/**
* 方法说明:清除打印缓冲区
* @return void
*/
-(void) addCls;
/**
* 方法说明:在标签上绘制文字
* @param x 横坐标
* @param y 纵坐标
* @param font 字体类型
* @param rotation 旋转角度
* @param Xscal 横向放大
* @param Yscal 纵向放大
* @param text 文字字符串
* @return void
*/
-(void) addTextwithX:(int)x withY:(int) y withFont:(NSString*) font
withRotation:(int) rotation withXscal:(int) Xscal withYscal:(int) Yscal withText:(NSString*) text;
/*
BITMAP X, Y, width, height, mode, bitmap data
参 数 说 明
x 点阵影像的水平启始位置
y 点阵影像的垂直启始位置
width 影像的宽度,以 byte 表示
height 影像的高度,以点(dot)表示
mode 影像绘制模式
0 OVERWRITE
1 OR
2 XOR
bitmap data 影像数据
*/
-(void) addBitmapwithX:(int)x withY:(int) y withWidth:(int) width
withHeight:(int) height withMode:(int) mode withData:(NSData*) data;
/**
* 方法说明:在标签上绘制一维条码
* @param x 横坐标
* @param y 纵坐标
* @param barcodetype 条码类型
* @param height 条码高度,默认为40
* @param readable 是否可识别,0: 人眼不可识,1: 人眼可识
* @param rotation 旋转角度,条形码旋转角度,顺时钟方向,0不旋转,90顺时钟方向旋转90度,180顺时钟方向旋转180度,270顺时钟方向旋转270度
* @param Narrow 默认值2,窄 bar 宽度,以点(dot)表示
* @param Wide 默认值4,宽 bar 宽度,以点(dot)表示
* @param content 条码内容
* @return void
BARCODE X,Y,"code type",height,human readable,rotation,narrow,wide,"code"
BARCODE 100,100,"39",40,1,0,2,4,"1000"
BARCODE 10,10,"128",40,1,0,2,2,"124096ABCDEFZ$%+-./*"
"code type":
EAN13("EAN13"),
EAN8("EAN8"),
UPCA("UPCA"),
ITF14("ITF14"),
CODE39("39"),
CODE128("128"),
*/
-(void) add1DBarcode:(int)x :(int)y :(NSString*)barcodetype :(int)height
:(int)readable :(int)rotation :(int)Narrow :(int)Wide :(NSString*)content;
/**
* 方法说明:在标签上绘制QRCode二维码
* @param x 横坐标
* @param y 纵坐标
* @param ecclever 选择QRCODE纠错等级,L为7%,M为15%,Q为25%,H为30%
* @param cellwidth 二维码宽度1~10,默认为4
* @param mode 默认为A,A为Auto,M为Manual
* @param rotation 旋转角度,QRCode二维旋转角度,顺时钟方向,0不旋转,90顺时钟方向旋转90度,180顺时钟方向旋转180度,270顺时钟方向旋转270度
* @param content 条码内容
* @return void
* QRCODE X,Y ,ECC LEVER ,cell width,mode,rotation, "data string"
* QRCODE 20,24,L,4,A,0,"佳博集团网站www.Gprinter.com.cn"
*/
-(void) addQRCode:(int)x :(int)y :(NSString*)ecclever :(int)cellwidth
:(NSString*)mode :(int)rotation :(NSString*)content;
/**
* 方法说明:执行打印
* @param m
* @param n
* @return void
*/
-(void) addPrint:(int) m :(int) n;
/**
* 方法说明:获得打印命令
* @return NSData*
*/
-(NSData*) getCommand;
/**
* 方法说明:将字符串转成十六进制码
* @param str 命令字符串
* @return void
*/
-(void) addStrToCommand:(NSString *) str;
-(void) addNSDataToCommand:(NSData*) data;
/**
* 方法说明:发送一些TSC的固定命令,在cls命令之前发送
* @return void
*/
-(void) addComonCommand;
/**
* 方法说明:打印自检页,打印测试页
* @return void
*/
-(void) addSelfTest;
/**
* 方法说明 :查询打印机型号
* @return void
*/
-(void) queryPrinterType;
/**
* 方法说明:设置打印机剥离模式
* @param ON/OFF 是否开启
* @return void
*/
-(void) addPeel:(NSString *) strpar;
/**
* 方法说明:设置打印机撕离模式
* @param ON/OFF 是否开启
* @return void
*/
-(void) addTear:(NSString *) strpar;
/**
* 方法说明:设置切刀是否有效
* @param 是否开启 OFF/pieces (0<=pieces<=127)设定几张标签切一次
* @return void
*/
-(void) addCutter:(NSString *) strpar;
/**
* 方法说明:设置切刀半切是否有效
* @param enable 是否开启
* @return void
*/
-(void) addPartialCutter:(NSString *) strpar;
/**
* 方法说明:设置蜂鸣器
* @param level 频率
* @param interval 时间ms
* @return void
*/
-(void) addSound:(int) level :(int) interval;
/**
* 方法说明:打开钱箱命令,CASHDRAWER m,t1,t2
* @param m 钱箱号 m 0,48 钱箱插座的引脚2 1,49 钱箱插座的引脚5
* @param t1 高电平时间0 ≤ t1 ≤ 255输出由t1和t2设定的钱箱开启脉冲到由m指定的引脚
* @param t2 低电平时间0 ≤ t2 ≤ 255输出由t1和t2设定的钱箱开启脉冲到由m指定的引脚
* @return void
*/
-(void) addCashdrawer:(int) m :(int) t1 :(int) t2;
/**
* 方法说明:在标签上绘制黑块,画线
* @param x 起始横坐标
* @param y 起始纵坐标
* @param width 线宽,以点(dot)表示
* @param height 线高,以点(dot)表示
* @return void
*/
-(void) addBar:(int) x :(int) y :(int) width :(int) height;
/**
* 方法说明:在标签上绘制矩形
* @param xstart 起始横坐标
* @param ystart 起始纵坐标
* @param xend 终点横坐标
* @param yend 终点纵坐标
* @param linethickness 矩形框线厚度或宽度,以点(dot)表示
* @return void
*/
-(void) addBox:(int) xstart :(int) ystart :(int) xend :(int) yend :(int) linethickness;
/**
* 方法说明:查询打印机状态<ESC>!?
*询问打印机状态指令为立即响应型指令,该指令控制字符是以<ESC> (ASCII 27=0x1B, escape字符)为控制字符.!(ASCII 33=0x21),?(ASCII 63=0x3F)
*即使打印机在错误状态中仍能透过 RS-232 回传一个 byte 资料来表示打印机状态,若回传值为 0 则表示打印
*机处于正常的状态
* @return void
*/
-(void) queryPrinterStatus;
/**
* 方法说明:将指定的区域反向打印(黑色变成白色,白色变成黑色)
* @param xstart 起始横坐标
* @param ystart 起始横坐标
* @param xwidth X坐标方向宽度,dot为单位
* @param yheight Y坐标方向高度,dot为单位
*/
-(void) addReverse:(int) xstart :(int) ystart :(int) xwidth :(int) yheight;
@end
......@@ -10,8 +10,13 @@ import UIKit
protocol DaiKeXiaDanGouWuCellDelegate {
func DaiKeXiaDanGouWuCellDelAction(cell:DaiKeXiaDanGouWuCell)
func DaiKeXiaDanGouWuCellRemarkChange(cell:DaiKeXiaDanGouWuCell)
func DaiKeXiaDanGouWuCell_check(cell:DaiKeXiaDanGouWuCell)
}
class DaiKeXiaDanGouWuCell: UITableViewCell,UITextViewDelegate {
@IBOutlet weak var arrow_img: UIImageView!
@IBOutlet weak var check_button: UIButton!
var isFx = false
var delegate:DaiKeXiaDanGouWuCellDelegate?
@IBOutlet weak var bz_lbl: UILabel!
@IBOutlet weak var changeBtn: UIButton!
......@@ -25,7 +30,21 @@ class DaiKeXiaDanGouWuCell: UITableViewCell,UITextViewDelegate {
@IBOutlet weak var detailLbl: UILabel!
@IBOutlet weak var titleLbl: UILabel!
@IBOutlet weak var diLbl: UILabel!
override func layoutSubviews() {
super.layoutSubviews()
if isFx{
check_button.isHidden = false
arrow_img.isHidden = false
bz_lbl.isHidden = true
holder_lbl.isHidden = true
content_tv.isHidden = true
edit_img.isHidden = true
delImg.isHidden = true
delBtn.isHidden = true
diLbl.isHidden = false
priceLbl.isHidden = false
}
}
@IBOutlet weak var yu_shou_img: UIImageView!
var isDetail = false{
didSet{
......@@ -52,6 +71,11 @@ class DaiKeXiaDanGouWuCell: UITableViewCell,UITextViewDelegate {
content_tv.delegate = self
// Initialization code
}
@IBAction func check_action(_ sender: UIButton) {
delegate?.DaiKeXiaDanGouWuCell_check(cell: self)
}
func textViewDidChange(_ textView: UITextView) {
if textView.text.count > 0 {
holder_lbl.isHidden = true
......
......@@ -10,6 +10,10 @@ import UIKit
import IQKeyboardManagerSwift
class DaiKeXiaDanGouWuViewController: BaseViewController,UITableViewDataSource,UITableViewDelegate,DaiKeXiaDanFooterViewDelegate,TitleAndBtnCellDelegate,GLAlertSelectViewDelegate,DZGLViewControllerDelegate,XuanZeShangPinViewControllerDelegate,DaiKeXiaDanGouWuCellDelegate,GuanLianKehuVCDelegate,XiuGaiYuShouJiaViewControllerDelegate,TitleAndTFCellDelegate, GeliAlertViewDelegate,UITextFieldDelegate{
func DaiKeXiaDanGouWuCell_check(cell: DaiKeXiaDanGouWuCell) {
//此处无用
}
func DaiKeXiaDanGouWuCellRemarkChange(cell: DaiKeXiaDanGouWuCell) {
let data = cellDataArr[cell.tag]
data.remark = cell.content_tv.text
......@@ -685,7 +689,7 @@ class DaiKeXiaDanGouWuViewController: BaseViewController,UITableViewDataSource,U
func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
if indexPath.section == 1 {
return 260
return 250
}
if indexPath.section == 2 {//新增预售
if orderType == 1 {
......
......@@ -8,7 +8,20 @@
import UIKit
class RetailManageDetailViewController: BaseViewController ,UITableViewDelegate,UITableViewDataSource{
class RetailManageDetailViewController: BaseViewController ,UITableViewDelegate,UITableViewDataSource, DaiKeXiaDanGouWuCellDelegate{
func DaiKeXiaDanGouWuCellDelAction(cell: DaiKeXiaDanGouWuCell) {
//此处无用
}
func DaiKeXiaDanGouWuCellRemarkChange(cell: DaiKeXiaDanGouWuCell) {
//此处无用
}
func DaiKeXiaDanGouWuCell_check(cell: DaiKeXiaDanGouWuCell) {
//查溯源
print("check S_Y")
}
let goodsTitleArr = ["商品合计"]
let fenxiaoTitleArr = ["分销角色","结算方式","佣金方式","佣金结算时间","佣金分销结算"]
......@@ -24,7 +37,7 @@ class RetailManageDetailViewController: BaseViewController ,UITableViewDelegate,
listView.separatorStyle = .none
listView.register(UINib(nibName: "GLKHCell", bundle: nil), forCellReuseIdentifier: "GLKHCell")
listView.register(UINib(nibName: "XuanZeShangPinCell", bundle: nil), forCellReuseIdentifier: "XuanZeShangPinCell")
listView.register(UINib(nibName: "DaiKeXiaDanGouWuCell", bundle: nil), forCellReuseIdentifier: "DaiKeXiaDanGouWuCell")
listView.register(UINib(nibName: "TitleAndTFCell", bundle: nil), forCellReuseIdentifier: "TitleAndTFCell")
loadData()
......@@ -91,25 +104,32 @@ class RetailManageDetailViewController: BaseViewController ,UITableViewDelegate,
case 0:
let cell = tableView.dequeueReusableCell(withIdentifier: "GLKHCell") as! GLKHCell
cell.nameLbl.text = self.dataMdoel?.order_res?.user_name
cell.contentLbl.text = ""
cell.contentLbl.text = self.dataMdoel?.order_res!.pay_status_cn
cell.contentLbl.textColor = UIColor(named: "蓝色字体颜色")
cell.contentLbl_right.constant = -12
cell.gotoImgV.isHidden = true
return cell
case 1:
let cell = tableView.dequeueReusableCell(withIdentifier: "XuanZeShangPinCell") as! XuanZeShangPinCell
cell.priceLbl.isHidden = false
cell.selectBtn.isHidden = true
let rowModel = self.dataMdoel?.order_goods![indexPath.row]
let cell = tableView.dequeueReusableCell(withIdentifier: "DaiKeXiaDanGouWuCell") as! DaiKeXiaDanGouWuCell
cell.isFx = true
cell.nameLbl.text = rowModel?.goods_name
cell.iconImg?.sd_setImage(with: URL(string: SERVERCE_ImageHost + (rowModel?.goods_thumb)!))
let rowModel = self.dataMdoel?.order_goods![indexPath.row]
cell.titleLbl.text = rowModel?.goods_name
cell.imgView?.sd_setImage(with: URL(string: SERVERCE_ImageHost + (rowModel?.goods_thumb)!))
if rowModel?.goods_attr != nil {
cell.detailLbl.text = (rowModel?.goods_attr)!
cell.detailLbl.text = "规格:" + (rowModel?.goods_attr)!
}else{
cell.detailLbl.text = "-"
}
cell.detailLbl2.text = "x" + StringByInt(number: (rowModel?.cart_number!)!)
cell.priceLbl.text = "¥" + (rowModel?.goods_price)! + " " + "佣金" + (rowModel?.commission_val)! + "元"
cell.detailLbl.text = "规格:-"
}
cell.count_lbl.text = "单价:" + (rowModel?.goods_price)!
cell.priceLbl.text = "数量:" + StringByInt(number: (rowModel?.cart_number!)!)
cell.diLbl.text = "佣金:¥" + (rowModel?.commission_val)!
let s_p = rowModel?.goods_price as! NSString
let p_count = Float((rowModel?.cart_number)!) * s_p.floatValue
cell.detailLbl2.text = "小计:" + String(format: "%.2f", p_count)
cell.delegate = self
cell.tag = indexPath.row
return cell
case 2:
......@@ -206,7 +226,7 @@ class RetailManageDetailViewController: BaseViewController ,UITableViewDelegate,
}
func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
if indexPath.section == 1 {
return 120
return 210
}
return 49
}
......
......@@ -10,6 +10,7 @@ import UIKit
class GLKHCell: UITableViewCell {
@IBOutlet weak var gotoImgV: UIImageView!
@IBOutlet weak var contentLbl_right: NSLayoutConstraint!
@IBOutlet weak var titleIconImgV: UIImageView!
@IBOutlet weak var contentLbl: UILabel!
......
<?xml version="1.0" encoding="UTF-8"?>
<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="17156" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES">
<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="17701" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES">
<device id="retina6_1" orientation="portrait" appearance="light"/>
<dependencies>
<deployment identifier="iOS"/>
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="17126"/>
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="17703"/>
<capability name="Named colors" minToolsVersion="9.0"/>
<capability name="Safe area layout guides" minToolsVersion="9.0"/>
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
......@@ -55,6 +55,7 @@
<viewLayoutGuide key="safeArea" id="njF-e1-oar"/>
<connections>
<outlet property="contentLbl" destination="Kh6-Hv-73X" id="QlA-TV-Gyo"/>
<outlet property="contentLbl_right" destination="XE7-sQ-ZSj" id="6p7-g0-9Yb"/>
<outlet property="gotoImgV" destination="mzP-Q2-sl2" id="aJ4-Pq-Cpm"/>
<outlet property="nameLbl" destination="xEs-UK-3s6" id="li2-bd-2cg"/>
<outlet property="titleIconImgV" destination="fBF-NP-iMf" id="S9A-BB-mKF"/>
......
......@@ -1139,7 +1139,7 @@ class OrderDViewController: BaseViewController,UITableViewDelegate,UITableViewDa
func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
switch indexPath.section {
case 1://商品展示heightrow
return 260
return 250
case 4://发票信息heightrow
if segmentIndex == 0 {
return 180
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment