From 6002ec958f4a9af47a3fd6720abb777bccfee3e3 Mon Sep 17 00:00:00 2001
From: yangle <admin@YINMOU>
Date: 星期一, 10 三月 2025 19:15:49 +0800
Subject: [PATCH] 物料列表,仓库列表 ,职员列表 功能优化 班次,点检项目,维修项目,维修验收项目,设备档案,器具主档维护,检验项目分类,检验项目,检验值,检验仪器,异常反馈类型,工艺路线大类,维修验收项目分类,维修项目分类,保养项目分类 审核 反审核 禁用 反禁用 按钮设置 增加页签 增加字段 增加点检项目分类字段 保养项目 维修项目 维修验收项目 增加树形图
---
WebTM/views/设备管理/设备档案/Gy_EquipFileMainList.html | 363 +++++++++++++++++++++++++++++++++++++++++++++++++--
1 files changed, 349 insertions(+), 14 deletions(-)
diff --git "a/WebTM/views/\350\256\276\345\244\207\347\256\241\347\220\206/\350\256\276\345\244\207\346\241\243\346\241\210/Gy_EquipFileMainList.html" "b/WebTM/views/\350\256\276\345\244\207\347\256\241\347\220\206/\350\256\276\345\244\207\346\241\243\346\241\210/Gy_EquipFileMainList.html"
index 17e86ce..6dfec9c 100644
--- "a/WebTM/views/\350\256\276\345\244\207\347\256\241\347\220\206/\350\256\276\345\244\207\346\241\243\346\241\210/Gy_EquipFileMainList.html"
+++ "b/WebTM/views/\350\256\276\345\244\207\347\256\241\347\220\206/\350\256\276\345\244\207\346\241\243\346\241\210/Gy_EquipFileMainList.html"
@@ -14,6 +14,8 @@
<script src="../../../layuiadmin/Scripts/jquery-1.4.1.js"></script>
<script src="../../../layuiadmin/Scripts/webConfig.js"></script>
<script src="../../../layuiadmin/layui/lay/modules/table.js"></script>
+ <script src="../../../layuiadmin/HideButton_New.js"></script>
+ <script src="../../../layuiadmin/SetColumn.js"></script>
<style>
/*鏍戠姸鍥剧偣鍑婚珮浜彉鑹�*/
.layui-tree-set-active > .layui-tree-entry .layui-tree-main {
@@ -47,6 +49,14 @@
<input type="text" class="layui-input ForFilteringSchemes" name="HName" id="HName">
</div>
</div>
+ <div class="layui-inline">
+ <label class="layui-form-label" style="width: 85px;">缁勭粐</label>
+ <div class="layui-input-block" style="margin-left: 120px; width: 185px;">
+ <select name="HUSEORGID" id="HUSEORGID" class="ForFilteringSchemes" lay-verify="HUSEORGID">
+ <!--鍔ㄦ�佹覆鏌撶粍缁�-->
+ </select>
+ </div>
+ </div>
<button class="layui-btn layuiadmin-btn-order" type="button" lay-submit="" lay-filter="btnSearch" id="btnSearch">
<i class="layui-icon layui-icon-search layuiadmin-button-btn"></i>
</button>
@@ -54,6 +64,89 @@
<!--鏄剧ず褰撳墠杩囨护鏂规-->
<div class="layui-inline" style="margin-left:5px;">
<div style="text-align:center;font-size:15px;font-weight:bold;color:#fc9393" id="HFilterScheme_Now"></div>
+ </div>
+ <div class="layui-colla-content" style="padding: 0px; margin-left: 6%;">
+ <div class="layui-row" style="margin-top:5px">
+ <div class="layui-inline">
+ <label class="layui-form-label">杩囨护</label>
+ <div class="layui-input-block">
+ <select name="ColName" id="ColName" lay-filter="ColName" style="width:190px;" class="ForFilteringSchemes">
+ </select>
+ </div>
+ </div>
+ <div class="layui-inline">
+ <select name="Comparator" id="Comparator" lay-filter="Comparator" style="width:190px;" class="ForFilteringSchemes">
+ <option value="0" selected="selected"></option>
+ <option value="=">=</option>
+ <option value=">=">>=</option>
+ <option value=">">></option>
+ <option value="<="><=</option>
+ <option value="<"><</option>
+ <option value="<>"><></option>
+ <option value="7">鍖呭惈</option>
+ <option value="8">宸﹀寘鍚�</option>
+ <option value="9">鍙冲寘鍚�</option>
+ <option value="10">涓嶅寘鍚�</option>
+ </select>
+ </div>
+ <div class="layui-inline">
+ <input type="text" class="layui-input ForFilteringSchemes" value="" name="ColContent" id="ColContent">
+ </div>
+ </div>
+ <div class="layui-row" style="margin-top:5px">
+ <div class="layui-inline">
+ <label class="layui-form-label">杩囨护</label>
+ <div class="layui-input-block">
+ <select name="ColName1" id="ColName1" lay-filter="ColName1" style="width:190px;" class="ForFilteringSchemes">
+ </select>
+ </div>
+ </div>
+ <div class="layui-inline">
+ <select name="Comparator1" id="Comparator1" lay-filter="Comparator1" style="width:190px;" class="ForFilteringSchemes">
+ <option value="0" selected="selected"></option>
+ <option value="=">=</option>
+ <option value=">=">>=</option>
+ <option value=">">></option>
+ <option value="<="><=</option>
+ <option value="<"><</option>
+ <option value="<>"><></option>
+ <option value="7">鍖呭惈</option>
+ <option value="8">宸﹀寘鍚�</option>
+ <option value="9">鍙冲寘鍚�</option>
+ <option value="10">涓嶅寘鍚�</option>
+ </select>
+ </div>
+ <div class="layui-inline">
+ <input type="text" class="layui-input ForFilteringSchemes" value="" name="ColContent1" id="ColContent1">
+ </div>
+ </div>
+ <div class="layui-row" style="margin-top:5px">
+ <div class="layui-inline">
+ <label class="layui-form-label">杩囨护</label>
+ <div class="layui-input-block">
+ <select name="ColName2" id="ColName2" lay-filter="ColName2" style="width:190px;" class="ForFilteringSchemes">
+ </select>
+ </div>
+ </div>
+ <div class="layui-inline">
+ <select name="Comparator2" id="Comparator2" lay-filter="Comparator2" style="width:190px;" class="ForFilteringSchemes">
+ <option value="0" selected="selected"></option>
+ <option value="=">=</option>
+ <option value=">=">>=</option>
+ <option value=">">></option>
+ <option value="<="><=</option>
+ <option value="<"><</option>
+ <option value="<>"><></option>
+ <option value="7">鍖呭惈</option>
+ <option value="8">宸﹀寘鍚�</option>
+ <option value="9">鍙冲寘鍚�</option>
+ <option value="10">涓嶅寘鍚�</option>
+ </select>
+ </div>
+ <div class="layui-inline">
+ <input type="text" class="layui-input ForFilteringSchemes" value="" name="ColContent2" id="ColContent2">
+ </div>
+ </div>
</div>
</div>
</div>
@@ -68,21 +161,27 @@
</div>
</div>
<script type="text/html" id="toolbarDemo">
- <div class="layui-btn-container">
- <button type="button" class="layui-btn layui-btn-sm" lay-event="btnAdd"><i class="layui-icon layui-icon-add-1"></i>鏂板</button>
- <button type="button" class="layui-btn layui-btn-sm" lay-event="btnModify"><i class="layui-icon layui-icon-edit"></i>缂栬緫</button>
- <button type="button" class="layui-btn layui-btn-sm" lay-event="btndelete"><i class="layui-icon layui-icon-delete"></i>鍒犻櫎</button>
- <!--<button type="button" class="layui-btn layui-btn-sm" lay-event="set_SouceExcel"><i class="layui-icon layui-icon-delete"></i>瀵煎叆</button>-->
- <!--<button type="button" class="layui-btn layui-btn-sm" lay-event="btn-view"><i class="layui-icon layui-icon-tips"></i>棰勮</button>-->
- <!--<button type="button" class="layui-btn layui-btn-sm" lay-event="btn-print"><i class="layui-icon layui-icon-print"></i>鎵撳嵃</button>-->
- <button type="button" class="layui-btn layui-btn-sm" lay-event="set_CheckBill" id="CheckBill"><i class="layui-icon layui-icon-form"></i>瀹℃牳</button>
- <button type="button" class="layui-btn layui-btn-sm" lay-event="set_AbandonCheck" id="AbandonCheck"><i class="layui-icon layui-icon-form"></i>鍙嶅鏍�</button>
+ <div class="layui-btn-container" id="toolbarDemo_ButtonSet">
+ <button type="button" class="layui-btn layui-btn-sm" lay-event="set_SouceExcel" id="set_SouceExcel"><i class="layui-icon layui-icon-delete"></i>瀵煎叆</button>
+ <button type="button" class="layui-btn layui-btn-sm" lay-event="btn_Export" id="btn_Export"><i class="layui-icon layui-icon-export"></i>瀵煎嚭</button>
+ <button type="button" class="layui-btn layui-btn-sm" lay-event="btnAdd" id="btnAdd"><i class="layui-icon layui-icon-add-1"></i>鏂板</button>
+ <button type="button" class="layui-btn layui-btn-sm" lay-event="btn_Copy" id="btn_Copy"><i class="layui-icon layui-icon-add-1"></i>澶嶅埗</button>
+ <button type="button" class="layui-btn layui-btn-sm" lay-event="btnModify" id="btnModify"><i class="layui-icon layui-icon-edit"></i>缂栬緫</button>
+ <button type="button" class="layui-btn layui-btn-sm" lay-event="btndelete" id="btndelete"><i class="layui-icon layui-icon-delete"></i>鍒犻櫎</button>
+ <button type="button" class="layui-btn layui-btn-sm" lay-event="set_CheckBill" id="set_CheckBill"><i class="layui-icon layui-icon-form"></i>瀹℃牳</button>
+ <button type="button" class="layui-btn layui-btn-sm" lay-event="set_AbandonCheck" id="set_AbandonCheck"><i class="layui-icon layui-icon-form"></i>鍙嶅鏍�</button>
+ <button type="button" class="layui-btn layui-btn-sm" lay-event="btn_Delete" id="btn_Delete"><i class="layui-icon layui-icon-radio"></i>浣滃簾</button>
+ <button type="button" class="layui-btn layui-btn-sm" lay-event="btn_UnDelete" id="btn_UnDelete"><i class="layui-icon layui-icon-radio"></i>鍙嶄綔搴�</button>
<button type="button" class="layui-btn layui-btn-sm" lay-event="set_CloseBill" id="set_CloseBill"><i class="layui-icon layui-icon-form"></i>鍏抽棴</button>
<button type="button" class="layui-btn layui-btn-sm" lay-event="set_CancelCloseBill" id="set_CancelCloseBill"><i class="layui-icon layui-icon-form"></i>鍙嶅叧闂�</button>
- <button type="button" class="layui-btn layui-btn-sm" lay-event="get_Refresh"><i class="layui-icon layui-icon-refresh-3"></i>鍒锋柊</button>
+ <button type="button" class="layui-btn layui-btn-sm" lay-event="set_HideColumn" id="set_HideColumn"><i class="layui-icon layui-icon-form"></i>鍒楄缃�</button>
+ <button type="button" class="layui-btn layui-btn-sm" lay-event="set_HideButton" id="set_HideButton"><i class="layui-icon layui-icon-form"></i>鎸夐挳璁剧疆</button>
<button type="button" class="layui-btn layui-btn-sm" lay-event="set_SaveScheme" id="set_SaveScheme"><i class="layui-icon layui-icon-template"></i>淇濆瓨鏂规</button>
<button type="button" class="layui-btn layui-btn-sm" lay-event="set_ReadScheme" id="set_ReadScheme"><i class="layui-icon layui-icon-set"></i>璇诲彇鏂规</button>
- <button type="button" class="layui-btn layui-btn-sm" lay-event="get_Exit"><i class="layui-icon layui-icon-logout"></i>閫�鍑�</button>
+ <button type="button" class="layui-btn layui-btn-sm" lay-event="get_Refresh" id="get_Refresh"><i class="layui-icon layui-icon-refresh-3"></i>鍒锋柊</button>
+ <button type="button" class="layui-btn layui-btn-sm" lay-event="get_Exit" id="get_Exit"><i class="layui-icon layui-icon-logout"></i>閫�鍑�</button>
+ <button type="button" class="layui-btn layui-btn-sm" lay-event="btn-view" id="btn-view"><i class="layui-icon layui-icon-tips"></i>棰勮</button>
+ <button type="button" class="layui-btn layui-btn-sm" lay-event="btn-print" id="btn-print"><i class="layui-icon layui-icon-print"></i>鎵撳嵃</button>
</div>
</script>
</form>
@@ -112,7 +211,10 @@
var titleData = ["hmainid", "HMaterID", "HUnitID", "HDeptID", "HEquipDotCheckRuleInterID", "HEquipMaintainRuleInterID", "HEquipFileTypeID","HBillType", "HUseEmpID", "HRepairEmpID", "HSellSupID", "HMakeSupID", "HMainSourceID", "HSourceID", "HSourceName"];
//#endregion
//#region 銆愯繃婊ゆ柟妗堛��
-
+ var HModName = "Gy_EquipFileMainList";
+ var HBillType = "3308";
+ var ins; //鐢ㄤ簬瀵煎嚭excel
+ var set_HideButton_ID = "toolbarDemo_ButtonSet"; //闇�瑕佽缃殑鎸夐挳鐨勭埗绾ц妭鐐圭殑id
//杩囨护鏉′欢鐨刢lass绫�
var HClassTag = "ForFilteringSchemes";
//妯″潡鍚嶇О锛堜腑鏂囩増锛� 姣忎釜妯″潡椤甸潰閮介渶瑕佷慨鏀�
@@ -137,11 +239,25 @@
//缂栬緫鎸夐挳
case 'btnModify': set_ShowBill();
break;
+ //鍒楄缃�
+ case 'set_HideColumn': get_HideColumnNoPage(HModName, sessionStorage["HUserName"], option, get_FastQuery);
+ break;
+ //鎸夐挳璁剧疆
+ case 'set_HideButton':
+ get_HideButton(set_HideButton_ID, HBillType, HModName, sessionStorage["HUserName"]);
+ break;
//棰勮
case 'btn-view': get_ViewReport();
break;
//瀵煎叆
case 'set_SouceExcel': set_SouceExcel();
+ break;
+ //瀵煎嚭鎸夐挳
+ case 'btn_Export': btn_Export();
+ break;
+ //澶嶅埗
+ case 'btn_Copy':
+ set_copy();
break;
//鎵撳嵃
case 'btn-print': get_PrintReport();
@@ -160,6 +276,12 @@
break;
//鍙嶅叧闂�
case 'set_CancelCloseBill': set_CloseBill(2);
+ break;
+ //浣滃簾
+ case 'btn_Delete': btn_Delete(1);
+ break;
+ //鍙嶄綔搴�
+ case 'btn_UnDelete': btn_Delete(2);
break;
//鍒锋柊
case 'get_Refresh': get_Refresh();
@@ -212,6 +334,7 @@
//鍒濆鍖栬〃鏍�
function set_ClearBill() {
+ set_StockOrg();
//鍒濆鍖栬〃鏍�
set_InitGrid();
@@ -222,6 +345,12 @@
get_DefaultModule();
}
+
+ //#region 瀵煎嚭Execel
+ function btn_Export() {
+ table.exportFile(ins.config.id, option.data, "xls");
+ }
+ //#endregion
//鍒濆鍖栬〃鏍�
function set_InitGrid()
@@ -369,9 +498,21 @@
, done: function (res, curr, count) {
soulTable.render(this);
}
- }
+ }
+ ins = table.render(option);
+
+ //鍒锋柊琛ㄦ牸鏁版嵁
+ DisPlay_HideColumn(HModName, sessionStorage["HUserName"], option, titleData);
+
table.render(option);
layer.close(index);
+
+ if ($("#ColName option").length < 1) {
+ ColFilter();
+ }
+
+ Display_HideButton(set_HideButton_ID, HBillType, HModName, sessionStorage["HUserName"]);
+
} else {
layer.close(index);
layer.alert(data1.code + data1.Message, { icon: 5 });
@@ -383,16 +524,112 @@
});
}
+ //#region 鍒楁槑鏄剧ず涓嬫媺妗�
+ function ColFilter() {
+ var Organization = '<option value="0" selected="selected" ></option>';
+ for (var i = 1; i < option.cols[0].length; i++) {
+ if (option.cols[0][i].hide != true) {
+ Organization += '<option style="color:blue;" value="' + option.cols[0][i].field + '">' + option.cols[0][i].field + '</option>';
+ }
+ }
+ $("#ColName").empty();
+ $("#ColName").append(Organization);
+ $("#ColName1").empty();
+ $("#ColName1").append(Organization);
+ $("#ColName2").empty();
+ $("#ColName2").append(Organization);
+ form.render('select');
+ }
+ //#endregion
//蹇�熻繃婊�
function get_FastQuery() {
var HNumber = $("#HNumber").val();
var HName = $("#HName").val();
+ var HUSEORGID = $("#HUSEORGID").val(); //缁勭粐
+ var ColName = $("#ColName").val();//澶嶉�夋
+ var Comparator = $("#Comparator").val()
+ var ColContent = $("#ColContent").val();
+
+ var ColName1 = $("#ColName1").val();//澶嶉�夋
+ var Comparator1 = $("#Comparator1").val()
+ var ColContent1 = $("#ColContent1").val();
+ var ColName2 = $("#ColName2").val();//澶嶉�夋
+ var Comparator2 = $("#Comparator2").val()
+ var ColContent2 = $("#ColContent2").val();
+
+ if (ColName != 0 && Comparator != 0) {
+ var com = "";
+ switch (Comparator) {
+ case "7":
+ com = "like'%" + ColContent + "%'";
+ break;
+ case "8":
+ com = "like'%" + ColContent + "'";
+ break;
+ case "9":
+ com = "like'" + ColContent + "%'";
+ break;
+ case "10":
+ com = "not like'%" + ColContent + "%'";
+ break;
+ default:
+ com = "" + Comparator + "'" + ColContent + "'";
+ break;
+ }
+ sWhere += " and " + ColName + " " + com;
+ }
+ if (ColName1 != 0 && Comparator1 != 0) {
+ var com1 = "";
+ switch (Comparator1) {
+ case "7":
+ com1 = "like'%" + ColContent1 + "%'";
+ break;
+ case "8":
+ com1 = "like'%" + ColContent1 + "'";
+ break;
+ case "9":
+ com1 = "like'" + ColContent1 + "%'";
+ break;
+ case "10":
+ com1 = "not like'%" + ColContent1 + "%'";
+ break;
+ default:
+ com1 = "" + Comparator1 + "'" + ColContent1 + "'";
+ break;
+ }
+ sWhere += " and " + ColName1 + " " + com1;
+ }
+ if (ColName2 != 0 && Comparator2 != 0) {
+ var com2 = "";
+ switch (Comparator2) {
+ case "7":
+ com2 = "like'%" + ColContent2 + "%'";
+ break;
+ case "8":
+ com2 = "like'%" + ColContent2 + "'";
+ break;
+ case "9":
+ com2 = "like'" + ColContent2 + "%'";
+ break;
+ case "10":
+ com2 = "not like'%" + ColContent2 + "%'";
+ break;
+ default:
+ com2 = "" + Comparator2 + "'" + ColContent2 + "'";
+ break;
+ }
+ sWhere += " and " + ColName2 + " " + com2;
+ }
+
if (HNumber) {
sWhere += " and 璁惧浠g爜 like '%" + HNumber + "%'";
}
if (HName) {
sWhere += " and 璁惧鍚嶇О like '%" + HName + "%'";
+ }
+ if (HUSEORGID) {
+ sWhere += " and 浣跨敤缁勭粐鍚嶇О = '" + HUSEORGID + "'";
}
get_Display(sWhere);
sWhere = "";//璋冪敤鎺ュ彛鍚庢竻绌簊Where缂撳瓨
@@ -418,6 +655,31 @@
}
});
+ }
+
+ //澶嶅埗
+ function set_copy() {
+ var checkStatus = table.checkStatus('mainTable')
+ , data = checkStatus.data;
+ if (checkStatus.data.length === 1) {
+ var HInterID = data[0].hmainid.toString();
+ layer.open({
+ type: 2
+ , area: ['100%', '100%']
+ , title: '缂栬緫鍣ㄥ叿妗f鍒楄〃'
+ , shade: 0.6 //閬僵閫忔槑搴�
+ , maxmin: true //鍏佽鍏ㄥ睆鏈�灏忓寲
+ , anim: 0 //0-6鐨勫姩鐢诲舰寮忥紝-1涓嶅紑鍚�
+ , content: '../璁惧妗f/Gy_EquipFileMainEdit.html?OperationType=2&linterid=' + HInterID
+ , resize: false
+ , cancel: function () {
+
+ }
+ })
+
+ } else {
+ layer.msg('璇烽�夋嫨涓�琛屾暟鎹紪杈戯紒');
+ }
}
//淇敼
@@ -550,6 +812,7 @@
if (result.count == 1) {
layer.msg(result.Message, { icon: 1 });
layer.close(wait);
+ get_FastQuery();
} else {
layer.alert(result.code + result.Message, { icon: 5 });
layer.close(wait);
@@ -564,7 +827,68 @@
else {
layer.msg("璇烽�夋嫨涓�鏉℃暟鎹�!");
}
- }
+ }
+
+ //#region 鑾峰彇缁勭粐
+ function set_StockOrg() {
+ //鑾峰彇鐧诲綍椤电粍缁囧垪
+ $.ajax({
+ type: "GET",
+ url: GetWEBURL() + "/Web/GetOrganizations",
+ async: false, //async鐢ㄤ簬鎺у埗锛坒alse锛夊悓姝ュ拰锛坱rue锛夊紓姝ワ紝榛樿鐨勬槸true锛屽嵆璇锋眰榛樿鐨勬槸寮傛璇锋眰
+ success: function (result) {
+ var Organization = "";
+ Organization += '<option style="color:blue;" value="">鍏ㄩ儴</option>';
+ if (result.count == 1) { // 璇存槑楠岃瘉鎴愬姛浜嗭紝
+ var data = result.data;
+ for (var i = 0; i < data.length; i++) {
+ Organization += '<option style="color:blue;" value="' + data[i].Name + '">' + data[i].Name + '</option>';
+ }
+ $("#HUSEORGID").append(Organization);
+ $("#HUSEORGID").val(sessionStorage["Organization"])
+ form.render('select');
+ }
+ layer.closeAll("loading");
+ },
+ complete: function (XHR, TS) { XHR = null }//鍥炴敹璧勬簮
+ })
+ }
+ //#endregion
+
+
+ //浣滃簾/鍙嶄綔搴�
+ function btn_Delete(num) {
+ var checkStatus = table.checkStatus('mainTable')
+ , data = checkStatus.data;
+
+ if (data.length == 1) {
+ layer.confirm("纭瑕佷綔搴熷悧?", function (index) {
+ var wait = layer.load();
+ var HInterID = data[0].hmainid;
+ $.ajax({
+ url: GetWEBURL() + '/Gy_EquipFileBill/DeleteGy_EquipFileBill',
+ type: "GET",
+ data: { "HInterID": HInterID, "Type": num, "user": sessionStorage["HUserName"] },
+ success: function (result) {
+ if (result.count == 1) {
+ layer.msg(result.Message, { icon: 1 });
+ layer.close(wait);
+ get_FastQuery();
+ } else {
+ layer.alert(result.code + result.Message, { icon: 5 });
+ layer.close(wait);
+ }
+ }, error: function () {
+ layer.alert("鎺ュ彛璇锋眰澶辫触!", { icon: 5 });
+ layer.close(wait);
+ }
+ });
+ })
+ }
+ else {
+ layer.msg("璇烽�夋嫨涓�鏉℃暟鎹�!");
+ }
+ }
//棰勮
function get_ViewReport() {
@@ -655,6 +979,7 @@
tree.render({
elem: '#TreeTable' //榛樿鏄偣鍑昏妭鐐瑰彲杩涜鏀剁缉
, data: treeTable
+ , onlyIconControl: true
, click: function (obj) {
//楂樹寒鍙樿壊
$(".layui-tree-set").removeClass('layui-tree-set-active');
@@ -695,6 +1020,16 @@
function get_Refresh() {
$("#HNumber").val("");
$("#HName").val("");
+ $("#ColContent").val("");
+ $("#ColName").val("0");
+ $("#Comparator").val("0");
+ $("#ColContent2").val("");
+ $("#ColName2").val("0");
+ $("#Comparator2").val("0");
+ $("#ColContent1").val("");
+ $("#ColName1").val("0");
+ $("#Comparator1").val("0");
+ $("#HUSEORGID").val(sessionStorage["Organization"]);
$("#btnSearch").click();
}
//#region 銆愯繃婊ゆ柟妗堛��
--
Gitblit v1.9.1