|
|
@@ -19,6 +19,8 @@ import cn.muchinfo.rma.view.autoWidget.onThrottleFirstClick
|
|
|
import cn.muchinfo.rma.view.autoWidget.utils.NumberUtils
|
|
|
import cn.muchinfo.rma.view.base.BaseViewModel
|
|
|
import cn.muchinfo.rma.view.base.app.FutureConstent
|
|
|
+import cn.muchinfo.rma.view.base.future.costs.OrderDetailData
|
|
|
+import cn.muchinfo.rma.view.base.future.orderDeatails.OrderDetail
|
|
|
import cn.muchinfo.rma.view.eventbus.EventConstent
|
|
|
import cn.muchinfo.rma.view.eventbus.TradeMessageEvent
|
|
|
import com.blankj.utilcode.util.TimeUtils
|
|
|
@@ -40,6 +42,66 @@ class HoldViewModel : BaseViewModel() {
|
|
|
var futureHoldData: FutureHoldData? = null // 当前选择的item对应的数据
|
|
|
|
|
|
/**
|
|
|
+ * 组装数据
|
|
|
+ */
|
|
|
+ fun makeCostInfo(data: FutureHoldData): ArrayList<OrderDetailData>? {
|
|
|
+ val orderDetailList: ArrayList<OrderDetailData>? = ArrayList()
|
|
|
+ val paddingLeft = 350 // 右侧的文字,距离左侧的距离
|
|
|
+ val leftTextPadding = 0 // 左侧的文字,距离左侧的距离
|
|
|
+
|
|
|
+ var m = OrderDetailData()
|
|
|
+ m.setLeftText(context?.getString(R.string.str_unit_name))
|
|
|
+ m.setRightText(data.goodsname)
|
|
|
+ m.setRightTextPadding(paddingLeft)
|
|
|
+ m.setLeftTextPadding(leftTextPadding)
|
|
|
+ orderDetailList?.add(m)
|
|
|
+
|
|
|
+ m = OrderDetailData()
|
|
|
+ m.setLeftText(context?.getString(R.string.str_order_all_num))
|
|
|
+ m.setRightText(data.curpositionqty.toString() + "/" + data.curpositionqty)
|
|
|
+ m.setRightTextPadding(paddingLeft)
|
|
|
+ m.setLeftTextPadding(leftTextPadding)
|
|
|
+ orderDetailList?.add(m)
|
|
|
+
|
|
|
+ m = OrderDetailData()
|
|
|
+ m.setLeftText(context?.getString(R.string.str_order_all_available))
|
|
|
+ m.setRightText(data.enableqty.toString() + "" + data.curpositionqty)
|
|
|
+ m.setRightTextPadding(paddingLeft)
|
|
|
+ m.setLeftTextPadding(leftTextPadding)
|
|
|
+ orderDetailList?.add(m)
|
|
|
+
|
|
|
+ m = OrderDetailData()
|
|
|
+ m.setLeftText(context?.getString(R.string.str_ava_price))
|
|
|
+ m.setRightText(data.positionaverageprice.toString())
|
|
|
+ m.setRightTextPadding(paddingLeft)
|
|
|
+ m.setLeftTextPadding(leftTextPadding)
|
|
|
+ orderDetailList?.add(m)
|
|
|
+
|
|
|
+ m = OrderDetailData()
|
|
|
+ m.setLeftText(context?.getString(R.string.str_hold_pl))
|
|
|
+ m.setRightText(data.positionpl.toString())
|
|
|
+ m.setRightTextPadding(paddingLeft)
|
|
|
+ m.setLeftTextPadding(leftTextPadding)
|
|
|
+ orderDetailList?.add(m)
|
|
|
+
|
|
|
+ m = OrderDetailData()
|
|
|
+ m.setLeftText(context?.getString(R.string.str_use_amount))
|
|
|
+ m.setRightText(data.usedmargin.toString())
|
|
|
+ m.setRightTextPadding(paddingLeft)
|
|
|
+ m.setLeftTextPadding(leftTextPadding)
|
|
|
+ orderDetailList?.add(m)
|
|
|
+
|
|
|
+ m = OrderDetailData()
|
|
|
+ m.setLeftText(context?.getString(R.string.str_exchange))
|
|
|
+ m.setRightText(data.exexchangename)
|
|
|
+ m.setRightTextPadding(paddingLeft)
|
|
|
+ m.setLeftTextPadding(leftTextPadding)
|
|
|
+ orderDetailList?.add(m)
|
|
|
+
|
|
|
+ return orderDetailList
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
* 获取配置器。
|
|
|
*/
|
|
|
fun getAdapter(fragment : Fragment): RecyclerView.Adapter<HoldAdapter.HoldHolder> {
|
|
|
@@ -49,7 +111,7 @@ class HoldViewModel : BaseViewModel() {
|
|
|
/**
|
|
|
* 通用的适配器。
|
|
|
*/
|
|
|
- class HoldAdapter(context: Context?,fragment : Fragment) : RecyclerView.Adapter<HoldAdapter.HoldHolder>() {
|
|
|
+ inner class HoldAdapter(context: Context?,fragment : Fragment) : RecyclerView.Adapter<HoldAdapter.HoldHolder>() {
|
|
|
private var list: ArrayList<FutureHoldData>? = null
|
|
|
private var inflater: LayoutInflater? = null
|
|
|
private var context: Context? = null
|
|
|
@@ -204,8 +266,14 @@ class HoldViewModel : BaseViewModel() {
|
|
|
}
|
|
|
|
|
|
/** 详情 **/
|
|
|
+ holder.id_entrust_detail?.tag = itemData
|
|
|
holder.id_entrust_detail?.onThrottleFirstClick {
|
|
|
-
|
|
|
+ val tagData = it?.tag as FutureHoldData
|
|
|
+ val data = makeCostInfo(tagData)
|
|
|
+ OrderDetail.start(
|
|
|
+ context!!,
|
|
|
+ data,
|
|
|
+ context?.resources?.getString(R.string.str_order_detail_head))
|
|
|
}
|
|
|
|
|
|
if (list?.get(position)?.selected == true) {
|
|
|
@@ -314,14 +382,6 @@ class HoldViewModel : BaseViewModel() {
|
|
|
if (goodsQuote?.quoteDayData != null) {
|
|
|
val decial = goodsQuote.goodsInfo.decimalplace
|
|
|
val setp: Double
|
|
|
-// setp = if ("0" == overDot) { //如果没有拿到超价点数则按照原来的计算吧
|
|
|
-//
|
|
|
-// } else {
|
|
|
-// goodsInfo.getGoodsInfo().getQuoteMinUnit() * Math.pow(
|
|
|
-// 10.0,
|
|
|
-// -goodsInfo.getGoodsInfo().getDecimalPlace()
|
|
|
-// ) * java.lang.Double.valueOf(overDot)
|
|
|
-// }
|
|
|
setp = goodsQuote.goodsInfo.quoteminunit * Math.pow(
|
|
|
10.0,
|
|
|
-decial.toDouble()
|
|
|
@@ -350,30 +410,9 @@ class HoldViewModel : BaseViewModel() {
|
|
|
datas.channelBuildType = FutureConstent.eChannelBuildType_OPEN // 下单类型 建仓还是平仓
|
|
|
}
|
|
|
datas.priceMode = FutureConstent.PriceMode_PRICEMODE_LIMIT // 限价
|
|
|
-// datas.setCloseTodayQty(amountInputEdittext.text.toString().toLong())
|
|
|
-// if (goodsInfo.getInnerDealMode() === 3) {
|
|
|
-// if (mTradeSummaryData != null) {
|
|
|
-// val todayAvailQty: String =
|
|
|
-// java.lang.String.valueOf(mTradeSummaryData.getTodayAvailQty())
|
|
|
-// if (mTradeSummaryData.getTodayAvailQty() > 0) { //
|
|
|
-// if (mTradeSummaryData.getTodayAvailQty() > tradeNum) { // 如果平今的大于输入的数量,那就不要使用平今数量,直接赋值tradeNum给CloseTodayQty
|
|
|
-// datas.setCloseTodayQty(java.lang.Double.valueOf(tradeNum).toLong())
|
|
|
-// } else {
|
|
|
-// datas.setCloseTodayQty(
|
|
|
-// java.lang.Double.valueOf(todayAvailQty.trim { it <= ' ' }).toLong()
|
|
|
-// )
|
|
|
-// }
|
|
|
-// } else {
|
|
|
-// datas.setCloseTodayQty(0)
|
|
|
-// }
|
|
|
-// }
|
|
|
-// }
|
|
|
datas.setTimeValidType(FutureConstent.ValidTypeEnum_VALIDTYPE_DR) // 时间有效类型 默认写死当日有效
|
|
|
datas.setRelatedID(0) // 关联单号 默认写死
|
|
|
datas.setServiceTime("") //服务端时间string
|
|
|
- // datas.setIp(PolApplication.getIPAddress(getContext()));B
|
|
|
-// val bbb: String = Utils.getCommonIp()
|
|
|
-// datas.setIp(bbb)
|
|
|
datas.setValidtime("") // 有效时间string
|
|
|
|
|
|
GlobalScope.launch {
|
|
|
@@ -416,4 +455,7 @@ class HoldViewModel : BaseViewModel() {
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
}
|