浏览代码

更换ajax为commonAjax

zhongzewei 7 年之前
父节点
当前提交
34f2b5637d

+ 18 - 12
modules/complementary_glj_lib/controllers/gljController.js

@@ -13,6 +13,7 @@ let callback = function(req, res, err, message, data){
 
 
 class GljController extends BaseController{
 class GljController extends BaseController{
     async redirectGlj(req, res){
     async redirectGlj(req, res){
+        console.log(req.s)
         let gljLibId = null, engineeringId, sessionCompilation = req.session.sessionCompilation,
         let gljLibId = null, engineeringId, sessionCompilation = req.session.sessionCompilation,
             rationValuation = sessionCompilation.ration_valuation,
             rationValuation = sessionCompilation.ration_valuation,
             billValuation = sessionCompilation.bill_valuation,
             billValuation = sessionCompilation.bill_valuation,
@@ -38,14 +39,15 @@ class GljController extends BaseController{
     getGljDistType (req, res) {
     getGljDistType (req, res) {
         let gljDistTypeCache = stdgljutil.getStdGljTypeCacheObj().toArray();
         let gljDistTypeCache = stdgljutil.getStdGljTypeCacheObj().toArray();
         if(gljDistTypeCache.length >0 ){
         if(gljDistTypeCache.length >0 ){
-            callback(req, res, null, '', gljDistTypeCache);
+            callback(req, res, 0, '', gljDistTypeCache);
         }
         }
         else {
         else {
             callback(req, res, 1, 'Error', null);
             callback(req, res, 1, 'Error', null);
         }
         }
     }
     }
     getGljTree(req,res){
     getGljTree(req,res){
-        let gljLibId = req.body.gljLibId;
+        let data = JSON.parse(req.body.data);
+        let gljLibId = data.gljLibId;
         gljDao.getGljTypes(gljLibId,function(err,data){
         gljDao.getGljTypes(gljLibId,function(err,data){
             callback(req,res,err, 'Get Tree', data)
             callback(req,res,err, 'Get Tree', data)
         });
         });
@@ -95,9 +97,10 @@ class GljController extends BaseController{
         });
         });
     }
     }
     getGljItems(req, res) {
     getGljItems(req, res) {
-        let stdGljLibId = req.body.stdGljLibId,
-            userId = req.body.userId,
-            compilationId = req.body.compilationId;
+        let data = JSON.parse(req.body.data);
+        let stdGljLibId = data.stdGljLibId,
+            userId = data.userId,
+            compilationId = data.compilationId
             gljDao.getGljItems(stdGljLibId, userId, compilationId, function(err, data){
             gljDao.getGljItems(stdGljLibId, userId, compilationId, function(err, data){
                 callback(req,res,err,'Get Items',data)
                 callback(req,res,err,'Get Items',data)
             });
             });
@@ -123,16 +126,19 @@ class GljController extends BaseController{
         })
         })
     }
     }
     mixUpdateGljItems(req, res){
     mixUpdateGljItems(req, res){
-        let userId = req.body.userId,
-            compilationId = req.body.compilationId,
-            updateItems = JSON.parse(req.body.updateItems),
-            addItems = JSON.parse(req.body.addItems),
-            removeIds = JSON.parse(req.body.removeIds);
-        gljDao.mixUpdateGljItems(userId, compilationId, updateItems, addItems, removeIds, function(err, message, rst){
+        let user_id = req.session.sessionUser.ssoId,
+            compilation_id = req.session.sessionCompilation._id;
+        console.log(user_id);
+        console.log(compilation_id);
+        let data = JSON.parse(req.body.data);
+        let updateItems = data.updateItems,
+            addItems = data.addItems,
+            removeIds = data.removeIds;
+        gljDao.mixUpdateGljItems(user_id, compilation_id, updateItems, addItems, removeIds, function(err, message, rst){
             if (err) {
             if (err) {
                 callback(req, res, err, message, null);
                 callback(req, res, err, message, null);
             } else {
             } else {
-                callback(req, res, err, message, rst);
+                callback(req, res, 0, message, rst);
             }
             }
         });
         });
     }
     }

+ 4 - 4
modules/complementary_glj_lib/models/gljModel.js

@@ -10,7 +10,7 @@ class GljDao {
     getGljTypes (gljLibId, callback){
     getGljTypes (gljLibId, callback){
         gljClassModel.find({"repositoryId": gljLibId, "$or": [{"isDeleted": null}, {"isDeleted": false} ]},function(err,data){
         gljClassModel.find({"repositoryId": gljLibId, "$or": [{"isDeleted": null}, {"isDeleted": false} ]},function(err,data){
             if(data.length) {
             if(data.length) {
-                callback(false,data);
+                callback(0,data);
             }
             }
             else  if(err) callback("获取工料机类型错误!",false);
             else  if(err) callback("获取工料机类型错误!",false);
         })
         })
@@ -88,10 +88,10 @@ class GljDao {
             }
             }
         ], function (err) {
         ], function (err) {
             if(err){
             if(err){
-                callback(true, null);
+                callback(err, null);
             }
             }
             else{
             else{
-                callback(false, rst);
+                callback(0, rst);
             }
             }
         })
         })
 
 
@@ -128,7 +128,7 @@ class GljDao {
                 callback(err, '更新组成物错误!', null);
                 callback(err, '更新组成物错误!', null);
             }
             }
             else{
             else{
-                callback(null, '成功!', result);
+                callback(0, '成功!', result);
             }
             }
         });
         });
     }
     }

+ 4 - 3
modules/main/controllers/bills_controller.js

@@ -42,9 +42,10 @@ module.exports = {
     },
     },
     //zhong 2017-9-1
     //zhong 2017-9-1
     updateCharacterContent: function (req, res) {
     updateCharacterContent: function (req, res) {
-        let findSet = JSON.parse(req.body.findSet),
-            updateObj = JSON.parse(req.body.updateObj),
-            txtObj = JSON.parse(req.body.txtObj);
+        let data = JSON.parse(req.body.data);
+        let findSet = data.findSet,
+            updateObj = data.updateObj,
+            txtObj = data.txtObj;
         billsData.updateCharacterContent(findSet, updateObj, txtObj, function (err, message) {
         billsData.updateCharacterContent(findSet, updateObj, txtObj, function (err, message) {
             callback(req, res, err, message, null);
             callback(req, res, err, message, null);
         });
         });

+ 5 - 4
modules/options/controllers/optionsController.js

@@ -10,7 +10,7 @@ let optionsDao = new OptionsDao();
 class OptionController extends BaseController {
 class OptionController extends BaseController {
     //获得所有选项类型的选项
     //获得所有选项类型的选项
     async getOptions(req, res){
     async getOptions(req, res){
-        let resJson = {error: null, message: '', data: []};
+        let resJson = {error: 0, message: '', data: []};
         let user_id = req.session.sessionUser.id,
         let user_id = req.session.sessionUser.id,
             compilation_id = req.session.sessionCompilation._id;
             compilation_id = req.session.sessionCompilation._id;
         let defaultOpts = {
         let defaultOpts = {
@@ -58,11 +58,12 @@ class OptionController extends BaseController {
     }
     }
 
 
     async saveOptions(req, res){
     async saveOptions(req, res){
-        let resJson = {error: null, message: '', data: null};
+        let resJson = {error: 0, message: '', data: null};
+        let data = JSON.parse(req.body.data);
         let user_id = req.session.sessionUser.id,
         let user_id = req.session.sessionUser.id,
             compilation_id = req.session.sessionCompilation._id,
             compilation_id = req.session.sessionCompilation._id,
-            optsType = req.body.optsType,
-            opts = JSON.parse(req.body.opts);
+            optsType = data.optsType,
+            opts = data.opts;
         try{
         try{
             let hasThisOpts = false;
             let hasThisOpts = false;
             for(let i in optionsTypes){
             for(let i in optionsTypes){

+ 1 - 1
web/building_saas/complementary_glj_lib/html/tools-gongliaoji.html

@@ -188,7 +188,7 @@
     <script type="text/javascript" src="/lib/ztree/jquery.ztree.core.js"></script>
     <script type="text/javascript" src="/lib/ztree/jquery.ztree.core.js"></script>
     <script type="text/javascript" src="/lib/ztree/jquery.ztree.excheck.js"></script>
     <script type="text/javascript" src="/lib/ztree/jquery.ztree.excheck.js"></script>
     <script type="text/javascript" src="/lib/ztree/jquery.ztree.exedit.js"></script>
     <script type="text/javascript" src="/lib/ztree/jquery.ztree.exedit.js"></script>
-    <script type="text/javascript" src="/public/web/scMathUtil.js"></script>
+    <script type="text/javascript" src="/public/web/common_ajax.js"></script>
     <script type="text/javascript" src="/public/web/treeDataHelper.js"></script>
     <script type="text/javascript" src="/public/web/treeDataHelper.js"></script>
     <script type="text/javascript" src="/public/web/QueryParam.js"></script>
     <script type="text/javascript" src="/public/web/QueryParam.js"></script>
     <script type="text/javascript" src="/web/building_saas/complementary_glj_lib/js/glj.js"></script>
     <script type="text/javascript" src="/web/building_saas/complementary_glj_lib/js/glj.js"></script>

+ 58 - 97
web/building_saas/complementary_glj_lib/js/glj.js

@@ -92,75 +92,46 @@ let repositoryGljObj = {
     },
     },
     getGljDistType: function (callback) {
     getGljDistType: function (callback) {
         let me = this;
         let me = this;
-        $.ajax({
-            type: 'post',
-            url: "complementartGlj/api/getGljDistType",
-            dataType: 'json',
-            success: function (result) {
-                if(!result.error && callback){
-                    me.distTypeTree = me.getComboData(result.data);
-                    console.log(me.distTypeTree);
-                    callback();
-                }
+        CommonAjax.post('complementartGlj/api/getGljDistType', {}, function (rstData) {
+            if(callback){
+                me.distTypeTree = me.getComboData(rstData);
+                console.log(me.distTypeTree);
+                callback();
             }
             }
-        })
+        });
     },
     },
     getGljTree: function(gljLibId, callback) {
     getGljTree: function(gljLibId, callback) {
         let me = this;
         let me = this;
-        $.ajax({
-            type:"POST",
-            url:"complementartGlj/api/getGljTree",
-            data:{"gljLibId": gljLibId},
-            dataType:"json",
-            cache:false,
-            timeout:20000,
-            success:function(result,textStatus,status){
-                if(status.status == 200) {
-                    zTreeHelper.createTree(result.data, gljSetting, "repositoryTree", me);
-                    zTreeHelper.createTree(result.data, componentSetting, "componentTree", componentOprObj);
-                    if (result.data && result.data.length > 0) {
-                        me.gljCurTypeId = result.data[0].ID;
-                    } else {
-                        //重新创建库?
-                        gljTypeTreeOprObj.addRootNode();
-                    }
-                    callback();
-                }
-            },
-            error:function(err){
-                alert(err.responseJSON.error);
+        CommonAjax.post('complementartGlj/api/getGljTree', {gljLibId: gljLibId}, function (rstData) {
+            zTreeHelper.createTree(rstData, gljSetting, "repositoryTree", me);
+            zTreeHelper.createTree(rstData, componentSetting, "componentTree", componentOprObj);
+            if (rstData && rstData.length > 0) {
+                me.gljCurTypeId = rstData[0].ID;
+            } else {
+                //重新创建库?
+               // gljTypeTreeOprObj.addRootNode();
+            }
+            if(callback){
+                callback();
             }
             }
-        })
+        });
     },
     },
     getGljItems: function(stdGljLibId, userId, compilationId) {
     getGljItems: function(stdGljLibId, userId, compilationId) {
         let me = this;
         let me = this;
-        $.ajax({
-            type:"POST",
-            url:"complementartGlj/api/getGljItems",
-            data:{stdGljLibId: stdGljLibId, userId: userId, compilationId: compilationId},
-            dataType:"json",
-            cache:false,
-            timeout:5000,
-            success:function(result){
-                if(!result.error) {
-                    me.stdGljList = result.data.stdGljs;
-                    me.complementaryGljList = result.data.complementaryGljs;
-                    me.workBook.getSheet(0).setRowCount(me.stdGljList.length);
-                    me.sortGlj(me.stdGljList);
-                    me.setProp('isStd', true, me.stdGljList);
-                    me.sortGlj(me.complementaryGljList);
-                    let rootNode = me.treeObj.getNodes()[0];
-                    if(rootNode && rootNode.isParent && rootNode.isFirstNode){
-                        componentOprObj.rootNode = rootNode;
-                        me.treeObj.selectNode(rootNode);
-                        gljTypeTreeOprObj.onClick(null, 'repositoryTree', rootNode);
-                    }
-                }
-            },
-            error:function(err){
-                alert(err.responseJSON.error);
+        CommonAjax.post('complementartGlj/api/getGljItems', {stdGljLibId: stdGljLibId, userId: userId, compilationId: compilationId}, function (rstData) {
+            me.stdGljList = rstData.stdGljs;
+            me.complementaryGljList = rstData.complementaryGljs;
+            me.workBook.getSheet(0).setRowCount(me.stdGljList.length);
+            me.sortGlj(me.stdGljList);
+            me.setProp('isStd', true, me.stdGljList);
+            me.sortGlj(me.complementaryGljList);
+            let rootNode = me.treeObj.getNodes()[0];
+            if(rootNode && rootNode.isParent && rootNode.isFirstNode){
+                componentOprObj.rootNode = rootNode;
+                me.treeObj.selectNode(rootNode);
+                gljTypeTreeOprObj.onClick(null, 'repositoryTree', rootNode);
             }
             }
-        })
+        });
     },
     },
     showGljItems: function(data, type) {
     showGljItems: function(data, type) {
         let me = repositoryGljObj;
         let me = repositoryGljObj;
@@ -963,39 +934,29 @@ let repositoryGljObj = {
         if(addArr.length > 0){
         if(addArr.length > 0){
             me.saveInString(addArr);
             me.saveInString(addArr);
         }
         }
-        $.ajax({
-            type:"POST",
-            url:"complementartGlj/api/mixUpdateGljItems",
-            data:{userId: pageOprObj.userId, compilationId: pageOprObj.compilationId, updateItems: JSON.stringify(updateArr), addItems: JSON.stringify(addArr), removeIds: JSON.stringify(removeIds)},
-            dataType:"json",
-            cache:false,
-            timeout:5000,
-            success:function(result){
-                if (result.error) {
-                    alert(result.message);
-                    me.getRationItems(me.currentRepositoryId);
-                } else {
-                    me.updateCache(addArr, updateArr, removeIds, result);
-                    me.sortGlj(me.complementaryGljList);
-                    if(me.currentOprParent === 1){
-                        me.currentCache = me.getParentCache(me.parentNodeIds["_pNodeId_" + me.gljCurTypeId]);
-                    }
-                    else{
-                        me.currentCache = me.getCache();
-                    }
-                    me.showGljItems(me.complementaryGljList, me.gljCurTypeId);
-                    //getCurrentGlj
-                    let row = me.workBook.getSheet(0).getSelections()[0].row;
-                    me.currentGlj = row < me.currentCache.length ? me.currentCache[row] : null;
-                    me.currentComponent = me.currentGlj ?  me.getCurrentComponent(me.currentGlj.component) : [];
-                    sheetOpr.cleanData(gljComponentOprObj.workBook.getSheet(0), gljComponentOprObj.setting, -1);
-                    sheetOpr.showData(gljComponentOprObj.workBook.getSheet(0), gljComponentOprObj.setting, me.currentComponent);
-                }
-            },
-            error:function(err){
-                alert("保存失败");
+        let url = 'complementartGlj/api/mixUpdateGljItems';
+        let post = {updateItems: updateArr, addItems: addArr, removeIds: removeIds};
+        let scCaller = function (rstData) {
+            me.updateCache(addArr, updateArr, removeIds, rstData);
+            me.sortGlj(me.complementaryGljList);
+            if(me.currentOprParent === 1){
+                me.currentCache = me.getParentCache(me.parentNodeIds["_pNodeId_" + me.gljCurTypeId]);
+            }
+            else{
+                me.currentCache = me.getCache();
             }
             }
-        })
+            me.showGljItems(me.complementaryGljList, me.gljCurTypeId);
+            //getCurrentGlj
+            let row = me.workBook.getSheet(0).getSelections()[0].row;
+            me.currentGlj = row < me.currentCache.length ? me.currentCache[row] : null;
+            me.currentComponent = me.currentGlj ?  me.getCurrentComponent(me.currentGlj.component) : [];
+            sheetOpr.cleanData(gljComponentOprObj.workBook.getSheet(0), gljComponentOprObj.setting, -1);
+            sheetOpr.showData(gljComponentOprObj.workBook.getSheet(0), gljComponentOprObj.setting, me.currentComponent);
+        }
+        let errCaller = function (err) {
+            alert('保存失败');
+        };
+        CommonAjax.post(url, post, scCaller, errCaller);
     },
     },
     saveInString: function (datas) {
     saveInString: function (datas) {
         for(let i = 0, len = datas.length; i < len; i++){
         for(let i = 0, len = datas.length; i < len; i++){
@@ -1040,7 +1001,7 @@ let repositoryGljObj = {
         }
         }
         return rst;
         return rst;
     },
     },
-    updateCache: function(addArr, updateArr, removeIds, result) {
+    updateCache: function(addArr, updateArr, removeIds, rstData) {
         let me = this, cacheSection = me.complementaryGljList;
         let me = this, cacheSection = me.complementaryGljList;
         if (addArr.length > 0) {
         if (addArr.length > 0) {
             me.complementaryGljList = me.complementaryGljList.concat(addArr);
             me.complementaryGljList = me.complementaryGljList.concat(addArr);
@@ -1053,11 +1014,11 @@ let repositoryGljObj = {
                 }
                 }
             }
             }
         }
         }
-        if (result && result.data && result.data.ops && result.data.ops.length > 0) {
-            for (let i = 0; i < result.data.ops.length; i++) {
+        if (rstData && rstData.ops && rstData.ops.length > 0) {
+            for (let i = 0; i < rstData.ops.length; i++) {
                 for (let j = 0; j < cacheSection.length; j++) {
                 for (let j = 0; j < cacheSection.length; j++) {
-                    if (cacheSection[j][me.setting.header[0].dataCode] == result.data.ops[i][me.setting.header[0].dataCode]) {
-                        cacheSection[j]["ID"] = result.data.ops[i]["ID"];
+                    if (cacheSection[j][me.setting.header[0].dataCode] == rstData.ops[i][me.setting.header[0].dataCode]) {
+                        cacheSection[j]["ID"] = rstData.ops[i]["ID"];
                     }
                     }
                 }
                 }
             }
             }

+ 1 - 2
web/building_saas/main/html/main.html

@@ -338,8 +338,7 @@
                                 </div>
                                 </div>
                                 <!--清单工程精度-->
                                 <!--清单工程精度-->
                                 <div class="tab-pane fade" id="poj-settings-5" role="tabpanel">
                                 <div class="tab-pane fade" id="poj-settings-5" role="tabpanel">
-                                    <div class="modal-auto-height">
-                                        清单工程精度
+                                    <div class="modal-auto-height" id="quantityPrecision">
                                     </div>
                                     </div>
                                 </div>
                                 </div>
                                 <!--小数位数-->
                                 <!--小数位数-->

+ 16 - 18
web/building_saas/main/js/views/character_content_view.js

@@ -733,24 +733,22 @@ let pageCCOprObj = {
         else{
         else{
             updateCol = null;
             updateCol = null;
         }
         }
-        $.ajax({
-            type: 'post',
-            url: '/bills/updateCharacterContent',
-            dataType: 'json',
-            data: {findSet: JSON.stringify(findSet), updateObj: JSON.stringify(updateObj), txtObj: JSON.stringify(txtObj)},
-            success: function (result) {
-                if(!result.error){
-                    //更新节点数据
-                    let selectedNode = projectObj.mainController.tree.selected;
-                    selectedNode.data[updateObj.field] = updateObj.updateArr;
-                    selectedNode.data[txtObj.field] = txtObj.text;
-                    me.showData(oprObj.workBook.getSheet(0), oprObj.setting, oprObj.currentCache);//刷新特征及内容Spread
-                    if(updateCol){
-                        let activeCell = projectObj.mainSpread.getActiveSheet().getSelections()[0];
-                        projectObj.mainSpread.getActiveSheet().setValue(activeCell.row, updateCol, txtObj.text + ''); //刷新输出显示
-                        projectObj.mainSpread.getActiveSheet().autoFitRow(activeCell.row);
-                    }
-                }
+        let url = '/bills/updateCharacterContent';
+        let postData = {
+            findSet: findSet,
+            updateObj: updateObj,
+            txtObj: txtObj
+        };
+        CommonAjax.post(url, postData, function (rstData) {
+            //更新节点数据
+            let selectedNode = projectObj.mainController.tree.selected;
+            selectedNode.data[updateObj.field] = updateObj.updateArr;
+            selectedNode.data[txtObj.field] = txtObj.text;
+            me.showData(oprObj.workBook.getSheet(0), oprObj.setting, oprObj.currentCache);//刷新特征及内容Spread
+            if(updateCol){
+                let activeCell = projectObj.mainSpread.getActiveSheet().getSelections()[0];
+                projectObj.mainSpread.getActiveSheet().setValue(activeCell.row, updateCol, txtObj.text + ''); //刷新输出显示
+                projectObj.mainSpread.getActiveSheet().autoFitRow(activeCell.row);
             }
             }
         });
         });
     }
     }

+ 9 - 24
web/building_saas/main/js/views/options_view.js

@@ -8,36 +8,21 @@ let optionsOprObj = {
     rationQuanACToRationUnit: $('#generalOpts2'),
     rationQuanACToRationUnit: $('#generalOpts2'),
     getOptions: function () {
     getOptions: function () {
         let me = this;
         let me = this;
-        $.ajax({
-            type: 'post',
-            url: '/options/getOptions',
-            dataType: 'json',
-            success: function (result) {
-                if(!result.error){
-                   me.options = result.data;
-                    for(let i = 0, len = me.options.length; i < len; i++){
-                        let optsType = me.options[i].type,
-                            opts = me.options[i].opts;
-                        if(optsType === me.optionsTypes.GENERALOPTS){
-                            for(let attr in opts){
-                                me[attr][0].checked = opts[attr];
-                            }
-                        }
+        CommonAjax.post('/options/getOptions', [], function (rstData) {
+            me.options = rstData;
+            for(let i = 0, len = me.options.length; i < len; i++){
+                let optsType = me.options[i].type,
+                    opts = me.options[i].opts;
+                if(optsType === me.optionsTypes.GENERALOPTS){
+                    for(let attr in opts){
+                        me[attr][0].checked = opts[attr];
                     }
                     }
                 }
                 }
             }
             }
         });
         });
     },
     },
     saveOptions: function (optsType, opts) {
     saveOptions: function (optsType, opts) {
-        $.ajax({
-            type: 'post',
-            url: '/options/saveOptions',
-            data: {optsType: optsType, opts: JSON.stringify(opts)},
-            dataType: 'json',
-            success: function (result) {
-
-            }
-        })
+        CommonAjax.post('/options/saveOptions', {optsType: optsType, opts: opts});
     },
     },
     //更新optionsOprObj对象options数据
     //更新optionsOprObj对象options数据
     updateOptions: function (options, updateObj) {
     updateOptions: function (options, updateObj) {

+ 1 - 2
web/building_saas/main/js/views/project_property_decimal_view.js

@@ -5,7 +5,7 @@
 let defaultDecimal = {
 let defaultDecimal = {
     min: 0,
     min: 0,
     max: 6,
     max: 6,
-    _def: {//定义往这加, editable: 开放给用户编辑的(入库),定义editable为true的字段时,要在后端project_model.js defaultDecimal中添加定义,html添加input
+    _def: {//定义往这加, editable: 开放给用户编辑的(入库),定义editable为false的字段时,只需在此定义便可,定义editable为true的字段时,要在后端project_model.js defaultDecimal中添加定义,html添加input
         bills: {editable: true, data: {unitPrice: 2, totalPrice: 2}},
         bills: {editable: true, data: {unitPrice: 2, totalPrice: 2}},
         ration: {editable: true, data: {quantity: 3, unitPrice: 2, totalPrice: 2}},
         ration: {editable: true, data: {quantity: 3, unitPrice: 2, totalPrice: 2}},
         glj: {editable: true, data: {quantity: 3, unitPrice: 2}},
         glj: {editable: true, data: {quantity: 3, unitPrice: 2}},
@@ -194,7 +194,6 @@ function a_updateDigits(updateDecimal){
         setDecimal(decimalObj, updateDecimal);
         setDecimal(decimalObj, updateDecimal);
         let v_data = m_getInitData(decimalObj);
         let v_data = m_getInitData(decimalObj);
         v_initPanel(v_data);
         v_initPanel(v_data);
-        console.log(decimalObj);
     };
     };
     let errCaller = function () {
     let errCaller = function () {
         alert('更新小数位数失败!');
         alert('更新小数位数失败!');