ソースを参照

修复项目管理bug

liangzhicheng 4 年 前
コミット
c7f730999d

ファイルの差分が大きいため隠しています
+ 1 - 7542
package-lock.json


+ 2 - 0
package.json

@@ -9,6 +9,8 @@
     "build": "webpack --mode=production --config ./webpack.prod.cjs --progress --hide-modules"
   },
   "dependencies": {
+    "@riophae/vue-treeselect": "^0.4.0",
+    "ant-design-vue": "^3.0.0-beta.6",
     "pc-component-v3": "^1.0.5",
     "v-tooltip": "^4.0.0-beta.17",
     "vue": "^3.2.31",

+ 1 - 1
src/common/Common.js

@@ -1,4 +1,4 @@
-var Notify = require('pc-component-v3').Notify;
+var Notify = require('pc-component-v3').default.Notify;
 
 
 module.exports = {

+ 5 - 0
src/main.js

@@ -11,10 +11,14 @@ import PcClientComponent from 'pc-component-v3';
 
 import VueDOMPurifyHTML from 'vue-dompurify-html';
 
+import Antd from 'ant-design-vue';
+
 // bug fixed by jack 
 // 在加载 css 的时候 font 不能被正确的加载
 import './assets/summernote.css';
 
+import 'ant-design-vue/dist/antd.css';
+
 
 let instance = null;
 let i18n = createI18n({
@@ -35,6 +39,7 @@ function render(props = {}) {
 
   instance = createApp(App);
   instance.use(i18n);
+  instance.use(Antd);
   instance.use(router);
   instance.use(PcClientComponent);
   instance.use(VueDOMPurifyHTML);

+ 2 - 2
src/trace/CompleteProjectList.vue

@@ -74,12 +74,12 @@
 
 <script> 
 var Common = require('../common/Common.js');
-var Uuid = require('pc-component-v3').Uuid;
+var Uuid = require('pc-component-v3').default.Uuid;
 
 import QueryWidget from '../widget/QueryWidget.vue';
 import TraceHeader from './TraceHeader.vue';
 var Pagination = require('pc-component-v3').default.VueBootstrapPagination;;
-var Navbar = require('pc-component-v3').Navbar;
+var Navbar = require('pc-component-v3').default.Navbar;
 
 export default {
   components: {

+ 3 - 3
src/trace/Finished.vue

@@ -50,11 +50,11 @@
 
 <script>
 var Common = require("../common/Common.js");
-var Uuid = require("pc-component-v3").Uuid;
+var Uuid = require("pc-component-v3").default.Uuid;
 import TraceCommon from "./TraceCommon.js";
-var Checkbox = require("pc-component-v3").Checkbox;
+var Checkbox = require("pc-component-v3").default.Checkbox;
 import TraceResource from "./TraceResource.js";
-var Navbar = require("pc-component-v3").Navbar;
+var Navbar = require("pc-component-v3").default.Navbar;
 var Pagination = require('pc-component-v3').default.VueBootstrapPagination;;
 
 export default {

+ 32 - 39
src/trace/FinishedProjectTraces.vue

@@ -54,44 +54,36 @@
         style="margin-bottom: 10px;margin-top: 10px;"
       >
         <div class="panel-body">
-          <vuedraggable v-model="finishedTraces" class="wrapper" @change="end">
-            <transition-group>
-              <div
-                v-for="trace in finishedTraces"
-                :key="trace.id"
-                style="margin-top: 5px; cursor: pointer;"
-              >
+          <vuedraggable v-model="finishedTraces" item-key="id" class="wrapper" @change="end">
+            <template #item="{element}">
+              <div style="margin-top: 5px; cursor: pointer;">
                 <span>
-                  <span>
-                    <Checkbox
-                      :id="'trace-finish-' + trace.id"
-                      v-model="trace.finished"
-                      class-name="terms"
-                      class="trace-checkbox"
-                      @input="updateTracefinished(trace)"
-                    />
+                  <Checkbox
+                    :id="'trace-finish-' + element.id"
+                    v-model="element.finished"
+                    class-name="terms"
+                    class="trace-checkbox"
+                    @input="updateTracefinished(element)"
+                  />
+                </span>
+                <span @click="openLine(element)">
+                  <!-- eslint-disable-next-line -->
+                    <span class="trace-summary" :class="{'font-color': element.timeLineCompletion==true}" v-html="element.summary" />
+                  <span
+                    class="glyphicon glyphicon-option-vertical trace-icon"
+                    aria-hidden="true"
+                  />
+                  <span class="label label-primary trace-user">
+                    <!-- eslint-disable-next-line -->
+                      <span v-html="element.receiveUserName" />&nbsp;
+                    <span>{{ formatDate(element.planFinishedDate) }}</span>
                   </span>
-                  <span @click="openLine(trace)">
-                    <span
-                      v-dompurify-html="trace.summary"
-                      class="trace-summary"
-                      :class="{'font-color': trace.timeLineCompletion==true}"
-                    />
-                    <span
-                      class="glyphicon glyphicon-option-vertical trace-icon"
-                      aria-hidden="true"
-                    />
-                    <span class="label label-primary trace-user">
-                      <span v-dompurify-html="trace.receiveUserName" />
-                      <span>{{ formatDate(trace.planFinishedDate) }}</span>
-                    </span>
-                    <span class="badge">
-                      <span>完成时间:{{ formatDate(trace.finishedDate) }}</span>
-                    </span>
+                  <span class="badge">
+                    <span>完成时间:{{ formatDate(element.finishedDate) }}</span>
                   </span>
                 </span>
               </div>
-            </transition-group>
+            </template>
           </vuedraggable>  
         </div>
       </div>
@@ -112,13 +104,13 @@
 
 <script>
 var Common = require('../common/Common.js');
-var Uuid = require('pc-component-v3').Uuid;
+var Uuid = require('pc-component-v3').default.Uuid;
 import TraceCommon from './TraceCommon.js';
 import TraceResource from './TraceResource.js';
-var Navbar = require('pc-component-v3').Navbar;
-var Pagination = require('pc-component-v3').default.VueBootstrapPagination;;
-var PageSizeSelect = require('pc-component-v3').PageSizeSelect;
-var Checkbox = require('pc-component-v3').Checkbox;
+var Navbar = require('pc-component-v3').default.Navbar;
+var Pagination = require('pc-component-v3').default.VueBootstrapPagination;
+var PageSizeSelect = require('pc-component-v3').default.PageSizeSelect;
+var Checkbox = require('pc-component-v3').default.Checkbox;
 import vuedraggable from 'vuedraggable';
 
 export default {
@@ -237,7 +229,8 @@ export default {
             return;
           }
           for (var index = 0; index < data.length; index++) {
-            _self.$set(_self.projectUsers, index, data[index]);
+            _self.projectUsers[index] = data[index];
+            // _self.$set(_self.projectUsers, index, data[index]);
           }
         },
         error: function (XMLHttpRequest, textStatus, errorThrown) {

+ 28 - 24
src/trace/NotFinishedProjectTraces.vue

@@ -29,30 +29,30 @@
     </div>
     <div class="panel panel-default" style="margin-bottom: 10px;margin-top: 10px;">
       <div class="panel-body">
-        <vuedraggable v-model="noFinishedTraces" class="wrapper" :delay="500" :delay-on-touch-only="true" @change="end">
-          <transition-group>
-            <div v-for="trace in noFinishedTraces" :key="trace.id" style="margin-top: 5px; cursor: pointer;">
+        <vuedraggable v-model="noFinishedTraces" item-key="id" class="wrapper" :delay="500" :delay-on-touch-only="true" @change="end">
+          <template #item="{element}">
+            <div style="margin-top: 5px; cursor: pointer;">
               <span>
                 <span>
-                  <span>
-                    <Checkbox
-                      :id="'trace-finish-' + trace.id" v-model="trace.finished" class-name="terms" class="trace-checkbox"
-                      @input="updateTracefinished(trace)"
-                    />
-                  </span>
-                  <span @click="openLine(trace)">
-                    <span v-dompurify-html="trace.summary" class="trace-summary" :class="{'font-color': trace.timeLineCompletion==true}" />
-                    <span class="glyphicon glyphicon-option-vertical trace-icon" aria-hidden="true" />
-                    <span class="label trace-user" :class="{'label-danger' : trace.overdue == true, 'label-primary' : trace.overdue != true}">
-                      <span v-dompurify-html="trace.receiveUserName" />
-                      <span>{{ formatDate(trace.planFinishedDate) }}</span>
-                    </span>
+                  <Checkbox
+                    :id="'trace-finish-' + element.id" v-model="element.finished" class-name="terms" class="trace-checkbox"
+                    @input="updateTracefinished(element)"
+                  />
+                </span>
+                <span @click="openLine(element)">
+                  <!-- eslint-disable-next-line -->
+                    <span class="trace-summary" :class="{'font-color': element.timeLineCompletion==true}" v-html="element.summary" />
+                  <span class="glyphicon glyphicon-option-vertical trace-icon" aria-hidden="true" />
+                  <span class="label trace-user" :class="{'label-danger' : element.overdue == true, 'label-primary' : element.overdue != true}">
+                    <!-- eslint-disable-next-line -->
+                      <span v-html="element.receiveUserName" />&nbsp;
+                    <span>{{ formatDate(element.planFinishedDate) }}</span>
                   </span>
                 </span>
-                <a class="fa-pull-right" style="color: blue;" @click="edit(trace)">编辑</a>
               </span>
+              <a class="fa-pull-right" style="color: blue;" @click="edit(element)">编辑</a>
             </div>
-          </transition-group>
+          </template>
         </vuedraggable>
       </div>
     </div>
@@ -78,13 +78,13 @@
 
 <script>
 var Common = require('../common/Common.js');
-var Uuid = require('pc-component-v3').Uuid;
+var Uuid = require('pc-component-v3').default.Uuid;
 import TraceCommon from './TraceCommon.js';
 import TraceResource from './TraceResource.js';
-var Navbar = require('pc-component-v3').Navbar;
+var Navbar = require('pc-component-v3').default.Navbar;
 var Pagination = require('pc-component-v3').default.VueBootstrapPagination;;
-var PageSizeSelect = require('pc-component-v3').PageSizeSelect;
-var Checkbox = require('pc-component-v3').Checkbox;
+var PageSizeSelect = require('pc-component-v3').default.PageSizeSelect;
+var Checkbox = require('pc-component-v3').default.Checkbox;
 import vuedraggable from 'vuedraggable';
 
 export default {
@@ -200,6 +200,7 @@ export default {
           _self.pagination.total = data.totalSize;
           _self.pagination.last_page = Math.ceil(_self.pagination.total / _self.pagination.per_page);
           _self.noFinishedTraces = data.traceDtos;
+          console.log(_self.noFinishedTraces);
         },
         error: function(XMLHttpRequest, textStatus, errorThrown) {
           Common.processException(XMLHttpRequest, textStatus, errorThrown);
@@ -268,8 +269,10 @@ export default {
           if(data == null) {
             return;
           }
+          console.log(data);
           for(var index = 0; index < data.length; index++) {
-            _self.$set(_self.projectUsers, index, data[index]);
+            _self.projectUsers[index] = data[index];
+            // _self.$set(_self.projectUsers, index, data[index]);
           }
         },
         error: function(XMLHttpRequest, textStatus, errorThrown) {
@@ -302,7 +305,8 @@ export default {
             return;
           }
           for(var index = 0; index < data.length; index++) {
-            _self.$set(_self.projectAdminUsers, index, data[index]);
+            _self.projectAdminUsers[index] = data[index];
+            // _self.$set(_self.projectAdminUsers, index, data[index]);
           }
         },
         error: function(XMLHttpRequest, textStatus, errorThrown) {

+ 3 - 3
src/trace/Personage.vue

@@ -73,10 +73,10 @@
 
 <script>
 var Common = require("../common/Common.js");
-var Uuid = require("pc-component-v3").Uuid;
-var Navbar = require("pc-component-v3").Navbar;
+var Uuid = require("pc-component-v3").default.Uuid;
+var Navbar = require("pc-component-v3").default.Navbar;
 import TraceCommon from "./TraceCommon.js";
-var Checkbox = require("pc-component-v3").Checkbox;
+var Checkbox = require("pc-component-v3").default.Checkbox;
 import TraceResource from "./TraceResource.js";
 var Pagination = require('pc-component-v3').default.VueBootstrapPagination;;
 

+ 6 - 4
src/trace/ProjectAdminUserList.vue

@@ -76,9 +76,9 @@
 </template>
 
 <script>
-var Navbar = require('pc-component-v3').Navbar;
+var Navbar = require('pc-component-v3').default.Navbar;
 var Common = require('../common/Common.js');
-var Uuid = require('pc-component-v3').Uuid;
+var Uuid = require('pc-component-v3').default.Uuid;
 
 export default {
   components: {
@@ -129,7 +129,8 @@ export default {
         success: function (data) {
           for (var index = 0; index < data.length; index++) {
             data[index].selected = false;
-            _self.$set(_self.userList, index, data[index]);
+            _self.userList[index] = data[index];
+            // _self.$set(_self.userList, index, data[index]);
           }
           _self.initProjectItemUser();
         },
@@ -194,7 +195,8 @@ export default {
             }
           }
           for (let index = 0; index < data.length; index++) {
-            _self.$set(_self.projectItemUsers, index, data[index]);
+            _self.projectItemUsers[index] = data[index];
+            // _self.$set(_self.projectItemUsers, index, data[index]);
           }
         },
         error: function (XMLHttpRequest, textStatus, errorThrown) {

+ 22 - 18
src/trace/ProjectArchive.vue

@@ -409,14 +409,14 @@
   </div>
 </template>
 <script type="text/javascript">
-var Notify = require('pc-component-v3').Notify;
+var Notify = require('pc-component-v3').default.Notify;
 var Common = require('../common/Common.js');
-var Uuid = require('pc-component-v3').Uuid;
+var Uuid = require('pc-component-v3').default.Uuid;
 var UpladFile = require('../widget/UpladFile.js');
-var Navbar = require('pc-component-v3').Navbar;
-var Modal = require('pc-component-v3').Modal;
-var Loading = require('pc-component-v3').Loading;
-var DateWidget = require('pc-component-v3').Date;
+var Navbar = require('pc-component-v3').default.Navbar;
+var Modal = require('pc-component-v3').default.Modal;
+var Loading = require('pc-component-v3').default.Loading;
+var DateWidget = require('pc-component-v3').default.Date;
 
 export default {
   components: {
@@ -817,27 +817,31 @@ export default {
             if (data != 'error') {
               Notify.success('提示', '文件上传成功!', 1000);
               var fileName = data.substring(data.indexOf(':') + 1);
-              _self.$set(_self.projectArchivesDto, 'fileName', fileName);
-              _self.$set(
-                _self.projectArchivesDto,
-                'fileSize',
-                Math.round((selectedFile.size / 1024) * 100) / 100,
-              );
+              _self.projectArchivesDto.fileName = fileName;
+              _self.projectArchivesDto.fileSize = Math.round((selectedFile.size / 1024) * 100) / 100;
+              // _self.$set(_self.projectArchivesDto, 'fileName', fileName);
+              // _self.$set(
+              //   _self.projectArchivesDto,
+              //   'fileSize',
+              //   Math.round((selectedFile.size / 1024) * 100) / 100,
+              // );
               if (
                 _self.projectArchivesDto.name == null ||
                 _self.projectArchivesDto.name == ''
               ) {
-                _self.$set(_self.projectArchivesDto, 'name', fileName);
+                _self.projectArchivesDto.name = fileName;
+                // _self.$set(_self.projectArchivesDto, 'name', fileName);
               }
               if (
                 _self.projectArchivesDto.planArchiveDate == null ||
                 _self.projectArchivesDto.planArchiveDate == ''
               ) {
-                _self.$set(
-                  _self.projectArchivesDto,
-                  'planArchiveDate',
-                  moment().format('YYYY-MM-DD HH:mm:ss'),
-                );
+                _self.projectArchivesDto.planArchiveDate = moment().format('YYYY-MM-DD HH:mm:ss');
+                // _self.$set(
+                //   _self.projectArchivesDto,
+                //   'planArchiveDate',
+                //   moment().format('YYYY-MM-DD HH:mm:ss'),
+                // );
               }
 
               _self.saveProjectArchives();

+ 3 - 3
src/trace/ProjectList.vue

@@ -55,12 +55,12 @@
 
 <script>
 var Common = require('../common/Common.js');
-var Uuid = require('pc-component-v3').Uuid;
+var Uuid = require('pc-component-v3').default.Uuid;
 
 import QueryWidget from '../widget/QueryWidget.vue';
 import TraceHeader from './TraceHeader.vue';
 var Pagination = require('pc-component-v3').default.VueBootstrapPagination;
-var Navbar = require('pc-component-v3').Navbar;
+var Navbar = require('pc-component-v3').default.Navbar;
 
 export default {
   components: {
@@ -188,7 +188,7 @@ export default {
      * 打开明细
      */
     openLine: function (obj) {
-      var uuid = Uuid.createUUID();
+      // var uuid = Uuid.createUUID();
       var _self = this;
       this.$router.push({
         path: '/trace/notFinishedProjectTraces/' + obj.id,

+ 2 - 2
src/trace/ProjectManagement.vue

@@ -20,8 +20,8 @@
 
 <script>
 var Common = require('../common/Common.js');
-var Navbar = require('pc-component-v3').Navbar;
-var Loading = require('pc-component-v3').Loading;
+var Navbar = require('pc-component-v3').default.Navbar;
+var Loading = require('pc-component-v3').default.Loading;
 var GanttScale = require('../widget/GanttScale2.vue').default;
 
 

+ 14 - 7
src/trace/ProjectUserList.vue

@@ -76,10 +76,10 @@
 </template>
 
 <script>
-var Navbar = require('pc-component-v3').Navbar;
+var Navbar = require('pc-component-v3').default.Navbar;
 var Common = require('../common/Common.js');
-var Notify = require('pc-component-v3').Notify;
-var Uuid = require('pc-component-v3').Uuid;
+var Notify = require('pc-component-v3').default.Notify;
+var Uuid = require('pc-component-v3').default.Uuid;
 
 export default {
   components: {
@@ -117,7 +117,8 @@ export default {
       var _self = this;
 
       // 清空人员数组
-      _self.userList.splice(0, _self.userList.length);
+      _self.userList = [];
+      // _self.userList.splice(0, _self.userList.length);
 
       $.ajax({
         url: Common.getApiURL('userResource/listByClientId'),
@@ -128,10 +129,13 @@ export default {
           Common.addTokenToRequest(request);
         },
         success: function (data) {
+          // console.log(data);
           for (var index = 0; index < data.length; index++) {
             data[index].selected = false;
-            _self.$set(_self.userList, index, data[index]);
+            _self.userList[index] = data[index];
+            // _self.$set(_self.userList, index, data[index]);
           }
+          console.log(_self.userList);
           _self.initProjectItemUser();
         },
         error: function (XMLHttpRequest, textStatus, errorThrown) {
@@ -170,7 +174,8 @@ export default {
       var _self = this;
 
       // 清空项目-人员数组
-      _self.projectItemUsers.splice(0, _self.projectItemUsers.length);
+      _self.projectItemUsers = [];
+      // _self.projectItemUsers.splice(0, _self.projectItemUsers.length);
 
       $.ajax({
         url: Common.getApiURL('ProjectItemUserResource/listByProjectItemId'),
@@ -184,6 +189,7 @@ export default {
           Common.addTokenToRequest(request);
         },
         success: function (data) {
+          // console.log(data);
           if(data == null){
             return;
           }
@@ -195,7 +201,8 @@ export default {
             }
           }
           for (let index = 0; index < data.length; index++) {
-            _self.$set(_self.projectItemUsers, index, data[index]);
+            _self.projectItemUsers[index] = data[index];
+            // _self.$set(_self.projectItemUsers, index, data[index]);
           }
         },
         error: function (XMLHttpRequest, textStatus, errorThrown) {

+ 2 - 2
src/trace/TeamList.vue

@@ -29,8 +29,8 @@
 
 <script>
 var Common = require('../common/Common.js');
-var Uuid = require('pc-component-v3').Uuid;
-var Navbar = require('pc-component-v3').Navbar;
+var Uuid = require('pc-component-v3').default.Uuid;
+var Navbar = require('pc-component-v3').default.Navbar;
 import TraceHeader from './TraceHeader.vue';
 export default {
   components: {

+ 3 - 3
src/trace/TraceAttachment.vue

@@ -35,9 +35,9 @@
 
 <script>
 var Common = require('../common/Common.js');
-var Notify = require('pc-component-v3').Notify;
-var DownloadService = require('pc-component-v3').DownloadService;
-var Loading = require('pc-component-v3').Loading;
+var Notify = require('pc-component-v3').default.Notify;
+var DownloadService = require('pc-component-v3').default.DownloadService;
+var Loading = require('pc-component-v3').default.Loading;
 
 export default {
   components: {

+ 1 - 1
src/trace/TraceComment.vue

@@ -33,7 +33,7 @@
 
 <script>
 var Common = require('../common/Common.js');
-var DownloadService = require('pc-component-v3').DownloadService;
+var DownloadService = require('pc-component-v3').default.DownloadService;
 export default {
   components: {
     Common,

+ 5 - 5
src/trace/TraceCommentCreate.vue

@@ -56,13 +56,13 @@
   </div>
 </template>
 <script>
-var Uuid = require('pc-component-v3').Uuid;
-var Loading = require('pc-component-v3').Loading;
+var Uuid = require('pc-component-v3').default.Uuid;
+var Loading = require('pc-component-v3').default.Loading;
 var UpladFile = require('../widget/UpladFile.js');
-var Notify = require('pc-component-v3').Notify;
+var Notify = require('pc-component-v3').default.Notify;
 var Common = require('../common/Common.js');
-var Navbar = require('pc-component-v3').Navbar;
-var DownloadService = require('pc-component-v3').DownloadService;
+var Navbar = require('pc-component-v3').default.Navbar;
+var DownloadService = require('pc-component-v3').default.DownloadService;
 
 export default {
   components: {

+ 5 - 5
src/trace/TraceCommentEdit.vue

@@ -45,13 +45,13 @@
   </div>
 </template>
 <script>
-var Uuid = require('pc-component-v3').Uuid;
-var Loading = require('pc-component-v3').Loading;
+var Uuid = require('pc-component-v3').default.Uuid;
+var Loading = require('pc-component-v3').default.Loading;
 var UpladFile = require('../widget/UpladFile.js');
-var Notify = require('pc-component-v3').Notify;
+var Notify = require('pc-component-v3').default.Notify;
 var Common = require('../common/Common.js');
-var Navbar = require('pc-component-v3').Navbar;
-var DownloadService = require('pc-component-v3').DownloadService;
+var Navbar = require('pc-component-v3').default.Navbar;
+var DownloadService = require('pc-component-v3').default.DownloadService;
 
 export default {
   components: {

+ 2 - 2
src/trace/TraceConfig.vue

@@ -21,8 +21,8 @@
 
 <script>
 var Common = require('../common/Common.js');
-var Notify = require('pc-component-v3').Notify;
-var Navbar = require('pc-component-v3').Navbar;
+var Notify = require('pc-component-v3').default.Notify;
+var Navbar = require('pc-component-v3').default.Navbar;
 module.exports = {
   data: function() {
     return {

+ 32 - 9
src/trace/TraceCreate.vue

@@ -62,7 +62,7 @@
         </div>
         <div class="form-group">
           <label for="projectName">时间节点</label>
-          <Treeselect
+          <ATreeselect
             ref="treeSelect"
             :multiple="false"
             :options="projectTaskDtos"
@@ -92,15 +92,16 @@
   </div>
 </template>
 <script type="text/javascript">
-var Notify = require('pc-component-v3').Notify;
+var Notify = require('pc-component-v3').default.Notify;
 var Common = require('../common/Common.js');
-var Uuid = require('pc-component-v3').Uuid;
+var Uuid = require('pc-component-v3').default.Uuid;
 var UpladFile = require('../widget/UpladFile.js');
 
-var Navbar = require('pc-component-v3').Navbar;
-var DateWidget = require('pc-component-v3').Date;
-var Loading = require('pc-component-v3').Loading;
+var Navbar = require('pc-component-v3').default.Navbar;
+var DateWidget = require('pc-component-v3').default.Date;
+var Loading = require('pc-component-v3').default.Loading;
 import Treeselect from '../widget/TreeSelect.vue';
+import ATreeselect from '../widget/ATreeSelect.vue';
 var AudioField = require('../widget/AudioField.vue').default;
 export default {
   components: {
@@ -111,6 +112,7 @@ export default {
     UpladFile,
     DateWidget,
     Treeselect,
+    ATreeselect,
     AudioField,
   },
   data: function () {
@@ -283,7 +285,8 @@ export default {
         success: function (data) {
           if (data != null) {
             for (var index = 0; index < data.length; index++) {
-              _self.$set(_self.userList, index, data[index]);
+              _self.userList[index] = data[index];
+              // _self.$set(_self.userList, index, data[index]);
               // if (index == 0) {
               //     _self.userSelected = data[index].userId;
               // }
@@ -313,7 +316,8 @@ export default {
         success: function (data) {
           if (data != null) {
             for (var index = 0; index < data.length; index++) {
-              _self.$set(_self.projectUserList, index, data[index]);
+              _self.projectUserList[index] = data[index];
+              // _self.$set(_self.projectUserList, index, data[index]);
             }
           }
         },
@@ -346,13 +350,32 @@ export default {
           Common.addTokenToRequest(request);
         },
         success: function (data) {
-          _self.projectTaskDtos = data;
+          _self.projectTaskDtos = _self.convertToTreedata(data);
+          console.log(_self.projectTaskDtos);
         },
         error: function (XMLHttpRequest, textStatus, errorThrown) {
           Common.processException(XMLHttpRequest, textStatus, errorThrown);
         },
       });
     },
+
+    convertToTreedata: function(data) {
+      console.log(data);
+      var returnData = [];
+      for(var i = 0; i < data.length; i++){
+        var tempObj = {
+          title : data[i].label,
+          value : data[i].id,
+          key : data[i].id,
+        };
+        if('children' in data[i]){
+          tempObj.children = this.convertToTreedata(data[i].children);
+        }
+        //push到数据数组中
+        returnData.push(tempObj);
+      }
+      return returnData;
+    },
   },
 
 };

+ 5 - 5
src/trace/TraceDynamic.vue

@@ -89,20 +89,20 @@
 </template>
 
 <script>
-var Notify = require('pc-component-v3').Notify;
+var Notify = require('pc-component-v3').default.Notify;
 var Common = require('../common/Common.js');
-var Uuid = require('pc-component-v3').Uuid;
+var Uuid = require('pc-component-v3').default.Uuid;
 import TraceCommon from './TraceCommon.js';
 
 import TraceHeader from './TraceHeader.vue';
 var Pagination = require('pc-component-v3').default.VueBootstrapPagination;;
-var Navbar = require('pc-component-v3').Navbar;
-// var VueSimpleSuggest = require("vue-simple-suggest").default;
+var Navbar = require('pc-component-v3').default.Navbar;
+// var VueSimpleSuggest = require('vue-simple-suggest').default;
 
 export default {
   components: {
     Pagination, Navbar, TraceHeader, 
-    // VueSimpleSuggest
+    // VueSimpleSuggest,
   },
   data: function () {
     return {

+ 1 - 1
src/trace/TraceHeader.vue

@@ -54,7 +54,7 @@
 </template>
 
 <script>
-var Uuid = require('pc-component-v3').Uuid;
+var Uuid = require('pc-component-v3').default.Uuid;
 var Common = require('../common/Common.js');
 
 export default {

+ 23 - 16
src/trace/TraceList.vue

@@ -25,28 +25,30 @@
 
     <div class="panel panel-default">
       <div class="panel-body">
-        <vuedraggable v-model="traceDtos" class="wrapper" @change="end">
-          <transition-group>
-            <div v-for="item in traceDtos" :key="item.id" style="margin-top: 5px; cursor: pointer;">
+        <vuedraggable v-model="traceDtos" item-key="id" class="wrapper" @change="end">
+          <template #item="{element}">
+            <div style="margin-top: 5px; cursor: pointer;">
               <span>
                 <span>
                   <Checkbox
-                    :id="'trace-finish-' + item.id" v-model="item.finished" class-name="terms" class="trace-checkbox"
-                    @input="updateTracefinished(item)"
+                    :id="'trace-finish-' + element.id" v-model="element.finished" class-name="terms" class="trace-checkbox"
+                    @input="updateTracefinished(element)"
                   />
                 </span>
-                <span @click="openLine(item)">
-                  <span v-dompurify-html="item.summary" class="trace-summary" :class="{'font-color': item.timeLineCompletion==true}" />
+                <span @click="openLine(element)">
+                  <!-- eslint-disable-next-line -->
+                <span class="trace-summary" :class="{'font-color': element.timeLineCompletion==true}" v-html="element.summary" />
                   <span class="glyphicon glyphicon-option-vertical trace-icon" aria-hidden="true" />
-                  <span class="label trace-user" :class="{'label-danger' : item.overdue == true, 'label-primary' : item.overdue != true}">
-                    <span v-dompurify-html="item.receiveUserName" />
-                    <span>{{ formatDate(item.planFinishedDate) }}</span>
+                  <span class="label trace-user" :class="{'label-danger' : element.overdue == true, 'label-primary' : element.overdue != true}">
+                    <!-- eslint-disable-next-line -->
+                  <span v-html="element.receiveUserName" />&nbsp;
+                    <span>{{ formatDate(element.planFinishedDate) }}</span>
                   </span>
                 </span>
-                <a class="fa-pull-right" style="color: blue;" @click="edit(item)">编辑</a>
+                <a class="fa-pull-right" style="color: blue;" @click="edit(element)">编辑</a>
               </span>
             </div>
-          </transition-group>
+          </template>
         </vuedraggable>
       </div>
     </div>
@@ -72,15 +74,15 @@
 
 <script>
 var Common = require('../common/Common.js');
-var Uuid = require('pc-component-v3').Uuid;
+var Uuid = require('pc-component-v3').default.Uuid;
 import TraceCommon from './TraceCommon.js';
 import QueryWidget from '../widget/QueryWidget.vue';
 import TraceHeader from './TraceHeader.vue';
 var Pagination = require('pc-component-v3').default.VueBootstrapPagination;;
-var PageSizeSelect = require('pc-component-v3').PageSizeSelect;
-var Navbar = require('pc-component-v3').Navbar;
+var PageSizeSelect = require('pc-component-v3').default.PageSizeSelect;
+var Navbar = require('pc-component-v3').default.Navbar;
 import TraceResource from './TraceResource.js';
-var Checkbox = require('pc-component-v3').Checkbox;
+var Checkbox = require('pc-component-v3').default.Checkbox;
 import vuedraggable from 'vuedraggable';
 
 export default {
@@ -119,10 +121,13 @@ export default {
 
   watch: {
     'param.traceStatus': function(val) {
+      console.log(this.$route);
       this.getDatas();
     },
     'param.traceUserStatus': function(val) {
       this.$router.push('/trace/traceList/' + val);
+      this.$route.params.traceState = val;
+      console.log(this.$route);
       this.param.traceUserStatus = this.$route.params.traceState;
       this.pagination.total = 0;
       this.pagination.per_page = Common.pageSize;
@@ -136,6 +141,7 @@ export default {
 
   mounted: function() {
     TraceResource.getImg();
+    console.log(this.$route);
     this.param.traceUserStatus = this.$route.params.traceState;
     this.getDatas();
   },
@@ -194,6 +200,7 @@ export default {
           Common.addTokenToRequest(request);
         },
         success: function(data) {
+          console.log(data);
           if (data != null && data.dataList != null) {
             _self.traceDtos = data.dataList;
           }

+ 2 - 1
src/trace/TraceLog.vue

@@ -22,7 +22,8 @@
         <div v-for="item in traceLogs" :key="item.id">
           <h5>
             {{ item.dateTime }} &nbsp;{{ item.operatorUserName }}
-            <div v-dompurify-html="item.content" />
+            <!-- eslint-disable-next-line -->
+            <div v-html="item.content" />
           </h5>
         </div>
       </div>

+ 8 - 6
src/trace/TraceName.vue

@@ -20,7 +20,8 @@
       <div>
         <div class="page-header">
           <h3>
-            <span v-dompurify-html="trace.summary" />
+            <!-- eslint-disable-next-line -->
+            <span v-html="trace.summary" />&nbsp;
             <span
               class="label"
               :class="{
@@ -68,7 +69,8 @@
         </div>
       </div>
 
-      <div id="v-html" v-dompurify-html="trace.detail" />
+      <!-- eslint-disable-next-line -->
+      <div id="v-html" v-html="trace.detail" />
       <AudioField
         :class-name="className"
         :src-array="srcArray"
@@ -117,9 +119,9 @@
 </template>
 <script>
 var Vue = require('vue').default;
-var Uuid = require('pc-component-v3').Uuid;
+var Uuid = require('pc-component-v3').default.Uuid;
 var Common = require('../common/Common.js');
-var Notify = require('pc-component-v3').Notify;
+var Notify = require('pc-component-v3').default.Notify;
 var UpladFile = require('../widget/UpladFile.js');
 import TraceCommon from './TraceCommon.js';
 import TraceResource from './TraceResource.js';
@@ -128,8 +130,8 @@ var TraceLog = require('./TraceLog.vue').default;
 var TraceComment = require('./TraceComment.vue').default;
 var TraceTimeLine = require('./TraceTimeLine.vue').default;
 var TraceAttachment = require('./TraceAttachment.vue').default;
-var Navbar = require('pc-component-v3').Navbar;
-var Loading = require('pc-component-v3').Loading;
+var Navbar = require('pc-component-v3').default.Navbar;
+var Loading = require('pc-component-v3').default.Loading;
 var AudioField = require('../widget/AudioField.vue').default;
 
 export default {

+ 13 - 7
src/trace/TraceTimeLine.vue

@@ -25,10 +25,10 @@
           <span>
             <Checkbox
               :id="'trace-finish-' + item.id"
-              v-model="item.finished"
+              v-model:value="item.finished"
               class-name="terms"
               class="trace-checkbox"
-              @input="openCloseTraceTimeLine(item)"
+              @update:value="openCloseTraceTimeLine(item)"
             />
           </span>
 
@@ -68,13 +68,13 @@
 </template>
 
 <script>
-var Uuid = require('pc-component-v3').Uuid;
+var Uuid = require('pc-component-v3').default.Uuid;
 var Common = require('../common/Common.js');
 import TraceCommon from './TraceCommon.js';
 
-var Loading = require('pc-component-v3').Loading;
+var Loading = require('pc-component-v3').default.Loading;
 import MyProgress from '../widget/MyProgress.vue';
-var Checkbox = require('pc-component-v3').Checkbox;
+var Checkbox = require('pc-component-v3').default.Checkbox;
 
 export default {
   components: {
@@ -89,8 +89,10 @@ export default {
       default: null,
     },
     trace: {
-      type: String,
-      default: null,
+      type: Object,
+      default: function() {
+        return null;
+      },
     },
   },
 
@@ -130,6 +132,7 @@ export default {
   },
 
   mounted: function () {
+    console.log(this.trace);
     if (this.traceId != undefined) {
       this.refresh();
       this.timeLine.traceId = this.traceId;
@@ -283,7 +286,10 @@ export default {
      * @param {Object} traceTimeLine
      */
     openCloseTraceTimeLine: function (traceTimeLine) {
+      console.log(traceTimeLine);
+      // traceTimeLine.finished = !traceTimeLine.finished;
       var _self = this;
+      console.log(_self.trace);
       if (_self.trace.finished != true) {
         _self.$refs.loading.show();
         $.ajax({

+ 5 - 5
src/trace/TraceTimeLineCreate.vue

@@ -63,11 +63,11 @@
 </template>
 
 <script>
-var Navbar = require('pc-component-v3').Navbar;
-var Uuid = require('pc-component-v3').Uuid;
-var DateWidget = require('pc-component-v3').Date;
-var Loading = require('pc-component-v3').Loading;
-var Notify = require('pc-component-v3').Notify;
+var Navbar = require('pc-component-v3').default.Navbar;
+var Uuid = require('pc-component-v3').default.Uuid;
+var DateWidget = require('pc-component-v3').default.Date;
+var Loading = require('pc-component-v3').default.Loading;
+var Notify = require('pc-component-v3').default.Notify;
 var Common = require('../common/Common.js');
 
 export default {

+ 5 - 5
src/trace/TraceTimeLineEdit.vue

@@ -66,11 +66,11 @@
 </template>
 
 <script>
-var Navbar = require('pc-component-v3').Navbar;
-var Uuid = require('pc-component-v3').Uuid;
-var DateWidget = require('pc-component-v3').Date;
-var Loading = require('pc-component-v3').Loading;
-var Notify = require('pc-component-v3').Notify;
+var Navbar = require('pc-component-v3').default.Navbar;
+var Uuid = require('pc-component-v3').default.Uuid;
+var DateWidget = require('pc-component-v3').default.Date;
+var Loading = require('pc-component-v3').default.Loading;
+var Notify = require('pc-component-v3').default.Notify;
 var Common = require('../common/Common.js');
 
 export default {

+ 9 - 6
src/trace/TraceUpdate.vue

@@ -95,13 +95,13 @@
 </template>
 <script>
 import TraceResource from './TraceResource.js';
-var Notify = require('pc-component-v3').Notify;
+var Notify = require('pc-component-v3').default.Notify;
 var Common = require('../common/Common.js');
 var UpladFile = require('../widget/UpladFile.js');
 import TraceCommon from './TraceCommon.js';
-var DateWidget = require('pc-component-v3').Date;
-var Navbar = require('pc-component-v3').Navbar;
-var Loading = require('pc-component-v3').Loading;
+var DateWidget = require('pc-component-v3').default.Date;
+var Navbar = require('pc-component-v3').default.Navbar;
+var Loading = require('pc-component-v3').default.Loading;
 import Treeselect from '../widget/TreeSelect.vue';
 var AudioField = require('../widget/AudioField.vue').default;
 export default {
@@ -282,7 +282,8 @@ export default {
         },
         success: function (data) {
           for (var index = 0; index < data.length; index++) {
-            _self.$set(_self.projectItemUserListProject, index, data[index]);
+            _self.projectItemUserListProject[index] = data[index];
+            // _self.$set(_self.projectItemUserListProject, index, data[index]);
           }
         },
         error: function (XMLHttpRequest, textStatus, errorThrown) {
@@ -316,7 +317,8 @@ export default {
         },
         success: function (data) {
           for (var index = 0; index < data.length; index++) {
-            _self.$set(_self.projectItemUserListUser, index, data[index]);
+            _self.projectItemUserListUser[index] = data[index];
+            // _self.$set(_self.projectItemUserListUser, index, data[index]);
           }
         },
         error: function (XMLHttpRequest, textStatus, errorThrown) {
@@ -393,6 +395,7 @@ export default {
         },
         success: function (data) {
           _self.projectTaskDtos = data;
+          console.log(_self.projectTaskDtos);
         },
         error: function (XMLHttpRequest, textStatus, errorThrown) {
           Common.processException(XMLHttpRequest, textStatus, errorThrown);

+ 3 - 3
src/trace/UseFinishedTrace.vue

@@ -71,11 +71,11 @@
 
 <script>
 var Common = require('../common/Common.js');
-var Uuid = require('pc-component-v3').Uuid;
+var Uuid = require('pc-component-v3').default.Uuid;
 import TraceCommon from './TraceCommon.js';
-var Checkbox = require('pc-component-v3').Checkbox;
+var Checkbox = require('pc-component-v3').default.Checkbox;
 import TraceResource from './TraceResource.js';
-var Navbar = require('pc-component-v3').Navbar;
+var Navbar = require('pc-component-v3').default.Navbar;
 var Pagination = require('pc-component-v3').default.VueBootstrapPagination;;
 
 export default {

+ 3 - 3
src/trace/UserNotFinishedTrace.vue

@@ -83,12 +83,12 @@
 
 <script>
 var Common = require('../common/Common.js');
-var Uuid = require('pc-component-v3').Uuid;
+var Uuid = require('pc-component-v3').default.Uuid;
 import TraceCommon from './TraceCommon.js';
 import TraceResource from './TraceResource.js';
 
-var Checkbox = require('pc-component-v3').Checkbox;
-var Navbar = require('pc-component-v3').Navbar;
+var Checkbox = require('pc-component-v3').default.Checkbox;
+var Navbar = require('pc-component-v3').default.Navbar;
 var Pagination = require('pc-component-v3').default.VueBootstrapPagination;;
 
 export default {

+ 66 - 0
src/widget/ATreeSelect.vue

@@ -0,0 +1,66 @@
+<template>
+  <a-tree-select
+    v-model:value="value"
+    show-search
+    style="width: 100%"
+    :dropdown-style="{ maxHeight: '400px', overflow: 'auto' }"
+    placeholder="请选择时间节点"
+    allow-clear
+    tree-default-expand-all
+    :tree-data="options"
+  />
+</template>
+
+<script>
+// import the component
+// import Treeselect from '@riophae/vue-treeselect';
+// import the styles
+// import '@riophae/vue-treeselect/dist/vue-treeselect.css';
+export default {
+  components: {
+    // Treeselect,
+  },
+  // props: ['multiple', 'options'],
+  props: {
+    multiple: {
+      type: Boolean,
+    }, 
+    options: {
+      type: Array,
+      default: () => [],
+    },
+  },
+
+  emits: ['valueChanged'],
+
+  data: function () {
+    return {
+      value : undefined,
+    };
+  },
+
+  watch: {
+    value : function (curVal, oldVal) {
+      this.$emit('valueChanged', curVal);
+    },
+  },
+  methods: {
+    /**
+    * 获取选中的值
+    */
+    getValue: function () {
+      return this.value ;
+    },
+
+    /**
+    * 设置值
+    * @param {Object} value 
+    */
+    setValue: function (value) {
+      this.value  = value ;
+    },
+  },
+};
+</script>
+<style>
+</style>

+ 2 - 2
src/widget/GanttScale2.vue

@@ -47,9 +47,9 @@
 
 
 <script>
-var Modal = require('pc-component-v3').Modal;
+var Modal = require('pc-component-v3').default.Modal;
 var Common = require('../common/Common.js');
-var Notify = require('pc-component-v3').Notify;
+var Notify = require('pc-component-v3').default.Notify;
 
 
 module.exports = {

+ 5 - 6
src/widget/TreeSelect.vue

@@ -12,9 +12,9 @@
 
 <script>
 // import the component
-// import Treeselect from '@riophae/vue-treeselect'
+// import Treeselect from '@riophae/vue-treeselect';
 // import the styles
-// import '@riophae/vue-treeselect/dist/vue-treeselect.css'
+// import '@riophae/vue-treeselect/dist/vue-treeselect.css';
 export default {
   components: {
     // Treeselect,
@@ -22,12 +22,11 @@ export default {
   // props: ['multiple', 'options'],
   props: {
     multiple: {
-      type: String,
-      default: null,
+      type: Boolean,
     }, 
     options: {
-      type: String,
-      default: null,
+      type: Array,
+      default: () => [],
     },
   },
 

+ 1 - 1
vue.config.js

@@ -1,3 +1,3 @@
 module.exports = {
-    lintOnSave: false
+    lintOnSave: false,    
 }

この差分においてかなりの量のファイルが変更されているため、一部のファイルを表示していません