1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348 |
- var sysFormly = angular.module('formlySystem', [
- 'formly', 'formlyBootstrap', 'ui.bootstrap',
- 'ngSanitize', 'ui.select', 'ui.grid'
- ]);
- app.requires.push('formlySystem');
- // var appFormly = angular.module('formlyExample', [
- // 'formly', 'formlyBootstrap','ui.bootstrap',
- // 'ngSanitize','ui.select','ui.grid'],
- sysFormly.config(
- function config(formlyConfigProvider) {
- //格式转换方法 XXX-XXX转驼峰命名
- });
- sysFormly.controller('knowledgeformCtrl', ['$rootScope', '$scope', '$parse', '$filter', '$injector', '$http', '$q', '$state', '$stateParams', '$modal', '$timeout', '$interval', 'SweetAlert', 'FileUploader', 'i18nService', 'moment', 'Restangular', 'UserRestangular', 'BpmRestangular', 'api_configure_form', 'api_bpm_domain', 'api_bpm_data', 'api_user_data', 'api_solution',
- function ($rootScope, $scope, $parse, $filter, $injector, $http, $q, $state, $stateParams, $modal, $timeout, $interval, SweetAlert, FileUploader, i18nService, moment, Restangular, UserRestangular, BpmRestangular, api_configure_form, api_bpm_domain, api_bpm_data, api_user_data, api_solution) {
- //console.log($stateParams);
- var vm = this;
- vm.options = {};
- vm.exampleTitle = ['expressionProperties', 'model property'];
- vm.fields = [];
- vm.model = {};
- var loginUser = $rootScope.user;
- $scope.ZZKGLY = false;
- for (var i = 0; i < loginUser.role.length; i++) {
- // console.log(i);
- if (loginUser.role[i].role == "知识库管理员" && loginUser.role[i].rolecode == "solution") {
- $scope.ZZKGLY = true;
- }
- }
- $scope.langs = i18nService.getAllLangs();
- $scope.lang = 'zh-cn';
- //alert($rootScope.user.id,null,2);
- // vm.model["loginUser"] = $rootScope.user;
- var that = $injector;
- var parse = $parse;
- var modelWatch = "";
- var fieldsWatch = [];
- var serviceWatch = null;
- var formWatch = {};
- if (angular.isDefined($stateParams.model) && $stateParams.model != "") {
- modelWatch = JSON.parse($stateParams.model);
- // console.log("modelWatch:"+ JSON.stringify(modelWatch));
- }
- if (angular.isDefined($stateParams.fields) && $stateParams.fields != "") {
- fieldsWatch = JSON.parse($stateParams.fields);
- }
- if (angular.isDefined($stateParams.extjson) && $stateParams.extjson != "") {
- formWatch.extjson = JSON.parse($stateParams.extjson);
- }
- if (angular.isDefined($stateParams.cancelUrl) && $stateParams.cancelUrl != "") {
- formWatch.cancelUrl = $stateParams.cancelUrl;
- }
- if (angular.isDefined($stateParams.url) && $stateParams.url != "") {
- formWatch.url = $stateParams.url;
- }
- if (angular.isDefined($stateParams.service) && $stateParams.service != "") {
- if (that.has($stateParams.service)) {
- serviceWatch = that.get($stateParams.service);
- } else {
- serviceWatch = $stateParams.service;
- }
- }
- //用户测试数据,后续从header的auth中获取
- var userId = 2;
- userId = $rootScope.user.id;
- //==============处理表单设计数据 开始====================
- //处理组件加载后台数据选项的方法
- function refreshSelectOptions(searchVal, field) {
- //todo
- console.log(field);
- var filedata = {};
- if (field.key == 'id' && field.templateOptions.pkey == 'change.source') {
- field.templateOptions.options = [{ "id": 1, "name": "事件", "code": 1 }, { "id": 2, "name": "问题", "code": 2 }, { "id": 3, "name": "配置", "code": 3 }, { "id": 4, "name": "服务级别", "code": 4 }, { "id": 5, "name": "内部需求", "code": 5 }];
- } else if (field.templateOptions.optionsUrl) {
- var process = BpmRestangular.all("");
- filedata = { "idx": 0, "sum": 100 }
- if (field.templateOptions.ApiService) {
- process = UserRestangular.all("");
- filedata = { 'user': { 'roledata': { 'rolecode': 'inspectman' } }, "idx": 0, "sum": 1000 }
- }
- process.customPOST(filedata, field.templateOptions.optionsUrl).then(function (result) {
- if (!field.templateOptions.options) {
- field.templateOptions.options = [];
- }
- if (field.templateOptions.optionsDataKey) {
- field.templateOptions.options = result[field.templateOptions.optionsDataKey];
- } else {
- field.templateOptions.options = result;
- }
- });
- }
- }
- //解析自定义表单设计数据
- function decodeVMForm(vmForm) {
- var result = { model: {}, fields: [] };
- //设置模型实体数据 begin
- // var mdata = vmForm.model;
- //解析数据实体
- var mdata = angular.fromJson(vmForm.model); //JSON.parse(field.extjson);
- angular.extend(result.model, mdata);
- if (modelWatch != null && modelWatch != '') {
- //angular.extend(result.model.incident,modelWatch.incident);
- //result.model.alarmType = modelWatch.alarmType;
- // vmForm.cancelUrl = modelWatch.cancelUrl;
- for (var index in modelWatch.model) {
- // console.log(JSON.stringify(index + " " + JSON.stringify(modelWatch.model[index])));
- if (result.model[index] != null) {
- angular.extend(result.model[index], modelWatch.model[index]);
- } else {
- result.model[index] = modelWatch.model[index];
- }
- }
- }
- //设置模型实体数据 end
- //解析设计数据生成表单项 begin
- var fields = [];
- //处理修改设计数据中展示设置
- angular.forEach(vmForm.fields, function (field) {
- if (field.key == "") {
- delete field.key;
- }
- if (angular.isDefined(field.extjson)) {
- var extObj = angular.fromJson(field.extjson); //JSON.parse(field.extjson);
- angular.extend(field.templateOptions, extObj.templateOptions);
- delete extObj.templateOptions;
- for (var prop in extObj) {
- if (new RegExp("Expression").test(prop)) {
- //var obj = $scope.$eval(extObj[prop]);
- //extObj[prop] = $scope.$eval(extObj[prop]);
- if (extObj[prop] != null) {
- if (new RegExp("function").test(extObj[prop])) {
- var propValue = eval(extObj[prop]);
- extObj[prop] = propValue;
- } else {
- //console.log(extObj[prop]);
- var obj = $scope.$eval(extObj[prop]);
- extObj[prop] = obj;
- //console.log(obj);
- }
- }
- } else if (new RegExp("expressionProperties").test(prop)) {
- for (var p in extObj[prop]) {
- if (new RegExp("function").test(extObj[prop][p])) {
- var propValue = eval(extObj[prop][p]);
- extObj[prop][p] = propValue;
- } else {
- }
- }
- } else if ("watcher" == prop) {
- if (angular.isArray(extObj[prop])) {
- angular.forEach(extObj[prop], function (item, index) {
- for (var p in item) {
- if (new RegExp("function").test(item[p])) {
- var propValue = eval(item[p]);
- extObj[prop][index][p] = propValue;
- }
- }
- });
- } else if (angular.isObject(extObj[prop])) {
- for (var p in extObj[prop]) {
- if (new RegExp("function").test(extObj[prop][p])) {
- var propValue = eval(extObj[prop][p]);
- extObj[prop][p] = propValue;
- }
- }
- }
- }
- }
- angular.extend(field, extObj);
- delete field.extjson;
- }
- if (angular.isDefined(field.templateOptions)) {
- var templateOs = field.templateOptions;
- for (var property in templateOs) {
- //console.log(property);
- if (angular.isString(templateOs[property]) && !(new RegExp("[\u4e00-\u9fa5]").test(templateOs[property]))) {
- if (new RegExp("function").test(templateOs[property])) {
- var propValue = eval(templateOs[property]);
- field.templateOptions[property] = propValue;
- } else {
- if (that.has(templateOs[property])) {
- field.templateOptions[property] = that.get(templateOs[property]);
- } else {
- field.templateOptions[property] = templateOs[property];
- }
- }
- } else if (templateOs[property] == null) {
- //delete field.templateOptions[property];
- } else { }
- }
- }
- //console.log(field);
- if (angular.isDefined(field.templateOptions) && angular.isDefined(field.templateOptions.extjson)) {
- var extObj = angular.fromJson(field.templateOptions.extjson); //JSON.parse(field.extjson);
- angular.extend(field.templateOptions, extObj);
- delete field.templateOptions.extjson;
- }
- //...
- if (field.templateOptions) {
- //处理远程获取数据控件方法调用
- if (field.templateOptions.optionsUrl) {
- field.templateOptions.refresh = refreshSelectOptions;
- }
- //处理嵌套属性数据绑定/
- if (field.templateOptions.pkey) {
- var pmodel, i = 0;
- angular.forEach(field.templateOptions.pkey.split("."), function (p) {
- if (i == 0) {
- if (result.model[p] == null) {
- result.model[p] = {};
- }
- pmodel = result.model[p];
- i++;
- } else {
- if (pmodel[p] == null) {
- pmodel[p] = {};
- }
- pmodel = pmodel[p];
- }
- });
- if (pmodel != null) {
- field.model = pmodel;
- if (pmodel[field.key] == null) {
- pmodel[field.key] = null;
- }
- }
- } else {
- if (result.model[field.key] == null) {
- result.model[field.key] = null;
- }
- }
- //处理弹出框组件初始化
- if (field.type == "ui-input-selectmodal") {
- field.templateOptions.modal = $modal;
- //field.templateOptions.Restangular = Restangular;
- } else if (field.type == "ui-requesterselect") {
- //field.templateOptions.language = $scope.lang;
- field.templateOptions.modal = $modal;
- field.templateOptions.UserService = api_user_data;
- } else if (field.type == "ui-userselect") {
- field.templateOptions.modal = $modal;
- //field.templateOptions.Restangular = Restangular;
- } else if (field.type == "ui-multiuserselect") {
- field.templateOptions.modal = $modal;
- } else if (field.type == "ui-search") {
- field.templateOptions.modal = $modal;
- } else if (field.type == "ui-modelselect") {
- field.templateOptions.modal = $modal;
- //console.log("$rootScope.user:" + JSON.stringify($rootScope.user));
- field.templateOptions.loginUser = $rootScope.user;
- //field.templateOptions.Restangular = Restangular;
- } else if (field.type == "ui-dropfile") {
- $scope.fileUploader = field.templateOptions.fileUploader = new FileUploader({
- url: '/uploader'
- });
- field.templateOptions.taskId = $stateParams.taskId;
- field.templateOptions.processInstanceId = $stateParams.processInstanceId;
- field.templateOptions.userId = $rootScope.user.id;
- //field.ApiService=api_bpm_domain;
- } else if (field.type == "ui-dropfielknow") {
- $scope.fileUploader = field.templateOptions.fileUploader = new FileUploader({
- url: '/uploader'
- });
- field.templateOptions.taskId = $stateParams.taskId;
- field.templateOptions.processInstanceId = $stateParams.processInstanceId;
- field.templateOptions.userId = $rootScope.user.id;
- } else if (field.type == "ui-dropfilenotup") {
- $scope.fileUploader = field.templateOptions.fileUploader = new FileUploader({
- url: '/uploader'
- });
- field.templateOptions.taskId = $stateParams.taskId;
- field.templateOptions.processInstanceId = $stateParams.processInstanceId;
- field.templateOptions.userId = $rootScope.user.id;
- } else if (field.type == "ui-uploadFile") {
- $scope.fileUploader = field.templateOptions.fileUploader = new FileUploader({
- url: '/uploader'
- });
- field.templateOptions.taskId = $stateParams.taskId;
- field.templateOptions.processInstanceId = $stateParams.processInstanceId;
- field.templateOptions.userId = $rootScope.user.id;
- } else if (field.type == "ui-dropfielkn") {
- $scope.fileUploader = field.templateOptions.fileUploader = new FileUploader({
- url: '/uploader'
- });
- field.templateOptions.taskId = $stateParams.taskId;
- field.templateOptions.processInstanceId = $stateParams.processInstanceId;
- field.templateOptions.userId = $rootScope.user.id;
- } else if (field.type == "ui-upDropFile") {
- $scope.fileUploader = field.templateOptions.fileUploader = new FileUploader({
- url: '/uploader'
- });
- field.templateOptions.taskId = $stateParams.taskId;
- field.templateOptions.processInstanceId = $stateParams.processInstanceId;
- field.templateOptions.userId = $rootScope.user.id;
- } else if (field.type == "ui-dropfiletable") {
- if (field.templateOptions.processInstanceId) {
- } else {
- field.templateOptions.processInstanceId = $stateParams.processInstanceId;
- }
- } else if (field.type == "ui-repeatSection") {
- var repeatForm = {
- model: {
- },
- fields: field.templateOptions.fields
- };
- repeatForm.model[field.key] = [];
- decodeVMForm(repeatForm);
- } else if (field.type == "ui-currentuser") {
- field.templateOptions.user = vm.model["loginUser"];
- }
- }
- // console.log(field);
- result.fields.push(field);
- });
- angular.extend($scope.vm.fields, result.fields);
- angular.extend($scope.vm.model, result.model);
- console.log($rootScope.user);
- //vm.model["loginUser"] = $rootScope.user;
- if (modelWatch != null && modelWatch != '' && modelWatch.cancelUrl != null && modelWatch.cancelUrl != '') {
- vmForm.cancelUrl = modelWatch.cancelUrl;
- }
- $scope.formData = vmForm;
- //console.log($scope.vm);
- //解析设计数据生成表单项 end
- return result;
- }
- //======================处理表单设计数据 结束========================
- $scope.ldloading = {};
- //jry
- $scope.lishi_show = $stateParams.formKey;
- console.log($stateParams.formKey);
- if ($stateParams.formKey == "knowledge_leve" || $stateParams.formKey == "knowledge_editor" || $stateParams.formKey == "knowledge_detail" || $stateParams.formKey == "knowledge_shenhe") {
- $scope.historyData = JSON.parse($stateParams.history);
- console.log($scope.historyData);
- }
- if ($stateParams.formKey == "knowledge_lishi") {
- $scope.get_id = JSON.parse($stateParams.model);
- console.log($scope.get_id);
- $scope.xianshiBG = $scope.get_id.model.knowledge.id;
- api_solution.jry_getHistory({ "idx": 0, "sum": 999, "solution": { "solutionnumber": $scope.get_id.model.knowledge.solutionnumber } }).then(function (res) {
- console.log(res);
- $scope.jry_history_data = res.list;
- })
- }
- $scope.get_lishi = function (res) {
- // console.log(res);
- // // modelWatch="";
- // console.log($scope.jry_history_data[res]);
- // // console.log(modelWatch.model.knowledge);
- // console.log(vm.model.knowledge);
- // vm.model.knowledge={};
- // vm.model.knowledge=$scope.jry_history_data[res];
- $state.go('app.knowledge.jry_save_history_data', { 'model': JSON.stringify({ "model": { "knowledge": $scope.jry_history_data[res] } }) });
- // location.reload()
- // modelWatch.model.knowledge=$scope.jry_history_data[res];
- }
- $scope.other_to_lishi = function (res) {
- console.log(res);
- $state.go('app.knowledge.jry_save_history_data', { 'model': JSON.stringify({ "model": { "knowledge": res } }) });
- }
- $scope.to_history = function () {
- var jry_tohistoryData = JSON.parse($stateParams.model);
- console.log(jry_tohistoryData)
- $state.go('app.knowledge.jry_lishi', { formKey: 'knowledge_lishi', service: 'api_solution', 'model': JSON.stringify(jry_tohistoryData) })
- }
- function filter(obj) {
- angular.forEach(obj, function (key, value) {
- if (value === "" || value === null) {
- delete obj[key];
- } else if (Object.prototype.toString.call(value) === '[object Object]') {
- filter(value);
- } else if (angular.isArray(value)) {
- angular.forEach(value, function (item) {
- filter(item);
- });
- }
- });
- }
- $scope.closeModel = function (data) {
- // console.log("$stateParams.formKey="+JSON.stringify($stateParams.formKey))
- if (angular.isDefined($stateParams.formKey) && $stateParams.formKey != "") {
- // if($stateParams.formKey=="knowledge_editor"||$stateParams.formKey=="knowledge_detail"||$stateParams.formKey=="knowledge_create") {
- $state.go('app.knowledge.manager', { 'model': JSON.stringify(data), 'fromstate': $stateParams.fromstate });
- // }
- event.preventDefault();
- }
- }
- vm.submit = function (data, style) {
- // console.log("data="+JSON.stringify(data));
- // if($stateParams.formKey=="system_edit"){
- // console.log("roleid="+$scope.roleid);
- if (vm.form.$valid && data.knowledge.dutyDepartment && data.knowledge.category) {
- vm.options.updateInitialValue();
- $scope.ldloading[style.replace('-', '_')] = true;
- // alert(JSON.stringify(vm.model), null, 2);
- var _ = window._;
- vm.model = (function filter(obj) {
- var dateTransKeys = [];
- var filtered = _.pick(obj, function (v, k, obj) {
- if (_.isDate(v)) {
- dateTransKeys.push(k);
- }
- return angular.isDefined(v) && v !== null && (angular.isArray(v) ? v.length > 0 : true) && (_.isPlainObject(v) ? (!_.isEmpty(v)) : true);
- });
- return _.cloneDeep(filtered, function (v, index, object) {
- if (angular.isArray(dateTransKeys) && dateTransKeys.length > 0) {
- angular.forEach(dateTransKeys, function (item) {
- v[item] = moment(v[item]).format('YYYY-MM-DD HH:mm:ss');
- });
- dateTransKey = [];
- return v;
- }
- return !(_.isEmpty(filtered)) && v !== filtered && _.isPlainObject(v) ? filter(v) : undefined;
- });
- })(vm.model);
- console.log("$scope.formData=" + $scope.formData);
- switch ($scope.formData.url) {
- // 新增
- case "start":
- //vm.model["initUser"]=$rootScope.user.id;
- //addData
- if (vm.model.knowledge.id) {
- serviceWatch.updData($scope.formData.modelName, vm.model).then(function (response) {
- if (response) {
- var resData = Restangular.stripRestangular(response);
- if (resData && resData.status == 200) {
- uploader.onBeforeUploadItem = function (item) {
- angular.extend(item.headers, $rootScope.getSession());
- item.url = APIService.upload(processInstanceId, taskId, userId).getRequestedUrl();
- item.formData.push({ 'fileName': item.file.name, 'type': 'solution', 'solutionId': response.data.id });
- console.info('onBeforeUploadItem', item);
- };
- uploader.uploadAll();
- SweetAlert.swal({
- title: "提交成功!",
- type: "success",
- confirmButtonColor: "#007AFF"
- }, function () {
- $state.go('app.knowledge.manager');
- });
- } else {
- SweetAlert.swal({
- title: "提交失败",
- text: "提交失败,请稍后重试!",
- type: "error",
- confirmButtonColor: "#DD6B55"
- });
- }
- } else {
- SweetAlert.swal({
- title: "系统错误",
- text: "系统错误,请稍后重试!",
- type: "error",
- confirmButtonColor: "#DD6B55"
- });
- }
- $scope.ldloading[style.replace('-', '_')] = false;
- });
- } else {
- // console.log(vm.model.knowledge);
- // var jry_createUserId=JSON.parse($stateParams.model
- // console.log(loginUser);
- vm.model.knowledge["createUser"] = { "id": loginUser.id };
- // console.log(JSON.parse($stateParams.model));
- delete (vm.model.knowledge["createUserId"]);
- delete (vm.model.knowledge["status"]);
- var filedata = { "solution": vm.model.knowledge };
- filedata.solution.branch= filedata.solution.dutyDepartment.branch;
- $scope.jry_time = moment(new Date()).format('YYYY-MM-DD HH:mm:ss');
- console.log($scope.jry_time);
- if ($scope.ZZKGLY == true) {
- filedata.solution["approveUser"] = { "id": filedata.solution.createUser.id };
- filedata.solution["status"] = { "id": 72 };
- filedata.solution["approvetime"] = $scope.jry_time;
- SweetAlert.swal({
- title: "你是知识库管理员",
- text: "新增就直接发布!",
- type: "warning",
- showCancelButton: true,
- confirmButtonColor: "#DD6B55",
- confirmButtonText: "确认发布",
- cancelButtonText: "取消操作",
- closeOnConfirm: false,
- closeOnCancel: false
- }, function (isConfirm) {
- if (isConfirm) {
- serviceWatch.jry_addFile(filedata).then(function (response) {
- // console.log(response.data.id);
- if (response) {
- var resData = Restangular.stripRestangular(response);
- if (resData && resData.status == 200) {
- $scope.fileUploader.onBeforeUploadItem = function (item) {
- angular.extend(item.headers, $rootScope.getSession());
- item.url = serviceWatch.jry_upload1(response.data.id).getRequestedUrl();
- item.formData.push({ 'fileName': item.file.name, 'type': 'solution', 'solutionId': resData.data.id });
- console.info('onBeforeUploadItem', item);
- };
- $scope.fileUploader.uploadAll();
- SweetAlert.swal({
- title: "提交成功!",
- type: "success",
- confirmButtonColor: "#007AFF"
- }, function () {
- $state.go('app.knowledge.manager');
- });
- SweetAlert.swal({
- title: "提交成功!",
- type: "success",
- confirmButtonColor: "#007AFF"
- }, function () {
- $state.go('app.knowledge.manager');
- });
- } else {
- SweetAlert.swal({
- title: "系统错误",
- text: "系统错误,请稍后重试!",
- type: "error",
- confirmButtonColor: "#DD6B55"
- });
- }
- } else {
- SweetAlert.swal({
- title: "系统错误",
- text: "系统错误,请稍后重试!",
- type: "error",
- confirmButtonColor: "#DD6B55"
- });
- }
- });
- SweetAlert.swal("操作成功!", "该知识库已直接发布", "success");
- } else {
- SweetAlert.swal("操作取消", "已取消发布", "error");
- }
- });
- } else {
- serviceWatch.jry_addFile(filedata).then(function (response) {
- // console.log(response.data.id);
- if (response) {
- var resData = Restangular.stripRestangular(response);
- if (resData && resData.status == 200) {
- $scope.fileUploader.onBeforeUploadItem = function (item) {
- angular.extend(item.headers, $rootScope.getSession());
- item.url = serviceWatch.jry_upload(response.data.id).getRequestedUrl();
- item.formData.push({ 'fileName': item.file.name, 'type': 'solution', 'solutionId': resData.data.id });
- console.info('onBeforeUploadItem', item);
- };
- $scope.fileUploader.uploadAll();
- SweetAlert.swal({
- title: "提交成功!",
- type: "success",
- confirmButtonColor: "#007AFF"
- }, function () {
- $state.go('app.knowledge.manager');
- });
- SweetAlert.swal({
- title: "提交成功!",
- type: "success",
- confirmButtonColor: "#007AFF"
- }, function () {
- $state.go('app.knowledge.manager');
- });
- } else {
- SweetAlert.swal({
- title: "系统错误",
- text: "系统错误,请稍后重试!",
- type: "error",
- confirmButtonColor: "#DD6B55"
- });
- }
- } else {
- SweetAlert.swal({
- title: "系统错误",
- text: "系统错误,请稍后重试!",
- type: "error",
- confirmButtonColor: "#DD6B55"
- });
- }
- });
- }
- }
- break;
- case "save":
- //addData
- var filedata = vm.model.knowledge;
- filedata["branch"] = filedata.dutyDepartment.branch;
- if (filedata && filedata.vision) {
- var vision = filedata.vision;
- filedata.vision = vision.substring(1, vision.Length)
- }
- if ($rootScope.user.id == filedata.createUserId && filedata.status == 5) {
- filedata.status = 1;
- }
- if (filedata.status == 4) {
- filedata.status = 1;
- }
- if (filedata.status == 3) {
- filedata.status = 1;
- }
- if (filedata.status.name == '已驳回') {
- filedata.status.id = 71;
- }
- delete (filedata["item"]);
- // delete (filedata.solutionType["isExpanded"]);
- $scope.updata = { "solution": filedata };
- serviceWatch.jry_updateSolution($scope.updata).then(function (response) {
- if (response) {
- var resData = Restangular.stripRestangular(response);
- if (resData && resData.status == 200) {
- $scope.fileUploader.onBeforeUploadItem = function (item) {
- angular.extend(item.headers, $rootScope.getSession());
- item.url = serviceWatch.jry_upload(response.data.id).getRequestedUrl();
- item.formData.push({ 'fileName': item.file.name, 'type': 'solution', 'solutionId': resData.data.id });
- console.info('onBeforeUploadItem', item);
- };
- $scope.fileUploader.uploadAll();
- SweetAlert.swal({
- title: "提交成功!",
- type: "success",
- confirmButtonColor: "#007AFF"
- }, function () {
- $state.go('app.knowledge.manager');
- });
- SweetAlert.swal({
- title: "提交成功!",
- type: "success",
- confirmButtonColor: "#007AFF"
- }, function () {
- $state.go('app.knowledge.manager');
- });
- } else {
- SweetAlert.swal({
- title: "系统错误",
- text: "系统错误,请稍后重试!",
- type: "error",
- confirmButtonColor: "#DD6B55"
- });
- }
- modelWatch.model
- SweetAlert.swal({
- title: "提交成功!",
- type: "success",
- confirmButtonColor: "#007AFF"
- }, function () {
- $state.go('app.knowledge.manager');
- });
- } else {
- SweetAlert.swal({
- title: "系统错误",
- text: "系统错误,请稍后重试!",
- type: "error",
- confirmButtonColor: "#DD6B55"
- });
- }
- $scope.ldloading[style.replace('-', '_')] = false;
- });
- break;
- case "leve":
- // console.log("我是升级");
- if ($scope.ZZKGLY == true) {
- // filedata.solution["approveUser"]={"id":filedata.solution.createUser.id};
- // filedata.solution["status"]={"id":72};
- // filedata.solution["approvetime"]=$scope.jry_time;
- SweetAlert.swal({
- title: "你是知识库管理员",
- text: "升级就直接发布!",
- type: "warning",
- showCancelButton: true,
- confirmButtonColor: "#DD6B55",
- confirmButtonText: "确认发布",
- cancelButtonText: "取消操作",
- closeOnConfirm: false,
- closeOnCancel: false
- }, function (isConfirm) {
- if (isConfirm) {
- var filedata = vm.model.knowledge;
- filedata["branch"] = filedata.dutyDepartment.branch;
- if (filedata && filedata.vision) {
- var vision = filedata.vision;
- filedata.vision = vision.substring(1, vision.Length)
- }
- if ($rootScope.user.id == filedata.createUserId && filedata.status == 5) {
- filedata.status = 1;
- }
- if (filedata.status == 4) {
- filedata.status = 1;
- }
- if (filedata.status == 3) {
- filedata.status = 1;
- }
- delete (filedata["item"]);
- // delete (filedata.solutionType["isExpanded"]);
- filedata["renewUser"] = { id: loginUser.id };
- filedata.approveUser.id = loginUser.id;
- filedata["renewtime"] = moment(new Date()).format('YYYY-MM-DD HH:mm:ss');
- $scope.levedata = { "solution": filedata };
- serviceWatch.jry_leveSolution($scope.levedata).then(function (response) {
- if (response) {
- var resData = Restangular.stripRestangular(response);
- modelWatch.model
- $scope.fileUploader.onBeforeUploadItem = function (item) {
- angular.extend(item.headers, $rootScope.getSession());
- item.url = serviceWatch.jry_upload1(response.data.id).getRequestedUrl();
- item.formData.push({ 'fileName': item.file.name, 'type': 'knowledge', 'solutionId': resData.data.id });
- console.info('onBeforeUploadItem', item);
- };
- $scope.fileUploader.uploadAll();
- SweetAlert.swal({
- title: "提交成功!",
- type: "success",
- confirmButtonColor: "#007AFF"
- }, function () {
- $state.go('app.knowledge.manager');
- });
- } else {
- SweetAlert.swal({
- title: "系统错误",
- text: "系统错误,请稍后重试!",
- type: "error",
- confirmButtonColor: "#DD6B55"
- });
- }
- $scope.ldloading[style.replace('-', '_')] = false;
- });
- SweetAlert.swal("操作成功!", "该知识库已直接发布", "success");
- } else {
- SweetAlert.swal("操作取消", "已取消发布", "error");
- }
- });
- } else {
- var filedata = vm.model.knowledge;
- filedata["branch"] = filedata.dutyDepartment.branch;
- if (filedata && filedata.vision) {
- var vision = filedata.vision;
- filedata.vision = vision.substring(1, vision.Length)
- }
- if ($rootScope.user.id == filedata.createUserId && filedata.status == 5) {
- filedata.status = 1;
- }
- if (filedata.status == 4) {
- filedata.status = 1;
- }
- if (filedata.status == 3) {
- filedata.status = 1;
- }
- delete (filedata["item"]);
- // delete (filedata.solutionType["isExpanded"]);
- filedata["renewUser"] = { id: loginUser.id };
- filedata.status.id = 71;
- filedata["renewtime"] = moment(new Date()).format('YYYY-MM-DD HH:mm:ss');
- $scope.levedata = { "solution": filedata };
- serviceWatch.jry_leveSolution($scope.levedata).then(function (response) {
- if (response) {
- var resData = Restangular.stripRestangular(response);
- modelWatch.model
- SweetAlert.swal({
- title: "提交成功!",
- type: "success",
- confirmButtonColor: "#007AFF"
- }, function () {
- $state.go('app.knowledge.manager');
- });
- } else {
- SweetAlert.swal({
- title: "系统错误",
- text: "系统错误,请稍后重试!",
- type: "error",
- confirmButtonColor: "#DD6B55"
- });
- }
- $scope.ldloading[style.replace('-', '_')] = false;
- });
- }
- //addData
- break;
- case "close":
- $state.go('app.knowledge.manager');
- break;
- default:
- $scope.ldloading[style.replace('-', '_')] = false;
- break;
- }
- } else {
- SweetAlert.swal({
- title: "校验错误",
- text: "请填写必填项!",
- type: "error",
- confirmButtonColor: "#DD6B55"
- });
- angular.forEach(vm.form.$error.required, function (item) {
- angular.forEach(vm.fields, function (f) {
- if (f.name == item.$name) {
- f.validation.show = true;
- }
- });
- })
- }
- };
- //审核取消
- $scope.jry_shenhe_close = function () {
- $state.go("app.knowledge.manager", {})
- }
- //审核通过
- $scope.jry_shenhe_success = function () {
- var filedata = vm.model.knowledge;
- filedata.branch = filedata.dutyDepartment.branch;
- filedata.status.id = 72;
- filedata["approveUser"] = { id: loginUser.id };
- filedata.approvetime = moment(new Date()).format('YYYY-MM-DD HH:mm:ss');
- delete (filedata["item"]);
- // delete (filedata.solutionType["isExpanded"]);
- // console.log(filedata,8989);
- //知识库分类必填项
- // if(!(filedata.solutionType&&filedata.solutionType.id)){
- // SweetAlert.swal({
- // title: "知识库分类未填!",
- // text:"请填写此项",
- // type: "error",
- // confirmButtonColor: "#DD6B55"
- // });
- // return;
- // }
- var shenhe_data = { "solution": filedata }
- api_solution.jry_updateSolution(shenhe_data).then(function (res) {
- SweetAlert.swal({
- title: "审核通过!",
- type: "success",
- confirmButtonColor: "#007AFF"
- }, function () {
- $state.go('app.knowledge.manager');
- });
- })
- }
- // 审核驳回
- $scope.jry_shenhe_bohui = function () {
- var filedata = vm.model.knowledge;
- filedata.branch = filedata.dutyDepartment.branch;
- filedata.status.id = 73;
- filedata["approveUser"] = { id: loginUser.id };
- filedata.reject = $scope.bohui_YY;
- filedata.approvetime = moment(new Date()).format('YYYY-MM-DD HH:mm:ss');
- // delete(filedata["item"]);
- // delete(filedata.solutionType["isExpanded"]);
- console.log(filedata);
- var shenhe_data = { "solution": filedata }
- api_solution.jry_updateSolution(shenhe_data).then(function (res) {
- SweetAlert.swal({
- title: "该知识已驳回!",
- type: "success",
- confirmButtonColor: "#007AFF"
- }, function () {
- $state.go('app.knowledge.manager');
- });
- })
- }
- $scope.bohui_show = false;
- $scope.jry_bohuiyuanyin_show = function () {
- $scope.bohui_show = true;
- }
- $scope.bohuiyuanyin_close = function () {
- $scope.bohui_show = false;
- }
- $scope.vm = vm;
- if (angular.isDefined($stateParams.formKey) && $stateParams.formKey != "") {
- api_configure_form.renderForm($stateParams.formKey, '00000').then(function (responseData) {
- if (responseData) {
- //console.log("responseData>>>");console.log(responseData);
- var vmForm = Restangular.stripRestangular(responseData);
- if (vmForm) {
- //console.log("vmForm>>>");console.log(vmForm);
- var modelData = {};
- //modelData=myData.data;
- decodeVMForm(vmForm);
- }
- }
- });
- } else {
- //
- if (angular.isDefined(fieldsWatch) && fieldsWatch.length > 0) {
- var vmForm = {
- fields: fieldsWatch,
- model: modelWatch
- }
- angular.extend(vmForm, formWatch);
- //$scope.formData = vmForm;
- if (vmForm) {
- decodeVMForm(vmForm);
- }
- } else { //for form
- //TODO
- //测试数据 开始
- var testJson = {
- fields: [{
- key: 'formtitle',
- type: 'ui-title',
- noFormControl: true,
- templateOptions: {
- label: 'title is ',
- placeholder: 'Formly is terrific!'
- }
- },
- {
- key: 'b',
- type: 'ui-input',
- className: 'col-xs-4',
- templateOptions: {
- type: 'input',
- label: 'input a',
- placeholder: 'search a...',
- rBtn: {
- icon: 'fa fa-phone',
- onClick: function (val, opt, el, ev, model) { alert(val); }
- },
- lAddon: '<i class="fa fa-phone"/>'
- }
- },
- {
- key: 'id',
- type: 'ui-select',
- //initialValue:"false",
- templateOptions: {
- label: "测试默认值",
- optionsUrl: "abc",
- //options:[{"id":"false","name":"不取消"},{"id":"true","name":"取消"}],
- // refresh:function(){
- // return [{"id":1,"name":"事件","code":1},{"id":2,"name":"问题","code":2},{"id":3,"name":"配置","code":3},{"id":4,"name":"服务级别","code":4},{"id":5,"name":"内部需求","code":5}];
- // },
- //options:[{"id":1,"name":"事件","code":1},{"id":2,"name":"问题","code":2},{"id":3,"name":"配置","code":3},{"id":4,"name":"服务级别","code":4},{"id":5,"name":"内部需求","code":5}],
- valueProp: "id",
- labelProp: "name",
- pkey: "change.source"
- }
- },
- {
- key: 'systemType',
- type: 'ui-multiselect',
- className: 'col-xs-4',
- templateOptions: {
- label: "所属系统类型",
- pkey: "change",
- valueProp: "id",
- labelProp: "source",
- optionsUrl: "data/fetchDataList/changesystemtype",
- optionsDataKey: "list",
- onChange: function (value, options, that, event, model) {
- var field = null;
- angular.forEach(that.$parent.fields, function (item) {
- if (item.key == 'influenceDepartment') {
- field = item;
- }
- if (item.key == 'notificationDepartment') {
- notifyField = item;
- }
- })
- if (field != null) {
- field.templateOptions.optionsPostData = {
- 'systemIds': []
- }
- angular.forEach(value, function (vue) {
- field.templateOptions.optionsPostData['systemIds'].push({ 'id': vue });
- })
- field.value([]);
- if (value.length > 0) {
- field.templateOptions.refreshData(null, field);
- }
- }
- if (notifyField != null) {
- notifyField.templateOptions.optionsPostData = {
- 'systemIds': []
- }
- angular.forEach(value, function (vue) {
- notifyField.templateOptions.optionsPostData['systemIds'].push({ 'id': vue });
- })
- notifyField.value([]);
- if (value.length > 0) {
- notifyField.templateOptions.refreshData(null, notifyField);
- }
- }
- }
- }
- },
- {
- key: 'influenceDepartment',
- type: 'ui-multiselectplus',
- className: 'col-xs-4',
- templateOptions: {
- label: '所影响的应用系统、科室',
- pkey: "change",
- valueProp: '', //对应value
- labelProp: 'dept', //对应key
- optionsUrl: 'dept/findBySystemType', //对应后台地址,api/之前的部分省略
- optionsDataKey: 'list', //对应返回数组数据的键值,
- optionsPostData: function (options, model, scope) {
- return { "systemIds": [] };
- },
- refreshData: function (search, options, model, that) {
- options.templateOptions.options = [{ "id": 13, "dept": "村镇银行管理部" }, { "id": 14, "dept": "电子银行部" }];
- options.value(options.templateOptions.options);
- },
- optionsChecked: true,
- required: true,
- ApiService: UserRestangular
- }
- },
- {
- key: 'notificationDepartment',
- type: 'ui-multiselectplus',
- className: 'col-xs-4',
- templateOptions: {
- label: '需通知科室',
- pkey: "change",
- valueProp: 'id', //对应value
- labelProp: 'dept', //对应key
- optionsUrl: 'dept/findBySystemType', //对应后台地址,api/之前的部分省略
- optionsDataKey: 'list', //对应返回数组数据的键值,
- optionsPostData: function (options, model, scope) {
- return { "systemIds": [] };
- },
- optionsChecked: true,
- required: true,
- ApiService: UserRestangular
- }
- },
- {
- type: 'ui-label',
- key: 'arrayData',
- className: 'col-xs-4',
- templateOptions: {
- label: '数组label数据',
- labelProp: 'dept'
- }
- },
- {
- key: 'selectUser',
- type: 'ui-requesterselect',
- className: 'col-xs-12',
- templateOptions: {
- label: '报修人信息',
- modalTitle: '报修人列表',
- fetchItems: function (filterData, APIService) {
- return APIService.fetchDataList('requester', filterData);
- },
- Restangular: Restangular,
- ApiService: api_user_data
- // onClick:function(val, options, field, event , model){
- // console.log(options);
- // }
- }
- },
- {
- key: 'cabUser',
- type: 'ui-multiuserselect',
- className: 'col-xs-12',
- templateOptions: {
- label: 'CAB评审成员',
- modalTitle: 'CAB成员列表',
- fetchItems: function (filterData, APIService) {
- return APIService.fetchDataList('user', filterData);
- },
- Restangular: Restangular,
- ApiService: api_user_data,
- onClick: function (val, options, field, event, model) {
- console.log(model);
- }
- }
- },
- // {
- // key:'incident',
- // type:'ui-modelselect',
- // className:'col-xs-3',
- // templateOptions:{
- // label:'关联事件工单',
- // modalTitle:'工单列表',
- // fetchItems:function(filterData,APIService){
- // return APIService.fetchDataList('incident',filterData);
- // },
- // Restangular:"Restangular",
- // ApiService:"api_bpm_data",
- // columnDefs:[
- // { name:'id', width:80, enableFiltering:false},
- // { name:'title', displayName:'事件主题', width:140},
- // { name:'type.name', displayName:'事件类型', width:140},
- // { name:'emergency.name', displayName:'紧急度', width:80},
- // { name:'state.name', displayName:'状态', width:100},
- // { name:'emergency.name', displayName:'紧急度', width:80},
- // { name:'influence.name', displayName:'影响度', width:80},
- // { name:'priority.name', displayName:'优先级', width:80},
- // { name:'handlerUser.name', displayName:'当前处理人', width:100},
- // { name:'acceptDate', displayName:'创建时间', width:100}
- // ],
- // displayName:'title',
- // onClick:function(val, options, field, event , model){
- // //model.start_code++;
- // console.log(options);
- // }
- // }
- // },
- // {
- // key: 'worknumber',
- // type: 'ui-workernumber',
- // className:'col-xs-3',
- // templateOptions: {
- // label: 'work number',
- // Restangular:Restangular,
- // ApiService:api_bpm_domain,
- // getWorkernumber: function(APIService){
- // return APIService.workernumber('bg');
- // }
- // }
- // },
- // {
- // key: 'chkme',
- // type: 'ui-checkbox',
- // className:'col-xs-3',
- // templateOptions: {
- // label: 'Check me out'
- // }
- // },
- // {
- // key: 'droplink',
- // type: 'ui-link',
- // className: 'col-xs-3',
- // templateOptions:{
- // label:'添加附件',
- // onClick:function(val, options, field, event ,model){
- // if(angular.isUndefined(field.form.dropState)){
- // field.form.dropState=false;
- // }
- // field.form.dropState=!field.form.dropState;
- // console.log(field);
- // }
- // }
- // },
- // {
- // key: 'dropfile',
- // type: 'ui-dropfile',
- // className: 'col-xs-12',
- // templateOptions:{
- // label:'附件',
- // uploadUrl:'http://127.0.0.1:9008/saveAttachments'
- // }
- // },
- // {
- // type: 'ui-label',
- // key: 'changesign',
- // className: 'col-xs-4',
- // templateOptions: {
- // label:'变更请求单号',
- // pkey:'change'
- // }
- // },
- // {
- // type: 'ui-label',
- // key: 'title',
- // className: 'col-xs-4',
- // templateOptions: {
- // label:'变更标题',
- // pkey:'change'
- // }
- // },
- // //关联发布单号
- // //新建发布
- // {
- // key: 'droplist',
- // type: 'ui-dropfiletable',
- // className: 'col-xs-12',
- // templateOptions:{
- // label:'附件下载列表',
- // Restangular:Restangular,
- // processInstanceId:'250033',
- // ApiService:api_bpm_domain
- // }
- // },
- // {
- // type: 'ui-repeatSection',
- // key: 'investments',
- // className: 'col-xs-12',
- // templateOptions: {
- // btnText: '新增变更施工单',
- // fields: [
- // {
- // className: 'col-xs-3',
- // type: 'ui-input',
- // key: 'aboutci',
- // templateOptions: {
- // label: '关联的配置项',
- // required: true
- // }
- // },
- // {
- // className: 'col-xs-3',
- // type: 'ui-datepicker',
- // key: 'planbegintime',
- // templateOptions: {
- // label: '计划开始时间',
- // required: true
- // }
- // },
- // {
- // className: 'col-xs-3',
- // type: 'ui-datepicker',
- // key: 'planendtime',
- // templateOptions: {
- // label: '计划完成时间',
- // required: true
- // }
- // },
- // {
- // className: 'col-xs-12',
- // type: 'ui-userselect',
- // key: 'handleruser',
- // templateOptions: {
- // label: '实施人员信息',
- // modalTitle:'实施人列表',
- // required: true,
- // fetchItems:function(filterData, APIService){
- // return APIService.fetchDataList('user',filterData);
- // },
- // Restangular:Restangular,
- // ApiService:api_user_data,
- // onClick:function(val, options, field, event , model){
- // //model.start_code++;
- // console.log(options);
- // }
- // }
- // },
- // {
- // className: 'col-xs-8',
- // type: 'ui-textarea',
- // key: 'handlerContent',
- // templateOptions: {
- // label: '实施内容',
- // required: true,
- // row:10
- // }
- // },{
- // noFormControl: true,
- // template:'<hr>'
- // }]
- // }
- // },
- // {
- // key: 'droplist',
- // type: 'ui-dropfiletable',
- // className: 'col-xs-12',
- // templateOptions:{
- // label:'附件下载列表',
- // Restangular:Restangular,
- // processInstanceId:'250033',
- // ApiService:api_bpm_domain
- // }
- // },
- // {
- // key: 'start_code',
- // className:'col-xs-6',
- // type: 'ui-hidden'
- // },
- // {
- // key:'remark',
- // type:'ui-textarea',
- // className:'col-xs-12',
- // templateOptions:{
- // label:'remark is ',
- // rows:3
- // }
- // },
- // {
- // key:'setStartCode',
- // type:'ui-button',
- // className:'col-xs-4',
- // templateOptions:{
- // label:'升级为变更',
- // onClick:function(val, options, field, event ,model){
- // console.log(options);
- // event.preventDefault();
- // //model.start_code++;
- // //console.log(options);
- // }
- // }
- // }
- ],
- model: {
- username: "robin lau",
- password: "123456",
- change: { source: { id: 5 } },
- chkme: false,
- start_code: 0,
- arrayData: [{ "id": 13, "dept": "村镇银行管理部" }, { "id": 14, "dept": "电子银行部" }],
- formtitle: "Hey!I am title value!",
- name: {
- first: "robin",
- last: "lau"
- },
- multiselectItem: []
- //date:"2015-09-15 00:00:00"
- }
- };
- setTimeout(function () {
- decodeVMForm(testJson);
- $scope.$apply();
- }, 500);
- //测试数据结束
- }
- }
- console.log("end decode");
- }
- ]);
|