Merge branch 'master' of http://121.40.234.130:8899/root/lanzhouhailiang_one
This commit is contained in:
@@ -291,7 +291,15 @@ public class StructivtServiceImpl implements StructivtService {
|
|||||||
mp.put("子卷的物性值1", json.getString("un_plan_product_property1"));
|
mp.put("子卷的物性值1", json.getString("un_plan_product_property1"));
|
||||||
mp.put("子卷的物性值2", json.getString("un_plan_product_property2"));
|
mp.put("子卷的物性值2", json.getString("un_plan_product_property2"));
|
||||||
mp.put("子卷的物性值3", json.getString("un_plan_product_property3"));
|
mp.put("子卷的物性值3", json.getString("un_plan_product_property3"));
|
||||||
mp.put("备注", json.getString("remark"));
|
if (json.getString("remark").equals("1")) {
|
||||||
|
mp.put("超期原因", "客户原因");
|
||||||
|
} else if (json.getString("remark").equals("2")) {
|
||||||
|
mp.put("超期原因", "生产质量原因");
|
||||||
|
} else if (json.getString("remark").equals("3")){
|
||||||
|
mp.put("超期原因", "市场原因");
|
||||||
|
} else {
|
||||||
|
mp.put("超期原因", "");
|
||||||
|
}
|
||||||
mp.put("是否需要重打外包装标签", json.getString("isreprintpackageboxlabel"));
|
mp.put("是否需要重打外包装标签", json.getString("isreprintpackageboxlabel"));
|
||||||
mp.put("是否需要拆包重打子卷标签", json.getString("isunpackbox"));
|
mp.put("是否需要拆包重打子卷标签", json.getString("isunpackbox"));
|
||||||
mp.put("客户要求规格幅宽", json.getString("width_standard"));
|
mp.put("客户要求规格幅宽", json.getString("width_standard"));
|
||||||
|
|||||||
@@ -299,7 +299,7 @@ public class ProductScrapServiceImpl implements ProductScrapService {
|
|||||||
WQLObject dtl = WQLObject.getWQLObject("st_ivt_productscrapdtl");
|
WQLObject dtl = WQLObject.getWQLObject("st_ivt_productscrapdtl");
|
||||||
WQLObject sub = WQLObject.getWQLObject("pdm_bi_subpackagerelation");
|
WQLObject sub = WQLObject.getWQLObject("pdm_bi_subpackagerelation");
|
||||||
|
|
||||||
List<JSONObject> dtlList = dtl.query("scrap_id = '" + whereJson.getString("scrap_id") + "'").getResultJSONArray(0).toJavaList(JSONObject.class);
|
List<JSONObject> dtlList = dtl.query("scrap_id = '" + whereJson.getString("scrap_id") + "' and qty >= 200").getResultJSONArray(0).toJavaList(JSONObject.class);
|
||||||
|
|
||||||
String package_box_in = dtlList.stream()
|
String package_box_in = dtlList.stream()
|
||||||
.map(row -> row.getString("package_box_sn"))
|
.map(row -> row.getString("package_box_sn"))
|
||||||
|
|||||||
@@ -280,7 +280,7 @@ public class CheckOutBillServiceImpl implements CheckOutBillService {
|
|||||||
// rows.clear();
|
// rows.clear();
|
||||||
// 遍历
|
// 遍历
|
||||||
for (String box_no : boxSet) {
|
for (String box_no : boxSet) {
|
||||||
JSONObject jsonObject = WQL.getWO("QST_IVT_CHECKOUTBILL").addParam("flag", "7").addParam("box_no", box_no).process().uniqueResult(0);
|
JSONObject jsonObject = WQL.getWO("QST_IVT_CHECKOUTBILL").addParam("flag", "77").addParam("box_no", box_no).process().uniqueResult(0);
|
||||||
rows.add(jsonObject);
|
rows.add(jsonObject);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -798,7 +798,7 @@ public class CheckOutBillServiceImpl implements CheckOutBillService {
|
|||||||
// rows.clear();
|
// rows.clear();
|
||||||
// 遍历
|
// 遍历
|
||||||
for (String box_no : boxSet) {
|
for (String box_no : boxSet) {
|
||||||
JSONObject jsonObject = WQL.getWO("QST_IVT_CHECKOUTBILL").addParam("flag", "7").addParam("box_no", box_no).process().uniqueResult(0);
|
JSONObject jsonObject = WQL.getWO("QST_IVT_CHECKOUTBILL").addParam("flag", "77").addParam("box_no", box_no).process().uniqueResult(0);
|
||||||
rows.add(jsonObject);
|
rows.add(jsonObject);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -2802,6 +2802,7 @@ public class CheckOutBillServiceImpl implements CheckOutBillService {
|
|||||||
JSONArray disRowArr = WQL.getWO("ST_OUTIVT04")
|
JSONArray disRowArr = WQL.getWO("ST_OUTIVT04")
|
||||||
.addParam("flag", "23")
|
.addParam("flag", "23")
|
||||||
.addParam("iostorinvdtl_id", iostorinvdtl_id)
|
.addParam("iostorinvdtl_id", iostorinvdtl_id)
|
||||||
|
.addParam("iostorinv_id", jsonRow.getString("iostorinv_id"))
|
||||||
.addParam("block_num", jsonRow.getString("block_num"))
|
.addParam("block_num", jsonRow.getString("block_num"))
|
||||||
.addParam("row_num", jsonRow.getString("row_num"))
|
.addParam("row_num", jsonRow.getString("row_num"))
|
||||||
.process().getResultJSONArray(0);
|
.process().getResultJSONArray(0);
|
||||||
@@ -2872,6 +2873,7 @@ public class CheckOutBillServiceImpl implements CheckOutBillService {
|
|||||||
disRowArrNew = WQL.getWO("ST_OUTIVT04")
|
disRowArrNew = WQL.getWO("ST_OUTIVT04")
|
||||||
.addParam("flag", "22")
|
.addParam("flag", "22")
|
||||||
.addParam("iostorinvdtl_id", iostorinvdtl_id)
|
.addParam("iostorinvdtl_id", iostorinvdtl_id)
|
||||||
|
.addParam("iostorinv_id", jsonRow.getString("iostorinv_id"))
|
||||||
.addParam("block_num", jsonRow.getString("block_num"))
|
.addParam("block_num", jsonRow.getString("block_num"))
|
||||||
.addParam("row_num", jsonRow.getString("row_num"))
|
.addParam("row_num", jsonRow.getString("row_num"))
|
||||||
.process().getResultJSONArray(0);
|
.process().getResultJSONArray(0);
|
||||||
@@ -2906,6 +2908,7 @@ public class CheckOutBillServiceImpl implements CheckOutBillService {
|
|||||||
disRowArrNew = WQL.getWO("ST_OUTIVT04")
|
disRowArrNew = WQL.getWO("ST_OUTIVT04")
|
||||||
.addParam("flag", "2")
|
.addParam("flag", "2")
|
||||||
.addParam("iostorinvdtl_id", iostorinvdtl_id)
|
.addParam("iostorinvdtl_id", iostorinvdtl_id)
|
||||||
|
.addParam("iostorinv_id", jsonRow.getString("iostorinv_id"))
|
||||||
.addParam("block_num", jsonRow.getString("block_num"))
|
.addParam("block_num", jsonRow.getString("block_num"))
|
||||||
.addParam("row_num", jsonRow.getString("row_num"))
|
.addParam("row_num", jsonRow.getString("row_num"))
|
||||||
.process().getResultJSONArray(0);
|
.process().getResultJSONArray(0);
|
||||||
@@ -2939,6 +2942,7 @@ public class CheckOutBillServiceImpl implements CheckOutBillService {
|
|||||||
disRowArrNew = WQL.getWO("ST_OUTIVT04")
|
disRowArrNew = WQL.getWO("ST_OUTIVT04")
|
||||||
.addParam("flag", "2")
|
.addParam("flag", "2")
|
||||||
.addParam("iostorinvdtl_id", iostorinvdtl_id)
|
.addParam("iostorinvdtl_id", iostorinvdtl_id)
|
||||||
|
.addParam("iostorinv_id", jsonRow.getString("iostorinv_id"))
|
||||||
.addParam("block_num", jsonRow.getString("block_num"))
|
.addParam("block_num", jsonRow.getString("block_num"))
|
||||||
.addParam("row_num", jsonRow.getString("row_num"))
|
.addParam("row_num", jsonRow.getString("row_num"))
|
||||||
.process().getResultJSONArray(0);
|
.process().getResultJSONArray(0);
|
||||||
@@ -2968,12 +2972,13 @@ public class CheckOutBillServiceImpl implements CheckOutBillService {
|
|||||||
error += json.getString("struct_code") + ",";
|
error += json.getString("struct_code") + ",";
|
||||||
}
|
}
|
||||||
|
|
||||||
throw new BadRequestException("仓位:" + error + "被锁定且未下发任务");
|
throw new BadRequestException("仓位:" + error + "被锁定请等待下发任务并等待任务完成");
|
||||||
}
|
}
|
||||||
// 重新按照排序查询
|
// 重新按照排序查询
|
||||||
disRowArrNew = WQL.getWO("ST_OUTIVT04")
|
disRowArrNew = WQL.getWO("ST_OUTIVT04")
|
||||||
.addParam("flag", "22")
|
.addParam("flag", "22")
|
||||||
.addParam("iostorinvdtl_id", iostorinvdtl_id)
|
.addParam("iostorinvdtl_id", iostorinvdtl_id)
|
||||||
|
.addParam("iostorinv_id", jsonRow.getString("iostorinv_id"))
|
||||||
.addParam("block_num", jsonRow.getString("block_num"))
|
.addParam("block_num", jsonRow.getString("block_num"))
|
||||||
.addParam("row_num", jsonRow.getString("row_num"))
|
.addParam("row_num", jsonRow.getString("row_num"))
|
||||||
.process().getResultJSONArray(0);
|
.process().getResultJSONArray(0);
|
||||||
@@ -3001,13 +3006,14 @@ public class CheckOutBillServiceImpl implements CheckOutBillService {
|
|||||||
error += json.getString("struct_code") + ",";
|
error += json.getString("struct_code") + ",";
|
||||||
}
|
}
|
||||||
|
|
||||||
throw new BadRequestException("仓位:" + error + "被锁定且未下发任务");
|
throw new BadRequestException("仓位:" + error + "被锁定请等待下发任务并等待任务完成");
|
||||||
}
|
}
|
||||||
|
|
||||||
// 重新按照排序查询
|
// 重新按照排序查询
|
||||||
disRowArrNew = WQL.getWO("ST_OUTIVT04")
|
disRowArrNew = WQL.getWO("ST_OUTIVT04")
|
||||||
.addParam("flag", "2")
|
.addParam("flag", "2")
|
||||||
.addParam("iostorinvdtl_id", iostorinvdtl_id)
|
.addParam("iostorinvdtl_id", iostorinvdtl_id)
|
||||||
|
.addParam("iostorinv_id", jsonRow.getString("iostorinv_id"))
|
||||||
.addParam("block_num", jsonRow.getString("block_num"))
|
.addParam("block_num", jsonRow.getString("block_num"))
|
||||||
.addParam("row_num", jsonRow.getString("row_num"))
|
.addParam("row_num", jsonRow.getString("row_num"))
|
||||||
.process().getResultJSONArray(0);
|
.process().getResultJSONArray(0);
|
||||||
@@ -3415,7 +3421,7 @@ public class CheckOutBillServiceImpl implements CheckOutBillService {
|
|||||||
error += json.getString("struct_code") + ",";
|
error += json.getString("struct_code") + ",";
|
||||||
}
|
}
|
||||||
|
|
||||||
throw new BadRequestException("仓位:" + error + "被锁定且未下发任务");
|
throw new BadRequestException("仓位:" + error + "被锁定请等待下发任务并等待任务完成");
|
||||||
}
|
}
|
||||||
// 重新按照排序查询
|
// 重新按照排序查询
|
||||||
disRowArrNew = WQL.getWO("ST_OUTIVT04")
|
disRowArrNew = WQL.getWO("ST_OUTIVT04")
|
||||||
@@ -3446,7 +3452,7 @@ public class CheckOutBillServiceImpl implements CheckOutBillService {
|
|||||||
error += json.getString("struct_code") + ",";
|
error += json.getString("struct_code") + ",";
|
||||||
}
|
}
|
||||||
|
|
||||||
throw new BadRequestException("仓位:" + error + "被锁定且未下发任务");
|
throw new BadRequestException("仓位:" + error + "被锁定请等待下发任务并等待任务完成!");
|
||||||
}
|
}
|
||||||
|
|
||||||
// 重新按照排序查询
|
// 重新按照排序查询
|
||||||
@@ -3747,7 +3753,7 @@ public class CheckOutBillServiceImpl implements CheckOutBillService {
|
|||||||
* @param arr
|
* @param arr
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
/*public JSONArray isNum(JSONArray arr) {
|
/* public JSONArray isNum(JSONArray arr) {
|
||||||
WQLObject taskTab = WQLObject.getWQLObject("sch_base_task"); // 任务表
|
WQLObject taskTab = WQLObject.getWQLObject("sch_base_task"); // 任务表
|
||||||
|
|
||||||
JSONArray result = new JSONArray();
|
JSONArray result = new JSONArray();
|
||||||
@@ -3777,11 +3783,11 @@ public class CheckOutBillServiceImpl implements CheckOutBillService {
|
|||||||
for (int i = 0; i < arr.size(); i++) {
|
for (int i = 0; i < arr.size(); i++) {
|
||||||
JSONObject jo = arr.getJSONObject(i);
|
JSONObject jo = arr.getJSONObject(i);
|
||||||
String struct_code = jo.getString("struct_code");
|
String struct_code = jo.getString("struct_code");
|
||||||
boolean flag = false;
|
boolean flag = true;
|
||||||
for (int j = 0; j < task_ja.size(); j++) {
|
for (int j = 0; j < task_ja.size(); j++) {
|
||||||
JSONObject task_jo = task_ja.getJSONObject(j);
|
JSONObject task_jo = task_ja.getJSONObject(j);
|
||||||
if (task_jo.getString("point_code1").equals(struct_code)) {
|
if (task_jo.getString("point_code1").equals(struct_code)) {
|
||||||
flag = true;
|
flag = false;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -5254,7 +5260,7 @@ public class CheckOutBillServiceImpl implements CheckOutBillService {
|
|||||||
JSONArray array = new JSONArray();
|
JSONArray array = new JSONArray();
|
||||||
// 遍历
|
// 遍历
|
||||||
for (String box_no : boxSet) {
|
for (String box_no : boxSet) {
|
||||||
JSONArray boxArr = WQL.getWO("QST_IVT_CHECKOUTBILL").addParam("flag", "7").addParam("box_no", box_no).process().getResultJSONArray(0);
|
JSONArray boxArr = WQL.getWO("QST_IVT_CHECKOUTBILL").addParam("flag", "77").addParam("box_no", box_no).process().getResultJSONArray(0);
|
||||||
array.addAll(boxArr);
|
array.addAll(boxArr);
|
||||||
}
|
}
|
||||||
return array;
|
return array;
|
||||||
|
|||||||
@@ -752,6 +752,95 @@
|
|||||||
ENDPAGEQUERY
|
ENDPAGEQUERY
|
||||||
ENDIF
|
ENDIF
|
||||||
|
|
||||||
|
IF 输入.flag = "77"
|
||||||
|
QUERY
|
||||||
|
SELECT
|
||||||
|
ivt.stockrecord_id,
|
||||||
|
ivt.struct_id,
|
||||||
|
ivt.struct_code,
|
||||||
|
ivt.struct_name,
|
||||||
|
ivt.region_id,
|
||||||
|
ivt.material_id,
|
||||||
|
ivt.quality_scode,
|
||||||
|
ivt.pcsn,
|
||||||
|
ivt.canuse_qty,
|
||||||
|
ivt.frozen_qty,
|
||||||
|
ivt.ivt_qty AS plan_qty,
|
||||||
|
ivt.warehousing_qty,
|
||||||
|
ivt.qty_unit_id,
|
||||||
|
ivt.instorage_time,
|
||||||
|
mater.material_name,
|
||||||
|
mater.material_code,
|
||||||
|
unit.unit_name AS qty_unit_name,
|
||||||
|
attr.storagevehicle_code AS box_no,
|
||||||
|
sub.sap_pcsn
|
||||||
|
FROM
|
||||||
|
ST_IVT_StructIvt ivt
|
||||||
|
LEFT JOIN md_me_materialbase mater ON mater.material_id = ivt.material_id
|
||||||
|
LEFT JOIN md_pb_measureunit unit ON unit.measure_unit_id = ivt.qty_unit_id
|
||||||
|
LEFT JOIN ST_IVT_StructAttr attr ON attr.struct_id = ivt.struct_id
|
||||||
|
LEFT JOIN PDM_BI_SubPackageRelation sub ON ivt.pcsn = sub.container_name AND sub.status = '2' AND attr.storagevehicle_code = sub.package_box_sn
|
||||||
|
WHERE
|
||||||
|
attr.is_delete = '0'
|
||||||
|
AND attr.is_used = '1'
|
||||||
|
|
||||||
|
OPTION 输入.material_code <> ""
|
||||||
|
(mater.material_code like 输入.material_code or
|
||||||
|
mater.material_name like 输入.material_code)
|
||||||
|
ENDOPTION
|
||||||
|
|
||||||
|
OPTION 输入.stor_id <> ""
|
||||||
|
attr.stor_id = 输入.stor_id
|
||||||
|
ENDOPTION
|
||||||
|
|
||||||
|
OPTION 输入.sap_pcsn <> ""
|
||||||
|
sub.sap_pcsn like 输入.sap_pcsn
|
||||||
|
ENDOPTION
|
||||||
|
|
||||||
|
OPTION 输入.package_box_sn <> ""
|
||||||
|
sub.package_box_sn like 输入.package_box_sn
|
||||||
|
ENDOPTION
|
||||||
|
|
||||||
|
OPTION 输入.pcsn <> ""
|
||||||
|
ivt.pcsn like 输入.pcsn
|
||||||
|
ENDOPTION
|
||||||
|
|
||||||
|
OPTION 输入.begin_time <> ""
|
||||||
|
ivt.instorage_time >= 输入.begin_time
|
||||||
|
ENDOPTION
|
||||||
|
|
||||||
|
OPTION 输入.end_time <> ""
|
||||||
|
ivt.instorage_time <= 输入.end_time
|
||||||
|
ENDOPTION
|
||||||
|
|
||||||
|
OPTION 输入.box_no <> ""
|
||||||
|
attr.storagevehicle_code = 输入.box_no
|
||||||
|
ENDOPTION
|
||||||
|
|
||||||
|
OPTION 输入.canuse_qty <> ""
|
||||||
|
ivt.canuse_qty > 输入.canuse_qty
|
||||||
|
ENDOPTION
|
||||||
|
|
||||||
|
OPTION 输入.width_standard <> ""
|
||||||
|
sub.width_standard = 输入.width_standard
|
||||||
|
ENDOPTION
|
||||||
|
|
||||||
|
OPTION 输入.thickness_request <> ""
|
||||||
|
sub.thickness_request = 输入.thickness_request
|
||||||
|
ENDOPTION
|
||||||
|
|
||||||
|
OPTION 输入.customer_name <> ""
|
||||||
|
sub.customer_name = 输入.customer_name
|
||||||
|
ENDOPTION
|
||||||
|
|
||||||
|
OPTION 输入.struct_code <> ""
|
||||||
|
attr.struct_code like 输入.struct_code
|
||||||
|
ENDOPTION
|
||||||
|
|
||||||
|
ENDSELECT
|
||||||
|
ENDQUERY
|
||||||
|
ENDIF
|
||||||
|
|
||||||
IF 输入.flag = "8"
|
IF 输入.flag = "8"
|
||||||
QUERY
|
QUERY
|
||||||
SELECT
|
SELECT
|
||||||
|
|||||||
@@ -109,6 +109,10 @@
|
|||||||
dis.iostorinvdis_id = 输入.iostorinvdis_id
|
dis.iostorinvdis_id = 输入.iostorinvdis_id
|
||||||
ENDOPTION
|
ENDOPTION
|
||||||
|
|
||||||
|
OPTION 输入.iostorinv_id <> ""
|
||||||
|
dis.iostorinv_id = 输入.iostorinv_id
|
||||||
|
ENDOPTION
|
||||||
|
|
||||||
OPTION 输入.block_num <> ""
|
OPTION 输入.block_num <> ""
|
||||||
attr.block_num = 输入.block_num
|
attr.block_num = 输入.block_num
|
||||||
ENDOPTION
|
ENDOPTION
|
||||||
@@ -162,6 +166,10 @@
|
|||||||
dis.iostorinvdtl_id = 输入.iostorinvdtl_id
|
dis.iostorinvdtl_id = 输入.iostorinvdtl_id
|
||||||
ENDOPTION
|
ENDOPTION
|
||||||
|
|
||||||
|
OPTION 输入.iostorinv_id <> ""
|
||||||
|
dis.iostorinv_id = 输入.iostorinv_id
|
||||||
|
ENDOPTION
|
||||||
|
|
||||||
OPTION 输入.block_num <> ""
|
OPTION 输入.block_num <> ""
|
||||||
attr.block_num = 输入.block_num
|
attr.block_num = 输入.block_num
|
||||||
ENDOPTION
|
ENDOPTION
|
||||||
@@ -195,6 +203,10 @@
|
|||||||
dis.iostorinvdtl_id = 输入.iostorinvdtl_id
|
dis.iostorinvdtl_id = 输入.iostorinvdtl_id
|
||||||
ENDOPTION
|
ENDOPTION
|
||||||
|
|
||||||
|
OPTION 输入.iostorinv_id <> ""
|
||||||
|
dis.iostorinv_id = 输入.iostorinv_id
|
||||||
|
ENDOPTION
|
||||||
|
|
||||||
OPTION 输入.iostorinvdis_id <> ""
|
OPTION 输入.iostorinvdis_id <> ""
|
||||||
dis.iostorinvdis_id = 输入.iostorinvdis_id
|
dis.iostorinvdis_id = 输入.iostorinvdis_id
|
||||||
ENDOPTION
|
ENDOPTION
|
||||||
|
|||||||
@@ -200,9 +200,24 @@
|
|||||||
<el-table-column prop="paper_type" label="管件类型" min-width="150" />
|
<el-table-column prop="paper_type" label="管件类型" min-width="150" />
|
||||||
<el-table-column prop="paper_code" label="管件编码" min-width="150" />
|
<el-table-column prop="paper_code" label="管件编码" min-width="150" />
|
||||||
<el-table-column prop="paper_name" label="管件描述" min-width="250" />
|
<el-table-column prop="paper_name" label="管件描述" min-width="250" />
|
||||||
<el-table-column prop="remark" label="备注" min-width="250">
|
<el-table-column prop="remark" label="超期原因" min-width="250">
|
||||||
<template scope="scope">
|
<template scope="scope">
|
||||||
<el-input v-model="scope.row.remark" style="width: 200px" />
|
<!-- <el-input v-model="scope.row.remark" style="width: 200px" />-->
|
||||||
|
<el-select
|
||||||
|
v-model="scope.row.remark"
|
||||||
|
clearable
|
||||||
|
size="mini"
|
||||||
|
placeholder="全部"
|
||||||
|
style="width: 200px;"
|
||||||
|
class="filter-item"
|
||||||
|
>
|
||||||
|
<el-option
|
||||||
|
v-for="item in remarkList"
|
||||||
|
:key="item.value"
|
||||||
|
:label="item.label"
|
||||||
|
:value="item.value"
|
||||||
|
/>
|
||||||
|
</el-select>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column align="center" label="操作" width="120" fixed="right">
|
<el-table-column align="center" label="操作" width="120" fixed="right">
|
||||||
@@ -258,6 +273,11 @@ export default {
|
|||||||
{ 'value': '2', 'label': '改切' },
|
{ 'value': '2', 'label': '改切' },
|
||||||
{ 'value': '1', 'label': '返检' }
|
{ 'value': '1', 'label': '返检' }
|
||||||
],
|
],
|
||||||
|
remarkList: [
|
||||||
|
{ 'value': '1', 'label': '客户原因' },
|
||||||
|
{ 'value': '2', 'label': '生产质量原因' },
|
||||||
|
{ 'value': '3', 'label': '市场原因' }
|
||||||
|
],
|
||||||
permission: {
|
permission: {
|
||||||
},
|
},
|
||||||
rules: {
|
rules: {
|
||||||
|
|||||||
Reference in New Issue
Block a user