Ver código fonte

人材机库、清单库删除容错相关

zhongzewei 6 anos atrás
pai
commit
f931e97ecd

+ 6 - 0
modules/bills_lib/controllers/bills_lib_controllers.js

@@ -150,6 +150,12 @@ module.exports = {
             callback(req, res, err, message, null);
         });
     },
+    isUsed: function(req, res){
+        let data = JSON.parse(req.body.data);
+        billsLibDao.isUsed(data, function (err, message, datas) {
+            callback(req, res, err, message, datas);
+        });
+    },
     getJobContent: function(req, res){
         let data = JSON.parse(req.body.data);
         billsLibDao.getJobContent(data, function(err, message, jobs){

+ 3 - 0
modules/bills_lib/controllers/bills_permissionController.js

@@ -56,6 +56,9 @@ class billsPermContr extends baseController{
     deleteBills(req, res){
         billsController.deleteBills(req, res);
     }
+    isUsed(req, res){
+        billsController.isUsed(req, res);
+    }
 
 }
 

+ 33 - 10
modules/bills_lib/models/bills_lib_interfaces.js

@@ -878,23 +878,23 @@ billsLibDao.prototype.removeTotal = function (data, callback) {
         delItems: function () {
             return function (cb) {
                 async.each(delIds, function (delItemId, ecb) {
-                    ItemCharacter.remove({billsLibId: billsLibId, id: delItemId}, function (err) {
+                    ItemCharacter.remove({billsLibId: billsLibId, id: delItemId}, function (err, result) {
                         if(err){
                             ecb(err);
                         }
-                        else{
+                        else {
                             ecb(null);
                         }
-                    }, function (err) {
-                        if(err){
-                            cb(err);
-                        }
-                        else{
-                            cb(null);
-                        }
                     });
+                }, function (err) {
+                    if(err){
+                        cb(err);
+                    }
+                    else{
+                        cb(null);
+                    }
                 });
-            }
+            };
         },
         delItemsArr: function () {
             return function (cb) {
@@ -1824,6 +1824,29 @@ billsLibDao.prototype.deleteBills = function(delData, callback){
     }
 }
 
+billsLibDao.prototype.isUsed = function (data, callback) {
+    if(data.field === 'jobs'){
+        Bills.findOne({$or: [{deleted: null}, {deleted: false}], 'jobs.id': {$in: data.delIds}}, function (err, result) {
+            if(err){
+                callback(1, 'error', null);
+            }
+            else {
+                callback(0, '', {isUsed: result ? true : false});
+            }
+        });
+    }
+    else {
+        Bills.findOne({$or: [{deleted: null}, {deleted: false}], 'items.id': {$in: data.delIds}}, function (err, result) {
+            if(err){
+                callback(1, 'error', null);
+            }
+            else {
+                callback(0, '', {isUsed: result ? true : false});
+            }
+        });
+    }
+};
+
 //--------------JobContent------------------
 
 billsLibDao.prototype.getJobContent = function(gJobData, callback){

+ 1 - 0
modules/bills_lib/routes/bills_lib_routes.js

@@ -47,6 +47,7 @@ module.exports =function (app) {
      billsRouter.post('/updateRecharge', billsContr.auth, billsContr.init, billsContr.updateRecharge);
      billsRouter.post('/pasteRel', billsContr.auth, billsContr.init, billsContr.pasteRel);
      billsRouter.post("/deleteBills", billsContr.auth, billsContr.init, billsContr.deleteBills);
+     billsRouter.post("/isUsed", billsContr.auth, billsContr.init, billsContr.isUsed);
 
      billsRouter.post("/getJobContent", jobsContr.auth, jobsContr.init, jobsContr.getJobContent);
      billsRouter.post("/createJobContent", jobsContr.auth, jobsContr.init, jobsContr.createJobContent);

+ 9 - 5
modules/std_glj_lib/controllers/gljController.js

@@ -172,13 +172,17 @@ class GljController extends BaseController{
             let gljIds = data.gljIds;
             let stdRation = await stdRationModel.findOne({isDeleted: false, 'rationGljList.gljId': {$in: gljIds}});
             if(stdRation){
-                res.json({error: 1, message: error, data: {isUsed: true}});
+                res.json({error: 0, message: 'success', data: {isUsed: true}});
             }
-            let cplRation = await cplRationModel.findOne({$or: [{deleteInfo: null}, {'deleteInfo.deleted': false}], 'rationGljList.gljId': {$in: gljIds}});
-            if(cplRation){
-                res.json({error: 1, message: error, data: {isUsed: true}});
+            else {
+                let cplRation = await cplRationModel.findOne({$or: [{deleteInfo: null}, {'deleteInfo.deleted': false}], 'rationGljList.gljId': {$in: gljIds}});
+                if(cplRation){
+                    res.json({error: 0, message: 'success', data: {isUsed: true}});
+                }
+                else {
+                    res.json({error: 0, message: 'success', data: {isUsed: false}});
+                }
             }
-            res.json({error: 1, message: error, data: {isUsed: false}});
         }
         catch (error){
             res.json({error: 1, message: error, data: null});

+ 2 - 0
web/maintain/bills_lib/html/neirong.html

@@ -213,6 +213,8 @@
     <script src="/lib/tether/tether.min.js"></script>
     <script src="/lib/bootstrap/bootstrap.min.js"></script>
     <script src="/web/maintain/bills_lib/scripts/global.js"></script>
+    <script src="/public/web/PerfectLoad.js"></script>
+    <script src="/public/web/common_ajax.js"></script>
     <script src="/public/web/sheet/sheet_common.js"></script>
     <script src="/web/maintain/bills_lib/scripts/set_sheets.js"></script>
     <script src="/web/maintain/bills_lib/scripts/bills_lib_ajax.js"></script>

+ 2 - 1
web/maintain/bills_lib/html/tezheng.html

@@ -214,7 +214,8 @@
     <script src="/lib/tether/tether.min.js"></script>
     <script src="/lib/bootstrap/bootstrap.min.js"></script>
     <script src="/web/maintain/bills_lib/scripts/global.js"></script>
-    <!--<script src="lib/global.js"></script>-->
+    <script src="/public/web/PerfectLoad.js"></script>
+    <script src="/public/web/common_ajax.js"></script>
     <script src="/public/web/sheet/sheet_common.js"></script>
     <script src="/web/maintain/bills_lib/scripts/set_sheets.js"></script>
     <script src="/web/maintain/bills_lib/scripts/bills_lib_ajax.js"></script>

+ 94 - 23
web/maintain/bills_lib/scripts/set_sheets.js

@@ -164,29 +164,50 @@ var myKey = {
         }
 
         function bindTotalJobDel(spread, billsIds, totalJobs, setting){
-            $('#delConfirm').click(function () {
-                spread.suspendEvent();
-                var ids = tools.delIds(sheet);
-                if(ids.length > 0){
-                    ids.forEach(function(id){
-                        var job = totalJobs.findJob(id);
-                        totalJobs.jobsArr.splice(totalJobs.jobsArr.indexOf(job), 1);
-                    });
-                    function myCompareCode(a, b){
-                        let valA = a.data.code,
-                            valB = b.data.code;
-                        return valB- valA;
-                    }
-                    totalJobs.jobsArr.sort(myCompareCode);
-                    maxJobsNumber = totalJobs.jobsArr.length > 0 ? totalJobs.jobsArr[0].data.code : 0;
-                    tools.reshowData(sheet, totalJobs.jobsArr, setting, true);
-                    billsAjax.removeTotal(userAccount, billsLibId, billsIds, ids, 'jobs');
-                }
-                spread.resumeEvent();
-                $('#delAlert').modal('hide');
-            });
             var sheet = spread.getActiveSheet();
             spread.commandManager().register('myJobDelete', function(){
+                let ids = tools.delIds(sheet);
+                if(ids.length === 0){
+                    return;
+                }
+                $.bootstrapLoading.start();
+                CommonAjax.post('/stdBillsEditor/isUsed', {field: 'jobs', delIds: ids}, function (rstData) {
+                    //被引用了
+                    if(rstData.isUsed){
+                        $('#delText').text('当前工作内容已被引用,不允许删除。');
+                        $('#delConfirm').unbind('click');
+                        $('#delConfirm').bind('click', function () {
+                            $('#delAlert').modal('hide');
+                            spread.focus(true);
+                        });
+                    }
+                    else {
+                        $('#delText').text('是否删除当前行?');
+                        $('#delConfirm').unbind('click');
+                        $('#delConfirm').bind('click', function () {
+                            spread.suspendEvent();
+                            ids.forEach(function(id){
+                                var job = totalJobs.findJob(id);
+                                totalJobs.jobsArr.splice(totalJobs.jobsArr.indexOf(job), 1);
+                            });
+                            function myCompareCode(a, b){
+                                let valA = a.data.code,
+                                    valB = b.data.code;
+                                return valB- valA;
+                            }
+                            totalJobs.jobsArr.sort(myCompareCode);
+                            maxJobsNumber = totalJobs.jobsArr.length > 0 ? totalJobs.jobsArr[0].data.code : 0;
+                            tools.reshowData(sheet, totalJobs.jobsArr, setting, true);
+                            billsAjax.removeTotal(userAccount, billsLibId, billsIds, ids, 'jobs');
+                            spread.resumeEvent();
+                            $('#delAlert').modal('hide');
+                            spread.focus(true);
+                        });
+                    }
+                    $.bootstrapLoading.end();
+                }, function () {
+                    $.bootstrapLoading.end();
+                });
                 $('#delAlert').modal('show');
             });
             spread.commandManager().setShortcutKey(null, GC.Spread.Commands.Key.del, false, false, false, false);
@@ -195,7 +216,7 @@ var myKey = {
 
         function bindTotalItemDel(spread, valSheet, billsIds, totalItems, setting){
             var sheet = spread.getActiveSheet();
-            $('#delConfirm').click(function () {
+            /*$('#delConfirm').click(function () {
                 spread.suspendEvent();
                 var ids = tools.delIds(sheet);
                 if(ids.length > 0){
@@ -223,8 +244,58 @@ var myKey = {
                 }
                 spread.resumeEvent();
                 $('#delAlert').modal('hide');
-            });
+            });*/
             spread.commandManager().register('myItemDelete', function(){
+                let ids = tools.delIds(sheet);
+                if(ids.length === 0){
+                    return;
+                }
+                $.bootstrapLoading.start();
+                CommonAjax.post('/stdBillsEditor/isUsed', {field: 'items', delIds: ids}, function (rstData) {
+                    //被引用了
+                    if(rstData.isUsed){
+                        $('#delText').text('当前项目特征已被引用,不允许删除。');
+                        $('#delConfirm').unbind('click');
+                        $('#delConfirm').bind('click', function () {
+                            $('#delAlert').modal('hide');
+                            spread.focus(true);
+                        });
+                    }
+                    else {
+                        $('#delText').text('是否删除当前行?');
+                        $('#delConfirm').unbind('click');
+                        $('#delConfirm').bind('click', function () {
+                            spread.suspendEvent();
+                            ids.forEach(function(id){
+                                var item = totalItems.findItem(id);
+                                totalItems.itemsArr.splice(totalItems.itemsArr.indexOf(item), 1);
+                            });
+                            function myCompareCode(a, b){
+                                let valA = a.data.code,
+                                    valB = b.data.code;
+                                return valB- valA;
+                            }
+                            totalItems.itemsArr.sort(myCompareCode);
+                            maxItemsNumber = totalItems.itemsArr.length > 0 ? totalItems.itemsArr[0].data.code : 0;
+                            tools.reshowData(sheet, totalItems.itemsArr, setting, true);
+                            billsAjax.removeTotal(userAccount, billsLibId, billsIds, ids, 'items');
+                            //reshowVal
+                            if(totalItems.itemsArr.length > 0){
+                                selectedId = totalItems.itemsArr[0].data.id;
+                                tools.reshowValue(valSheet, totalItems.itemsArr[0].data.itemValue, eigenValueSetting, true);
+                            }
+                            else {
+                                tools.clearData(valSheet);
+                            }
+                            spread.resumeEvent();
+                            $('#delAlert').modal('hide');
+                            spread.focus(true);
+                        });
+                    }
+                    $.bootstrapLoading.end();
+                }, function () {
+                    $.bootstrapLoading.end();
+                });
                 $('#delAlert').modal('show');
             });
             spread.commandManager().setShortcutKey(null, GC.Spread.Commands.Key.del, false, false, false, false);

+ 20 - 0
web/maintain/std_glj_lib/html/gongliao.html

@@ -161,6 +161,26 @@
             </div>
         </div>
     </div>
+    <div class="modal fade" id="typeAlert" data-backdrop="static" style="display: none;" aria-hidden="true">
+        <input type="hidden"  value="123">
+        <div class="modal-dialog" role="document">
+            <div class="modal-content">
+                <div class="modal-header">
+                    <h5 class="modal-title">警告</h5>
+                    <button type="button"  class="close typeClose" data-dismiss="modal" aria-label="Close">
+                        <span aria-hidden="true">×</span>
+                    </button>
+                </div>
+                <div class="modal-body">
+                    <h5 class="text-danger">确定要修改当前人材机的类型吗?</h5>
+                </div>
+                <div class="modal-footer">
+                    <button type="button" class="btn btn-danger" id="typeConfirm">确认</button>
+                    <button type="button" class="btn btn-secondary typeClose" data-dismiss="modal">取消</button>
+                </div>
+            </div>
+        </div>
+    </div>
     <!-- JS. -->
     <script src="/lib/jquery/jquery.min.js"></script>
     <script src="/lib/jquery-contextmenu/jquery.contextMenu.min.js"></script>

+ 156 - 51
web/maintain/std_glj_lib/js/glj.js

@@ -517,6 +517,7 @@ let repositoryGljObj = {
             else {
                 rObj.ID = me.currentGlj.ID;
                 rObj.gljClass = me.currentGlj.gljClass;
+
             }
         }
         else {
@@ -524,6 +525,7 @@ let repositoryGljObj = {
         }
     },
     onCellEditEnd: function(sender, args) {
+        console.log(args);
         let me = repositoryGljObj, that = gljComponentOprObj,
             rObj = sheetsOprObj.combineRowData(me.workBook.getSheet(0), me.setting, args.row, me),
             updateArr = [], addArr = [], updateBasePrcArr = [];
@@ -533,16 +535,53 @@ let repositoryGljObj = {
         if (me.currentEditingGlj["ID"] && me.currentGlj) {
             rObj["ID"] = me.currentEditingGlj["ID"];
             rObj.gljClass = me.currentEditingGlj.gljClass;
-                if(me.currentEditingGlj[me.setting.header[args.col].dataCode] !== rObj[me.setting.header[args.col].dataCode]){
-                    if(rObj[me.setting.header[0].dataCode] && rObj[me.setting.header[1].dataCode] && rObj[me.setting.header[5].dataCode] &&
-                        rObj[me.setting.header[0].dataCode].toString().trim().length !== 0 && rObj[me.setting.header[1].dataCode].toString().trim().length !== 0 && rObj[me.setting.header[5].dataCode].toString().trim().length !== 0){
-                        if(rObj.gljType !== me.currentEditingGlj.gljType){//修改了工料机类型
+            if(me.currentEditingGlj[me.setting.header[args.col].dataCode] !== rObj[me.setting.header[args.col].dataCode]){
+                if(rObj[me.setting.header[0].dataCode] && rObj[me.setting.header[1].dataCode] && rObj[me.setting.header[5].dataCode] &&
+                    rObj[me.setting.header[0].dataCode].toString().trim().length !== 0 && rObj[me.setting.header[1].dataCode].toString().trim().length !== 0 && rObj[me.setting.header[5].dataCode].toString().trim().length !== 0){
+                   /* if(rObj.gljType !== me.currentEditingGlj.gljType){//修改了工料机类型
+                        if(me.currentGlj){
+                            me.currentGlj.component = [];
+                        }
+                        /!*if(me.allowComponent.indexOf(rObj.gljType) !== -1){//更改成可添加组成物的类型,则将定额价设成零
+                         rObj.basePrice = 0;
+                         }*!/
+                        //调整系数,工料机类型为人工和机上人工时,可输入整数
+                        if((me.currentEditingGlj.gljType === 1 || me.currentEditingGlj.gljType === 303) && !(rObj.gljType === 1 || rObj.gljType === 303)){
+                            rObj.adjCoe = null;
+                        }
+                        //工料机类型不为机械台班时,清空机型
+                        if(me.currentEditingGlj.gljType === 301 && rObj.gljType !== 301 && me.currentEditingGlj.model){
+                            rObj.model = null;
+                        }
+                        if(componentType.includes(me.currentEditingGlj.gljType)&&
+                            !(machineComponent.includes(me.currentEditingGlj.gljType) && machineComponent.includes(rObj.gljType)) &&
+                            !(materialComponent.includes(me.currentEditingGlj.gljType) && materialComponent.includes(rObj.gljType))){//修改了原本是组成物的工料机
+                            //寻找所有引用了此组成物的工料机,并从组成物中删去此工料机,并重算单价
+                            let updateGljs = me.getUpdateGljs(rObj, true);
+                            if(updateGljs.updateArr.length > 0 || updateGljs.updateBasePrcArr.length > 0){
+                                for(let i = 0; i < updateGljs.updateArr.length; i++){
+                                    updateArr.push(updateGljs.updateArr[i]);
+                                }
+                                for(let i = 0; i < updateGljs.updateBasePrcArr.length; i++){
+                                    updateArr.push(updateGljs.updateBasePrcArr[i]);
+                                }
+                            }
+                        }
+                        sheetCommonObj.cleanData(that.workBook.getSheet(0), that.setting, 5);
+                    }*/
+                    if(rObj.gljType !== me.currentEditingGlj.gljType){//修改了工料机类型
+                        if(!$('#typeAlert').is(':visible')){
+                            $('#typeAlert').modal('show');
+                        }
+                        $('#typeConfirm').unbind('click');
+                        $('#typeConfirm').bind('click', function () {
+                            $('#typeAlert').modal('hide');
                             if(me.currentGlj){
                                 me.currentGlj.component = [];
                             }
                             /*if(me.allowComponent.indexOf(rObj.gljType) !== -1){//更改成可添加组成物的类型,则将定额价设成零
-                                rObj.basePrice = 0;
-                            }*/
+                             rObj.basePrice = 0;
+                             }*/
                             //调整系数,工料机类型为人工和机上人工时,可输入整数
                             if((me.currentEditingGlj.gljType === 1 || me.currentEditingGlj.gljType === 303) && !(rObj.gljType === 1 || rObj.gljType === 303)){
                                 rObj.adjCoe = null;
@@ -554,7 +593,7 @@ let repositoryGljObj = {
                             if(componentType.includes(me.currentEditingGlj.gljType)&&
                                 !(machineComponent.includes(me.currentEditingGlj.gljType) && machineComponent.includes(rObj.gljType)) &&
                                 !(materialComponent.includes(me.currentEditingGlj.gljType) && materialComponent.includes(rObj.gljType))){//修改了原本是组成物的工料机
-                               //寻找所有引用了此组成物的工料机,并从组成物中删去此工料机,并重算单价
+                                //寻找所有引用了此组成物的工料机,并从组成物中删去此工料机,并重算单价
                                 let updateGljs = me.getUpdateGljs(rObj, true);
                                 if(updateGljs.updateArr.length > 0 || updateGljs.updateBasePrcArr.length > 0){
                                     for(let i = 0; i < updateGljs.updateArr.length; i++){
@@ -566,54 +605,68 @@ let repositoryGljObj = {
                                 }
                             }
                             sheetCommonObj.cleanData(that.workBook.getSheet(0), that.setting, 5);
-                        }
-                        else if(rObj.adjCoe !== me.currentEditingGlj.adjCoe){//修改调整系数,整数控制
-                            if(isNaN(rObj.adjCoe) || rObj.adjCoe % 1 !== 0){
-                                args.sheet.setValue(args.row, args.col, me.currentEditingGlj.adjCoe ? me.currentEditingGlj.adjCoe : '');
-                                alert('调整系数只能输入整数!');
-                                return;
+                            rObj.component = me.currentGlj.component;
+                            updateArr.push(rObj);
+                            me.mixUpdateRequest(updateArr, [], []);
+                            let gljTypeObj = {gljId: me.currentEditingGlj.ID, gljType: rObj.gljType, basePrice: rObj.basePrice};
+                            updateBasePrcArr.push(gljTypeObj);
+                            if(me.rationLibs.length > 0){
+                                me.updateRationBasePrcRq(updateBasePrcArr);
                             }
+                        });
+                        $('.typeClose').unbind('click');
+                        $('.typeClose').bind('click', function () {
+                            args.sheet.setValue(args.row, args.col, _.find(me.distTypeTree.comboDatas, {value: me.currentGlj.gljType}).text);
+                        });
+                        return;
+                    }
+                    else if(rObj.adjCoe !== me.currentEditingGlj.adjCoe){//修改调整系数,整数控制
+                        if(isNaN(rObj.adjCoe) || rObj.adjCoe % 1 !== 0){
+                            args.sheet.setValue(args.row, args.col, me.currentEditingGlj.adjCoe ? me.currentEditingGlj.adjCoe : '');
+                            alert('调整系数只能输入整数!');
+                            return;
+                        }
 
+                    }
+                    else if(rObj.materialCoe !== me.currentEditingGlj.materialCoe){
+                        if(isNaN(rObj.materialCoe)){
+                            args.sheet.setValue(args.row, args.col, me.currentEditingGlj.materialCoe ? me.currentEditingGlj.materialCoe : '');
+                            alert('三材系数只能输入数值!');
+                            return;
                         }
-                        else if(rObj.materialCoe !== me.currentEditingGlj.materialCoe){
-                            if(isNaN(rObj.materialCoe)){
-                                args.sheet.setValue(args.row, args.col, me.currentEditingGlj.materialCoe ? me.currentEditingGlj.materialCoe : '');
-                                alert('三材系数只能输入数值!');
-                                return;
-                            }
-                            rObj.materialCoe = scMathUtil.roundTo(parseFloat(rObj.materialCoe), -5);
+                        rObj.materialCoe = scMathUtil.roundTo(parseFloat(rObj.materialCoe), -5);
+                    }
+                    else if(rObj.basePrice !== me.currentEditingGlj.basePrice){//修改了单价,可修改单价的必为可成为组成物的
+                        //寻找所有引用了此组成物的工料机,并从组成物中删去此工料机,并重算单价
+                        if(isNaN(parseFloat(rObj.basePrice))){
+                            alert('单价只能输入数值!');
+                            args.sheet.setValue(args.row, args.col, me.currentEditingGlj.basePrice ? me.currentEditingGlj.basePrice : 0);
+                            return;
                         }
-                        else if(rObj.basePrice !== me.currentEditingGlj.basePrice){//修改了单价,可修改单价的必为可成为组成物的
-                            //寻找所有引用了此组成物的工料机,并从组成物中删去此工料机,并重算单价
-                            if(isNaN(parseFloat(rObj.basePrice))){
-                                alert('单价只能输入数值!');
-                                args.sheet.setValue(args.row, args.col, me.currentEditingGlj.basePrice ? me.currentEditingGlj.basePrice : 0);
-                                return;
+                        rObj.basePrice = !isNaN(parseFloat(rObj.basePrice))? scMathUtil.roundTo(parseFloat(rObj.basePrice), -2) : me.currentEditingGlj.basePrice;
+                        let updateGljs = me.getUpdateGljs(rObj);
+                        if(updateGljs.updateArr.length > 0 || updateGljs.updateBasePrcArr.length > 0){
+                            for(let i = 0; i < updateGljs.updateArr.length; i++){
+                                updateArr.push(updateGljs.updateArr[i]);
                             }
-                            rObj.basePrice = !isNaN(parseFloat(rObj.basePrice))? scMathUtil.roundTo(parseFloat(rObj.basePrice), -2) : me.currentEditingGlj.basePrice;
-                            let updateGljs = me.getUpdateGljs(rObj);
-                            if(updateGljs.updateArr.length > 0 || updateGljs.updateBasePrcArr.length > 0){
-                                for(let i = 0; i < updateGljs.updateArr.length; i++){
-                                    updateArr.push(updateGljs.updateArr[i]);
-                                }
-                                for(let i = 0; i < updateGljs.updateBasePrcArr.length; i++){
-                                    updateArr.push(updateGljs.updateBasePrcArr[i]);
-                                }
+                            for(let i = 0; i < updateGljs.updateBasePrcArr.length; i++){
+                                updateArr.push(updateGljs.updateBasePrcArr[i]);
                             }
                         }
-                        rObj.component = me.currentGlj.component;
-                        updateArr.push(rObj);
+                    }
+                    rObj.component = me.currentGlj.component;
+                    updateArr.push(rObj);
+                }
+                else{
+                    if(me.setting.header[args.col].dataCode === 'gljType'){
+                        let distTypeVal =  me.distTypeTree.distTypes[me.distTypeTree.prefix + me.currentEditingGlj[me.setting.header[args.col].dataCode]].data.fullName;
+                        args.sheet.setValue(args.row, args.col, distTypeVal);
                     }
                     else{
-                        if(me.setting.header[args.col].dataCode === 'gljType'){
-                            let distTypeVal =  me.distTypeTree.distTypes[me.distTypeTree.prefix + me.currentEditingGlj[me.setting.header[args.col].dataCode]].data.fullName;
-                            args.sheet.setValue(args.row, args.col, distTypeVal);
-                        }
-                        else{
-                            args.sheet.setValue(args.row, args.col, me.currentEditingGlj[me.setting.header[args.col].dataCode]);
-                        }
+                        args.sheet.setValue(args.row, args.col, me.currentEditingGlj[me.setting.header[args.col].dataCode]);
                     }
                 }
+            }
             if(me.currentEditingGlj.basePrice !== rObj.basePrice){
                 //update basePrice of ration when editting basePrice of glj
                 let gljType = -1;
@@ -633,14 +686,14 @@ let repositoryGljObj = {
                 }
             }
             //update basePrice of ration when editting gljType of glj
-            if(me.currentEditingGlj.gljType !== rObj.gljType){
+         /*   if(me.currentEditingGlj.gljType !== rObj.gljType){
 
                 let gljTypeObj = {gljId: me.currentEditingGlj.ID, gljType: rObj.gljType, basePrice: rObj.basePrice};
                 updateBasePrcArr.push(gljTypeObj);
                 if(me.rationLibs.length > 0){
                     me.updateRationBasePrcRq(updateBasePrcArr);
                 }
-            }
+            }*/
         }
         //新增
         else {
@@ -655,8 +708,8 @@ let repositoryGljObj = {
                     rObj.component = [];
                     //如果类型为混凝土、砂浆、配合比、机械台班时,添加时填写的单价清空
                     /*if(me.allowComponent.indexOf(rObj.gljType) !== -1){
-                        rObj.basePrice = 0;
-                    }*/
+                     rObj.basePrice = 0;
+                     }*/
                     rObj.basePrice = !isNaN(parseFloat(rObj.basePrice)) && (rObj.basePrice && typeof rObj.basePrice !== 'undefined') ? scMathUtil.roundTo(parseFloat(rObj.basePrice), -2) : 0;
                     addArr.push(rObj);
                 }
@@ -676,8 +729,7 @@ let repositoryGljObj = {
         me.workBook.commandManager().register('repositoryGljDel', function () {
             let sheet = me.workBook.getSheet(0),
                 updateArr = [], removeArr = [],
-                tempRemoveArr= [],
-                refGljCodes = [], //已被引用的工料机
+                removeNames = [],
                 updateBasePrcArr = [],//删除基价单位后重新计算
                 sels = sheet.getSelections(),
                 canUpdate = false,
@@ -698,6 +750,7 @@ let repositoryGljObj = {
                                     }
                                 }
                                 removeArr.push(cacheSection[sels[i].row + j].ID);
+                                removeNames.push(cacheSection[sels[i].row + j].name);
                                 //tempRemoveArr.push({ID: cacheSection[sels[i].row + j].ID, code: cacheSection[sels[i].row + j].code});
                                 //删除后重新计算引用了此工料机的定额单价
                                 updateBasePrcArr.push({gljId: cacheSection[sels[i].row + j].ID, gljType: cacheSection[sels[i].row + j].gljType, basePrice: 0, delete: 1});
@@ -743,7 +796,7 @@ let repositoryGljObj = {
                         }
                     }
                 }
-                if(removeArr.length > 0 || updateArr.length > 0){
+             /*   if(removeArr.length > 0 || updateArr.length > 0){
                     //删除警告
                     let upAlertText = removeArr.length > 0 ? '可能已有定额引用了当前人材机,导致定额查找不到此人材机。确定要删除吗?' : '确认删除选中字段?';
                     $('#alertGljTxt').text(upAlertText);
@@ -756,6 +809,58 @@ let repositoryGljObj = {
                         }
                         $('#aleConfBtn').unbind('click');
                     });
+                }*/
+                if(updateArr.length > 0){
+                    //删除警告
+                    let upAlertText = '确认删除选中字段?';
+                    $('#alertGljTxt').text(upAlertText);
+                    $('#gljAlert').modal('show');
+                    //确认
+                    $('#aleConfBtn').bind('click', function () {
+                        me.mixUpdateRequest(updateArr, [], []);
+                        if(updateBasePrcArr.length > 0 && me.rationLibs.length > 0){
+                            me.updateRationBasePrcRq(updateBasePrcArr);
+                        }
+                        $('#aleConfBtn').unbind('click');
+                    });
+                }
+                if(removeArr.length > 0){
+                    $.bootstrapLoading.start();
+                    CommonAjax.post('/stdGljRepository/api/isUsed', {gljIds: removeArr}, function (rstData) {
+                        $.bootstrapLoading.end();
+                        //存在被引用的人材机(标准/补充定额库)
+                        if(rstData.isUsed){
+                            $('#gljAlert').find('.modal-body h5').text('已有定额引用了当前人材机,不可删除。');
+                            $('#gljAlert').modal('show');
+                            $('#aleConfBtn').unbind('click');
+                            $('#aleConfBtn').bind('click', function () {
+                                $('#gljAlert').modal('hide');
+                                me.workBook.focus(true)
+                            });
+                        }
+                        else {
+                            $('#gljAlert').find('.modal-body h5').text(`确定要删除人材机 “${removeNames.join(',')}” 吗? `);
+                            $('#gljAlert').modal('show');
+                            //确认
+                            $('#aleConfBtn').unbind('click');
+                            $('#aleConfBtn').bind('click', function () {
+                                me.mixUpdateRequest([], [], removeArr);
+                                if(updateBasePrcArr.length > 0 && me.rationLibs.length > 0){
+                                    me.updateRationBasePrcRq(updateBasePrcArr);
+                                    me.workBook.focus(true);
+                                }
+                            });
+                        }
+                    }, function () {
+                        $.bootstrapLoading.end();
+                        $('#gljAlert').find('.modal-body h5').text('查询引用错误,不可删除。');
+                        $('#gljAlert').modal('show');
+                        $('#aleConfBtn').bind('click', function () {
+                            $('#gljAlert').modal('hide');
+                            $('#aleConfBtn').unbind('click');
+                            me.workBook.focus(true);
+                        });
+                    });
                 }
             }
         });