'use strict'; app.controller('hc_consumablesCtrl', ["$scope", "$http", "i18nService", "$rootScope", "$state", "$timeout", "moment", "$interval", "$modal", "$stateParams", "SweetAlert", "uiGridConstants", "uiGridGroupingConstants", "Restangular", "api_bpm_domain", "api_text", "api_bpm_data", "api_user_data", "api_cmdb", "api_cmdb2", "api_cmdb3", "api_cmdb4", "api_wechatfile", "api_sysinfo", function ($scope, $http, i18nService, $rootScope, $state, $timeout, moment, $interval, $modal, $stateParams, SweetAlert, uiGridConstants, uiGridGroupingConstants, Restangular, api_bpm_domain, api_text, api_bpm_data, api_user_data, api_cmdb, api_cmdb2, api_cmdb3, api_cmdb4, api_wechatfile, api_sysinfo) { $scope.ceshi = "耗材系统"; $scope.langs = i18nService.getAllLangs(); $scope.lang = 'zh-cn'; i18nService.setCurrentLang($scope.lang); $scope.myData = []; var loginUser = $rootScope.user; // $scope.searchData = function(){ // $scope.fileData.consumable["name"] = $scope.select_val.search_data.name; // $scope.refreshData('expand-right', $scope.fileData); // } // 修改供货公司 $scope.changeCompany = function(e){ console.log(e) $scope.companyIds = e; } //修改开始价格和结束价格 $scope.changePrice = function(val,type){ $scope[type] = val?Math.abs(parseFloat(val.toFixed(2), 10)):val; } // 监听编辑在库数量 $scope.$watch('hc_eject_inventoryNum', function (val, oldval) { var zhengze = /^\w{0,5}$/; if (!zhengze.exec(val)) { $scope.hc_eject_inventoryNum = oldval; } }); $scope.fileData = { "idx": 0, "sum": 10, "consumable": {} } // 清空表单 $scope.clearForm = function(){ $rootScope.hc_eject_name_caozuo = ''; $rootScope.hc_eject_brandModel_caozuo = ''; $rootScope.hc_eject_specification_caozuo = ''; $rootScope.hc_eject_companyIds_caozuo = []; $rootScope.hc_eject_startPrice_caozuo = ''; $rootScope.hc_eject_endPrice_caozuo = ''; $rootScope.hc_eject_isWarehousing_caozuo = 0; $rootScope.hc_eject_inventoryNum_caozuo = ''; $rootScope.hc_eject_inventorySum_caozuo = ''; delete $rootScope.hc_eject_id_caozuo; // ------------------- $scope.select_updata_name.updata_name = {name:''}; $scope.select_updata_pinpai.updata_pinpai = {name:''}; $scope.select_updata_guige.updata_guige = {name:''}; $scope.hc_eject_inventoryNum = ''; $scope.hc_eject_inventorySum = ''; $scope.isWarehousing = 0; $scope.startPrice = ''; $scope.endPrice = ''; $scope.companyIds = null; } //新增 $rootScope.isAdds = false;//是否是新增 $scope.addData = function () { $scope.clearForm(); $rootScope.isAdds = true; $rootScope.hc_eject_big = true; //编辑弹出框 $rootScope.hc_eject_sma = true; //编辑弹出框 // $rootScope.hc_toedit = "new_after"; } // 监听下拉框搜索 $scope.$watch('select_val.search_data', function (val) { // if (val == undefined) { // $scope.wt_data_display = true; // } else if (val.name == '全部') { // wt_data = { consumable: {} }; // $scope.wt_data_display = false; // if ($scope.fenye == undefined) { // $scope.fenye = 0 // }; // $scope.memoryfilterData = { // idx: $scope.fenye, // sum: 10 // } // //获取列表数据 // $scope.refreshData = function(style, filterData) { // // var data1={idx: 0, sum: 10}; // var pdKey = "consumable"; // $scope.myData = []; // api_cmdb3.fetchDataList(pdKey, filterData).then(function(data) { // // console.log(data.list); // if (data.list) { // var myData = Restangular.stripRestangular(data); // var list = []; // $scope.gridOptions['totalItems'] = myData.totalNum; // $scope.myData = myData.list; // for (var i = 0; i < $scope.myData.length; i++) { // $scope.myData[i]['item'] = i + 1 + filterData.idx * filterData.sum // } // } else { // SweetAlert.swal({ // title: "系统错误", // text: "请稍后再试!", // type: "error" // }); // } // $scope.ldloading[style.replace('-', '_')] = false; // }, function() { // $scope.ldloading[style.replace('-', '_')] = false; // }); // }; // $scope.refreshData('expand-right', $scope.memoryfilterData); // } else { // wt_data = { consumable: { "name": val.name } }; // $scope.wt_data_display = false; // if ($scope.fenye == undefined) { // $scope.fenye = 0 // }; // $scope.memoryfilterData = { // idx: $scope.fenye, // sum: 10, // consumable: { "name": val.name } // } // //获取列表数据 // $scope.refreshData = function(style, filterData) { // var pdKey = "consumable"; // $scope.myData = []; // // $scope.gridOptions['sum'] = filterData.sum; // api_cmdb3.fetchDataList(pdKey, filterData).then(function(data) { // // console.log(data.list); // if (data.list) { // var myData = Restangular.stripRestangular(data); // var list = []; // $scope.gridOptions['totalItems'] = myData.totalNum; // $scope.myData = myData.list; // for (var i = 0; i < $scope.myData.length; i++) { // $scope.myData[i]['item'] = i + 1 + filterData.idx * filterData.sum // } // } else { // SweetAlert.swal({ // title: "系统错误", // text: "请稍后再试!", // type: "error" // }); // } // $scope.ldloading[style.replace('-', '_')] = false; // }, function() { // $scope.ldloading[style.replace('-', '_')] = false; // }); // }; // $scope.refreshData('expand-right', $scope.memoryfilterData); // } if (val) { $scope.fileData.consumable["keyWord"] = val.name; $scope.refreshData('expand-right', $scope.fileData); } }) $scope.new_data = function () { $scope.myData = []; $scope.refreshData('expand-right', $scope.memoryfilterData); } var pdKey = $state.current.pdKey; $rootScope.hc_eject_big = false; //编辑弹出框 $rootScope.hc_eject_sma = false; //编辑弹出框 // $rootScope.hc_toedit = "new_top"; // 关闭编辑弹出框 $scope.close = function () { $rootScope.hc_eject_name_caozuo = ''; $rootScope.hc_eject_brandModel_caozuo = ''; $rootScope.hc_eject_specification_caozuo = ''; $rootScope.hc_eject_companyIds_caozuo = []; $rootScope.hc_eject_startPrice_caozuo = ''; $rootScope.hc_eject_endPrice_caozuo = ''; $rootScope.hc_eject_isWarehousing_caozuo = 0; $rootScope.hc_eject_inventoryNum_caozuo = ''; $rootScope.hc_eject_inventorySum_caozuo = ''; delete $rootScope.hc_eject_id_caozuo; // ---------------------------------- $rootScope.hc_eject_big = false; //编辑弹出框 $rootScope.hc_eject_sma = false; //编辑弹出框 // $rootScope.hc_toedit = "new_top"; $scope.select_updata_name = {}; //编辑下拉框名称 $scope.select_updata_guige = {}; //编辑下拉框规格 $scope.select_updata_pinpai = {}; //编辑下拉框品牌 } $scope.select_updata_name = {}; //编辑下拉框名称 $scope.select_updata_guige = {}; //编辑下拉框规格 $scope.select_updata_pinpai = {}; //编辑下拉框品牌 // 名称 $scope.$watch('hc_eject_name_caozuo', function (val) { if (val != undefined) { console.log(val); // $scope.hc_eject_name = val; var dat = { "key": "haocaifenlei", "type": "tree" } api_wechatfile.getDictionary(dat).then(function (data) { data = data || []; $scope.select_updata_name.updata_name = data.find(v=>v.name == val); }); } }) // $scope.hc_eject_title = '';//耗材名称 // 下拉框名称 $scope.$watch('select_updata_name.updata_name', function (val) { // console.log(val); val = val || {name:''}; if (!val.name) { } else { // $scope.hc_eject_name = val.name; // // 耗材查询品牌 // $scope.refreshDat_pinpai = function() { // var dat = { // "key": "pinpai", // parent: val.id // } // api_cmdb4.fetchDataList(dat).then(function(data) { // $scope.updata_pinpai = data; // }); // } // $scope.refreshDat_pinpai(); // // 耗材查询规格 // $scope.refreshDat_guige = function() { // var dat = { // "key": "guige", // parent: val.id // } // api_cmdb4.fetchDataList(dat).then(function(data) { // $scope.updata_guige = data; // }); // } // $scope.refreshDat_guige(); $scope.hc_eject_name = val.name; // $scope.hc_eject_title = val.name; // 耗材查询品牌 $scope.refreshDat_pinpai = function () { var dat = { "dictionaryTree": { "key": "pinpai", parent: val.id }, "idx": 0, "sum": 999 } api_sysinfo.fetchDataList("dictionaryTree", dat).then(function (data) { if (data.status == 200) { $scope.updata_pinpai = data.list; var flag = data.list.find(v=>v.name == $scope.select_updata_pinpai.updata_pinpai.name); if(!flag){ $scope.select_updata_pinpai.updata_pinpai.name = ''; $scope.hc_eject_brandModel = ''; } } }); } $scope.refreshDat_pinpai(); // 耗材查询规格 $scope.refreshDat_guige = function () { // var dat = { // "key": "guige", // parent: val.id, // "type":"tree" // } // api_wechatfile.getDictionary(dat).then(function(data) { // $scope.updata_guige = data; // }); var dat = { "dictionaryTree": { "key": "guige", parent: val.id }, "idx": 0, "sum": 999 } api_sysinfo.fetchDataList("dictionaryTree", dat).then(function (data) { if (data.status == 200) { $scope.updata_guige = data.list; var flag = data.list.find(v=>v.name == $scope.select_updata_guige.updata_guige.name); if(!flag){ $scope.select_updata_guige.updata_guige.name = ''; $scope.hc_eject_specification = ''; } } }); } $scope.refreshDat_guige(); } }) $scope.selected = { items: [] } //删除 $scope.removeData = function () { var modalInstance = $modal.open({ templateUrl: 'assets/views/delete.html', controller: function ($scope, scope, $modalInstance, api_bpm_data) { var rmvList = []; $scope.title = '耗材删除'; $scope.connect = '确定要删除此耗材?'; angular.forEach(scope.selected.items, function (item) { rmvList.push(item.id); }); $scope.ok = function () { $modalInstance.close(rmvList); }; $scope.cancel = function () { $modalInstance.dismiss('cancel'); }; }, size: 'sm', resolve: { scope: function () { return $scope; } } }); modalInstance.result.then(function (selectedItem) { if (selectedItem) { if (selectedItem.length > 0) { api_user_data.rmvData('consumable', selectedItem).then(function (response) { if (response.data) { SweetAlert.swal({ title: "删除成功!", type: "success", confirmButtonColor: "#007AFF" }, function () { $scope.myData = _.reject($scope.myData, function (o) { return _.includes(selectedItem, o.id); }); $scope.selected = { items: [] }; $scope.gridOptions.totalItems = $scope.gridOptions.totalItems - selectedItem.length; $scope.gridApi.grid.selection.selectedCount = 0; $scope.refreshData('expand-right', $scope.fileData); }); } else { SweetAlert.swal({ title: "操作异常!", text: "系统异常,请稍后重试,或者联系管理员!", type: "error" }); } }) } } }) } // 第三方公司查询 $scope.refreshDat_company = function (name,companyIds=[]) { $scope.updata_company = []; name = name || ""; companyIds = companyIds || []; var dat = { "company": { serviceTypeIds:"1709", name:name }, "idx": 0, "sum": 999 } api_sysinfo.fetchDataList("company", dat).then(function (data) { if (data.status == 200) { if(companyIds.length){ companyIds.forEach(v=>{ data.list.forEach((v1,i)=>{ if(v.id == v1.id){ data.list.splice(i,1) } }) }) } $scope.updata_company = data.list; } }); } $scope.refreshDat_company(); // 规格 $scope.$watch('hc_eject_specification_caozuo', function (val) { // $scope.hc_eject_specification = val; $scope.select_updata_guige.updata_guige = {name:val} }) // 下拉框规格 $scope.$watch('select_updata_guige.updata_guige', function (val) { // console.log(val); if (val == undefined) { } else { $scope.hc_eject_specification = val.name; } }) // 品牌 $scope.$watch('hc_eject_brandModel_caozuo', function (val) { // $scope.hc_eject_brandModel = val; $scope.select_updata_pinpai.updata_pinpai = {name:val} }) // 下拉框品牌 $scope.$watch('select_updata_pinpai.updata_pinpai', function (val) { console.log(val); if (val == undefined) { } else { $scope.hc_eject_brandModel = val.name; } }) //供货公司hc_eject_companyIds_caozuo $scope.$watch('hc_eject_companyIds_caozuo', function (ids) { ids = ids || []; var dat = { "company": { serviceTypeIds:"1709", }, "idx": 0, "sum": 999 } api_sysinfo.fetchDataList("company", dat).then(function (data) { if (data.status == 200) { var arr = []; data.list.forEach(v=>{ ids.forEach(v1=>{ if(v.id == v1){ arr.push(v); } }) }) $scope.companyIds = arr; } }); }) // 费用区间开始hc_eject_startPrice_caozuo $scope.$watch('hc_eject_startPrice_caozuo', function (val) { $scope.startPrice = val; }) // 费用区间开始hc_eject_endPrice_caozuo $scope.$watch('hc_eject_endPrice_caozuo', function (val) { $scope.endPrice = val; }) // 是否库存hc_eject_isWarehousing_caozuo $scope.$watch('hc_eject_isWarehousing_caozuo', function (val) { $scope.isWarehousing = val; }) // 在库数量 $scope.$watch('hc_eject_inventoryNum_caozuo', function (val) { $scope.hc_eject_inventoryNum = val; }) // 入库数量 $scope.$watch('hc_eject_inventorySum_caozuo', function (val) { $scope.hc_eject_inventorySum = val; }) $scope.reset = function () { $scope.select_val = {}; $scope.fileData.consumable = {}; $scope.refreshData('expand-right', $scope.fileData); } // 是否库存 $scope.changeWarehousing = function(type){ $scope.isWarehousing = type; } // 编辑保存按钮 $scope.companyIds = null; $scope.startPrice = ''; $scope.endPrice = ''; $scope.isWarehousing = 0; $scope.hc_eject_inventorySum = ''; $scope.updata_company = []; $scope.preservation = function () { if (!$scope.select_updata_name.updata_name.name ||!$scope.select_updata_pinpai.updata_pinpai.name ||!$scope.select_updata_guige.updata_guige.name ||!$scope.companyIds ||(!$scope.startPrice&&$scope.startPrice!==0) ||(!$scope.endPrice&&$scope.endPrice!==0) ||($scope.isWarehousing == 1&&($scope.hc_eject_inventorySum===null||$scope.hc_eject_inventoryNum===null)) ) { SweetAlert.swal({ title: "保存失败", text: "必填数据不能为空!", type: "error" }); } else { var pdKey = "consumable"; var edit_data = { "consumable": { "name": $scope.select_updata_name.updata_name.name, "brandModel": $scope.select_updata_pinpai.updata_pinpai.name, "specification": $scope.select_updata_guige.updata_guige.name, isInventory:$scope.isWarehousing, startPrice:$scope.startPrice, endPrice:$scope.endPrice, companyIds:$scope.companyIds.map(v=>v.id).toString() } }; if($scope.isWarehousing == 1){ edit_data.consumable.inventoryNum = $scope.hc_eject_inventoryNum; edit_data.consumable.inventorySum = $scope.hc_eject_inventorySum; } if($rootScope.isAdds){ edit_data.consumable.inOutInventory = 1;//入库1,出库2 }else{ edit_data.consumable.id = $rootScope.hc_eject_id_caozuo; } api_cmdb3[$rootScope.isAdds?'addData':'preservation'](pdKey, edit_data).then(function (data) { if (data.status == 200) { // $scope.refreshData = function(style, filterData) { // var pdKey = "consumable"; // $scope.myData = []; // $scope.gridOptions['sum'] = filterData.sum; // api_cmdb3.fetchDataList(pdKey, filterData).then(function(data) { // // console.log(data.list); // if (data.list) { // var myData = Restangular.stripRestangular(data); // var list = []; // $scope.gridOptions['totalItems'] = myData.totalNum; // $scope.myData = myData.list; // for (var i = 0; i < $scope.myData.length; i++) { // $scope.myData[i]['item'] = i + 1 + filterData.idx * filterData.sum // } // } else { // SweetAlert.swal({ // title: "系统错误", // text: "请稍后再试!", // type: "error" // }); // } // $scope.ldloading[style.replace('-', '_')] = false; // }, function() { // $scope.ldloading[style.replace('-', '_')] = false; // }); // }; $scope.refreshData('expand-right', $scope.fileData); SweetAlert.swal({ title: ($rootScope.isAdds?'新增':'修改')+"成功", confirmButtonColor: "#007AFF", type: "success" }); $rootScope.hc_eject_big = false; //编辑弹出框 $rootScope.hc_eject_sma = false; //编辑弹出框 // $rootScope.hc_toedit = "new_top"; } }) } } $scope.gridOptions = {}; $scope.gridOptions.data = 'myData'; $scope.gridOptions.enableColumnResizing = true; $scope.gridOptions.enableFiltering = false; $scope.gridOptions.enableGridMenu = true; $scope.gridOptions.enableSelectAll = true; $scope.gridOptions.enableRowSelection = true; $scope.gridOptions.showGridFooter = true; $scope.gridOptions.showColumnFooter = false; $scope.gridOptions.fastWatch = true; $scope.gridOptions.enableSorting = true; $scope.gridOptions.useExternalSorting = true; $scope.gridOptions.useExternalFiltering = false; $scope.gridOptions.useExternalPagination = true; $scope.gridOptions.paginationPageSizes = [10, 20, 50, 100]; $scope.gridOptions.paginationPageSize = 10; $scope.gridOptions.multiSelect = true; var mun = $scope.gridOptions.paginationPageSize; $scope.gridOptions.rowTemplate = "
"; $scope.gridOptions.rowIdentity = function (row) { return row.id; }; $scope.gridOptions.getRowIdentity = function (row) { return row.id; }; $scope.transferColor = function (item) { var color = "icon iconfont icon-zhengchang greenfont"; if (item.colourInfo) { if (item.colourInfo.id == 1) { color = "icon iconfont icon-yiyuqi redfont"; } else if (item.colourInfo.id == 2) { color = "iconfont icon-yuqixinxiu yellofont"; } } else { // color = "white"; } return color; } $scope.transfertip = function (item) { var tip = "正常"; if (item.colourInfo) { if (item.colourInfo.id == 1) { tip = "逾期"; } else if (item.colourInfo.id == 2) { tip = "即将逾期"; } } else { // color = "white"; } return tip; } $scope.transferstatus = function (item) { var statecolor = "#fc4c58"; if (item.id == 2) { //待处理 statecolor = "#fc4c58"; } else if (item.id == 7) { //待审核 statecolor = "#fcb44c"; } else if (item.id == 3) { //请求重新指派 statecolor = "#ebf902"; } else if (item.id == 4) { //处理中 statecolor = "#0aa5f5"; } else if (item.id == 5) { //已解决 statecolor = "#2edbb8"; } else if (item.id == 6) { //已关闭 statecolor = "#bbbbbb"; } return statecolor; } // 双击查看 $scope.onDblClick = function (row) { $state.go('app.means.consumables_see', { idd: row.entity.id }) } $scope.gridOptions.columnDefs = [{ name: 'item', displayName: '序号', width: 49, cellTemplate: '