精华内容
下载资源
问答
  • 中间单价包含三个部分:一个是中间单价列表,一个是中间单价定额组成表,一个是中间单价定额人材机组成表,中间单价列表,你可以对其进行新增,删除和修改。当点击时,点击添加会在datagrid里面增加一行数据,而数据...
    中间单间
    功能实现

    中间单价包含三个部分:一个是中间单价列表,一个是中间单价定额组成表,一个是中间单价定额人材机组成表,中间单价列表,你可以对其进行新增,删除和修改。当点击时,点击添加会在datagrid里面增加一行数据,而数据里面的代号是自动增加,增加完一行数据,你就可以对他进行相应的修改,而修改是在datagrid里面操作的。

        中间单价定额组成表数据处理包括添加定额、新建定额、删除 。

     

       点击一下中间单价的添加定额、会弹出一个窗体,里面有数据的我们·可以通过多条件查询把数据给查询出来,然后双击把数据添加到定额表,而定额里面的数据,我们也可以通过新建定额来进行添加。我们如果觉得数据不好还可以把它给删除。

    中间人材机的功能有添加,删去,替换,复制、粘贴,上移,下移:复制现有的数据,复制后的数据代号后会有”复制“两字,整数进行区分。然后进行粘贴到最后一行。



    下面就是生成这个界面的html代码

     <table>
         <tr>
         
         <td ">
     
        <div style="padding-top:0px">
          <table >
            <tr>
               <td><a οnclick="AddAmongGetPrice()" ><input type="submit" value="添加" /></a></td>
               <td> <a  ><input type="submit" οnclick="deleteRow()"  value="删去" /></a></td>
             <td> <a οnclick="Price_analysis()" ><input type="submit" value="单价分析" /></a></td> 
                 <td> <a οnclick="XiuGaiYiHan()" ><input type="submit"  value="修改一行" /></a></td>
            @*   <td style="width:1000px"></td>*@
               @*<td><a><input style="width:170px;padding:0px;border:0px;margin:0px" value="."/></a></td>*@
            @*   <td> <a οnclick="addwindowopen()" ><input type="submit"  value="添加定额"/></a></td>
               <td><a οnclick="NewToDecide()" ><input  type="submit" value="新建定额" /></a></td>
               <td><a οnclick="Deleteconstitute()" ><input  type="submit" value="删去" /></a></td>*@
            @*   <td><a οnclick="" ><input type="submit"value="子单价分析" /></a></td>*@
    
            </tr>
          
          </table>
        
        </div>
        
        </td>
        <td>
          <table >
            <tr>
        
           
               <td> <a οnclick="addwindowopen()" ><input type="submit"  value="添加定额"/></a></td>
               <td><a οnclick="NewToDecide()" ><input  type="submit" value="新建定额" /></a></td>
               <td><a οnclick="Deleteconstitute()" ><input  type="submit" value="删去" /></a></td>
               <td><a οnclick="son_price()" ><input type="submit"value="子单价分析" /></a></td> 
    
            </tr>
          
          </table>
        </td>
        </tr> 
    
        <tr>
    
        <td style="padding-top:0px;width:442px;">
        <div style="padding-top:0px;">
        <div>
         <table id="centreGetPrice" title="中间单价列表" class="easyui-datagrid" style="width:440px;height:300px" data-options="onClickRow:onClickRowCentrelisting,singleSelect:true, onAfterEdit:onAfterModification" >
         <thead>
          <tr>
          
             <th data-options="field:'BuildProjectID' ,width:60,hidden:true" >建立项目ID</th>
             <th data-options="field:'CenterPriceID' ,width:60,hidden:true" >中间单价列表ID</th>
             <th data-options="field:'Code' ,width:60" >代号</th>
             <th data-options="field:'Name' ,width:80,editor:'text'" > 名称</th>
      
                      <th data-options="field:'Utit',align:'center',width:80,
                      formatter:formatterUnit,
    			          editor:{
    							type:'combobox',
    							options:{
                                    
    							valueField:'NatureGatherDetailID',
    								textField:'NatureGatherDetailName',
                                  
                                    url:'/ZhongJianDanJia/UnitBinDing/'
    							 	}
    						}
    			         "> 单位</th>
             <th data-options="field:'BudgetPrice' ,width:60" >预算单价</th>
            
               <th data-options="field:'GetPriceClassify',align:'center',width:80,
                    formatter:formatterGetPriceClassify,
    			          editor:{
    							type:'combobox',
    							options:{
                                    
    								valueField:'GetPriceClassifyID',
    								textField:'GetPriceClassifyName',
                                  
                                    url:'/ZhongJianDanJia/getPriceBinDing/'
    							 	}
    						}
    			         "> 取费类别</th>
    
             <th data-options="field:'Remark' ,width:60,editor:'text'" >备注</th>
          </tr>
         
         </thead>
         
         </table>
        
        
        </div>
    
        取费类别:<br />
        <input class="easyui-combobox" style="width:440px" /> <br />
        施工方法:<br />
        <input style="width:440px;height:130px"  />
    
        </td>
    
         <td>
          
          <div>
          
    
           <table id="CentreConstitute" title="定额组成" class="easyui-datagrid" style="width:900px;height:260px" data-options="onDblClickRow:setadjustfactor,onClickRow:onClickRowCentreConstitute,singleSelect:true,onAfterEdit:onAfterCentreConstitute">
           <thead>
             
     
            <tr>
              <th data-options="field:'CenterPriceQuoteComeposeID' ,width:60,hidden:true" >中间单价定额组成ID</th>
              <th data-options="field:'CenterPriceID' ,width:60,hidden:true" >中间单价列表ID</th>
              <th data-options="field:'Code' ,width:100" >编号</th>
              <th data-options="field:'Name' ,width:100" > 名称</th>
              <th data-options="field:'Unit' ,width:100" >单位</th>
              <th data-options="field:'Counts' ,width:100" >数量</th>
               <th data-options="field:'BudgetPrice' ,width:100" >人材机总价</th>
              <th data-options="field:'ManpowerFactor' ,width:100" > 人工系数</th>
              <th data-options="field:'MaterialFacto' ,width:100" >材料系数</th>
              <th data-options="field:'MachineFactor' ,width:100" > 机械系数</th>
              <th data-options="field:'CombineGetprice' ,width:100" >合价</th>
            
            </tr>
            </thead>
           </table>
            
    
            <table>
             <tr>
             <td><a οnclick="openAdd()" ><input type="submit"  value="添加人材机"/></a></td>
             <td><a οnclick="deleteRowtalents()" ><input  type="submit" value="删去" /></a></td>
             <td><a  οnclick="replacewindow()" ><input type="submit"value="替换" /></a></td>
             <td><a οnclick="Copy()" ><input type="submit"  value="复制"/></a></td>
             <td><a οnclick="patse()" ><input  type="submit" value="粘贴" /></a></td>
             <td><a οnclick="UpMove()" ><input  type="submit" value="上移" /></a></td>
             <td><a οnclick="below()" ><input type="submit"value="下移" /></a></td>
               <td><a οnclick="finish_formation()" ><input type="submit"value="修改一行" /></a></td>
             </tr>
            
            </table>
             
             <table id="AmongConstitute" title="中间定额人材机组成" class="easyui-datagrid" style="width:900px;height:200px"data-options="onClickRow:click1,singleSelect:true, onAfterEdit:onAfterConstitute,onBeforeEdit:onBeforeEdit">
              <thead>
               <tr> 
              <th data-options="field:'CenterPriceQuoteMachineID' ,width:60,hidden:true" >中间定额人材机组成ID</th>
              <th data-options="field:'CenterPriceQuoteComeposeID' ,width:60,hidden:true" >中间单价定额组成ID</th>
              <th data-options="field:'Code' ,width:100" >代号</th>
              <th data-options="field:'Name' ,width:100" > 名称</th>
              <th data-options="field:'Unit' ,width:100" >单位</th>
              <th data-options="field:'BudgetPrice' ,width:100,editor:'text'" >预算单价</th>
              <th data-options="field:'QuoteAmout' ,width:100,editor:'text'" > 定额数量</th>
              <th data-options="field:'CombineGetprice' ,width:100" >合价</th>
              <th data-options="field:'CountNumber' ,width:100,editor:'text'" > 计算数量</th>
              <th data-options="field:'Remark' ,width:100" >备注</th>
               <th data-options="field:'Type1' ,width:60" >人才机类型</th>
            
               
               </tr>
              
              </thead>
             
             </table>
          </div>  
         
         </td>
    
           </tr>
        
        </table>
    

    //下面就是定额组成里面的删去

    第一步:删去定额组成,存储过程

    第二步:删去定额组层。逻辑层
      public int Deleteconstitute(int Int_CenterPriceQuoteComeposeID)
            {
                SqlParameter[] mySQL = {
                                       new SqlParameter("@type",SqlDbType.Char),                                   
                                                                   
                                                                   
                                       new SqlParameter("@CenterPriceQuoteComeposeID",SqlDbType.Char),    
                                       
                                          
                                         
         
         
                                       };
                mySQL[0].Value = "Deleteconstitute";
    
                mySQL[1].Value = Int_CenterPriceQuoteComeposeID;
    
    
    
    
    
                int i = Centre.DAL_OPTableDB_Par("CenterPrice", mySQL);//这是把所有参数mySQL传回数据库查询数据
                return i;
            }
    

    第三步:删去组成:控制器

      public ContentResult Deleteconstitute(string Int_CenterPriceQuoteComeposeID)
            {
    
                int i = Centre.Deleteconstitute(Convert.ToInt32(Int_CenterPriceQuoteComeposeID));//这是调用逻辑层的方法
                string k = i.ToString();
                return Content(k);
            }
    

    第四步:删去组成:界面层

     Var centreGetPrice=0; 
        function  Deleteconstitute(){
                 
               $.getJSON("/ZhongJianDanJia/Deleteconstitute?Int_CenterPriceQuoteComeposeID="+$('#CentreConstitute').datagrid('getSelected').CenterPriceQuoteComeposeID,
                                                    function(data){
                                                    alert("删去成功");
                                       //点击查询中间组成
                                    $.getJSON("/ZhongJianDanJia/InquireMiddleConstitute?Int_CenterPriceID="+  $('#centreGetPrice').datagrid('getSelected').CenterPriceID,
                                         function (data) { 
                                        $('#CentreConstitute').datagrid('loadData',data);//这是把查出来的数据绑定给相应的datagrid
                                            $('#AmongConstitute').datagrid('loadData',{total:0,rows:[]});   //这是清空数据
                                            for(var i=0;i< $('#CentreConstitute').datagrid('getData').rows.length;i++){//这是遍历定额组成里面的所有价格,把它们的合价全部加起来
                                                                                            
                                                                                        centreGetPrice =centreGetPrice +   $('#CentreConstitute').datagrid('getData').rows[i]["CombineGetprice"]*1
                                                                                              
                                                                                  }
                                                                                  sum_centreGetPrice();//这是调用了下面计算中间单价列表里面的价格的方法
                                   
                                   });  
                                                    });
                  }
    

    //计算中间单价列表里面的价格

    第一步:计算中间单价列表的价格、存储过程


    第二步:计算中间单价列表的价格、逻辑层

    public int sum_centreGetPrice(string Str_BudgetPrice, int Int_CenterPriceID)
            {
                SqlParameter[] mySQL = {
                                            
                                       new SqlParameter("@type",SqlDbType.Char),                                   
                                                                   
                                                                   
                                       new SqlParameter("@BudgetPrice",SqlDbType.Char),    
                                      
                                           new SqlParameter("@CenterPriceID",SqlDbType.Int),    
                                         
         
                                       };
                mySQL[0].Value = "sum_centreGetPrice";
                mySQL[1].Value = Str_BudgetPrice;
                mySQL[2].Value = Int_CenterPriceID;
    
    
    
    
    
                int i = Centre.DAL_OPTableDB_Par("CenterPrice", mySQL);//这是把参数传给数据库mySQL
                return i;
            }
    

    第三步:计算中间单间加列表里面的价格、控制器

      public ContentResult sum_centreGetPrice(string Str_BudgetPrice, string Int_CenterPriceID)
            {
    
                int i = Centre.sum_centreGetPrice(Str_BudgetPrice, Convert.ToInt32(Int_CenterPriceID));//这是调用逻辑层的方法
                string k = i.ToString();
                return Content(k);
            }
    

    第四步:计算中间列表价格,界面层:

      function sum_centreGetPrice(){
                
                        $('#centreGetPrice').datagrid('getData').rows[sum_Index]["BudgetPrice"]=centreGetPrice;//这是把值赋给中间单价列表里面的价格
                         centreGetPrice=0;//赋完值就清零
                       
                          
                             $.getJSON("/ZhongJianDanJia/sum_centreGetPrice?Str_BudgetPrice=" +$('#centreGetPrice').datagrid('getData').rows[sum_Index]["BudgetPrice"]+ "&"
                                                                            +"Int_CenterPriceID="+$('#centreGetPrice').datagrid('getSelected').CenterPriceID+"&",
                                   function (data) { //这是新增那个价格进数据库
                                   UnitMingCheng="";GetPriceClassifyMingCheng="";
                                             $.getJSON("/ZhongJianDanJia/inquire?Int_BuildProjectID=" + @Session["项目ID"]+ "&",
                                            function (data) { 
                                            $('#centreGetPrice').datagrid('loadData',data);//这是把查出来的数据赋值给相应的datagrid
                                            circulate=0;//查一遍就清零,用于判断中间单价列表两个下拉框的绑定判断
                                             $('#centreGetPrice').datagrid('selectRow',sum_Index);//这是选中中间列表一行
                                           });
                                   
                                   });
                   
                       $('#CentreConstitute').datagrid('selectRow',indexdecide);//这也是选中定额组成里面的一行
                     
               }
    

    接下来就到了添加人材机

    下面就是打开人材机的窗体



    下面就是打开这个窗体的html代码

      <div id="w添加人材机"  title="人材机的组成"  class="easyui-dialog" style="left:100px;top:30px">
          <div class="easyui-tabs" style="width:600px;height:300px">
          <div title="机械列表"style="padding:10px" >
           <table id="MachineryListing" class="easyui-datagrid" style="width:570px;height:230px"  data-options="onDblClickRow:onClickMachineryListing,singleSelect:true">
           <thead>
               
            <tr>
                    <th field="Code" width="60" align="center">代号</th>
                    <th field="Name" width="160" align="center">名称</th>
    				<th field="Unit" width="80" align="center">单位</th>
    				<th field="BudgetPrice" width="100" align="center">预算价格</th>
    				<th field="Remark" width="130" align="center">备注</th>
            </tr> 
           </thead>
           </table>       
         
          </div>
    
    
    
          <div title="人工列表" style="padding:10px" >     
          <table id="PopleListing" class="easyui-datagrid" style="width:570px;height:230px" data-options="onDblClickRow:onClickPopleListing,singleSelect:true">
           <thead>
            <tr>
           
                    <th field="Number" width="60" align="center">代号</th>
                    <th field="Name" width="160" align="center">名称</th>
    				<th field="Unit" width="80" align="center">单位</th>
    				<th field="BudgetPrice" width="100" align="center">预算价格</th>
    				<th field="Remark" width="130" align="center">备注</th>
            </tr> 
           </thead>
           </table>       
         
          </div>
    
    
    
          <div  title="材料单价" style="padding:10px" @*data-options="iconCls:'icon-help'"*@>
          
           <table id="MaterialListing" class="easyui-datagrid" style="width:570px;height:230px" data-options="onDblClickRow:onClickMaterialListing,singleSelect:true">
           <thead>
           
            <tr>
                    <th field="Code" width="60" align="center">代号</th>
                    <th field="Name" width="160" align="center">名称</th>
    				<th field="Unit" width="80" align="center">单位</th>
    				<th field="BudgetPrice" width="100" align="center">预算价格</th>
    				<th field="beizhu" width="130" align="center">备注</th>
            </tr> 
           </thead>
           </table>       
        
          </div>
    
          <div title="配合比单价" style="padding:10px"  >
          <table id="CoordinateGetprice" class="easyui-datagrid" style="width:570px;height:230px" data-options="onDblClickRow:onClickCoordinateGetprice,singleSelect:true">
           <thead>
            <tr>
             
                    <th field="Code" width="60" align="center">代号</th>
                    <th field="MixProportionPriceName" width="160" align="center">名称</th>
    				<th field="Unit" width="80" align="center">单位</th>
    				<th field="BudgetPrice" width="100" align="center">预算价格</th>
    				<th field="Remark" width="130" align="center">备注</th>
            </tr> 
           </thead>
           </table>       
    
          
          
          
          
          
          </div>
            
    
          </div>
           <table>
           <tr>
           <td>
          <table id="Addconfirmcount" class="easyui-datagrid" style="width:448px;height:200px"  data-options="onClickRow:editor">
          <thead>
          <tr>
                    <th field="daihao" width="60" align="center">代号</th>
                    <th field="mingcheng" width="160" align="center">名称</th>
    				<th field="danwei" width="80" align="center">单位</th>
    				<th field="yusuanjiage" width="80" align="center">预算价格</th>
    				<th field="shuliang" width="70" align="center" editor="text">数量</th>
                    <th field="leixing" width="90" align="center" editor="text">类型</th>  
                     <th field="Remark" width="90" align="center"editor="text">备注</th>  
          </tr>    
          </thead>      
          </table>
          </td>
          <td>
                <a οnclick="YiChu1()" ><input type="submit" value="移除" /></a>
          </td>
    
          </tr>
          </table>
           <center>
          <table>
      
           <tr>
          <td style="left:1930px">
                                                                                   
            <a οnclick="confirmaddtAlentsChance()" ><input type="submit" value="确定" /></a>
            <a οnclick="" ><input type="submit" value="取消" /></a>
           </td>
           </tr>
        
          </table>
            </center>
    
            </div>   
    

    //下面就是点击人材机按钮的方法

       function openAdd(){
                 CoordinateGetprice();//查询配合比
    
                           MaterialListing();   //查询材料列表
    
                           PopleListing();  //查询人工列表
                          MachineryListing();   //机械列表查询
           if($('#CentreConstitute').datagrid('getSelected')){//这是判断是否选中定额组成
    
              closeWindow();//这是启动一遍窗体的方法,在你关闭下一次关闭窗体的时候就会自动执行
            $('#w添加人材机').window('open')//这是打开人材机的窗体
           }else{
             alert("请选择定额组成")
           
           }
         }
        function closeWindow(){
           $('#w添加人材机').window({
                      
                        onBeforeClose: function () {//这是关闭窗体是触发的方法
    
                         machinery=0; manpower=0;  material=0; coordinate=0;//这些都是下面判断延迟下一次执行的变量
                         $('#Addconfirmcount').datagrid('loadData',{total:0,rows:[]});    //这是清空datagrid
                     }
                  });
         
         }
    

    //下面就是查询机械单价、人工列表、材料单价、配合比单价

    第一步:查询机械单价、存储过程

    第一步:查询人工列表:存储过程


    第一步:查询材料单价·、存储过程


    第一步:查询配合比单价、存储过程



    第二步:查询机械单价、逻辑层

      public DataTable MachineryListing(int Int_BuildProjectID)
            {
                SqlParameter[] mySQL = {
                                       new SqlParameter("@type",SqlDbType.Char),  
                                       new SqlParameter("@BuildProjectID",SqlDbType.Int),
                                 
                                       };
                mySQL[0].Value = "MachineryListing";
                mySQL[1].Value = Int_BuildProjectID;
    
    
    
    
                DataTable dt = Centre.DAL_SelectDB_Par("CenterPrice", mySQL);
                return dt;
            }
    

    第二步:查询人工列表、逻辑层

      public DataTable PopleListing(int Int_BuildProjectID)
            {
                SqlParameter[] mySQL = {
                                       new SqlParameter("@type",SqlDbType.Char),  
                                       new SqlParameter("@BuildProjectID",SqlDbType.Int),
                                 
                                       };
                mySQL[0].Value = "PopleListing";
                mySQL[1].Value = Int_BuildProjectID;
    
    
    
    
                DataTable dt = Centre.DAL_SelectDB_Par("CenterPrice", mySQL);
                return dt;
            }
    

    第二步:查询材料单价、逻辑层

      public DataTable MaterialListing(int Int_BuildProjectID)
            {
                SqlParameter[] mySQL = {
                                       new SqlParameter("@type",SqlDbType.Char),  
                                       new SqlParameter("@BuildProjectID",SqlDbType.Int),
                                 
                                       };
                mySQL[0].Value = "MaterialListing";
                mySQL[1].Value = Int_BuildProjectID;
    
    
    
                DataTable dt = Centre.DAL_SelectDB_Par("CenterPrice", mySQL);
                return dt;
            }
    

    第二步:查询配合比单价、逻辑层

    public DataTable CoordinateGetprice(int Int_BuildProjectID)
            {
                SqlParameter[] mySQL = {
                                       new SqlParameter("@type",SqlDbType.Char),  
                                       new SqlParameter("@BuildProjectID",SqlDbType.Int),
                                 
                                       };
                mySQL[0].Value = "CoordinateGetprice";
                mySQL[1].Value = Int_BuildProjectID;
    
    
    
                DataTable dt = Centre.DAL_SelectDB_Par("CenterPrice", mySQL);
                return dt;
            }
    

    第三步:查询机械单价、控制器

    public ActionResult MachineryListing(string Int_BuildProjectID)
            {
                DataTable dt = Centre.MachineryListing(Convert.ToInt32(Int_BuildProjectID));
                List<Dictionary<string, object>> listReturn = ConvertHelper.DtToList(dt);
                return Json(listReturn, JsonRequestBehavior.AllowGet);
            }
    

    第三步:查询人工列表、控制器

      public ActionResult PopleListing(string Int_BuildProjectID)
            {
                DataTable dt = Centre.PopleListing(Convert.ToInt32(Int_BuildProjectID));
                List<Dictionary<string, object>> listReturn = ConvertHelper.DtToList(dt);
                return Json(listReturn, JsonRequestBehavior.AllowGet);
            }
    

    第三步:查询材料单价、控制器

     public ActionResult MaterialListing(string Int_BuildProjectID)
            {
                DataTable dt = Centre.MaterialListing(Convert.ToInt32(Int_BuildProjectID));
                List<Dictionary<string, object>> listReturn = ConvertHelper.DtToList(dt);
                return Json(listReturn, JsonRequestBehavior.AllowGet);
            }
    

    第三步:查询配合比单价:控制器

      public ActionResult CoordinateGetprice(string Int_BuildProjectID)
            {
                DataTable dt = Centre.CoordinateGetprice(Convert.ToInt32(Int_BuildProjectID));
                List<Dictionary<string, object>> listReturn = ConvertHelper.DtToList(dt);
                return Json(listReturn, JsonRequestBehavior.AllowGet);
            }
    

    第四步:查询机械单价、界面层

      function MachineryListing(){
                $.getJSON("/ZhongJianDanJia/MachineryListing?Int_BuildProjectID=" + @Session["项目ID"]+ "&",
                                        function(data){
                                          
                                         $('#MachineryListing').datagrid('loadData',data);
                                         $('#MachineryListingreplace').datagrid('loadData',data);
                                        });
          
          }
    

    第四步:查询人工列表、界面层

        function PopleListing(){
              
             $.getJSON("/ZhongJianDanJia/PopleListing?Int_BuildProjectID=" + @Session["项目ID"]+ "&",
                                        function(data){
                                          
                                         $('#PopleListing').datagrid('loadData',data);
                                         $('#PopleListingreplace1').datagrid('loadData',data);
                                        });
          }
    

    第四步:查询材料单价、界面层

    function MaterialListing(){
              
             $.getJSON("/ZhongJianDanJia/MaterialListing?Int_BuildProjectID=" + @Session["项目ID"]+ "&",
                                        function(data){
                                          
                                         $('#MaterialListing').datagrid('loadData',data);
                                         $('#MaterialListingreplace').datagrid('loadData',data);
                                        });
          }
    

    第四步:查询配合比单价,界面层

     function CoordinateGetprice(){
              
             $.getJSON("/ZhongJianDanJia/CoordinateGetprice?Int_BuildProjectID=" + @Session["项目ID"]+ "&",
                                        function(data){
                                          
                                         $('#CoordinateGetprice').datagrid('loadData',data);
                                         $('#CoordinateGetpricereplace').datagrid('loadData',data);
                                        });
          }
    

    查询完就到了双击机械单价给下面datagrid赋值的方法,就以双击机械单价为例



    下面就是双击给下面的下拉树赋值的方法

              //双击添加机械
                 
                  var uuu=0;//这个也是为了用来判断它是否有相等
                var machinery=0;//这个是用来让他下一次再执行里面的方法
              function onClickMachineryListing(){
                    for(var i=0;i<  $('#AmongConstitute').datagrid('getData').rows.length;i++){//这是遍历所有中间定额人材机数据
                        if($('#AmongConstitute').datagrid('getData').rows[i]["Code"]==$('#MachineryListing').datagrid('getSelected').Code&$('#AmongConstitute').datagrid('getData').rows[i]["Name"]==$('#MachineryListing').datagrid('getSelected').Name){//这是用选中的机械单价来和中间定额人材机来判断是否有重复
                              tt=1;
                        } else{
                        }
                        }
                if(tt==1){
                alert("已有相同");
                tt=0;
                } else{
                     if(machinery=1){//这是延迟让它下一次执行
                   for(var j=0;j<$('#Addconfirmcount').datagrid('getData').rows.length;j++){//这是遍历机械单价给它赋值的那个datagrid
                      if( $('#Addconfirmcount').datagrid('getData').rows[j]["daihao"]== $('#MachineryListing').datagrid('getSelected').Code&$('#Addconfirmcount').datagrid('getData').rows[j]["mingcheng"]==$('#MachineryListing').datagrid('getSelected').Name){//这是那机械单价和下面那个datagrid来判断是否有重复
                        
                           uuu=1;
                      }else{}
                   }
                   }
                   machinery=1;
                     if(uuu==1){
                     alert("已1有相同");
                     uuu=0;
                     }else{
                         var f= $('#Addconfirmcount').datagrid('getData');//这是获取所有数据
                     $('#Addconfirmcount').datagrid("insertRow", {//这是新增一行
                    index: f.rows.length,
                     row: {}
                    });
                  $('#Addconfirmcount').datagrid('getData').rows[f.rows.length-1]["daihao"]=  $('#MachineryListing').datagrid('getSelected').Code;
    
                 $('#Addconfirmcount').datagrid('getData').rows[f.rows.length-1]["mingcheng"]=  $('#MachineryListing').datagrid('getSelected').Name;
                 $('#Addconfirmcount').datagrid('getData').rows[f.rows.length-1]["danwei"]=  $('#MachineryListing').datagrid('getSelected').Unit;  
                 $('#Addconfirmcount').datagrid('getData').rows[f.rows.length-1]["shuliang"]= 100 ;
                  $('#Addconfirmcount').datagrid('getData').rows[f.rows.length-1]["yusuanjiage"]=  $('#MachineryListing').datagrid('getSelected').BudgetPrice;
                    $('#Addconfirmcount').datagrid('getData').rows[f.rows.length-1]["leixing"]= "机械";
                      $('#Addconfirmcount').datagrid('getData').rows[f.rows.length-1]["Remark"]= $('#MachineryListing').datagrid('getSelected').Remark;
                   $('#Addconfirmcount').datagrid('refreshRow',  f.rows.length-1);//这是刷新一行显示数据
                 
                    tt=0;
                    uuu=0;
                     yy=0;
                     }
    
    
           }
       }
    

    移除选错的数据;

      var editIn=undefined;
             var YiChu=undefined;
             function editor(dd,data){
              YiChu =dd
             
             $('#Addconfirmcount').datagrid('beginEdit', dd);//开始编制       
                if (editIn != index) {
                                    $('#Addconfirmcount').datagrid('beginEdit', dd);//开始编制       
                                    $('#Addconfirmcount').datagrid('endEdit', editIn);//结束编制
                                          editIn = dd;
                                }
             }
             //移除
              function YiChu1(){
                
               
                   $('#Addconfirmcount').datagrid('deleteRow',YiChu);//这就是移除选中哪一行
              }
    




    仅供学习,禁止用于商业用途







    展开全文
  • 中间单价包含三个部分:一个是中间单价列表,一个是中间单价定额组成表,一个是中间单价定额人材机组成表,中间单价列表,你可以对其进行新增,删除和修改。当点击时,点击添加会在datagrid里面增加一行数据,而数据...
    中间单价
    功能实现

    中间单价包含三个部分:一个是中间单价列表,一个是中间单价定额组成表,一个是中间单价定额人材机组成表,中间单价列表,你可以对其进行新增,删除和修改。当点击时,点击添加会在datagrid里面增加一行数据,而数据里面的代号是自动增加,增加完一行数据,你就可以对他进行相应的修改,而修改是在datagrid里面操作的。

        中间单价定额组成表数据处理包括添加定额、新建定额、删除 。

     

       点击一下中间单价的添加定额、会弹出一个窗体,里面有数据的我们·可以通过多条件查询把数据给查询出来,然后双击把数据添加到定额表,而定额里面的数据,我们也可以通过新建定额来进行添加。我们如果觉得数据不好还可以把它给删除。

    中间人材机的功能有添加,删去,替换,复制、粘贴,上移,下移:复制现有的数据,复制后的数据代号后会有”复制“两字,整数进行区分。然后进行粘贴到最后一行。





    //下面就是增加人材机的方法

    第一步:点击确定后给添加人材机赋值、存储过程


    第二步:点击确定后增加人材机、逻辑层

     public int confirmaddtAlentsChance(string Str_Code, string Str_Name, string Int_Unit, string Str_Amount, int Int_CenterPriceQuoteComeposeID, string Int_BudgetPrice, string Str_Type, string Str_Remark)
            {
                SqlParameter[] mySQL = {
                                            
                                       new SqlParameter("@type",SqlDbType.Char),  
                              
                                       new SqlParameter("@Code",SqlDbType.Char),    
                                         new SqlParameter("@Name",SqlDbType.Char),    
                                           new SqlParameter("@Unit",SqlDbType.Char),    
                                             new SqlParameter("@QuoteAmout",SqlDbType.Char),    
                                             new SqlParameter("@CenterPriceQuoteComeposeID",SqlDbType.Int),
                                             new SqlParameter("@BudgetPrice",SqlDbType.Char),    
                                             new SqlParameter("@Type1",SqlDbType.Char),
                                            new SqlParameter("@Remark",SqlDbType.Char),
         
                                       };
                mySQL[0].Value = "confirmaddtAlentsChance";//这是对应了存储过程@type类型
                mySQL[1].Value = Str_Code;
                mySQL[2].Value = Str_Name;
                mySQL[3].Value = Int_Unit;
                mySQL[4].Value = Str_Amount;
                mySQL[5].Value = Int_CenterPriceQuoteComeposeID;
                mySQL[6].Value = Int_BudgetPrice;
                mySQL[7].Value = Str_Type;
                mySQL[8].Value = Str_Remark; 
                int i = Centre.DAL_OPTableDB_Par("CenterPrice", mySQL);//这是把参数传进数据库
                return i;
            }
    

    第三步:点击确定后增加人材机、控制器

      string BudgetPrice = "";
            public ContentResult confirmaddtAlentsChance(string Str_Code, string Str_Name, string Int_Unit, string Str_Amount, string Int_CenterPriceQuoteComeposeID, string Int_BudgetPrice, string Str_Type, string Str_Remark)
            {
                if (Int_BudgetPrice == "null")
                {
                    BudgetPrice = "";
                }
                else
                {
                    BudgetPrice = Int_BudgetPrice;
    
                }
                int i = Centre.confirmaddtAlentsChance(Str_Code, Str_Name, Int_Unit, Str_Amount, Convert.ToInt32(Int_CenterPriceQuoteComeposeID), BudgetPrice, Str_Type, Str_Remark);//这是调用逻辑层的方法
                string k = i.ToString();
                return Content(k);
            }
    

    第四步:点击确定后增加人材机、界面层

     function confirmaddtAlentsChance(){
                    
                        for(var i=0;i<  $('#Addconfirmcount').datagrid('getData').rows.length;i++){//这是遍历所有数据,增加进数据库
                         
                    $.getJSON("/ZhongJianDanJia/confirmaddtAlentsChance?Str_Code=" +  $('#Addconfirmcount').datagrid('getData').rows[i]["daihao"]+ "&"
                                               +"Str_Name="+ $('#Addconfirmcount').datagrid('getData').rows[i]["mingcheng"]+"&"
                                                
                                                +"Int_Unit="+ $('#Addconfirmcount').datagrid('getData').rows[i]["danwei"]+"&"
                                                +"Str_Amount="+$('#Addconfirmcount').datagrid('getData').rows[i]["shuliang"]+"&"
                                                +"Int_CenterPriceQuoteComeposeID="+$('#CentreConstitute').datagrid('getSelected').CenterPriceQuoteComeposeID+"&"
                                                +"Int_BudgetPrice="+  $('#Addconfirmcount').datagrid('getData').rows[i]["yusuanjiage"]+"&"
                                                +"Str_Type="+ $('#Addconfirmcount').datagrid('getData').rows[i]["leixing"]+"&"
                                                +"Str_Remark="+$('#Addconfirmcount').datagrid('getData').rows[i]["Remark"]+"&"
    
                                             
                                             ,
                    function (data) {
                                    machinery=0; manpower=0;  material=0; coordinate=0;
                                    $('#w添加人材机').window('close');//这是关闭窗体
                                     $('#Addconfirmcount').datagrid('loadData',{total:0,rows:[]});   //这是清空数据
                                     //查询人材机
                                $.getJSON("/ZhongJianDanJia/inquireAlentsChance?Int_CenterPriceQuoteComeposeID=" +$('#CentreConstitute').datagrid('getSelected').CenterPriceQuoteComeposeID+ "&",
                                                                             function(data){
                                                                             
                                                                             $('#AmongConstitute').datagrid('loadData',data);//这是把查出来的数据绑定给相应的datagrid
                                                                             
                                                                             });
           
                    
                    });
                    }
                
                } 
    

    //接下来就到了删去的方法


    第一步:删去人材机、存储过程


    第二步:删去人材机、逻辑层

     public int deleteRowtalents(int Int_CenterPriceQuoteMachineID)
            {
                SqlParameter[] mySQL = {
                                       new SqlParameter("@type",SqlDbType.Char),                                   
                                                                   
                                                                   
                                       new SqlParameter("@CenterPriceQuoteMachineID",SqlDbType.Char),    
                                       
                                          
                                         
         
         
                                       };
                mySQL[0].Value = "deleteRowtalents";
    
                mySQL[1].Value = Int_CenterPriceQuoteMachineID;
    
    
    
    
    
                int i = Centre.DAL_OPTableDB_Par("CenterPrice", mySQL);
                return i;
            }
    

    第三步:删去人材机、控制器

       public ContentResult deleteRowtalents(string Int_CenterPriceQuoteMachineID)
            {
    
                int i = Centre.deleteRowtalents(Convert.ToInt32(Int_CenterPriceQuoteMachineID));
                string k = i.ToString();
                return Content(k);
            }
    

    第四步:删去人材机、界面层

    function deleteRowtalents(){
          
             $.getJSON("/ZhongJianDanJia/deleteRowtalents?Int_CenterPriceQuoteMachineID=" +$('#AmongConstitute').datagrid('getSelected').CenterPriceQuoteMachineID+ "&",
                                                                             function(data){//这就是调用控制器的方法来进行数据的删去
                                                                             alert("删去成功");
                                                                            $.getJSON("/ZhongJianDanJia/inquireAlentsChance?Int_CenterPriceQuoteComeposeID=" +$('#CentreConstitute').datagrid('getSelected').CenterPriceQuoteComeposeID+ "&",
                                                                             function(data){
                                                                              
                                                                             $('#AmongConstitute').datagrid('loadData',data);//这是把查出来的数据进行相应的绑定
                                                                               
                                                                                 for(var i=0;i< $('#AmongConstitute').datagrid('getData').rows.length;i++){//这是遍历所有人材机的价格进行相加
     
                                                                                        CombineGetprice =CombineGetprice + $('#AmongConstitute').datagrid('getData').rows[i]["CombineGetprice"]*1
                                                                                              
                                                                                  }
                                                                                    sum();//这是调用下面计算价格的方法
                                                                             
                                                                             });
                                                                             
                                                                             });
         }
    

       //计算定额的总数

       var centreGetPrice=0;
               function sum(){
            
       
                  $('#CentreConstitute').datagrid('getData').rows[indexdecide]["BudgetPrice"]=CombineGetprice;//这是把人材机的价格赋值给定额组成的价格
                  CombineGetprice=0;
                    $('#CentreConstitute').datagrid('getData').rows[indexdecide]["CombineGetprice"]= $('#CentreConstitute').datagrid('getData').rows[indexdecide]["BudgetPrice"]* $('#CentreConstitute').datagrid('getData').rows[indexdecide]["Counts"];
                   //这是把定额组成的数量和人材机价格乘起来
                     $('#CentreConstitute').datagrid('refreshRow',indexdecide);//这是刷新这一行,把数据提取出来
                  $.getJSON("/ZhongJianDanJia/CentreConstitutesum?Str_BudgetPrice=" +$('#CentreConstitute').datagrid('getData').rows[indexdecide]["BudgetPrice"]+ "&"
                                                                  +"Int_CenterPriceQuoteComeposeID="+$('#CentreConstitute').datagrid('getSelected').CenterPriceQuoteComeposeID+"&"
                                                                  +"Str_CombineGetprice="+  $('#CentreConstitute').datagrid('getData').rows[indexdecide]["CombineGetprice"],
                                                                function(data){
                                                                        //这是把价格增进数据库
                                                                         for(var i=0;i< $('#CentreConstitute').datagrid('getData').rows.length;i++){//这是遍历定额组成里面所有合价将其加起来
                                                                                            
                                                                                        centreGetPrice =centreGetPrice +   $('#CentreConstitute').datagrid('getData').rows[i]["CombineGetprice"]*1//这就是把所有合价加起来
                                                                                              
                                                                                  }
                                                                                  sum_centreGetPrice();//这是调用下面的方法,把价格增进中间列表
                                                                   
                                                                });
                  $('#CentreConstitute').datagrid('selectRow',indexdecide);//这是选择一行
                   $('#CentreConstitute').datagrid('beginEdit', indexdecide);//开始编制   
                  CombineGetprice=0;
                  
               }
    

    //第二步:核算中间单价的价格

      function sum_centreGetPrice(){ 
                        $('#centreGetPrice').datagrid('getData').rows[sum_Index]["BudgetPrice"]=centreGetPrice;//这是把价格赋给中间单间列表的预算价格
                         centreGetPrice=0; //赋完值就要清0
                             $.getJSON("/ZhongJianDanJia/sum_centreGetPrice?Str_BudgetPrice=" +$('#centreGetPrice').datagrid('getData').rows[sum_Index]["BudgetPrice"]+ "&"                                             +"Int_CenterPriceID="+$('#centreGetPrice').datagrid('getSelected').CenterPriceID+"&",
                                   function (data) { //中间很好
                                           $.getJSON("/ZhongJianDanJia/inquire?Int_BuildProjectID=" + @Session["项目ID"]+ "&",
                                            function (data) { 
                                            $('#centreGetPrice').datagrid('loadData',data);//加载数据给相应的datagrid
                                             UnitMingCheng="";GetPriceClassifyMingCheng="";//这是清空数据好用来判断
                                            circulate=0;//这是点击事件用来判断下一次执行
                                             $('#centreGetPrice').datagrid('selectRow',sum_Index);//这是选中一行
                                           }); 
                                   }); 
                       $('#CentreConstitute').datagrid('selectRow',indexdecide);  //选中一行
               }
    

    打开替换的窗体;


    下面就是打开替换窗体的html代码

      <div id="replace"  title="替换"  class="easyui-dialog" style="left:100px;top:30px">
          <div class="easyui-tabs" style="width:600px;height:300px">
          <div title="机械列表"style="padding:10px" >
           <table id="MachineryListingreplace" class="easyui-datagrid" style="width:570px;height:230px"  data-options="onDblClickRow:onClickMachineryListingreplace,singleSelect:true">
           <thead> 
            <tr>
                    <th field="Code" width="60" align="center">代号</th>
                    <th field="Name" width="160" align="center">名称</th>
    				<th field="Unit" width="80" align="center">单位</th>
    				<th field="BudgetPrice" width="100" align="center">预算价格</th>
    				<th field="Remark" width="130" align="center">备注</th>
            </tr> 
           </thead>
           </table>   
          </div>
          <div title="人工列表" style="padding:10px" >     
          <table id="PopleListingreplace1" class="easyui-datagrid" style="width:570px;height:230px" data-options="onDblClickRow:onClickPopleListingreplace,singleSelect:true">
           <thead>
            <tr> 
                    <th field="Number" width="60" align="center">代号</th>
                    <th field="Name" width="160" align="center">名称</th>
    				<th field="Unit" width="80" align="center">单位</th>
    				<th field="BudgetPrice" width="100" align="center">预算价格</th>
    				<th field="Remark" width="130" align="center">备注</th>
            </tr> 
           </thead>
           </table>    
          </div>
          <div  title="材料单价" style="padding:10px" @*data-options="iconCls:'icon-help'"*@> 
           <table id="MaterialListingreplace" class="easyui-datagrid" style="width:570px;height:230px" data-options="onDblClickRow:onClickMaterialListingreplace,singleSelect:true">
           <thead> 
            <tr>
                    <th field="Code" width="60" align="center">代号</th>
                    <th field="Name" width="160" align="center">名称</th>
    				<th field="Unit" width="80" align="center">单位</th>
    				<th field="BudgetPrice" width="100" align="center">预算价格</th>
    				<th field="beizhu" width="130" align="center">备注</th>
            </tr> 
           </thead>
           </table>    
          </div>
          <div title="配合比单价" style="padding:10px"  >
          <table id="CoordinateGetpricereplace" class="easyui-datagrid" style="width:570px;height:230px" data-options="onDblClickRow:onClickCoordinateGetpricereplace,singleSelect:true">
           <thead>
            <tr> 
                    <th field="Code" width="60" align="center">代号</th>
                    <th field="MixProportionPriceName" width="160" align="center">名称</th>
    				<th field="Unit" width="80" align="center">单位</th>
    				<th field="BudgetPrice" width="100" align="center">预算价格</th>
    				<th field="Remark" width="130" align="center">备注</th>
            </tr> 
           </thead>
           </table>       
           </div>
           </div>
          </div>
    

    这是打开替换的窗体

     function replacewindow(){
             if($('#AmongConstitute').datagrid('getSelected')){
               $('#replace').window('open');
               }else{
                 alert("请选择人材机");
               
               }
          }  
    

    //这是双击配合比单价赋值给人材机、就以双击配合比单价为例

      var gg=0;
              function   onClickCoordinateGetpricereplace(){
               
                  for(var i=0;i<  $('#AmongConstitute').datagrid('getData').rows.length;i++){//这是遍历人材机
                        if($('#AmongConstitute').datagrid('getData').rows[i]["Code"]==$('#CoordinateGetpricereplace').datagrid('getSelected').Code&$('#AmongConstitute').datagrid('getData').rows[i]["Name"]==$('#CoordinateGetpricereplace').datagrid('getSelected').MixProportionPriceName){//这是判断人材机,和配合比单价是否有重复
                              gg=1;
                        } else{ 
                        }
                  
                  }
                if(gg==1){
                alert("已有相同");
                gg=0;
                } else{ 
              $.getJSON("/ZhongJianDanJia/onClickCoordinateGetpricereplace?Str_Code="+$('#CoordinateGetpricereplace').datagrid('getSelected').Code.trim()+ "&"
                                               +"Str_Name="+$('#CoordinateGetpricereplace').datagrid('getSelected').MixProportionPriceName+"&"
                                                
                                                +"Int_Unit="+$('#CoordinateGetpricereplace').datagrid('getSelected').Unit.trim()+"&"
                                                +"Str_Amount="+1+"&"
                                                +"Int_CenterPriceQuoteMachineID="+$('#AmongConstitute').datagrid('getSelected').CenterPriceQuoteMachineID+"&"
                                                +"Int_BudgetPrice="+$('#CoordinateGetpricereplace').datagrid('getSelected').BudgetPrice+"&"
                                                +"Str_Type="+"配合比"+"&"
                                                +"Str_Remark="+$('#CoordinateGetpricereplace').datagrid('getSelected').Remark+"&",
                                                function(data){
                                                alert("替换成功");
                                                       $.getJSON("/ZhongJianDanJia/inquireAlentsChance?Int_CenterPriceQuoteComeposeID=" +$('#CentreConstitute').datagrid('getSelected').CenterPriceQuoteComeposeID+ "&",
                                                                             function(data){
                                                                                $('#replace').window('close');//这是关闭窗体
                                                                                   $('#AmongConstitute').datagrid('loadData',data);//这是绑定数据
                                                                                $('#AmongConstitute').datagrid('selectRow',Index);//选中下拉树
                                                                              $('#AmongConstitute').datagrid('getData').rows[Index]["CombineGetprice"]=  $('#AmongConstitute').datagrid('getData').rows[Index]["CountNumber"]*1*$('#AmongConstitute').datagrid('getData').rows[Index]["BudgetPrice"]*1;//这是把人材机的数量和人材机的预算价格乘起来赋值给人材机的合价
                                                                               $('#AmongConstitute').datagrid('refreshRow',Index); //这是刷新那一行,把数据显示出来
                                                                              $.getJSON("/ZhongJianDanJia/onAfterConstitute?Str_CombineGetprice=" +  $('#AmongConstitute').datagrid('getData').rows[Index]["CombineGetprice"]+ "&"
                                                                           +"Str_CountNumber="+$('#AmongConstitute').datagrid('getData').rows[Index]["CountNumber"]*1+"&"             +"Str_QuoteAmout="+$('#AmongConstitute').datagrid('getData').rows[Index]["QuoteAmout"]*1+"&"     +"Str_BudgetPrice="+$('#AmongConstitute').datagrid('getData').rows[Index]["BudgetPrice"]*1+"&"                   +"Int_CenterPriceQuoteMachineID="+$('#AmongConstitute').datagrid('getData').rows[Index]["CenterPriceQuoteMachineID"],
                                                                             function(data){//这是修改定额组成的人材机价格和合价
     $.getJSON("/ZhongJianDanJia/inquireAlentsChance?Int_CenterPriceQuoteComeposeID=" +$('#CentreConstitute').datagrid('getSelected').CenterPriceQuoteComeposeID+ "&",
                                                                             function(data){ //这是查询一遍定额组成
                                                                               $('#AmongConstitute').datagrid('loadData',data);//把查出来的数据赋值给相应的datagrid
                                                                                  $('#AmongConstitute').datagrid('selectRow',Index);//这是选中一行
                                                                                for(var i=0;i< $('#AmongConstitute').datagrid('getData').rows.length;i++){//这是遍历定额人材机
     
                                                                                        CombineGetprice =CombineGetprice + $('#AmongConstitute').datagrid('getData').rows[i]["CombineGetprice"]*1  //这是把所有定额人材机的合价,加起来               
                                                                                  }
                                                                                    sum();//这是调用下面的方法核算价格
                                                                            }); 
                                                                             }); 
                                                                             });
                                                
                                                });
                                                gg=0;
               
            }
            }  
    

       //计算定额的总数

     var centreGetPrice=0;
               function sum(){
            
       
                  $('#CentreConstitute').datagrid('getData').rows[indexdecide]["BudgetPrice"]=CombineGetprice;//这是把人材机的价格赋值给定额组成的价格
                  CombineGetprice=0;
                    $('#CentreConstitute').datagrid('getData').rows[indexdecide]["CombineGetprice"]= $('#CentreConstitute').datagrid('getData').rows[indexdecide]["BudgetPrice"]* $('#CentreConstitute').datagrid('getData').rows[indexdecide]["Counts"];
                   //这是把定额组成的数量和人材机价格乘起来
                     $('#CentreConstitute').datagrid('refreshRow',indexdecide);//这是刷新这一行,把数据提取出来
                  $.getJSON("/ZhongJianDanJia/CentreConstitutesum?Str_BudgetPrice=" +$('#CentreConstitute').datagrid('getData').rows[indexdecide]["BudgetPrice"]+ "&"
                                                                  +"Int_CenterPriceQuoteComeposeID="+$('#CentreConstitute').datagrid('getSelected').CenterPriceQuoteComeposeID+"&"
                                                                  +"Str_CombineGetprice="+  $('#CentreConstitute').datagrid('getData').rows[indexdecide]["CombineGetprice"],
                                                                function(data){
                                                                        //这是把价格增进数据库
                                                                         for(var i=0;i< $('#CentreConstitute').datagrid('getData').rows.length;i++){//这是遍历定额组成里面所有合价将其加起来
                                                                                            
                                                                                        centreGetPrice =centreGetPrice +   $('#CentreConstitute').datagrid('getData').rows[i]["CombineGetprice"]*1//这就是把所有合价加起来
                                                                                              
                                                                                  }
                                                                                  sum_centreGetPrice();//这是调用下面的方法,把价格增进中间列表
                                                                   
                                                                });
                  $('#CentreConstitute').datagrid('selectRow',indexdecide);//这是选择一行
                   $('#CentreConstitute').datagrid('beginEdit', indexdecide);//开始编制   
                  CombineGetprice=0;
                  
               }
    

    //第二步:核算中间单价的价格

      function sum_centreGetPrice(){ 
                        $('#centreGetPrice').datagrid('getData').rows[sum_Index]["BudgetPrice"]=centreGetPrice;//这是把价格赋给中间单间列表的预算价格
                         centreGetPrice=0; //赋完值就要清0
                             $.getJSON("/ZhongJianDanJia/sum_centreGetPrice?Str_BudgetPrice=" +$('#centreGetPrice').datagrid('getData').rows[sum_Index]["BudgetPrice"]+ "&"                                             +"Int_CenterPriceID="+$('#centreGetPrice').datagrid('getSelected').CenterPriceID+"&",
                                   function (data) { //中间很好
                                           $.getJSON("/ZhongJianDanJia/inquire?Int_BuildProjectID=" + @Session["项目ID"]+ "&",
                                            function (data) { 
                                            $('#centreGetPrice').datagrid('loadData',data);//加载数据给相应的datagrid
                                             UnitMingCheng="";GetPriceClassifyMingCheng="";//这是清空数据好用来判断
                                            circulate=0;//这是点击事件用来判断下一次执行
                                             $('#centreGetPrice').datagrid('selectRow',sum_Index);//这是选中一行
                                           }); 
                                   }); 
                       $('#CentreConstitute').datagrid('selectRow',indexdecide);  //选中一行
               }
    


    接下来就到定额人材机的复制

    var Code="";
            var Name="";
            var Unit="";
            var BudgetPrice="";
            var dingeshuliang="";
            var tiaozhenggongshi="";
            var jisuanshuliang="";
            var Remark="";
            var Type1="";
            var Copy3=0;
             //复制 
            function Copy(){
                if( $('#AmongConstitute').datagrid('getSelected')){//这是判断是否选中哪一行
              Code  = $('#AmongConstitute').datagrid('getSelected').Code;//把选中哪一行的值赋值给变量
               Name= $('#AmongConstitute').datagrid('getSelected').Name; //把选中哪一行的值赋值给变量
               Unit =$('#AmongConstitute').datagrid('getSelected').Unit;
               BudgetPrice =$('#AmongConstitute').datagrid('getSelected').BudgetPrice;
            
               QuoteAmout =$('#AmongConstitute').datagrid('getSelected').QuoteAmout;
               CombineGetprice1= $('#AmongConstitute').datagrid('getSelected').CombineGetprice;
              CountNumber = $('#AmongConstitute').datagrid('getSelected').CountNumber;
               Remark =$('#AmongConstitute').datagrid('getSelected').Remark;
               Type1 =$('#AmongConstitute').datagrid('getSelected').Type1;
              Copy3=1;//这是用来判断是否有复制过
              }
            }  
    

    //下面就是粘贴

    第一步:粘贴人材机、存储过程


    第二步:粘贴人材机、逻辑层

     public int patse(string Str_Code, string Str_Name, string Int_Unit, string Str_QuoteAmout, int Int_CenterPriceQuoteComeposeID, string Int_BudgetPrice, string Str_Type, string Str_Remark, string Str_CountNumber, string Str_CombineGetprice)
            {
                SqlParameter[] mySQL = {
                                            
                                       new SqlParameter("@type",SqlDbType.Char),                                   
                                                                   
                                                                   
                                       new SqlParameter("@Code",SqlDbType.Char),    
                                         new SqlParameter("@Name",SqlDbType.Char),    
                                           new SqlParameter("@Unit",SqlDbType.Char),    
                                             new SqlParameter("@QuoteAmout",SqlDbType.Char),    
                                             new SqlParameter("@CenterPriceQuoteComeposeID",SqlDbType.Int),
                                             new SqlParameter("@BudgetPrice",SqlDbType.Char),    
                                             new SqlParameter("@Type1",SqlDbType.Char),
                                            new SqlParameter("@Remark",SqlDbType.Char),
                                            new SqlParameter("@CountNumber",SqlDbType.Char),
         
                                            new SqlParameter("@CombineGetprice",SqlDbType.Char),
                                       };
                mySQL[0].Value = "patse";
                mySQL[1].Value = Str_Code;
                mySQL[2].Value = Str_Name;
                mySQL[3].Value = Int_Unit;
                mySQL[4].Value = Str_QuoteAmout;
                mySQL[5].Value = Int_CenterPriceQuoteComeposeID;
                mySQL[6].Value = Int_BudgetPrice;
                mySQL[7].Value = Str_Type;
                mySQL[8].Value = Str_Remark;
                mySQL[9].Value = Str_CountNumber;
                mySQL[10].Value = Str_CombineGetprice; 
                int i = Centre.DAL_OPTableDB_Par("CenterPrice", mySQL);//这就是给存储过程传参数mySQL
                return i;
            }
    

    第三步:粘贴人材机、控制器

      public ContentResult patse(string Str_Code, string Str_Name, string Int_Unit, string Str_QuoteAmout, string Int_CenterPriceQuoteComeposeID, string Int_BudgetPrice, string Str_Type, string Str_Remark, string Str_CountNumber, string Str_CombineGetprice)
            {
    
                int i = Centre.patse(Str_Code, Str_Name, Int_Unit, Str_QuoteAmout, Convert.ToInt32(Int_CenterPriceQuoteComeposeID), Int_BudgetPrice, Str_Type, Str_Remark, Str_CountNumber, Str_CombineGetprice);//这就是调用逻辑层的方法
                string k = i.ToString();
                return Content(k);//这就是把值返回给界面层
            }
    

    第四步:粘贴人材机、界面层

     var pastePanDuan=0; 
            function patse(){
                  if(Copy3==1){ 
                     var y= Code;
                    $.getJSON("/JiXieDanJia/oddnumbers/"
                                            ,
                          function (data) { //这就是一个每查询一遍就加一的方法
                       var t="_复制_"+data[0].oddnumbers;  
                       var tr= Code.trim()+t; //这就是拼接字符窜
                       for(var i=0;i<$('#AmongConstitute').datagrid('getData').rows.length;i++){//这是一个遍历所有数据
                        
                      if($('#AmongConstitute').datagrid('getData').rows[i]["Code"]==tr){ //这就是用定额人材机里面的所有数据和拼接的字符窜判断是否有重复
                            pastePanDuan=1
                      }else{
                         pastePanDuan=0;
                      }
                  }
                    if(pastePanDuan==0){
                   if(confirm('是否需要粘贴?')){ //这是一个系统的提醒方法
                $.getJSON("/ZhongJianDanJia/patse?Str_Code=" + tr+ "&"
                                               +"Str_Name="+  Name+"&" 
                                                +"Int_Unit="+ Unit+"&"
                                                +"Str_QuoteAmout="+ QuoteAmout+"&"
                                                +"Int_CenterPriceQuoteComeposeID="+   $('#CentreConstitute').datagrid('getSelected').CenterPriceQuoteComeposeID+"&"
                                                +"Int_BudgetPrice="+ BudgetPrice+"&"
                                                +"Str_Type="+Type1+"&"
                                                +"Str_Remark="+ Remark+"&"
                                                +"Str_CountNumber="+CountNumber+"&"
                                                +"Str_CombineGetprice="+CombineGetprice1,
                                                function(data){
                                                alert("成功");
                                                       $.getJSON("/ZhongJianDanJia/inquireAlentsChance?Int_CenterPriceQuoteComeposeID=" +$('#CentreConstitute').datagrid('getSelected').CenterPriceQuoteComeposeID+ "&",
                                                                             function(data){
                                                                               
                                                                             $('#AmongConstitute').datagrid('loadData',data);//这是把查出来的数据绑定给相应的datagrid
    
                                                                            for(var i=0;i< $('#AmongConstitute').datagrid('getData').rows.length;i++){//这是定额人材机里面的合价,把合价全部加起来
                                                                                        
                                                                                          
                                                                                        CombineGetprice =CombineGetprice*1 + $('#AmongConstitute').datagrid('getData').rows[i]["CombineGetprice"]*1//把合价全部加起来
    
                                                                                           
                                                                                  }
                                                                                    sum(); //这也是调用了下面的核算方法
                                                                             });
                                                
                                 });
                               
                                }
                                }else{
                                  alert("代号已有重复,请再次粘贴");
                                }
                                 });
                                 }else{
                                 
                                 alert("请先复制11");
                                 }
            }
    

    //计算定额的总数

      var centreGetPrice=0;
               function sum(){
            
       
                  $('#CentreConstitute').datagrid('getData').rows[indexdecide]["BudgetPrice"]=CombineGetprice;//这是把人材机的价格赋值给定额组成的价格
                  CombineGetprice=0;
                    $('#CentreConstitute').datagrid('getData').rows[indexdecide]["CombineGetprice"]= $('#CentreConstitute').datagrid('getData').rows[indexdecide]["BudgetPrice"]* $('#CentreConstitute').datagrid('getData').rows[indexdecide]["Counts"];
                   //这是把定额组成的数量和人材机价格乘起来
                     $('#CentreConstitute').datagrid('refreshRow',indexdecide);//这是刷新这一行,把数据提取出来
                  $.getJSON("/ZhongJianDanJia/CentreConstitutesum?Str_BudgetPrice=" +$('#CentreConstitute').datagrid('getData').rows[indexdecide]["BudgetPrice"]+ "&"
                                                                  +"Int_CenterPriceQuoteComeposeID="+$('#CentreConstitute').datagrid('getSelected').CenterPriceQuoteComeposeID+"&"
                                                                  +"Str_CombineGetprice="+  $('#CentreConstitute').datagrid('getData').rows[indexdecide]["CombineGetprice"],
                                                                function(data){
                                                                        //这是把价格增进数据库
                                                                         for(var i=0;i< $('#CentreConstitute').datagrid('getData').rows.length;i++){//这是遍历定额组成里面所有合价将其加起来
                                                                                            
                                                                                        centreGetPrice =centreGetPrice +   $('#CentreConstitute').datagrid('getData').rows[i]["CombineGetprice"]*1//这就是把所有合价加起来
                                                                                              
                                                                                  }
                                                                                  sum_centreGetPrice();//这是调用下面的方法,把价格增进中间列表
                                                                   
                                                                });
                  $('#CentreConstitute').datagrid('selectRow',indexdecide);//这是选择一行
                   $('#CentreConstitute').datagrid('beginEdit', indexdecide);//开始编制   
                  CombineGetprice=0;
                  
               }
    

    //第二步:核算中间单价的价格

     function sum_centreGetPrice(){ 
                        $('#centreGetPrice').datagrid('getData').rows[sum_Index]["BudgetPrice"]=centreGetPrice;//这是把价格赋给中间单间列表的预算价格
                         centreGetPrice=0; //赋完值就要清0
                             $.getJSON("/ZhongJianDanJia/sum_centreGetPrice?Str_BudgetPrice=" +$('#centreGetPrice').datagrid('getData').rows[sum_Index]["BudgetPrice"]+ "&"                                             +"Int_CenterPriceID="+$('#centreGetPrice').datagrid('getSelected').CenterPriceID+"&",
                                   function (data) { //中间很好
                                           $.getJSON("/ZhongJianDanJia/inquire?Int_BuildProjectID=" + @Session["项目ID"]+ "&",
                                            function (data) { 
                                            $('#centreGetPrice').datagrid('loadData',data);//加载数据给相应的datagrid
                                             UnitMingCheng="";GetPriceClassifyMingCheng="";//这是清空数据好用来判断
                                            circulate=0;//这是点击事件用来判断下一次执行
                                             $('#centreGetPrice').datagrid('selectRow',sum_Index);//这是选中一行
                                           }); 
                                   }); 
                       $('#CentreConstitute').datagrid('selectRow',indexdecide);  //选中一行
               }
    

    上移

      var dex="";
             function UpMove(){
                        if(dex==""){//这是判断如果它等空,就索引减一
                       dex =Index-1;// Index就是点击的索引
                     }else{
                       dex=dex-1;
                      
                     }
                    $('#AmongConstitute').datagrid('selectRow',dex)//这就是选中的行
                   
                  
             
             }
    


         下移

     function below(){
                 if(dex==""){//这就是判断如果它等空,就索引减一
                       dex =Index+1;// Index这就是点击的索引
                     }else{
                       dex=dex+1;
                      
                     }
                    
                 $('#AmongConstitute').datagrid('selectRow',dex)//这就是选中的行
             }
    

    仅供学习,禁止用于商业用途









    展开全文
  • 解释:源代码->中间代码->目标代码 目标代码是机器可直接执行的代码 不管编译还是解释,都需要转为机器识别的才能执行, 只不过解释是靠虚拟机或者其他机制 例题1: 关于解释系统的叙述中,正确的是() ...
    1.目标程序是 编译系统生成的,解释系统不生成目标程序。
    编译: 源代码->目标代码
    解释:源代码->中间代码->目标代码
    目标代码是机器可直接执行的代码
    不管编译还是解释,都需要转为机器识别的才能执行, 只不过解释是靠虚拟机或者其他机制
    例题1:
    关于解释系统的叙述中,正确的是()
    A.解释程序不是直接执行,而是转换成机器可识别码之后才能执行;
    B.使用解释系统时会区分编译阶段和运行阶段
    C.目标程序可以脱离其语言环境独立执行,使用比较方便、效率较高
    D.一般来说,建立在编译基础上的系统在执行速度要优于建立在解释执行基础上的系统;

    答案:AD


    展开全文
  • linux通过叫做VFS的中间层对这些文件系统提供了完美的支持。在大部分情况下,用户通过libc和kernel的VFS交互,不需要关心底层文件系统的具体实现。 我的理解,vfs就是对各种文件系统的一个抽象,它为各种文件系统...

    vfs(虚拟文件系统)是什么?
    我们知道文件系统的种类有很多。除了Linux标准的文件系统Ext2/Ext3/Ext4外,还有很多种文件系统 。linux通过叫做VFS的中间层对这些文件系统提供了完美的支持。在大部分情况下,用户通过libc和kernel的VFS交互,不需要关心底层文件系统的具体实现。

    我的理解,vfs就是对各种文件系统的一个抽象,它为各种文件系统提供了一个通用的接口,类似于c++中虚基类的作用,而每一种具体的文件系统则将其物理组织结构转换为虚拟文件系统的通用模型。

    vfs的作用
    vfs所隐含的思想是把表示很多不同种类文件系统的共同信息放入内核;其中有一个字段或函数来支持Linux所支持的所有实际文件系统所提供的任何操作。对所调用的每个读、写或其他函数,内核都能把它们替换成支持本地Linux文件系统、NTFS文件系统,或者文件所在的任何其他文件系统的实际函数。

    有了vfs,就能很容易实现不同文件系统之间的数据读写,因为它们对外接口都是一样的,都是vfs导出的通用接口。 
    以下ulk3书上的例子: 
    例如,假设一个用户输入以下shell命令: 
    $ cp /floppy/TEST /tmp/test

    其中/floppy是MS-DOS磁盘的一个安装点,而/tmp是一个标准的第二扩展文件系统(second Extended Filesystom, Ext2)的目录。正如图(a)所示,VFS是用户的应用程序与文件系统实现之间的抽象层。因此,cp程序并不需要知道/floppy/TEST 和 /tmp/test是什么文件系统类型。相反,cp程序直接与VFS交互,这是通过Unix程序设计人员都熟悉的普通系统调用来进行的。cp的执行代码如图(b)所示: 


    vfs支持的文件系统的类型
    磁盘文件系统 这类文件系统数目最多,最常见:ext2/ext3/ext4文件系统(关注重点)
    特殊文件系统。如/proc文件系统
    网络文件系统,如NFS
    VFS存在的意义
    向上,对应用层提供一个标准的文件操作接口;
    对下,对文件系统提供一个标准的接口,以便其他操作系统的文件系统可以方便的移植到Linux上;
    通用文件模型
    前面提过vfs所隐含的思想是把表示很多不同种类文件系统的共同信息放入内核,vfs通过引入一个通用文件模型来表示所有支持的文件系统。要实现每个具体的文件系统,必须将其物理组织结构转换为虚拟文件系统的通用文件模型。

    通用文件模型由下列对象类型组成:

    超级块对象(superblock object):存放已安装文件系统的有关信息。对基于磁盘的文件系统,这类对象通常对应于存放在磁盘上的文件系统控制块(filesystem control block)。
    索引节点对象(inode object):存放关于具体文件的一般信息。对基于磁盘的文件系统,这类对象通常对应于在磁盘上的文件控制块(file control block)。每个索引节点对象都有一个索引节点号,这个节点号唯一地标识文件系统中的文件。 
    inode由两个主要部分组成: 
    描述文件状态的元数据,文件元数据包括文件大小,权限,类型,时间;
    文件数据描述,则用来定义文件数据在磁盘上的存放位置。
    文件对象(file object):存放打开文件与进程之间进行交互的有关信息。这类信息仅当进程访问文件期间在于内核内存中。
    目录项对象(dentry object):存放目录项(也就是文件的特定名称)与对应文件进行链接的有关信息。每个磁盘文件系统都以自己特有的方式将该类信息存在磁盘上。底层文件系统的许多操作严重依赖文件的inode,在进行文件操作前,我们需要根据路径名找到文件对应的inode。我们知道文件系统是树状结构的,因此需要从根目录通过目录树找到要操作的文件或目录,这个遍历过程涉及到磁盘操作,非常耗时。根据局部性原理,很有必要把这个查找过程cache起来,dentry就是为了加快目录遍历操作引入的数据结构。
    (第一次看到这些概念,可能你也很懵逼,很正常,后面看了具体的数据结构代码可能会好点) 
    下图所示是一个简单的示例,说明进程怎样与文件进行交互。 
     
    三个不同进程已经打开同一个文件,其中两个进程使用同一个硬链接(我觉得是打开同一路径名文件)。在这种情况下,其中的每个进程都使用自己的文件对象,但只需要两个目录项对象,每个硬链接对应一个目录项对象。这两个目录项对象指向同一个索引节点对象,该索引节点对象标识超级块对象,以及随后的普通磁盘文件。

    链接
    软链接
    软链接又称为符号链接,软链接文件内容指向一个文件路径,也就是文件真实位置,软链接指向的文件也可以是软链接。

    硬链接
    硬链接是两个文件共享同一个inode。

    注意的地方
    在处理文件时,应用空间和内核空间使用的对象是不同的。对应用程序来说,文件描述符用来表示一个文件,这个文件描述符是打开文件时内核分配给这个文件的一个整数,注意,这个文件描述符只在本进程内有效;而对于内核来说,则使用一个inode来表示一个文件,这个inode可能对应着应用层多个进程内的多个文件描述符。 
    文件在内核内存中是由一个file数据结构来表示的。这种数据结构中包含一个称为f_op的字段,该字段中包含一个指向所访问文件的函数指针,当然还包括读文件的函数。sys_read()查找到指向该函数的指针,并调用它。这样一来,应用程序的read()就被转化为相对间接的调用:file->f_op->read(…); 
    与之类似,write()操作也会引发一个与输出文件相关的Ext2写函数的执行。简而言之,内核负责把一组合适的指针分配给与每个打开文件相关的file变量,然后负责调用针对每个具体文件系统的函数(由f_op字段指向)。
     

    展开全文
  • 的(MIR)的实验解释器。 它可以运行货物项目的二进制文件和测试套件,并检测某些类别的,例如: 超出范围的内存访问和释放后使用 无效使用未初始化的数据 违反内部先决条件(达到 ,调用具有重叠范围的 ,...) ...
  • 当前使用各种方法来解释裂变的实验数据。... 两种方法在解释上的不一致表明,根据系统的不同,结论可能与模型密切相关。 尽管这可能不足为奇,但它强调了从常规分析中可靠地提取基本核性质的可靠性仍然有限。
  • 解释系统基本原理概述 解释程序是一种语言处理程序,它实际是一台虚拟的机器,直接理解执行源程序或源程序的内部形式(中间代码)。因此,解释程序并不产生目标程序,这是它和编译程序的主要区别。 如图显示了解释...
  • 一个嵌入式系统装置一般都由嵌入式计算机系统和执行装置组成,如图1-1所示,嵌入式计算机系统是整个嵌入式系统的核心,由硬件层、中间层、系统软件层和应用软件层组成。执行装置也称为被控对象,它可以接受嵌入式...
  • 我的软考笔记-程序语言-汇编、编译、解释系统 中间代码:复杂性介于源程序语言和机器语言的一种表示形式。对于可执行语句,需要翻译成中间代码或目标代码。 特点: 1、一种简单且含义明确的记号系统,与具体的机器...
  • 解释系统基本原理概述 解释程序是一种语言处理程序,它实际是一台虚拟的机器,直接理解执行源程序或源程序的内部形式(中间代码)。因此,解释程序并不产生目标程序,这是它和编译程序的主要区别。 如图显示了解释...
  • 解释的通俗一点就好了,新生暴风哭泣 void readfile()/* 建立信息 */ { char *p="cangku.txt"; FILE *fp; int i=0; if ((fp=fopen("cangku.txt","w+"))==NULL) { printf("Open ...
  • UnderC C ++解释器 UnderC实现了旧版ISO标准的大量子集,包括异常处理,名称空间和模板。 显然,更高级的功能在一定程度上受到了限制,但出于教育目的将是很好的选择。 UnderC将源代码编译为中间的p代码,因此它并不...
  • 在计算机科学中,B树(英语:B-tree)是...B树减少定位记录时所经历的中间过程,从而加快存取速度。B树这种数据结构可以用来描述外部存储。这种数据结构常被应用在数据库和文件系统的实现上。——维基百科 每个B树存.
  • 我们常看到的Web端的后台管理员页面,结构基本都是页头、页尾,中间左侧菜单,右侧为主要页面。实现的方法有多种,iframe是最常见的一种。 需要的文件: 因为iframe后台管理系统是将多张 HTML 网页放到一个页面内,...
  • 一、词法分析 其任务是对源程序从前到后(从左到右)逐个字符扫描,从中识别出一个个“单词”符号。描述词法规则的有效工具是正规式和有效自动机。...其任务是根据语义分析的输出生成中间代码。 五、优化
  • 命令行解释

    2019-06-14 19:58:00
    命令行解释器是一个单独的软件程序,它可在用户和操作系统之间提供直接的通讯。命令行解释器是解释器的一种,用于对命令行进行解释执行。 解释器是一种电脑程序,能够把高级编程语言一行一行直接转译运行。解释器...
  • BIOS选项解释

    2012-10-26 09:35:13
    BIOS选项解释  1.打开系统电源或重新启动系统,显示器屏幕将出现自我测试的信息;  2. 当屏幕中间出现 Press Del to enter setup 提示时,按下 Del 键,就可以进入BIOS设定程序。  3. 以方向键移动至你要修改的...
  • 中台解释

    2019-09-25 01:46:55
    重复的轮子(集中在中台)例如:支付系统,用户系统,开发工具,数据分析,游戏引擎,基础设施,商品中心,交易中心,评价中心,营销中心等。 参考链接:https://mp.weixin.qq.com/s/rF7_xJBq4NJP6CmkW3HPpQ ...
  • 我们使用对象蒙版作为中间表示,以桥接真实和合成。 我们证明,当与在RGB图像上训练的分割模型结合使用时,我们经过综合训练的姿势解释器网络能够将其推广到真实数据。 我们用于物体姿态估计的端到端系统实时(20 ...
  • 词法分析和语法分析之后的中间代码生成是编译第三阶段的工作本章介绍几种典型的...中间代码所需的邻语言的动作原因是代码生成依赖于对语义的解释而语义的刻划的形式化系统尚未诞生为每一个产生式配一个翻译子程序语义子
  • 编译器的构成和工作原理 解释系统的工作原理 ...1、解释系统可以分为两部分: ...第一部分包括通常的...2、解释系统只形成中间代码(与机器无关),不形成目标程序。 3、解释型程序的执行速度没有编译型的快 4、
  • Java,解释型语言,源码第一个编译后,会生成一个中间码,这个对Java来说就是字节码,然后解释解释执行中间码,形成机器码(对于Java而言就是JVM内置的解释器,解释执行字节码) DLL,动态链接库,就是说在Windows...
  • 再说编译和解释

    2008-09-11 18:06:40
     编译型语言和解释型语言之间并没有绝对的区分,因为很多解释系统同样干了一些翻译工作,就像编译器一样。一个解释器可能通过以下方式执行代码:    1. 直接执行源代码。  2. 把源代码翻译成一些中间代码,然后...
  • 什么是中间人攻击?如何避免?

    万次阅读 2019-05-10 10:39:06
    正如它的名字本身所暗示的,当未授权的实体将自己置于两个通讯系统之间并试图截获正在传递的信息时,便是发生这类攻击的时候。简单的来说,MiTM攻击是现代版的窃听。 我们几分钟时间内就可以进一步了解中间人(MiTM...
  • 操作系统

    2020-10-12 20:19:11
    1 一个文件在同一个系统中、不同的存储介质上的拷贝,物理结构不同 2 连续分配内存利用率最低 3 分区分配内存管理方式的主要保护措施是界地址保护 ...10 MSIL Microsoft 中间语言是独立于CPU的指令集,
  • 超市名词解释

    2013-03-10 23:53:00
    条状平行线和中间空白之组 合,粘附于产品或包装箱之上,表达有关数据。可以用电子扫描 仪读这些数据。 2、POS(收银机) 收银机(point of sales 简称: POS)销售信息管理系统,其基 本...
  • 看完这篇操作系统,和面试官扯皮就没问题了

    千次阅读 多人点赞 2020-05-15 07:34:44
    解释一下什么是操作系统 操作系统是运行在计算机上最重要的一种软件,它管理计算机的资源和进程以及所有的硬件和软件。它为计算机硬件和软件提供了一种中间层 通常情况下,计算机上会运行着许多应用程序,它们都...
  • Android 各分区解释

    万次阅读 2013-03-21 15:03:55
    recovery:Recovery分区,相当于建立在hboot与android系统间的一个中间层,如名字一般,主要用于系统调试和恢复。. boot: 存放内核和ramdisk的分区. hboot:这个是SPL所在的分区,即bootloader radio:这
  • 解释器是用Scala编写的,是使用SBT构建系统构建的。 它解释了无类型的lambda演算表达式,并显示了解决该表达式所采取的每个中间步骤。 都显示了alpha转换和beta减少。 对于beta缩减,使用了Normal-Order Reduction...
  • UNIX系统

    2010-10-10 20:52:00
     UNIX是一个分时操作系统。它利用最内层硬件提供的基本服务,向外层提供全部应用程序所需要的服务...中间层则是shell命令解释层、应该程序和库函数等,该层中的shell解释程序是用户和UNIX的操作界面。  文

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 946
精华内容 378
关键字:

中间系统解释