Commit f1b663f5 authored by lujunye's avatar lujunye

采购权限补充

parent 9d4f00ce
......@@ -186,5 +186,7 @@
<string>Purchase/cancelPurchaseOrder</string>
<key>修改采购订单</key>
<string>Purchase/purchaseOrderEdit</string>
<key>新增采购单初始化信息</key>
<string>Purchase/InitInfo</string>
</dict>
</plist>
......@@ -168,3 +168,17 @@ func purchaseOrderEdit(_ params:[String:Any],success:@escaping (_ res:Any)->(),f
failture(error)
}
}
//MARK:--新增采购单初始化信息
/* 说明:供应商信息在列表中已经全部列出,详情功能拿列表数据即可
//params-key(
//user_token(验证token)
*/
func InitInfo(_ params:[String:Any],success:@escaping (_ res:Any)->(),failture:@escaping(_ error:Error)->()) {
NetworkRequest.sharedInstance.postRequest("新增采购单初始化信息", params, { (rep:DataResponse<InitInfoModel>) in
}, success: { (data) in
success(data)
}) { (error) in
failture(error)
}
}
......@@ -13,7 +13,7 @@ import ObjectMapper
class PurchaseOrderListModel: Mappable {
var code:Int?
var message : String?
var data :Array<PurchaseOrderListDataModel>?
var data :PurchaseOrderListNewModel?
required init?( map: Map) {
......@@ -24,7 +24,18 @@ class PurchaseOrderListModel: Mappable {
data <- map["data"]
}
}
class PurchaseOrderListNewModel: Mappable {
var purchase_auth:Array<String>?
var list : Array<PurchaseOrderListDataModel>?
required init?( map: Map) {
}
func mapping(map: Map) {
purchase_auth <- map["purchase_auth"]
list <- map["list"]
}
}
class PurchaseOrderListDataModel: Mappable {
var po_id:Int? //采购单id
var po_no : String? //采购单号
......@@ -122,7 +133,7 @@ class PurchaseOrderListDataItemsModel: Mappable {
class PurchaseOrderDetailModel: Mappable {
var code:Int?
var message : String?
var data :PurchaseOrderDetailDataModel?
var data : PurchaseOrderDetailNewModel?
required init?( map: Map) {
......@@ -133,7 +144,18 @@ class PurchaseOrderDetailModel: Mappable {
data <- map["data"]
}
}
class PurchaseOrderDetailNewModel: Mappable {
var purchase_auth :Array<String>?
var purchase_order : PurchaseOrderDetailDataModel?
required init?( map: Map) {
}
func mapping(map: Map) {
purchase_auth <- map["purchase_auth"]
purchase_order <- map["purchase_order"]
}
}
class PurchaseOrderDetailDataModel: Mappable {
var po_id:Int? //采购单id
var po_no : String?//采购单号
......@@ -230,3 +252,79 @@ class PurchaseOrderDetailDataResModel: Mappable {
subtotal <- map["subtotal"]
}
}
//获取统计+权限
class InitInfoModel: Mappable {
var code:Int?
var message : String?
var data :InitInfoDataModel?
required init?( map: Map) {
}
func mapping(map: Map) {
code <- map["code"]
message <- map["message"]
data <- map["data"]
}
}
class InitInfoDataModel: Mappable {
var vender:Array<InitInfoVenderModel>?
var goods :Array<InitInfoGoodsModel>?
var auth :Array<String>? //采购权限,92采购订单管理 119新增采购单 124采购入库 125申请采购单
required init?( map: Map) {
}
func mapping(map: Map) {
vender <- map["vender"]
goods <- map["goods"]
auth <- map["auth"]
}
}
class InitInfoGoodsModel: Mappable {
var goods_id:Int?//商品id
var goods_thumb :String? //缩略图
var goods_name :String? //商品名
var sku_id :Int?
var sku_name:Int? //商品规格
var unit :String? //单位
var price :String? //售价
var warehouse_inventory :Int?//现有库存
required init?( map: Map) {
}
func mapping(map: Map) {
goods_id <- map["goods_id"]
goods_thumb <- map["goods_thumb"]
goods_name <- map["goods_name"]
sku_id <- map["sku_id"]
sku_name <- map["sku_name"]
unit <- map["unit"]
price <- map["price"]
warehouse_inventory <- map["warehouse_inventory"]
}
}
class InitInfoVenderModel: Mappable {
var ven_id:Int?//供应商id
var ven_name :String?//供应商名
var contacts_name :String? //联系人
var contacts_mobile :String? //;联系方式
required init?( map: Map) {
}
func mapping(map: Map) {
ven_id <- map["ven_id"]
ven_name <- map["ven_name"]
contacts_name <- map["contacts_name"]
contacts_mobile <- map["contacts_mobile"]
}
}
......@@ -555,6 +555,7 @@ class WorkCViewController: BaseViewController, UITableViewDelegate, UITableViewD
case 119: //新增采购单
// let vc = YDLBVc()
let vc = XinCaiGouViewController()
self.navigationController?.pushViewController(vc, animated: true)
return
case 120: //商品毛利统计
......@@ -586,6 +587,7 @@ class WorkCViewController: BaseViewController, UITableViewDelegate, UITableViewD
case 125: //申请采购单
// let vc = YDLBVc()
let vc = XinCaiGouViewController()
vc.isSQ = true
self.navigationController?.pushViewController(vc, animated: true)
return
default:
......
......@@ -12,6 +12,9 @@ protocol XinCaiGouViewControllerDelegate {
func XinCaiGouViewControllerFinish()
}
class XinCaiGouViewController: BaseViewController,UITableViewDelegate,UITableViewDataSource,CGDCellDelegate,XuanZeShangPinViewControllerDelegate, ShowTimeSelectViewDelegate,GLAlertSelectViewDelegate, GYSListViewControllerDelegate,UITextFieldDelegate, GeliAlertViewDelegate,GeliAlertTextViewDelegate{
let UserToken = UserDefaults.standard.value(forKey: "user_token")
var isSQ = false //isSq == true 必须审核
func sureGeliAlertTextViewAction(sender: String) {
contentStr = sender
listView.reloadData()
......@@ -19,6 +22,7 @@ class XinCaiGouViewController: BaseViewController,UITableViewDelegate,UITableVie
var delegate:XinCaiGouViewControllerDelegate?
var idx:Int?
func getNewPicDictsArray(){
print("源数据")
......@@ -77,7 +81,7 @@ class XinCaiGouViewController: BaseViewController,UITableViewDelegate,UITableVie
var holderItemArr:Array<GetGoodsInfoDataModel> = []
func sureGeliAlertViewAction(sender: UIButton) {
let UserToken = UserDefaults.standard.value(forKey: "user_token")
var goodsInfoArr:Array<Any>? = []
if sender.tag == 999 {
......@@ -142,7 +146,19 @@ class XinCaiGouViewController: BaseViewController,UITableViewDelegate,UITableVie
}
dict["is_apply"] = 1
if isSQ == true && idx != nil {//125
dict["is_apply"] = 1
}else{
if idx != nil {
dict["is_apply"] = 1
}
let idx2 = model?.auth?.firstIndex(of: "119")
if idx2 != nil {
dict["is_apply"] = 2
}
}
purchaseOrderAdd(dict, success: { (data) in
HUD.hide()
HUD.flash(.labeledSubSuccess(subtitle: "提交成功"), delay: 1.2)
......@@ -232,6 +248,7 @@ class XinCaiGouViewController: BaseViewController,UITableViewDelegate,UITableVie
HUD.flash(.label("请选择商品"), delay: 1.2)
return
}
let alertView = GeliAlertView(frame: self.view.window!.bounds)
alertView.delegate = self;
alertView.tishiLbl.text = ""
......@@ -259,9 +276,11 @@ class XinCaiGouViewController: BaseViewController,UITableViewDelegate,UITableVie
var ven_id:Int?
var po_id:Int?
var model:InitInfoDataModel?
override func viewDidLoad() {
super.viewDidLoad()
if ven_name != nil {
holderArr.insert((ven_name)!, at: 2)
holderArr.remove(at: 3)
......@@ -284,6 +303,22 @@ class XinCaiGouViewController: BaseViewController,UITableViewDelegate,UITableVie
listView.register(UINib(nibName: "TitleAndLblCell", bundle: nil), forCellReuseIdentifier: "TitleAndLblCell")
InitInfo(["user_token":UserToken as Any], success: { (data) in
let mo = data as! InitInfoModel
self.model = mo.data
self.idx = self.model?.auth?.firstIndex(of: "125")
let idx2 = self.model?.auth?.firstIndex(of: "119")
if self.idx == nil && idx2 == nil{
self.listView.isHidden = true
self.btmLbl.isHidden = true
HUD.flash(.label("亲,您不具备新增采购单的权限"), delay:1.2)
}
}) { (err) in
}
}
//MARK: - cell delegate
......
......@@ -9,7 +9,38 @@
import UIKit
import ViewAnimator //cell动效
class CGDListVC: BaseViewController , UITableViewDelegate, UITableViewDataSource, GeliAlertViewDelegate,CGDListCellDelegate,CGDXQVcDelegate,XinCaiGouViewControllerDelegate,NewRKVcDelegate{
class CGDListVC: BaseViewController , UITableViewDelegate, UITableViewDataSource, GeliAlertViewDelegate,CGDListCellDelegate,CGDXQVcDelegate,XinCaiGouViewControllerDelegate,NewRKVcDelegate,GeliAlertTextViewDelegate{
var po_id:Int?
func sureGeliAlertTextViewAction(sender: String) {
if isPass == false {
if sender.count == 0 {
HUD.flash(.label("请填写不通过原因"), delay: 1.2)
return
}
HUD.flash(.progress)
let dict = ["user_token":UserToken as Any,"po_id":po_id as Any,"order_status":3 as Any,"reason":sender as Any]
purchaseOrderAudit(dict, success: { (data) in
HUD.hide()
self.listView.mj_header?.beginRefreshing()
}) { (error) in
}
}else{
HUD.flash(.progress)
let dict = ["user_token":UserToken as Any,"po_id":po_id as Any,"order_status":2 as Any,"reason":sender as Any]
purchaseOrderAudit(dict, success: { (data) in
HUD.hide()
self.isPass = false
self.listView.mj_header?.beginRefreshing()
}) { (error) in
}
}
}
func NewRKVcFinish() {
listView.mj_header?.beginRefreshing()
}
......@@ -91,6 +122,7 @@ class CGDListVC: BaseViewController , UITableViewDelegate, UITableViewDataSource
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return datas.count
}
var isGm = false
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "CGDListCell") as! CGDListCell
......@@ -132,7 +164,11 @@ class CGDListVC: BaseViewController , UITableViewDelegate, UITableViewDataSource
switch model.order_status {
//订单状态(1未审核,2审核通过,3审核不通过,4已撤销,5已完成)
case 1:
btnStr = ["修改信息","取消"]
if isGm {
btnStr = ["通过","不通过"]
}else{
btnStr = ["修改信息","取消"]
}
break
case 2,5://入库状态(1未入库,2部分入库,3已入库)
switch model.push_status {
......@@ -166,10 +202,28 @@ class CGDListVC: BaseViewController , UITableViewDelegate, UITableViewDataSource
self.navigationController?.pushViewController(vc, animated: true)
}
var isBackOut = false //撤销入库状态:默认关闭
var isPass = false
//MARK: - 点击cell 按钮
func allBtnSubmit(sender: UIButton) {
let model = datas[sender.tag]
switch sender.titleLabel?.text {
case "通过":
isPass = true
let alterView = GeliAlertTextView(frame: self.view.window!.bounds)
alterView.delegate = self
po_id = model.po_id
alterView.titleLbl.text = "请填写通过原因(选填)"
alterView.placerLbl.text = "请填写通过原因..."
self.view.window?.addSubview(alterView)
break
case "不通过":
let alterView = GeliAlertTextView(frame: self.view.window!.bounds)
alterView.delegate = self
po_id = model.po_id
alterView.titleLbl.text = "请填写不通过原因(必填)"
alterView.placerLbl.text = "请填写不通过原因..."
self.view.window?.addSubview(alterView)
break
case "撤销入库":
isBackOut = true//撤销入库状态:打开
let alertView = GeliAlertView(frame: self.view.window!.bounds)
......@@ -302,7 +356,12 @@ class CGDListVC: BaseViewController , UITableViewDelegate, UITableViewDataSource
purchaseOrderList(dic, success: { (data) in
self.datas.removeAll()
let model = data as! PurchaseOrderListModel
model.data?.forEach({ (item) in
if (model.data?.purchase_auth?.contains("119"))!{
self.isGm = true
}
model.data?.list?.forEach({ (item) in
self.datas.append(item)
})
self.listView.reloadData()
......@@ -313,7 +372,7 @@ class CGDListVC: BaseViewController , UITableViewDelegate, UITableViewDataSource
animations: self.animations, completion: {
})
if model.data?.count == 0 {
if model.data?.list?.count == 0 {
self.listView?.mj_footer?.endRefreshingWithNoMoreData()
}else{
self.listView?.mj_footer?.endRefreshing()
......@@ -331,11 +390,11 @@ class CGDListVC: BaseViewController , UITableViewDelegate, UITableViewDataSource
let dic = ["user_token":UserToken as Any,"keyword":keyword as Any,"page":page as Any,"order_status":orderStatus as Any]
purchaseOrderList(dic, success: { (data) in
let model = data as! PurchaseOrderListModel
if model.data?.count == 0 {
if model.data?.list?.count == 0 {
self.listView?.mj_footer?.endRefreshingWithNoMoreData()
}else{
self.page += 1
model.data?.forEach({ (model) in
model.data?.list?.forEach({ (model) in
self.datas.append(model)
})
self.listView.reloadData()
......
......@@ -76,7 +76,7 @@ class CGDListCell: UITableViewCell {
if str == "查看详情"{
rightBtn.setTitle(str, for: .normal)
rightBtn.isUserInteractionEnabled = false
}else if str == "修改信息"{
}else if str == "修改信息" || str == "通过"{
rightBtn.setTitle(str, for: .normal)
rightBtn.setTitleColor(UIColor.white, for: .normal)
rightBtn.backgroundColor = UIColor.init(named: "按钮渐变色上")
......@@ -89,6 +89,8 @@ class CGDListCell: UITableViewCell {
rightBtn.setTitle(str, for: .normal)
}else if str == "补录入库"{
rightBtn.setTitle(str, for: .normal)
}else if str == "不通过"{
rightBtn.setTitle(str, for: .normal)
}
......
......@@ -14,7 +14,7 @@ class CGDXQVc: BaseViewController,UITableViewDelegate,UITableViewDataSource,GLAl
func XinCaiGouViewControllerFinish() {
loadData()
}
func NewRKVcFinish() {
loadData()
}
......@@ -134,7 +134,7 @@ class CGDXQVc: BaseViewController,UITableViewDelegate,UITableViewDataSource,GLAl
btmView.addSubview(btn)
btn.setTitle(btnTitle[i], for: .normal)
btn.setTitleColor(UIColor(named: "蓝色字体颜色"), for: .normal)
if btnTitle[i] == "修改信息"{
if btnTitle[i] == "修改信息" || btnTitle[i] == "通过" {
btn.backgroundColor = UIColor(named: "蓝色字体颜色")
btn.setTitleColor(UIColor.white, for: .normal)
}
......@@ -253,42 +253,46 @@ class CGDXQVc: BaseViewController,UITableViewDelegate,UITableViewDataSource,GLAl
let item = data as! PurchaseOrderDetailModel
let mo = item.data
self.holderArr.insert("\(mo!.po_no!)", at: 0)
self.holderArr.insert(mo!.purchase_order!.po_no!, at: 0)
self.holderArr.remove(at: 1)
self.holderArr.insert(dayByDouble(sender: mo!.purchase_time!), at: 1)
self.holderArr.insert(dayByDouble(sender: mo!.purchase_order!.purchase_time!), at: 1)
self.holderArr.remove(at: 2)
if mo!.ven_name!.count > 0 {
self.holderArr.insert(mo!.ven_name!, at: 2)
if mo!.purchase_order!.ven_name!.count > 0 {
self.holderArr.insert(mo!.purchase_order!.ven_name!, at: 2)
self.holderArr.remove(at: 3)
}
if mo!.purchaser!.count > 0 {
self.holderArr.insert(mo!.purchaser!, at: 3)
if mo!.purchase_order!.purchaser!.count > 0 {
self.holderArr.insert(mo!.purchase_order!.purchaser!, at: 3)
self.holderArr.remove(at: 4)
}
if mo!.type == 1 {
if mo!.purchase_order!.type == 1 {
self.holderArr.insert("临时采购", at: 4)
self.holderArr.remove(at: 5)
}else{
self.holderArr.insert("固定采购", at: 4)
self.holderArr.remove(at: 5)
}
self.payFs = mo!.pay_type!
self.payZt = mo!.pay_status! - 1
self.payFs = mo!.purchase_order!.pay_type!
self.payZt = mo!.purchase_order!.pay_status! - 1
self.holderArr.insert(self.zfWayArr[self.payFs], at: 5)
self.holderArr.remove(at: 6)
self.holderArr.insert(self.zfTypeArr[self.payZt], at: 6)
self.holderArr.remove(at: 7)
if mo!.remarks!.count > 0 {
self.holderArr.insert(mo!.remarks!, at: 7)
if mo!.purchase_order!.remarks!.count > 0 {
self.holderArr.insert(mo!.purchase_order!.remarks!, at: 7)
self.holderArr.remove(at: 8)
}
self.model = mo
self.model = mo?.purchase_order
switch self.model!.order_status {
case 1 :
self.btnTitle = ["取消","修改信息"]
if (mo?.purchase_auth?.contains("119"))! {
self.btnTitle = ["不通过","通过"]
}else{
self.btnTitle = ["取消","修改信息"]
}
break
//订单状态(1未审核,2审核通过,3审核不通过,4已撤销,5已完成)
case 2,5://入库状态(1未入库,2部分入库,3已入库)
......
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