Переглянути джерело

升级pc-client-component,修复新建追踪的功能。

yangzhijie 4 роки тому
батько
коміт
88c8263a83
4 змінених файлів з 164 додано та 154 видалено
  1. 3 3
      package-lock.json
  2. 1 1
      package.json
  3. 75 72
      src/trace/TraceCreate.vue
  4. 85 78
      src/trace/TraceUpdate.vue

+ 3 - 3
package-lock.json

@@ -7304,9 +7304,9 @@
       }
     },
     "pc-client-component": {
-      "version": "0.0.32",
-      "resolved": "https://registry.nlark.com/pc-client-component/download/pc-client-component-0.0.32.tgz",
-      "integrity": "sha1-swByT7GZ0pgIblAVeAGiDQ+r4AI="
+      "version": "0.0.44",
+      "resolved": "https://registry.npmmirror.com/pc-client-component/download/pc-client-component-0.0.44.tgz",
+      "integrity": "sha1-raCza8THZARuETb6wntaB9WglJE="
     },
     "picomatch": {
       "version": "2.3.0",

+ 1 - 1
package.json

@@ -12,7 +12,7 @@
   },
   "dependencies": {
     "@riophae/vue-treeselect": "^0.4.0",
-    "pc-client-component": "0.0.38",
+    "pc-client-component": "0.0.44",
     "vue": "^2.5.2",
     "vue-bootstrap-pagination": "^2.10.3",
     "vue-i18n": "^8.24.5",

+ 75 - 72
src/trace/TraceCreate.vue

@@ -17,13 +17,17 @@
                     <label for="exampleInputPassword1">内容</label>
                     <div id="summernote"></div>
                 </div>
-                <AudioField @handleStop="handelEndRecord" :className = "className" :srcArray = "srcArray" @deleteAudioSrc = "deleteAudioSrc" :isReadonly = "'false'"/>
+                <AudioField @handleStop="handelEndRecord"
+                            :className="className"
+                            :srcArray="srcArray"
+                            @deleteAudioSrc="deleteAudioSrc"
+                            :isReadonly="'false'" />
                 <div class="form-group">
                     <label for="trackUserId">责任人</label>
                     <select id="trackUserId"
                             class="form-control"
                             v-model="userSelected">
-                        <option value="" ></option>
+                        <option value=""></option>
                         <option :value="user.userId"
                                 v-for="user in userList">{{user.userName}}</option>
                     </select>
@@ -40,17 +44,19 @@
                 </div>
                 <div class="form-group">
                     <label for="projectName">时间节点</label>
-                    <Treeselect ref = "treeSelect" :multiple="false" :options="projectTaskDtos" />
+                    <Treeselect ref="treeSelect"
+                                :multiple="false"
+                                :options="projectTaskDtos" />
                 </div>
                 <div class="form-group">
                     <label>完成时间</label>
-                    <DateWidget @on-value-change="depreciationStartDateChanged" 
+                    <DateWidget @on-value-change="depreciationStartDateChanged"
                                 :dateValue="planFinishedDate"
                                 class="form-control"
                                 :readonly="isdisable"></DateWidget>
-                              
-                 </div><!--style="float:right;position:relative;top: -46px; right: 5px -->
-                   <span class="glyphicon glyphicon-remove-circle"  style="float:right;top:-45px;left:-50px;position:relative;" @click="removeTime" ></span>  
+
+                </div>
+
                 <button style="width:100%;background-color: #007aff;color: white"
                         @click="saveTrace()"
                         type="button"
@@ -86,8 +92,8 @@ export default {
             isdisable: false, //日期框是否可编辑
             projectId: '', //项目Id
             summernoteInitSuccess: false, // summernote初始化成功
-            projectTaskDtos:[],//项目任务时间点
-            srcArray:[]
+            projectTaskDtos: [],//项目任务时间点
+            srcArray: []
         }
     },
     components: {
@@ -101,36 +107,33 @@ export default {
         AudioField
     },
     methods: {
-    	/**
-    	 * 删除语音
-    	 * @param {Object} index
-    	 */
-    	deleteAudioSrc:function(index){
-			var _self = this;
-			_self.srcArray.splice(index,1);
-			_self.traceDto.audioSrcs = JSON.stringify(_self.srcArray);
-		},
-    	/**
-    	 * 录音停止之后
-    	 * @param {Object} param
-    	 */
-    	handelEndRecord: function(param) {
-    		var _self = this;
-		     if(param.fileName != undefined){
-		     	_self.srcArray.push(param.fileName);
-			    _self.traceDto.audioSrcs = JSON.stringify(_self.srcArray);
-		     }
-		},
+        /**
+         * 删除语音
+         * @param {Object} index
+         */
+        deleteAudioSrc: function (index) {
+            var _self = this;
+            _self.srcArray.splice(index, 1);
+            _self.traceDto.audioSrcs = JSON.stringify(_self.srcArray);
+        },
+        /**
+         * 录音停止之后
+         * @param {Object} param
+         */
+        handelEndRecord: function (param) {
+            var _self = this;
+            if (param.fileName != undefined) {
+                _self.srcArray.push(param.fileName);
+                _self.traceDto.audioSrcs = JSON.stringify(_self.srcArray);
+            }
+        },
         back: function () {
             history.back();
         },
-        removeTime: function(){
-           this.planFinishedDate = ''
-        },
         saveTrace: function () {
             var _self = this;
             _self.traceDto.receiveUserId = _self.userSelected;//接收人Id
-			_self.traceDto.projectTaskId = _self.$refs.treeSelect.getValue();
+            _self.traceDto.projectTaskId = _self.$refs.treeSelect.getValue();
             if (_self.planFinishedDate != undefined && _self.planFinishedDate != "") {
                 _self.traceDto.planFinishedDate = _self.planFinishedDate; //完成时间
             }
@@ -178,13 +181,13 @@ export default {
                     data: rst,
                     contentType: false,
                     processData: false,
-                    beforeSend : function(request){
-						Common.addTokenToRequest(request);
-					},
+                    beforeSend: function (request) {
+                        Common.addTokenToRequest(request);
+                    },
                     success: function (data) {
                         if (data != "error") {
-                        	var imageName = data.substring(data.indexOf(":") + 1);
-							$("#summernote").summernote('insertImage', Common.getResourceUrl("image", _self.className, imageName), 'image name');
+                            var imageName = data.substring(data.indexOf(":") + 1);
+                            $("#summernote").summernote('insertImage', Common.getResourceUrl("image", _self.className, imageName), 'image name');
                         }
                     },
                     error: function () {
@@ -264,27 +267,27 @@ export default {
          * 根据项目id查询项目任务时间节点
          * @author GuoZhiBo 20191010
          */
-        queryProjectTaskDtoByProjectId: function(){
-			var _self = this;
-			$.ajax({
-				url: Common.getApiURL('ProjectTaskResource/queryProjectTaskDtoByProjectId'),
-				type: 'get',
-				dataType: 'json',
-				contentType: 'application/json',
-				data: {
-					projectId: _self.projectId
-				},
-				beforeSend: function(request) {
-					Common.addTokenToRequest(request);
-				},
-				success: function(data) {
-					_self.projectTaskDtos = data;
-				},
-				error: function(XMLHttpRequest, textStatus, errorThrown) {
-					Common.processException(XMLHttpRequest, textStatus, errorThrown);
-				}
-			});
-		},
+        queryProjectTaskDtoByProjectId: function () {
+            var _self = this;
+            $.ajax({
+                url: Common.getApiURL('ProjectTaskResource/queryProjectTaskDtoByProjectId'),
+                type: 'get',
+                dataType: 'json',
+                contentType: 'application/json',
+                data: {
+                    projectId: _self.projectId
+                },
+                beforeSend: function (request) {
+                    Common.addTokenToRequest(request);
+                },
+                success: function (data) {
+                    _self.projectTaskDtos = data;
+                },
+                error: function (XMLHttpRequest, textStatus, errorThrown) {
+                    Common.processException(XMLHttpRequest, textStatus, errorThrown);
+                }
+            });
+        },
     },
 
 
@@ -294,11 +297,11 @@ export default {
         this.initProject();
         this.initData();
         $('#summernote').summernote({
-            toolbar:[
+            toolbar: [
                 ['insert', ['link', 'picture', 'video', 'audio', 'hr', 'table', //插件
-                'fontname', 'fontsize', 'color', 'bold', 'italic', 'underline', 'strikethrough', 'clear',//字体样式
-                'style', 'ol', 'ul', 'paragraph', 'height',//段落样式
-                'fullscreen', 'codeview', 'undo', 'redo', 'help'//Misc
+                    'fontname', 'fontsize', 'color', 'bold', 'italic', 'underline', 'strikethrough', 'clear',//字体样式
+                    'style', 'ol', 'ul', 'paragraph', 'height',//段落样式
+                    'fullscreen', 'codeview', 'undo', 'redo', 'help'//Misc
                 ]],
             ],
             height: 400,
@@ -315,20 +318,20 @@ export default {
         _self.summernoteInitSuccess = true;
     },
 
-    destroyed: function(){
-        if(this.summernoteInitSuccess == true){
+    destroyed: function () {
+        if (this.summernoteInitSuccess == true) {
             $('#summernote').summernote('destroy');
         }
         //界面销毁时,修改插入连接的display属性
         $('.note-link-popover').removeAttr('style');
     },
-	watch: {
-		"projectId" : function(curVal, oldVal){
-			var _self = this;
-			_self.$refs.treeSelect.setValue(undefined);
-			_self.queryProjectTaskDtoByProjectId();
-		}
-	}
+    watch: {
+        "projectId": function (curVal, oldVal) {
+            var _self = this;
+            _self.$refs.treeSelect.setValue(undefined);
+            _self.queryProjectTaskDtoByProjectId();
+        }
+    }
 
 }
 </script>

+ 85 - 78
src/trace/TraceUpdate.vue

@@ -16,7 +16,7 @@
                     <label for="exampleInputPassword1">内容</label>
                     <div id="summernote"></div>
                 </div>
-				
+
                 <div class="form-group">
                     <label for="projectName">项目</label>
                     <select id="projectName"
@@ -30,10 +30,16 @@
                         </option>
                     </select>
                 </div>
-                <AudioField @handleStop="handelEndRecord" :className = "className" :srcArray = "srcArray" @deleteAudioSrc = "deleteAudioSrc" :isReadonly = "'false'"/>
-				<div class="form-group">
+                <AudioField @handleStop="handelEndRecord"
+                            :className="className"
+                            :srcArray="srcArray"
+                            @deleteAudioSrc="deleteAudioSrc"
+                            :isReadonly="'false'" />
+                <div class="form-group">
                     <label for="projectName">时间节点</label>
-                    <Treeselect ref = "treeSelect" :multiple="false" :options="projectTaskDtos" />
+                    <Treeselect ref="treeSelect"
+                                :multiple="false"
+                                :options="projectTaskDtos" />
                 </div>
                 <div class="form-group">
                     <label for="receiveUserId">责任人</label>
@@ -88,9 +94,9 @@ export default {
             projectItemUserListProject: [],
             formatDate: TraceCommon.formatDate,
             summernoteInitSuccess: false, // summernote初始化成功
-            projectTaskDtos:[],//项目任务时间点
-            isflag:true,
-            srcArray:[]
+            projectTaskDtos: [],//项目任务时间点
+            isflag: true,
+            srcArray: []
         }
     },
     components: {
@@ -104,26 +110,26 @@ export default {
         AudioField
     },
     methods: {
-    	/**
-    	 * 删除语音
-    	 * @param {Object} index
-    	 */
-    	deleteAudioSrc:function(index){
-			var _self = this;
-			_self.srcArray.splice(index,1);
-			 _self.traceDto.audioSrcs = JSON.stringify(_self.srcArray);
-		},
-    	/**
-    	 * 录音停止之后
-    	 * @param {Object} param
-    	 */
-    	handelEndRecord: function(param) {
-    		var _self = this;
-		     if(param.fileName != undefined){
-		     	_self.srcArray.push(param.fileName);
-			    _self.traceDto.audioSrcs = JSON.stringify(_self.srcArray);
-		     }
-		},
+        /**
+         * 删除语音
+         * @param {Object} index
+         */
+        deleteAudioSrc: function (index) {
+            var _self = this;
+            _self.srcArray.splice(index, 1);
+            _self.traceDto.audioSrcs = JSON.stringify(_self.srcArray);
+        },
+        /**
+         * 录音停止之后
+         * @param {Object} param
+         */
+        handelEndRecord: function (param) {
+            var _self = this;
+            if (param.fileName != undefined) {
+                _self.srcArray.push(param.fileName);
+                _self.traceDto.audioSrcs = JSON.stringify(_self.srcArray);
+            }
+        },
         back: function () {
             history.back();
         },
@@ -173,9 +179,9 @@ export default {
                     data: rst,
                     contentType: false,
                     processData: false,
-                    beforeSend : function(request){
-						Common.addTokenToRequest(request);
-					},
+                    beforeSend: function (request) {
+                        Common.addTokenToRequest(request);
+                    },
                     success: function (data) {
                         if (data != "error") {
                             var imageName = data.substring(data.indexOf(":") + 1);
@@ -197,10 +203,10 @@ export default {
                             //$('#summernote').summernote('insertText', imageText);
 
                             // 方法5: 插入div,div中嵌入img,测试OK
-//                          var node = document.createElement('div') // 创建节点,用于包裹视频,再加这一层是方便调视频样式
-//                          node.innerHTML = "<img is='auth-img' authSrc='" + Common.getResourceUrl("image", _self.className, imageName) + "' />";
-//                          $("#summernote").summernote('insertNode', node);
-							$("#summernote").summernote('insertImage', Common.getResourceUrl("image", _self.className, imageName), 'image name');
+                            //                          var node = document.createElement('div') // 创建节点,用于包裹视频,再加这一层是方便调视频样式
+                            //                          node.innerHTML = "<img is='auth-img' authSrc='" + Common.getResourceUrl("image", _self.className, imageName) + "' />";
+                            //                          $("#summernote").summernote('insertNode', node);
+                            $("#summernote").summernote('insertImage', Common.getResourceUrl("image", _self.className, imageName), 'image name');
                         }
                     },
                     error: function () {
@@ -274,11 +280,11 @@ export default {
 
         //日期选择
         planFinishedDateChanged: function (value) {
-            if(value == ""){
+            if (value == "") {
                 this.traceDto.planFinishedDate = null;
-            }else{
+            } else {
                 this.traceDto.planFinishedDate = value
-            }            
+            }
         },
 
         //初始化数据
@@ -288,16 +294,16 @@ export default {
             if (_self.traceId != null && _self.traceId != '') {
                 TraceResource.uniqueByTraceId(_self.traceId).then(successData => {
                     _self.traceDto = successData;
-                    if(successData != undefined && successData.audioSrcs != undefined){
-                    	_self.srcArray = JSON.parse(successData.audioSrcs); 
+                    if (successData != undefined && successData.audioSrcs != undefined) {
+                        _self.srcArray = JSON.parse(successData.audioSrcs);
                     }
                     _self.changeProjectSelected();
                     $('#summernote').summernote({
-                        toolbar:[
+                        toolbar: [
                             ['insert', ['link', 'picture', 'video', 'audio', 'hr', 'table', //插件
-                            'fontname', 'fontsize', 'color', 'bold', 'italic', 'underline', 'strikethrough', 'clear',//字体样式
-                            'style', 'ol', 'ul', 'paragraph', 'height',//段落样式
-                            'fullscreen', 'codeview', 'undo', 'redo', 'help'//Misc
+                                'fontname', 'fontsize', 'color', 'bold', 'italic', 'underline', 'strikethrough', 'clear',//字体样式
+                                'style', 'ol', 'ul', 'paragraph', 'height',//段落样式
+                                'fullscreen', 'codeview', 'undo', 'redo', 'help'//Misc
                             ]],
                         ],
                         height: 400,
@@ -324,27 +330,27 @@ export default {
          * 根据项目id查询项目任务时间节点
          * @author GuoZhiBo 20191010
          */
-        queryProjectTaskDtoByProjectId: function(){
-			var _self = this;
-			$.ajax({
-				url: Common.getApiURL('ProjectTaskResource/queryProjectTaskDtoByProjectId'),
-				type: 'get',
-				dataType: 'json',
-				contentType: 'application/json',
-				data: {
-					projectId: _self.traceDto.projectId
-				},
-				beforeSend: function(request) {
-					Common.addTokenToRequest(request);
-				},
-				success: function(data) {
-					_self.projectTaskDtos = data;
-				},
-				error: function(XMLHttpRequest, textStatus, errorThrown) {
-					Common.processException(XMLHttpRequest, textStatus, errorThrown);
-				}
-			});
-		},
+        queryProjectTaskDtoByProjectId: function () {
+            var _self = this;
+            $.ajax({
+                url: Common.getApiURL('ProjectTaskResource/queryProjectTaskDtoByProjectId'),
+                type: 'get',
+                dataType: 'json',
+                contentType: 'application/json',
+                data: {
+                    projectId: _self.traceDto.projectId
+                },
+                beforeSend: function (request) {
+                    Common.addTokenToRequest(request);
+                },
+                success: function (data) {
+                    _self.projectTaskDtos = data;
+                },
+                error: function (XMLHttpRequest, textStatus, errorThrown) {
+                    Common.processException(XMLHttpRequest, textStatus, errorThrown);
+                }
+            });
+        },
     },
 
     mounted: function () {
@@ -354,28 +360,29 @@ export default {
         this.isflag = false;
     },
 
-    
-    destroyed: function(){
-        if(this.summernoteInitSuccess == true){
+
+    destroyed: function () {
+        if (this.summernoteInitSuccess == true) {
             $('#summernote').summernote('destroy');
         }
         //界面销毁时,修改插入连接的display属性
         $('.note-link-popover').removeAttr('style');
     },
     watch: {
-		"traceDto.projectId" : function(curVal, oldVal){
-			var _self = this;
-			_self.queryProjectTaskDtoByProjectId();
-			if(_self.isflag){
-				_self.$refs.treeSelect.setValue(undefined);
-			}else{
-				_self.$refs.treeSelect.setValue(_self.traceDto.projectTaskId);
-			}
-			_self.isflag = true;
-		}
-	}
+        "traceDto.projectId": function (curVal, oldVal) {
+            var _self = this;
+            _self.queryProjectTaskDtoByProjectId();
+            if (_self.isflag) {
+                _self.$refs.treeSelect.setValue(undefined);
+            } else {
+                _self.$refs.treeSelect.setValue(_self.traceDto.projectTaskId);
+            }
+            _self.isflag = true;
+        }
+    }
 }
 </script>
 
 <style scoped>
+
 </style>