{"version":3,"sources":["webpack:///./src/views/Business/ThreeProject/Item.vue?7ec3","webpack:///./src/views/Business/ThreeProject/formatterOptions.js","webpack:///./src/views/Business/ThreeProject/Item.vue","webpack:///src/views/Business/ThreeProject/Item.vue","webpack:///./src/views/Business/ThreeProject/Item.vue?6feb","webpack:///./src/views/Business/ThreeProject/Item.vue?e9e0","webpack:///./src/views/Business/ThreeProject/formatterForm.js"],"names":["evalDisabledFunc","model","Dept_Id","dic","this","$store","state","ThreeProjectWriteCategoryDic","includes","canDeleteFunc","makeToolItems","_ref","target","propName","beforeFunc","convertFunc","name","title","visibleFunc","action","_this","Year","bind","Promise","resolve","then","$message","dialog","concat","requestUrl","filers","compare","value","map","r","Target_Id","filter","join","rows","_model$propName","push","apply","_toConsumableArray","v","i","alert","Items1","Name","Description","itemTitle","aimsFunc","category","evalColpleteFunc","items","maxCount","LocalDayCount","sum","toFixed","RemotelyDayCount","diff","Math","max","evalScoreFunc","dayCount","sumMany","core","min","frmRules","rules","frmOpts","opts","Readonly","GroupNames","itemName","template","Item","flex","xs12","canNotAdd","hideIndex","children","props","render","h","_this2","months","Array","fill","_","month","keys","Key","Value","class","style","width","kv","val","Month","canEdit","attrs","type","flat","on","change","item","find","Id","Date","toString","$nextTick","event","$emit","Items2","data","kvs","computed","deptId","watch","loadNames","created","methods","_this3","$http","get","_this4","_objectSpread","$props","showToolItems","MemberName_Id","input","ThreeProject_Id","length","$listeners","parentItem5sGroup","items5","_step","parentItems","_iterator","_createForOfIteratorHelper","groupBy","TaskParentType","_loop","_items5$find","x","key","TaskParentContent","s","n","done","err","e","f","TaskContentSplitByTagBr","taskContent","taskContentSplited","split","hList","newHList","forEach","index","Items5","_step2","percentageArr","_iterator2","Items","Percentage","orderBy","_step3","itemKvs","_iterator3","component","_this5","disabled","frmModel","_this6","rowspan","colspan","kvParent","iParent","click","small","color","splice","TaskType","TaskContent","itemIndex","findIndex","parseFloat","test","parseInt","focus","nextVal","window","console","log","prevVal","TreeProjectItem5_Id","nativeOn","Items6_1","LeaderTeamDayCount","Location","LearnDayCount","LeaderForeignDayCount","diffLeaderTeam","diffLeaderForeign","leaderCore","IsRequired","callback","_ref2","LearnMonthCount","StartDate","EndDate","datedifference","_ref3","curr","prev","Items6_2","OtherTeamDayCount","OtherForeignDayCount","diffOtherTeamDay","diffOtherForeign","score","_ref4","_ref5","Items7","bottom","scopedSlots","activator","dense","card","fullCore","Type","DevTime","dateType","frmCols","substring","Items8_1","Items8_2","_ref6","_ref7","Items8_3","required","Leval","arr","Items9_1","YearMonth","Items9_2","Items9_3","Items10_1","countA","countB","toolItems","dispatch","aArr","k","getters","getItemValue","Level_Id","stateId","getItemValues","Person_Id","Principal_Id","Person","Principal","State_Id","ProjectDate","Items10_2","countA_1","Partition","PublicationType_Id","Title","PublishDate","Items10_3","OutstandingType_Id","OutstandingCategory_Id","GetTime","Items10_4","AwardLevel_Id","AwardTime","Items10_5","PatentType_Id","PlacardDate","Items10_6","A","IsCore","B","Category","JournalName","LearnedName","cols","_this7","row","label","Items10_7","isComplete","PlatformCategory_Id","ApprovedTime","Items11","prevItems","CMI","TotalWeight","NumberOfGroups","loadPrev","_this8","_this$model","_this9","getFullYear","getMonth","total","totalPrev","diffCMI","diffTotalWeight","diffNumberOfGroups","scales","scores","ranges","range","_i","_Object$keys","Object","_step4","scale","absScale","abs","_iterator4","_step4$value","rangScale","result","values","getTime","CalcItems","_i2","_Object$keys2","startsWith","_i3","_Object$entries","entries","_Object$entries$_i","_slicedToArray","opt","_ref8","Dept","call","_ref9","EnumValues","_vm","_c","_self","_b","_v","_s","DeptCategory","_e","disbled","add","_l","btn","directives","rawName","evalVisible","expression","$event","evalAction","icon","domProps","frmText","_typeof","tag","staticClass","handleUpdate","ref","columns","col","canDelete","notEllipsis","edit","remove","staticRenderFns","components","Td","String","Function","default","Boolean","Number","getValue","mounted","getColumns","endsWith","Relate","distinct","a","b","func","arguments","undefined","replace","confirm","options","getFormItems","getRules","prompt","form","getDefaultModel","sort"],"mappings":"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","file":"js/chunk-057c08cc.5084a768.js","sourcesContent":["export * from \"-!../../../../node_modules/_mini-css-extract-plugin@0.8.2@mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../node_modules/_css-loader@1.0.1@css-loader/index.js??ref--6-oneOf-1-1!../../../../node_modules/_vue-loader@15.11.1@vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/_postcss-loader@3.0.0@postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/_vue-loader@15.11.1@vue-loader/lib/index.js??vue-loader-options!./Item.vue?vue&type=style&index=0&id=b4e2528c&prod&scoped=true&lang=css\"","import Item from \"./Item.vue\";\r\nimport {\r\n sumMany,\r\n sum,\r\n orderBy,\r\n groupBy,\r\n datedifference\r\n} from \"@/utils\";\r\nimport {\r\n required\r\n} from '@/rules'\r\n// import TeamCoreMember from './TeamCoreMember.vue'\r\n\r\nfunction evalDisabledFunc(model) {\r\n if (model && model.Dept_Id) {\r\n let dic = this.$store.state.ThreeProjectWriteCategoryDic;\r\n return dic['B'].includes(model.Dept_Id)\r\n } else {\r\n return true;\r\n }\r\n}\r\n\r\nfunction canDeleteFunc(model) {\r\n if (model && model.Dept_Id) {\r\n let dic = this.$store.state.ThreeProjectWriteCategoryDic;\r\n return dic['C'].includes(model.Dept_Id)\r\n } else {\r\n return true;\r\n }\r\n}\r\n\r\nfunction makeToolItems({\r\n target,\r\n propName,\r\n beforeFunc,\r\n convertFunc\r\n}) {\r\n return [{\r\n name: 'select',\r\n title: '选择',\r\n visibleFunc(model) {\r\n let dic = this.$store.state.ThreeProjectWriteCategoryDic;\r\n return dic['C'].includes(model.Dept_Id)\r\n },\r\n action(model) {\r\n let {\r\n Year\r\n } = model;\r\n if (!Year) {\r\n this.$message.alert('提示', '请先填写年份')\r\n return;\r\n }\r\n beforeFunc = beforeFunc.bind(this);\r\n Promise.resolve()\r\n .then(beforeFunc)\r\n .then(() => {\r\n return this.$message.dialog(`${target}_List`, {\r\n requestUrl: `/api/ThreeProject/TargetList/${target}`,\r\n filers: [{\r\n name: 'Id',\r\n compare: '!in',\r\n value: model[propName]\r\n .map(r => r.Target_Id)\r\n .filter(r => !!r)\r\n .join(',')\r\n }]\r\n })\r\n }).then(rows => {\r\n convertFunc = convertFunc.bind(this);\r\n model[propName].push(...rows.map((v, i) => convertFunc(v, i)));\r\n });\r\n },\r\n\r\n }]\r\n}\r\n\r\n\r\nexport const Items1 = {\r\n Name: \"Items1\",\r\n propName: \"Items1\",\r\n Description: \"1 时间保障\",\r\n itemTitle: \"1.1 引进团队带头人工作时间(共7.5分)\",\r\n aimsFunc: category => {\r\n switch (category) {\r\n case 'A':\r\n return \"团队带头人每年应实际来深工作13.2天,远程8.8天\"\r\n case 'B':\r\n return \"团队带头人每年应实际来深工作26.4天,远程17.6天\"\r\n case 'C':\r\n return \"团队带头人每年应实际来深工作26.4天,远程17.6天\"\r\n default:\r\n break;\r\n }\r\n },\r\n evalColpleteFunc: (items, category) => {\r\n let maxCount = 1;\r\n switch (category) {\r\n case 'A':\r\n maxCount = 22;\r\n break;\r\n case 'B':\r\n maxCount = 26.4 + 17.6;\r\n break;\r\n case 'C':\r\n maxCount = 26.4 + 17.6;\r\n break;\r\n default:\r\n break;\r\n }\r\n\r\n let LocalDayCount = sum(items, v => v.LocalDayCount);\r\n LocalDayCount = LocalDayCount.toFixed(2)\r\n let RemotelyDayCount = sum(items, v => v.RemotelyDayCount);\r\n RemotelyDayCount = RemotelyDayCount.toFixed(2)\r\n let diff = Math.max(0, maxCount - LocalDayCount - RemotelyDayCount);\r\n diff = diff.toFixed(2)\r\n return `实际来深工作总计 ${LocalDayCount} 天,远程工作时间 ${RemotelyDayCount} 天,还差 ${diff} 天`;\r\n\r\n },\r\n evalScoreFunc: (items, category) => {\r\n let maxCount = 1;\r\n switch (category) {\r\n case 'A':\r\n maxCount = 22;\r\n break;\r\n case 'B':\r\n maxCount = 26.4 + 17.6;\r\n break;\r\n case 'C':\r\n maxCount = 26.4 + 17.6;\r\n break;\r\n default:\r\n break;\r\n }\r\n let dayCount = sumMany(items, v => [v.LocalDayCount, v.RemotelyDayCount]);\r\n let core = Math.min(1, dayCount / maxCount)\r\n if (core < 0.5) return 0\r\n return core * 7.5\r\n },\r\n frmRules(rules) {\r\n rules[\"LocalDayCount\"] = [\r\n function () {\r\n if (this && !this.LocalDayCount && !this.RemotelyDayCount) {\r\n return \"工作天数必填一个\";\r\n } else {\r\n return true;\r\n }\r\n }\r\n ];\r\n\r\n return rules;\r\n },\r\n frmOpts(opts) {\r\n opts.push({\r\n Name: 'Month',\r\n Readonly: 'All'\r\n })\r\n return opts;\r\n },\r\n GroupNames: [\"1 时间保障\"],\r\n itemName: \"TreeProjectItem1\",\r\n template: Item,\r\n flex: {\r\n xs12: true,\r\n //lg6: true\r\n },\r\n canNotAdd: true,\r\n hideIndex: true,\r\n children: {\r\n props: ['canEdit', 'value', 'model', 'month'],\r\n render(h) {\r\n const months = new Array(12).fill(null).map((_, i) => i + 1).filter(v => !this.month || v <= this.month);\r\n const keys = [{\r\n Key: 'LocalDayCount',\r\n Value: '实际来深工作时间(天)'\r\n }, {\r\n Key: 'RemotelyDayCount',\r\n Value: '远程工作时间(天)'\r\n }];\r\n return h('table', {\r\n class: ['v-datatable v-table']\r\n }, [\r\n h('thead', null, [\r\n h('tr', null, [\r\n h('th', null, '序号'),\r\n h('th', {\r\n style: {\r\n width: '150px'\r\n }\r\n }, '工作类型'),\r\n ...months.map(v => h('th', null, `${v}月`))\r\n ])\r\n ]),\r\n h('tbody', null, keys.map((kv, i) => h('tr', null, [\r\n h('td', null, i + 1),\r\n h('td', null, kv.Value),\r\n ...months.map(month => {\r\n let val = sum(this.value.filter(v => v.Month == month).map(r => r[kv.Key]))\r\n return h('td', null, [\r\n this.canEdit ? h('v-text-field', {\r\n attrs: {\r\n type: 'number',\r\n min: 0\r\n },\r\n props: {\r\n flat: true,\r\n 'hide-details': true,\r\n value: val\r\n },\r\n style: {\r\n 'padding-top': '0px',\r\n 'margin-top': '0px'\r\n },\r\n on: {\r\n change: (v) => {\r\n let item = this.value.find(v => v.Month == month);\r\n if (!item) {\r\n item = {\r\n Month: month,\r\n LocalDayCount: 0,\r\n RemotelyDayCount: 0,\r\n Id: new Date().toString(),\r\n }\r\n this.value.push(item)\r\n }\r\n v = v || 0;\r\n if (v < 0) {\r\n v = 0\r\n this.$nextTick(() => {\r\n event.target.value = 0;\r\n })\r\n }\r\n item[kv.Key] = v;\r\n this.$emit('change')\r\n }\r\n }\r\n }) : h('span', null, val)\r\n ])\r\n })\r\n ]))),\r\n\r\n ])\r\n }\r\n },\r\n}\r\n\r\nexport const Items2 = {\r\n Name: \"Items2\",\r\n Description: \"1.2 核心成员来深工作时间\",\r\n GroupNames: [\"1 时间保障\"],\r\n template: {\r\n props: ['model', 'itemTitle', 'canEdit', 'month'],\r\n data() {\r\n return {\r\n kvs: []\r\n }\r\n },\r\n computed: {\r\n deptId() {\r\n return this.model.Dept_Id\r\n },\r\n value() {\r\n return this.model.Items2\r\n },\r\n },\r\n watch: {\r\n deptId() {\r\n this.loadNames()\r\n },\r\n },\r\n created() {\r\n if (this.deptId) {\r\n this.loadNames();\r\n }\r\n },\r\n methods: {\r\n loadNames() {\r\n this.$http.get(`/api/ThreeProject/TeamCoreMemberList/${this.deptId}`).then(v => {\r\n this.kvs = v\r\n })\r\n }\r\n },\r\n render(h) {\r\n return h(Item, {\r\n props: {\r\n ...this.$props,\r\n propName: \"Items2\",\r\n flex: {\r\n xs12: true,\r\n //lg6: true\r\n },\r\n showToolItems: false,\r\n children: {\r\n // props: ['canEdit', 'value', 'model'],\r\n render: (h) => {\r\n const months = new Array(12).fill(null).map((_, i) => i + 1).filter(v => !this.month || v <= this.month);\r\n return h('table', {\r\n class: ['v-datatable v-table']\r\n }, [\r\n h('thead', null, [\r\n h('tr', null, [\r\n h('th', null, '序号'),\r\n h('th', null, '核心成员姓名'),\r\n ...months.map(v => h('th', null, `${v}月`)),\r\n h('th', null, '合计')\r\n ])\r\n ]),\r\n h('tbody', null, this.kvs.map((kv, i) => h('tr', null, [\r\n h('td', null, i + 1),\r\n h('td', null, kv.Value),\r\n ...months.map(month => {\r\n let val = sum(this.value.filter(v => v.Month == month && v.MemberName_Id == kv.Key).map(r => r.LocalDayCount))\r\n return h('td', null, [\r\n this.canEdit ? h('v-text-field', {\r\n attrs: {\r\n type: 'number'\r\n },\r\n props: {\r\n flat: true,\r\n 'hide-details': true,\r\n value: val\r\n },\r\n style: {\r\n 'padding-top': '0px',\r\n 'margin-top': '0px'\r\n },\r\n on: {\r\n input: v => {\r\n let item = this.value.find(v => v.Month == month && v.MemberName_Id == kv.Key);\r\n if (!item) {\r\n item = {\r\n MemberName_Id: kv.Key,\r\n Month: month,\r\n LocalDayCount: 0,\r\n RemotelyDayCount: 0,\r\n ThreeProject_Id: this.model.Id || new Date().toString()\r\n }\r\n this.value.push(item)\r\n }\r\n v = v || 0;\r\n if (v < 0) {\r\n v = 0\r\n this.$nextTick(() => {\r\n event.target.value = 0;\r\n })\r\n }\r\n item.LocalDayCount = v;\r\n this.$emit('change')\r\n }\r\n }\r\n }) : h('span', null, val)\r\n ])\r\n }),\r\n h('td', null, sum(this.value.filter(v => v.MemberName_Id == kv.Key).map(r => r.LocalDayCount)))\r\n ])))\r\n ])\r\n }\r\n },\r\n itemName: \"TreeProjectItem2\",\r\n itemTitle: \"1.2 核心成员来深工作时间(共7.5分)\",\r\n aimsFunc: () => `团队核心成员每年累计来深工作${Math.min(3, this.kvs.length) * 22}天`,\r\n evalColpleteFunc: (items) => {\r\n let LocalDayCount = sum(items, v => v.LocalDayCount);\r\n LocalDayCount = LocalDayCount.toFixed(2)\r\n let RemotelyDayCount = sum(items, v => v.RemotelyDayCount);\r\n RemotelyDayCount = RemotelyDayCount.toFixed(2)\r\n let diff = Math.max(0, (Math.min(3, this.kvs.length) * 22) - LocalDayCount - RemotelyDayCount);\r\n diff = diff.toFixed(2)\r\n\r\n return `累计来深工作${LocalDayCount}天,还差${diff}天`;\r\n },\r\n evalScoreFunc: (items) => {\r\n let dayCount = sumMany(items, v => [v.LocalDayCount, v.RemotelyDayCount]);\r\n let core = Math.min(1, dayCount / (Math.min(3, this.kvs.length) * 22))\r\n if (core < 0.5) return 0\r\n return core * 7.5\r\n },\r\n canNotAdd: true,\r\n },\r\n on: this.$listeners\r\n })\r\n }\r\n },\r\n\r\n}\r\n\r\nfunction parentItem5sGroup(items5) {\r\n let parentItems = [];\r\n for (const v of groupBy(items5.map((v) => v.TaskParentType), v => v)) {\r\n // let arr = v.key.split('&&');\r\n // parentItems.push({\r\n // Key: arr[0],\r\n // Value: arr[1],\r\n // });\r\n\r\n let { TaskParentContent } = items5.find(x => x.TaskParentType == v.key);\r\n parentItems.push({\r\n Key: v.key,\r\n Value: TaskParentContent,\r\n });\r\n }\r\n\r\n return parentItems;\r\n}\r\n\r\nfunction TaskContentSplitByTagBr(h,taskContent){\r\n if (!taskContent)return '';\r\n const taskContentSplited = taskContent.split('\\n')\r\n var hList = taskContentSplited.map(x=>h('a',null,x));\r\n var newHList = [];\r\n hList.forEach((x,index)=>{\r\n if (index!==0)\r\n newHList.push(h('br',null,null));\r\n newHList.push(x);\r\n })\r\n return newHList;\r\n}\r\n\r\nexport const Items5 = {\r\n Name: \"Items5\",\r\n propName: \"Items5\",\r\n Description: \"2.1 任务书完成情况\",\r\n itemTitle: \"2.1 任务书完成情况(共12分)\",\r\n aimsFunc: () => \"具体内容由科室进行填报\",\r\n evalScoreFunc: (items) => {\r\n /**取每一行的最大进度 */\r\n let percentageArr = [];\r\n for (const v of items) {\r\n if (v.Items && v.Items.length > 0) {\r\n let { Percentage } = orderBy(v.Items, v => v.Percentage)[v.Items.length - 1];\r\n percentageArr.push(Percentage);\r\n }\r\n }\r\n\r\n let core = Math.min(12, 12 * ((sum(percentageArr) / percentageArr.length) / 100))\r\n return core;\r\n },\r\n GroupNames: [\"2 建设任务\"],\r\n itemName: \"TreeProjectItem5\",\r\n template: Item,\r\n frmOpts: (opts, model) => {\r\n let { Items5 } = model;\r\n let itemKvs = {};\r\n let parentItems = parentItem5sGroup(Items5);\r\n for (const v of parentItems) {\r\n itemKvs[v.Key] = v.Value\r\n }\r\n\r\n return [\r\n {\r\n Name: \"TaskParentType\",\r\n Description: \"方向编号\",\r\n component: {\r\n props: [\"value\", \"disabled\", \"model\"],\r\n render(h) {\r\n return this.disabled\r\n ? h(\"span\", null, this.value)\r\n : h(\"v-combobox\", {\r\n props: {\r\n value: this.value,\r\n items: parentItems.map((v) => v.Key)\r\n },\r\n on: {\r\n input: val => {\r\n this.model.TaskParentContent = itemKvs[val] || '';\r\n return this.$emit(\"input\", val)\r\n }\r\n }\r\n });\r\n }\r\n },\r\n },\r\n ...opts.filter(v => ['TaskParentType', 'TaskParentContent', 'TaskType', 'TaskContent'].includes(v.Name))\r\n ]\r\n },\r\n frmModel: model => {\r\n return {\r\n ...model,\r\n Items: model.Items || [],\r\n Id: model.Id || new Date().toString()\r\n }\r\n },\r\n flex: {\r\n xs12: true,\r\n //lg6: true\r\n },\r\n children: {\r\n props: ['canEdit', 'value', 'model', 'month'],\r\n render(h) {\r\n let parentItems = parentItem5sGroup(this.value);\r\n const months = new Array(12).fill(null).map((_, i) => i + 1).filter(v => !this.month || v <= this.month);\r\n return h('table', {\r\n class: ['v-datatable v-table']\r\n }, [\r\n h('thead', null, [\r\n h('tr', null, [\r\n h('th', {\r\n attrs: {\r\n rowspan: 2\r\n },\r\n }, '序号'),\r\n this.canEdit ? h('th', {\r\n attrs: {\r\n rowspan: 2\r\n },\r\n }, '操作') : null,\r\n h('th', {\r\n style: {\r\n 'text-align': 'left !important'\r\n },\r\n attrs: {\r\n rowspan: 2\r\n },\r\n }, '方向/分类'),\r\n h('th', {\r\n style: {\r\n 'text-align': 'left !important'\r\n },\r\n attrs: {\r\n rowspan: 2\r\n },\r\n }, '方向名/任务内容'),\r\n h('th', {\r\n attrs: {\r\n rowspan: 2\r\n },\r\n }, '计划目标'),\r\n h('th', {\r\n attrs: {\r\n colspan: 12\r\n },\r\n }, '按月累计完成进度百分比(%)'),\r\n ],\r\n ),\r\n h('tr', null, [\r\n ...months.map(v => h('th', {\r\n style: {\r\n 'width': '50px'\r\n },\r\n }, `${v}月`))\r\n ],\r\n )\r\n ]),\r\n ...parentItems.map((kvParent, iParent) => (h('tbody', null, [\r\n h('tr', null, [\r\n h('td', null, iParent + 1),\r\n this.canEdit ? h('td', null, [\r\n h('span', null, null)\r\n ]) : null,\r\n h('td', {\r\n style: {\r\n 'text-align': 'left !important'\r\n }\r\n }, [\r\n h('span', null, [\r\n h('a', null, kvParent.Key)\r\n ])\r\n ]),\r\n h('td', {\r\n style: {\r\n 'text-align': 'left !important'\r\n }\r\n }, [\r\n h('span', null, [\r\n h('a', {\r\n on: {\r\n click: () => {\r\n this.$emit('update', kvParent)\r\n }\r\n }\r\n }, kvParent.Value)\r\n ])\r\n ])]),\r\n ...this.value.filter(v => v.TaskParentType == kvParent.Key).map((kv, i) => h('tr', null, [\r\n h('td', null, `${iParent + 1}-${i + 1}`),\r\n this.canEdit ? h('td', null, [\r\n h('v-btn', {\r\n props: {\r\n small: true,\r\n flat: true,\r\n color: 'into'\r\n },\r\n style: {\r\n 'text-align': 'left !important'\r\n },\r\n on: {\r\n click: () => {\r\n this.value.splice(i, 1)\r\n }\r\n }\r\n }, '删除')\r\n ]) : null,\r\n h('td', {\r\n style: {\r\n 'text-align': 'left !important'\r\n }\r\n }, [\r\n h('span', null, [\r\n h('a', {\r\n on: {\r\n click: () => {\r\n this.$emit('update', kv)\r\n }\r\n }\r\n }, kv.TaskType)\r\n ])\r\n ]),\r\n h('td', {\r\n style: {\r\n 'text-align': 'left !important'\r\n }\r\n }, [\r\n h('span',{\r\n on: {\r\n click: () => {\r\n this.$emit('update', kv)\r\n }\r\n }\r\n },\r\n TaskContentSplitByTagBr(h,kv.TaskContent)\r\n )\r\n ]),\r\n h('td', null, '100'),\r\n ...months.map(month => {\r\n let val = kv.Items.filter(v => v.Month == month).map(r => r.Percentage).find(r => r || r == 0);\r\n if (!kv.TaskParentType) return h('td', null, [h('span', null, null)]);\r\n\r\n return h('td', null, [\r\n this.canEdit ? h('v-text-field', {\r\n attrs: {\r\n type: 'number'\r\n },\r\n props: {\r\n flat: true,\r\n 'hide-details': true,\r\n value: val,\r\n disabled: !kv.Items.find(v => v.Month == (month - 1)) && month != 1\r\n },\r\n style: {\r\n 'padding-top': '0px',\r\n 'margin-top': '0px'\r\n },\r\n on: {\r\n change: () => {\r\n let target = event.target;\r\n let value = target.value || '';\r\n if (value == '') {\r\n let itemIndex = kv.Items.findIndex(v => v.Month == month);\r\n if (itemIndex >= 0) {\r\n kv.Items.splice(itemIndex, 1);\r\n }\r\n\r\n kv.Percentage = Math.max(...kv.Items.map(v => v.Percentage));\r\n this.$emit('change')\r\n return;\r\n }\r\n\r\n let v = parseFloat(target.value) || 0;\r\n var r = /^\\+?[1-9][0-9]*$/;//正整数 \r\n if (!r.test(v) && v < 0) {\r\n target.value = parseInt(v);\r\n this.$message.alert('错误', `进度只能填正整数!`).then(() => {\r\n target.focus();\r\n });\r\n this.$emit('change')\r\n return;\r\n }\r\n\r\n if (v > 100) {\r\n target.value = 100;\r\n this.$message.alert('错误', `${month}月的值不可大于100!`).then(() => {\r\n target.focus();\r\n });\r\n this.$emit('change')\r\n return;\r\n }\r\n\r\n //找后面的值,不能大于后面的值\r\n let nextVal = Math.min(...kv.Items.filter(v => v.Percentage && v.Percentage > 0 && v.Month > month).map(v => v.Percentage)) || 0;\r\n if (v > nextVal && nextVal > 0 && !!kv.Items.find(v => v.Month > month)) {\r\n window.console.log(nextVal);\r\n target.value = '';\r\n this.$message.alert('错误', `${month}月的值不可大于后面月份的值!`).then(() => {\r\n target.focus();\r\n })\r\n return;\r\n }\r\n\r\n /**\r\n * 找上个月的值,如果小于上个月,则非法\r\n */\r\n let prevVal = Math.max(0, ...kv.Items.filter(v => v.Month <= month - 1).map(v => v.Percentage)) || 0;\r\n if (v < prevVal && v && nextVal) {\r\n target.value = '';\r\n this.$message.alert('错误', `${month}月的值不可小于前面月份的值!`).then(() => {\r\n target.focus();\r\n })\r\n return;\r\n }\r\n\r\n\r\n let item = kv.Items.find(v => v.Month == month);\r\n if (!item) {\r\n item = {\r\n Month: month,\r\n Percentage: 0,\r\n Id: new Date().toString(),\r\n TreeProjectItem5_Id: kv.Id || new Date().toString(),\r\n }\r\n kv.Items.push(item)\r\n }\r\n if (v < 0) {\r\n v = 0\r\n this.$nextTick(() => {\r\n event.target.value = 0;\r\n })\r\n }\r\n\r\n\r\n\r\n item.Percentage = v;\r\n kv.Percentage = Math.max(...kv.Items.map(v => v.Percentage));\r\n this.$emit('change')\r\n },\r\n },\r\n nativeOn: {\r\n\r\n }\r\n }) : h('span', null, val)\r\n ])\r\n })\r\n ]))\r\n ]))),\r\n this.value.length > 0 ? h('tbody', null, [\r\n h('tr', null, [\r\n h('td'),\r\n this.canEdit ? h('td') : null,\r\n h('td', {\r\n attrs: {\r\n colspan: '2',\r\n title: '总计为每列数值的平均值'\r\n }\r\n }, '总完成率'),\r\n h('td', null, '100'),\r\n ...months.map(v =>\r\n h('td', {\r\n attrs: {\r\n title: '总计为每列数值的平均值'\r\n }\r\n },\r\n (sum(this.value.map(r =>\r\n sum(r.Items.filter(x => !x.TaskParentType && x.Month == v).map(x => x.Percentage)))) == 0 || this.value.filter(x => x.TaskParentType).length == 0) ? 0 :\r\n (sum(this.value.map(r =>\r\n sum(r.Items.filter(x => !x.TaskParentType && x.Month == v).map(x => x.Percentage)))) / this.value.filter(x => x.TaskParentType).length).toFixed(2)))\r\n ])\r\n ]) : null\r\n ])\r\n }\r\n },\r\n}\r\n\r\nexport const Items6_1 = {\r\n Name: \"Items6_1\",\r\n propName: \"Items6_1\",\r\n Description: \"2.2.1 人才梯队培养:依托科室负责人\",\r\n itemTitle: \"2.2.1 人才梯队培养:依托科室负责人(共2.25分)\",\r\n aimsFunc: () => \"依托科室负责人外出进修前往对方团队半个月或者国外1周\",\r\n evalColpleteFunc: (items) => {\r\n let LeaderTeamDayCount = sum(items.filter(v => v.Location == 'Team'), v => v.LearnDayCount);\r\n let LeaderForeignDayCount = sum(items.filter(v => v.Location == 'Foreign'), v => v.LearnDayCount);\r\n\r\n let diffLeaderTeam = Math.max(0, 15 - LeaderTeamDayCount);\r\n let diffLeaderForeign = Math.max(0, 7 - LeaderForeignDayCount);\r\n\r\n\r\n return `依托科室负责人累计前往对方团队进修${LeaderTeamDayCount}天还差${diffLeaderTeam}天,国外进修${LeaderForeignDayCount}天还差${diffLeaderForeign}天`;\r\n },\r\n evalScoreFunc: (items) => {\r\n let LeaderTeamDayCount = sum(items.filter(v => v.Location == 'Team'), v => v.LearnDayCount);\r\n let LeaderForeignDayCount = sum(items.filter(v => v.Location == 'Foreign'), v => v.LearnDayCount);\r\n\r\n let leaderCore = Math.min(2.25, (2.25 * LeaderTeamDayCount / 15) + (2.25 * LeaderForeignDayCount / 5))\r\n return leaderCore\r\n },\r\n GroupNames: [\"2 建设任务\"],\r\n itemName: \"TreeProjectItem6_1\",\r\n template: Item,\r\n flex: {\r\n xs12: true,\r\n //lg6: true\r\n },\r\n frmOpts: opts => [\r\n ...opts,\r\n {\r\n Name: 'StartDate',\r\n IsRequired: true,\r\n callback: ({\r\n model\r\n }) => {\r\n model.LearnMonthCount = 0;\r\n if (model.StartDate && model.EndDate) {\r\n model.LearnDayCount = datedifference(model.EndDate, model.StartDate);\r\n }\r\n }\r\n },\r\n {\r\n Name: 'EndDate',\r\n IsRequired: true,\r\n callback: ({\r\n model\r\n }) => {\r\n\r\n model.LearnMonthCount = 0;\r\n if (model.StartDate && model.EndDate) {\r\n model.LearnDayCount = datedifference(model.EndDate, model.StartDate);\r\n }\r\n }\r\n }\r\n ],\r\n frmRules: rules => ({\r\n ...rules,\r\n StartDate: [val => !!val || '进修日期起是必需的'],\r\n EndDate: [val => !!val || '进修日期止是必需的', function (val) {\r\n if (this && val && this.StartDate) {\r\n let curr = new Date(val);\r\n let prev = new Date(this.StartDate);\r\n return curr >= prev || '进修日期起不能小于进修日期止'\r\n } else {\r\n return true;\r\n }\r\n }],\r\n })\r\n}\r\n\r\nexport const Items6_2 = {\r\n Name: \"Items6_2\",\r\n propName: \"Items6_2\",\r\n Description: \"2.2.2 人才梯队培养:依托科室成员\",\r\n itemTitle: \"2.2.2 人才梯队培养:依托科室成员(共2.25分)\",\r\n aimsFunc: () => \"依托科室成员前往对方团队1人次/6个月,国外3个月\",\r\n evalColpleteFunc: (items) => {\r\n let OtherTeamDayCount = sum(items.filter(v => v.Location == 'Team' || v.Location == 'Other'), v => v.LearnMonthCount);\r\n let OtherForeignDayCount = sum(items.filter(v => v.Location == 'Foreign'), v => v.LearnMonthCount);\r\n\r\n let diffOtherTeamDay = Math.max(0, 6 - OtherTeamDayCount);\r\n let diffOtherForeign = Math.max(0, 3 - OtherForeignDayCount);\r\n\r\n return `依托科室成员累计前往对方团队进修${OtherTeamDayCount}月还差${diffOtherTeamDay}月,国外进修${OtherForeignDayCount}月还差${diffOtherForeign}月`;\r\n },\r\n evalScoreFunc: (items) => {\r\n let OtherTeamDayCount = sum(items.filter(v => v.Location == 'Team' || v.Location == 'Other'), v => v.LearnMonthCount);\r\n let OtherForeignDayCount = sum(items.filter(v => v.Location == 'Foreign'), v => v.LearnMonthCount);\r\n let score = Math.min(2.25, (2.25 * OtherTeamDayCount / 6) + (2.25 * OtherForeignDayCount / 3))\r\n return score\r\n },\r\n GroupNames: [\"2 建设任务\"],\r\n itemName: \"TreeProjectItem6_2\",\r\n template: Item,\r\n flex: {\r\n xs12: true,\r\n //lg6: true\r\n },\r\n frmOpts: opts => [\r\n ...opts,\r\n {\r\n Name: 'StartDate',\r\n callback: ({\r\n model\r\n }) => {\r\n model.LearnMonthCount = 0;\r\n if (model.StartDate && model.EndDate) {\r\n model.LearnMonthCount = (datedifference(model.EndDate, model.StartDate) / 30).toFixed(2)\r\n }\r\n }\r\n },\r\n {\r\n Name: 'EndDate',\r\n callback: ({\r\n model\r\n }) => {\r\n model.LearnMonthCount = 0;\r\n if (model.StartDate && model.EndDate) {\r\n model.LearnMonthCount = (datedifference(model.EndDate, model.StartDate) / 30).toFixed(2)\r\n }\r\n }\r\n }\r\n ],\r\n frmRules: rules => ({\r\n ...rules,\r\n StartDate: [val => !!val || '进修日期起是必需的'],\r\n EndDate: [val => !!val || '进修日期止是必需的', function (val) {\r\n if (this && val && this.StartDate) {\r\n let curr = new Date(val);\r\n let prev = new Date(this.StartDate);\r\n return curr >= prev || '进修日期起不能小于进修日期止'\r\n } else {\r\n return true;\r\n }\r\n }],\r\n })\r\n}\r\n\r\nexport const Items7 = {\r\n Name: \"Items7\",\r\n propName: \"Items7\",\r\n Description: \"2.3 新技术新项目\",\r\n itemTitle: \"2.3 新技术新项目(共4.5分)\",\r\n aimsFunc: {\r\n render(h) {\r\n return h('v-tooltip', {\r\n props: {\r\n bottom: true,\r\n },\r\n scopedSlots: {\r\n activator: props => h('a', {\r\n on: props.on\r\n }, '查看')\r\n }\r\n }, [\r\n h('v-card', {\r\n props: {\r\n width: '500px'\r\n }\r\n }, [\r\n h('v-toolbar', {\r\n props: {\r\n flat: true,\r\n dense: true,\r\n card: true,\r\n color: 'transparent'\r\n },\r\n }, [h('v-toolbar-title', null, '打分说明')]),\r\n h('v-card-text', null, [\r\n h('p', null, '1,团队依托科室每年引进2项或以上新技术新项目,且其中1项为国内选进水平的,得满分(4.5)'),\r\n h('p', null, '2,引进2项新技术新项目,无国内领先水平的,最高得3.6分'),\r\n h('p', null, '3,引进1项国内领先水平的新技术新项目,得3分'),\r\n h('p', null, '4,引进1项省内领先水平的新技术新项目,得2.4分'),\r\n h('p', null, '5,引进1项市内领导水平的新技术新项目,得1.5分'),\r\n h('p', null, '6,引进1项院级新技术新项目,得0.9分'),\r\n h('p', null, '7,未引进或开展新技术新项目的,不得分'),\r\n ])\r\n ])\r\n ])\r\n }\r\n },\r\n evalColpleteFunc: (items) => `已完成${items.length}项`,\r\n evalScoreFunc: (items) => {\r\n let fullCore = 4.5;\r\n let score = sum(items.map(v => {\r\n switch (v.Type) {\r\n case 'A':\r\n return 3 / 15 * fullCore;\r\n case 'B':\r\n return 5 / 15 * fullCore;\r\n case 'C':\r\n return 8 / 15 * fullCore;\r\n case 'D':\r\n return 10 / 15 * fullCore;\r\n case 'E':\r\n return 10 / 15 * fullCore;\r\n case 'F':\r\n return 10 / 15 * fullCore;\r\n default:\r\n return 0;\r\n }\r\n }))\r\n\r\n if (items.length >= 2 && items.find(v => ['D', 'E', 'F'].includes(v.Type)))\r\n return fullCore;\r\n else if (items.length >= 2)\r\n return Math.min((12 / 15 * fullCore).toFixed(2), score);\r\n else\r\n return score;\r\n },\r\n GroupNames: [\"2 建设任务\"],\r\n itemName: \"TreeProjectItem7\",\r\n template: Item,\r\n flex: {\r\n xs12: true,\r\n //lg6: true\r\n },\r\n frmRules: rules => ({\r\n ...rules,\r\n Type: [val => !!val || '项目类型是必需的'],\r\n DevTime: [val => !!val || '开展时间是必需的']\r\n }),\r\n frmOpts: opts => [...opts, {\r\n Name: 'DevTime',\r\n IsRequired: true,\r\n dateType: 'month'\r\n }, {\r\n Name: 'Type',\r\n IsRequired: true\r\n }],\r\n frmCols: opts => [\r\n ...opts,\r\n {\r\n Name: 'DevTime',\r\n render: (h, model) => h('span', null, (model.DevTime || '').substring(0, 7))\r\n },\r\n {\r\n Name: 'Subject',\r\n style: {\r\n 'text-align': 'left !important'\r\n },\r\n }\r\n ],\r\n}\r\n\r\nexport const Items8_1 = {\r\n Name: \"Items8_1\",\r\n propName: \"Items8_1\",\r\n Description: \"2.4.1 学科辐射带动:新技术新项目推广应用培训班\",\r\n itemTitle: \"2.4.1 学科辐射带动:新技术新项目推广应用培训班(共1.5分)\",\r\n aimsFunc: () => \"2项新技术新项目推广应用培训班\",\r\n evalColpleteFunc: (items) => `已完成${items.length}项`,\r\n evalScoreFunc: (items) => {\r\n let core = Math.min(1, items.length / 2)\r\n return 1.5 * core\r\n },\r\n GroupNames: [\"2 建设任务\"],\r\n itemName: \"TreeProjectItem8_1\",\r\n template: Item,\r\n flex: {\r\n xs12: true,\r\n //lg6: true\r\n }\r\n}\r\n\r\nexport const Items8_2 = {\r\n Name: \"Items8_2\",\r\n propName: \"Items8_2\",\r\n Description: \"2.4.2 学科辐射带动:适宜技术推广\",\r\n itemTitle: \"2.4.2 学科辐射带动:适宜技术推广(共1.5分)\",\r\n aimsFunc: () => \"面向基层的3个月以上的专业研修接收进修生3人次以上\",\r\n evalColpleteFunc: (items) => `已完成${items.length}次,还差${Math.max(0, 3 - items.length)}次`,\r\n evalScoreFunc: (items) => {\r\n let core = items.length * 0.5\r\n return Math.min(core, 1.5);\r\n },\r\n GroupNames: [\"2 建设任务\"],\r\n itemName: \"TreeProjectItem8_2\",\r\n template: Item,\r\n flex: {\r\n xs12: true,\r\n //lg6: true\r\n },\r\n frmOpts: opts => [\r\n ...opts,\r\n {\r\n Name: 'StartDate',\r\n IsRequired: true,\r\n callback: ({\r\n model\r\n }) => {\r\n model.LearnDayCount = 0;\r\n if (model.StartDate && model.EndDate) {\r\n model.LearnDayCount = datedifference(model.EndDate, model.StartDate)\r\n }\r\n }\r\n },\r\n {\r\n Name: 'EndDate',\r\n IsRequired: true,\r\n callback: ({\r\n model\r\n }) => {\r\n model.LearnDayCount = 0;\r\n if (model.StartDate && model.EndDate) {\r\n model.LearnDayCount = datedifference(model.EndDate, model.StartDate)\r\n }\r\n }\r\n }\r\n ],\r\n frmRules: rules => ({\r\n ...rules,\r\n StartDate: [val => !!val || '进修日期起是必需的'],\r\n EndDate: [val => !!val || '进修日期止是必需的'],\r\n })\r\n}\r\n\r\nexport const Items8_3 = {\r\n Name: \"Items8_3\",\r\n propName: \"Items8_3\",\r\n itemName: \"TreeProjectItem8_3\",\r\n GroupNames: [\"2 建设任务\"],\r\n Description: \"2.4.3 学科辐射带动:组织学术会议\",\r\n itemTitle: \"2.4.3 学科辐射带动:组织学术会议(共1.5分)\",\r\n aimsFunc: () => \"组织1次辐射全市的学术会议\",\r\n evalColpleteFunc: (items) => `已完成${items.length}次`,\r\n evalScoreFunc: (items) => {\r\n let core = items.length * 1.5\r\n return Math.min(core, 1.5);\r\n },\r\n template: Item,\r\n flex: {\r\n xs12: true,\r\n //lg6: true\r\n },\r\n frmRules: rules => ({\r\n ...rules,\r\n Name: [required('会议名称')],\r\n StartDate: [required('举办日期起')],\r\n EndDate: [required('举办日期止')],\r\n Leval: [required('会议级别')]\r\n }),\r\n frmOpts: opts => [\r\n ...opts,\r\n {\r\n Name: 'Name',\r\n IsRequired: true\r\n },\r\n {\r\n Name: 'StartDate',\r\n IsRequired: true\r\n },\r\n {\r\n Name: 'EndDate',\r\n IsRequired: true\r\n },\r\n {\r\n Name: 'Leval',\r\n IsRequired: true\r\n },\r\n ],\r\n frmCols: arr => [\r\n ...arr,\r\n {\r\n Name: 'Name',\r\n style: {\r\n 'text-align': 'left !important'\r\n },\r\n }\r\n ]\r\n}\r\n\r\nexport const Items9_1 = {\r\n Name: \"Items9_1\",\r\n propName: \"Items9_1\",\r\n itemName: \"TreeProjectItem9_1\",\r\n GroupNames: [\"2 建设任务\"],\r\n Description: \"2.5.1 积极开展研究计划:培养硕士研究生/博士研究生\",\r\n itemTitle: \"2.5.1 积极开展研究计划:培养硕士研究生/博士研究生(共1.5分)\",\r\n aimsFunc: () => \"培养硕士研究生2名,博士研究生1名\",\r\n evalColpleteFunc: (items) => `已完成${items.length}名`,\r\n evalScoreFunc: (items) => {\r\n let core = items.filter(v => v.Type == 'B').length * 1.5 + items.filter(v => v.Type == 'A').length * 0.75\r\n return Math.min(core, 1.5);\r\n },\r\n template: Item,\r\n flex: {\r\n xs12: true,\r\n //lg6: true\r\n },\r\n frmOpts: opts => [\r\n ...opts,\r\n {\r\n Name: 'Type',\r\n IsRequired: true\r\n },\r\n {\r\n Name: 'YearMonth',\r\n IsRequired: true,\r\n dateType: 'month'\r\n },\r\n ],\r\n frmRules: rules => ({\r\n ...rules,\r\n Type: [val => !!val || '学位类型是必需的'],\r\n YearMonth: [val => !!val || '入学年月是必需的'],\r\n })\r\n}\r\n\r\nexport const Items9_2 = {\r\n Name: \"Items9_2\",\r\n propName: \"Items9_2\",\r\n itemName: \"TreeProjectItem9_2\",\r\n GroupNames: [\"2 建设任务\"],\r\n Description: \"2.5.2 积极开展研究计划:主持开展研究项目\",\r\n itemTitle: \"2.5.2 积极开展研究计划:主持开展研究项目(共1.5分)\",\r\n aimsFunc: () => \"主持开展2项临床研究或临床试验项目或公共卫生应用研究项目\",\r\n evalColpleteFunc: (items) => `已完成${items.length}项,还差${Math.max(0, 2 - items.length)}项`,\r\n evalScoreFunc: (items) => {\r\n let core = items.length * 1.5\r\n return Math.min(core, 1.5);\r\n },\r\n template: Item,\r\n flex: {\r\n xs12: true,\r\n //lg6: true\r\n },\r\n frmCols: arr => [\r\n ...arr,\r\n {\r\n Name: 'Name',\r\n style: {\r\n 'text-align': 'left !important'\r\n },\r\n }\r\n ]\r\n}\r\n\r\nexport const Items9_3 = {\r\n Name: \"Items9_3\",\r\n propName: \"Items9_3\",\r\n itemName: \"TreeProjectItem9_3\",\r\n GroupNames: [\"2 建设任务\"],\r\n Description: \"2.5.3 积极开展研究计划:产出应用性技术成果\",\r\n itemTitle: \"2.5.3 积极开展研究计划:产出应用性技术成果(共1.5分)\",\r\n aimsFunc: () => \"每年产出1项临床诊疗规范或疾病预防控制策略等应用性技术成果\",\r\n evalColpleteFunc: (items) => `已完成${items.length}项`,\r\n evalScoreFunc: (items) => {\r\n let core = items.length * 1.5\r\n return Math.min(core, 1.5);\r\n },\r\n template: Item,\r\n flex: {\r\n xs12: true,\r\n //lg6: true\r\n }\r\n}\r\n\r\nexport const Items10_1 = {\r\n Name: \"Items10_1\",\r\n propName: \"Items10_1\",\r\n itemName: \"TreeProjectItem10_1\",\r\n GroupNames: [\"3 学科影响力\"],\r\n Description: \"3.1 项目立项\",\r\n itemTitle: \"3.1 项目立项\",\r\n aimsFunc: () => \"省部级以上项目立项1项,市级项目立项2项\",\r\n evalColpleteFunc: (items) => {\r\n let countA = items.filter(v => v.Leval == 'A').length\r\n let countB = items.filter(v => v.Leval == 'B').length\r\n return `已完成:省部级以上项目立项${countA}项,市级项目立项${countB}项`\r\n },\r\n template: Item,\r\n flex: {\r\n xs12: true,\r\n //lg6: true\r\n },\r\n frmOpts: opts => [\r\n ...opts,\r\n {\r\n Name: 'YearMonth',\r\n IsRequired: true,\r\n dateType: 'month'\r\n },\r\n ],\r\n frmCols: arr => [\r\n ...arr,\r\n {\r\n Name: 'Name',\r\n style: {\r\n 'text-align': 'left !important'\r\n },\r\n }\r\n ],\r\n frmRules: rules => ({\r\n ...rules,\r\n YearMonth: [val => !!val || '立项时间是必需的'],\r\n }),\r\n evalDisabledFunc,\r\n canDeleteFunc,\r\n toolItems: makeToolItems({\r\n target: 'Problem',\r\n beforeFunc() {\r\n return this.$store.dispatch(\"loadEnumValues\", 'TreeProjectProjectState');\r\n },\r\n convertFunc(r) {\r\n var aArr = [{\r\n k: \"省部级\",\r\n v: \"A\"\r\n }, {\r\n k: \"市级\",\r\n v: \"B\"\r\n }, {\r\n k: \"国家级\",\r\n v: \"C\"\r\n }, {\r\n k: \"厅级\",\r\n v: \"D\"\r\n }, {\r\n k: \"局级\",\r\n v: \"E\"\r\n }, {\r\n k: \"院级\",\r\n v: \"F\"\r\n }, {\r\n k: \"校级\",\r\n v: \"G\"\r\n }, {\r\n k: \"其他\",\r\n v: \"H\"\r\n }];\r\n\r\n let val = this.$store.getters.getItemValue(r.Level_Id);\r\n let stateId = this.$store.getters.getItemValues('TreeProjectProjectState')[0].Id;\r\n return {\r\n Target_Id: r.Id,\r\n Leval: aArr.find(x => x.k == val) == null ? 'H' : aArr.find(x => x.k == '院级').v,\r\n Name: r.Name,\r\n Person_Id: r.Principal_Id,\r\n Person: r.Principal,\r\n State_Id: stateId,\r\n YearMonth: r.ProjectDate\r\n }\r\n },\r\n propName: \"Items10_1\"\r\n })\r\n}\r\n\r\nexport const Items10_2 = {\r\n Name: \"Items10_2\",\r\n propName: \"Items10_2\",\r\n itemName: \"TreeProjectItem10_2\",\r\n GroupNames: [\"3 学科影响力\"],\r\n itemTitle: \"3.2 论文\",\r\n aimsFunc: () => \"SCIE论文2篇,其中一篇为2区,中文核心期刊论文4篇\",\r\n evalColpleteFunc: (items) => {\r\n let countA = items.filter(v => v.Leval == 'A').length\r\n let countA_1 = items.filter(v => v.Leval == 'A' && v.Partition == 2).length\r\n let countB = items.filter(v => v.Leval == 'B').length\r\n return `已完成:SCIE论文${countA}篇,其中${countA_1}篇为2区,中文核心期刊论文${countB}篇`\r\n },\r\n template: Item,\r\n flex: {\r\n xs12: true,\r\n //lg6: true\r\n },\r\n frmOpts: opts => [\r\n ...opts,\r\n {\r\n Name: 'YearMonth',\r\n IsRequired: true,\r\n dateType: 'month'\r\n },\r\n ],\r\n frmCols: arr => [\r\n ...arr,\r\n {\r\n Name: 'Name',\r\n style: {\r\n 'text-align': 'left !important'\r\n },\r\n }\r\n ],\r\n frmRules: rules => ({\r\n ...rules,\r\n YearMonth: [val => !!val || '立项时间是必需的'],\r\n }),\r\n evalDisabledFunc,\r\n canDeleteFunc,\r\n toolItems: makeToolItems({\r\n target: 'Thesis',\r\n beforeFunc() {\r\n return this.$store.dispatch(\"loadEnumValues\", 'TreeProjectThesisState');\r\n },\r\n convertFunc(r) {\r\n let val = this.$store.getters.getItemValue(r.PublicationType_Id);\r\n let stateId = this.$store.getters.getItemValues('TreeProjectThesisState')[0].Id;\r\n return {\r\n Target_Id: r.Id,\r\n Leval: val == 'SCI' ? 'A' : 'B',\r\n Name: r.Title,\r\n Partition: r.Partition || 0,\r\n YearMonth: r.PublishDate,\r\n State_Id: stateId\r\n }\r\n },\r\n propName: \"Items10_2\"\r\n })\r\n}\r\n\r\nexport const Items10_3 = {\r\n Name: \"Items10_3\",\r\n propName: \"Items10_3\",\r\n itemName: \"TreeProjectItem10_3\",\r\n GroupNames: [\"3 学科影响力\"],\r\n itemTitle: \"3.3 杰出人才及团队\",\r\n aimsFunc: () => \"1个后备级以上杰出人才及团队\",\r\n evalColpleteFunc: (items) => {\r\n return `已完成:${items.length}个后备级以上杰出人才及团队`\r\n },\r\n template: Item,\r\n flex: {\r\n xs12: true,\r\n //lg6: true\r\n },\r\n frmOpts: opts => [\r\n ...opts,\r\n {\r\n Name: 'YearMonth',\r\n IsRequired: true,\r\n dateType: 'month'\r\n },\r\n {\r\n Name: 'Name',\r\n IsRequired: true\r\n },\r\n ],\r\n frmRules: rules => ({\r\n ...rules,\r\n YearMonth: [val => !!val || '立项时间是必需的'],\r\n Name: [val => !!val || '人才姓名/团队名是必需的'],\r\n }),\r\n frmCols: arr => [\r\n ...arr,\r\n {\r\n Name: 'Name',\r\n style: {\r\n 'text-align': 'left !important'\r\n },\r\n }\r\n ],\r\n evalDisabledFunc,\r\n canDeleteFunc,\r\n toolItems: makeToolItems({\r\n target: 'Outstanding',\r\n beforeFunc() {\r\n return this.$store.dispatch(\"loadEnumValues\", 'TreeProjectOutstandingState');\r\n },\r\n convertFunc(r) {\r\n let val = this.$store.getters.getItemValue(r.OutstandingType_Id);\r\n let stateId = this.$store.getters.getItemValues('TreeProjectOutstandingState')[0].Id;\r\n return {\r\n Target_Id: r.Id,\r\n Leval: 'A',\r\n OutstandingCategory_Id: r.OutstandingCategory_Id,\r\n Name: val,\r\n YearMonth: r.GetTime,\r\n State_Id: stateId\r\n }\r\n },\r\n propName: \"Items10_3\"\r\n })\r\n}\r\n\r\nexport const Items10_4 = {\r\n Name: \"Items10_4\",\r\n propName: \"Items10_4\",\r\n itemName: \"TreeProjectItem10_4\",\r\n GroupNames: [\"3 学科影响力\"],\r\n itemTitle: \"3.4 科技奖项\",\r\n aimsFunc: () => \"1项省级以上科技奖,1项市级科技奖\",\r\n evalColpleteFunc: (items) => {\r\n let countA = items.filter(v => v.Leval == 'A').length\r\n let countB = items.filter(v => v.Leval == 'B').length\r\n return `已完成:${countB}项省级以上科技奖,${countA}项市级科技奖`\r\n },\r\n template: Item,\r\n flex: {\r\n xs12: true,\r\n //lg6: true\r\n },\r\n frmOpts: opts => [\r\n ...opts,\r\n {\r\n Name: 'YearMonth',\r\n IsRequired: true,\r\n dateType: 'month'\r\n },\r\n ],\r\n frmCols: arr => [\r\n ...arr,\r\n {\r\n Name: 'Name',\r\n style: {\r\n 'text-align': 'left !important'\r\n },\r\n }\r\n ],\r\n frmRules: rules => ({\r\n ...rules,\r\n YearMonth: [val => !!val || '获奖时间是必需的'],\r\n }),\r\n evalDisabledFunc,\r\n canDeleteFunc,\r\n toolItems: makeToolItems({\r\n target: 'Results',\r\n beforeFunc() {\r\n return this.$store.dispatch(\"loadEnumValues\", 'TreeProjectResultState');\r\n },\r\n convertFunc(r) {\r\n let val = this.$store.getters.getItemValue(r.AwardLevel_Id);\r\n let stateId = this.$store.getters.getItemValues('TreeProjectResultState')[0].Id;\r\n return {\r\n Target_Id: r.Id,\r\n Leval: val == '市局级' ? 'A' : 'B',\r\n Name: r.Name,\r\n State_Id: stateId,\r\n YearMonth: r.AwardTime\r\n }\r\n },\r\n propName: \"Items10_4\"\r\n })\r\n}\r\n\r\nexport const Items10_5 = {\r\n Name: \"Items10_5\",\r\n propName: \"Items10_5\",\r\n itemName: \"TreeProjectItem10_5\",\r\n GroupNames: [\"3 学科影响力\"],\r\n itemTitle: \"3.5 专利\",\r\n aimsFunc: () => \"1项发明专利、1项实用新型专利\",\r\n evalColpleteFunc: (items) => {\r\n let countA = items.filter(v => v.Leval == 'A').length\r\n let countB = items.filter(v => v.Leval == 'B').length\r\n return `已完成:${countA}项发明专利、${countB}项实用新型专利`\r\n },\r\n template: Item,\r\n flex: {\r\n xs12: true,\r\n //lg6: true\r\n },\r\n frmOpts: opts => [\r\n ...opts,\r\n {\r\n Name: 'YearMonth',\r\n IsRequired: true,\r\n dateType: 'month'\r\n },\r\n ],\r\n frmCols: arr => [\r\n ...arr,\r\n {\r\n Name: 'Name',\r\n style: {\r\n 'text-align': 'left !important'\r\n },\r\n }\r\n ],\r\n frmRules: rules => ({\r\n ...rules,\r\n YearMonth: [val => !!val || '获得时间是必需的'],\r\n }),\r\n evalDisabledFunc,\r\n canDeleteFunc,\r\n toolItems: makeToolItems({\r\n target: 'Patent',\r\n beforeFunc() {\r\n return this.$store.dispatch(\"loadEnumValues\", 'TreeProjectPantentState');\r\n },\r\n convertFunc(r) {\r\n let val = this.$store.getters.getItemValue(r.PatentType_Id);\r\n let stateId = this.$store.getters.getItemValues('TreeProjectPantentState')[0].Id;\r\n return {\r\n Target_Id: r.Id,\r\n YearMonth: r.PlacardDate,\r\n State_Id: stateId,\r\n Leval: val == '发明专利' ? 'A' : 'B',\r\n Name: r.Name\r\n }\r\n },\r\n propName: \"Items10_5\"\r\n })\r\n}\r\n\r\nexport const Items10_6 = {\r\n Name: \"Items10_6\",\r\n propName: \"Items10_6\",\r\n itemName: \"TreeProjectItem10_6\",\r\n GroupNames: [\"3 学科影响力\"],\r\n itemTitle: \"3.6 任职\",\r\n aimsFunc: () => \"担任核心期刊任职,担任重要学会任职\",\r\n evalColpleteFunc: (items) => {\r\n let A = items.filter(v => v.Leval == 'A' && v.IsCore).length > 0 ? '担任核心期刊任职' : ''\r\n let B = items.filter(v => v.Leval == 'B' && v.IsCore).length > 0 ? '担任核心期刊任职' : ''\r\n let arr = [A, B].filter(v => v)\r\n return arr.length > 0 ? `已完成:${arr.join(',')}` : '未完成'\r\n },\r\n template: Item,\r\n flex: {\r\n xs12: true,\r\n //lg6: true\r\n },\r\n frmOpts: opts => [\r\n ...opts,\r\n {\r\n Name: 'YearMonth',\r\n IsRequired: true,\r\n dateType: 'month'\r\n },\r\n ],\r\n frmRules: rules => ({\r\n ...rules,\r\n YearMonth: [val => !!val || '获得时间是必需的'],\r\n }),\r\n evalDisabledFunc,\r\n canDeleteFunc,\r\n toolItems: makeToolItems({\r\n target: 'Position',\r\n propName: \"Items10_6\",\r\n beforeFunc() {\r\n return this.$store.dispatch(\"loadEnumValues\", 'TreeProjectPositionState');\r\n },\r\n convertFunc(r) {\r\n // let val = this.$store.getters.getItemValue(r.PatentType_Id);\r\n let stateId = this.$store.getters.getItemValues('TreeProjectPositionState')[0].Id;\r\n return {\r\n Target_Id: r.Id,\r\n Name: r.Category == 'Journal' ? r.JournalName : r.LearnedName,\r\n Leval: r.Category == 'Journal' ? 'A' : 'B',\r\n State_Id: stateId,\r\n YearMonth: r.StartDate,\r\n IsCore: null,\r\n }\r\n }\r\n }),\r\n frmCols(cols) {\r\n return [\r\n ...cols,\r\n {\r\n Name: 'Name',\r\n style: {\r\n 'text-align': 'left !important'\r\n },\r\n },\r\n {\r\n Name: 'IsCore',\r\n template: {\r\n props: ['model', 'canEdit'],\r\n render(h) {\r\n if (!this.canEdit) {\r\n return h('span', null, this.model.IsCore ? '是' : '否')\r\n } else {\r\n return h('v-radio-group', {\r\n props: {\r\n value: this.model.IsCore,\r\n 'hide-details': true,\r\n flat: true,\r\n row: true,\r\n },\r\n on: {\r\n change: val => {\r\n\r\n\r\n this.model.IsCore = val;\r\n }\r\n }\r\n }, [\r\n h('v-radio', {\r\n props: {\r\n label: '是',\r\n value: true\r\n }\r\n }),\r\n h('v-radio', {\r\n props: {\r\n label: '否',\r\n value: false\r\n }\r\n })\r\n ])\r\n }\r\n }\r\n }\r\n }\r\n ]\r\n }\r\n}\r\n\r\nexport const Items10_7 = {\r\n Name: \"Items10_7\",\r\n propName: \"Items10_7\",\r\n itemName: \"TreeProjectItem10_7\",\r\n GroupNames: [\"3 学科影响力\"],\r\n itemTitle: \"3.7 科研平台\",\r\n aimsFunc: () => \"获得科研平台(公共服务平台、重点实验室、工程实验室、临床医学研究中心)\",\r\n evalColpleteFunc: (items) => {\r\n let isComplete = items.length > 0\r\n return isComplete ? `已完成` : '未完成'\r\n },\r\n template: Item,\r\n flex: {\r\n xs12: true,\r\n //lg6: true\r\n },\r\n frmOpts: opts => [\r\n ...opts,\r\n {\r\n Name: 'YearMonth',\r\n IsRequired: true,\r\n dateType: 'month'\r\n },\r\n ],\r\n frmRules: rules => ({\r\n ...rules,\r\n YearMonth: [val => !!val || '获得时间是必需的'],\r\n }),\r\n frmCols: arr => [\r\n ...arr,\r\n {\r\n Name: 'Name',\r\n style: {\r\n 'text-align': 'left !important'\r\n },\r\n }\r\n ],\r\n canNotAdd: true,\r\n // evalDisabledFunc,\r\n canDeleteFunc,\r\n toolItems: makeToolItems({\r\n target: 'Platform',\r\n propName: \"Items10_7\",\r\n beforeFunc() {\r\n return this.$store.dispatch(\"loadEnumValues\", 'TreeProjectPlatformState');\r\n },\r\n convertFunc(r) {\r\n let val = this.$store.getters.getItemValue(r.PlatformCategory_Id);\r\n let stateId = this.$store.getters.getItemValues('TreeProjectPlatformState')[0].Id;\r\n return {\r\n Target_Id: r.Id,\r\n Name: r.Name,\r\n State_Id: stateId,\r\n Type: val == '公共服务平台' ? 'A' : val == '重点实验室' ? 'B' : val == '工程实验室' ? 'C' : val == '临床医学研究中心' ? 'D' : null,\r\n YearMonth: r.ApprovedTime\r\n }\r\n }\r\n })\r\n}\r\n\r\nexport const Items11 = {\r\n Name: \"Items11\",\r\n GroupNames: [\"4 技术水平\"],\r\n template: {\r\n props: ['model', 'itemTitle', 'canEdit', 'month'],\r\n data() {\r\n return {\r\n prevItems: {\r\n CMI: 0,\r\n TotalWeight: 0,\r\n NumberOfGroups: 0,\r\n Items: []\r\n }\r\n }\r\n },\r\n computed: {\r\n key() {\r\n return this.model.Dept_Id + '_' + this.model.Year;\r\n }\r\n },\r\n watch: {\r\n key() {\r\n this.loadPrev();\r\n }\r\n },\r\n created() {\r\n this.loadPrev();\r\n },\r\n methods: {\r\n loadPrev() {\r\n this.prevItems.CMI = 0;\r\n this.prevItems.TotalWeight = 0;\r\n this.prevItems.NumberOfGroups = 0;\r\n\r\n this.prevItems.Items = [];\r\n let {\r\n Dept_Id,\r\n Year\r\n } = this.model;\r\n if (Dept_Id && Year)\r\n this.$http\r\n .get(`/api/ThreeProject/GetYearMonthCMI/${Dept_Id}/${Year}/${this.month || ''}`)\r\n .then(v => this.prevItems = v)\r\n }\r\n },\r\n render(h) {\r\n return h(Item, {\r\n props: {\r\n ...this.$props,\r\n propName: \"Items11\",\r\n flex: {\r\n xs12: true,\r\n },\r\n showToolItems: false,\r\n itemName: \"TreeProjectItem11\",\r\n itemTitle: \"4.1 技术水平成长(共20分)\",\r\n aimsFunc: () => \"CMI、总权重、组数都根据填的数值与上一年同期相比获取增长或下降的百分比,百分比的值再根据下图中规则赋分\",\r\n // evalColpleteFunc: (items) => { \r\n // return `累计来深工作${LocalDayCount}天,还差${diff}天`;\r\n // },\r\n evalScoreFunc: (items) => {\r\n let {\r\n Year\r\n } = this.model;\r\n let month = this.month;\r\n if (Year == new Date().getFullYear()) {\r\n if (!month || month > new Date().getMonth() + 1) {\r\n month = new Date().getMonth() + 1;\r\n }\r\n } else if (month == null) {\r\n month = 12;\r\n }\r\n\r\n items = items.filter(v => v.Month == month)\r\n\r\n /**\r\n * 当前的值合计\r\n */\r\n let total = {\r\n CMI: sum(items, v => v.CMI),\r\n TotalWeight: sum(items, v => v.TotalWeight),\r\n NumberOfGroups: sum(items, v => v.NumberOfGroups)\r\n }\r\n\r\n\r\n /**\r\n * 上年的值合计\r\n */\r\n let totalPrev = {\r\n CMI: sum(this.prevItems.Items, v => v.CMI) || 0,\r\n TotalWeight: sum(this.prevItems.Items, v => v.TotalWeight) || 0,\r\n NumberOfGroups: sum(this.prevItems.Items, v => v.NumberOfGroups) || 0\r\n }\r\n\r\n /**\r\n * 差值\r\n */\r\n let diffCMI = total.CMI - totalPrev.CMI;\r\n let diffTotalWeight = total.TotalWeight - totalPrev.TotalWeight;\r\n let diffNumberOfGroups = total.NumberOfGroups - totalPrev.NumberOfGroups;\r\n\r\n /**\r\n * 增长/减少的百分比\r\n */\r\n let scales = {\r\n CMI: totalPrev.CMI == 0 ? 0 : diffCMI / totalPrev.CMI,\r\n TotalWeight: totalPrev.TotalWeight == 0 ? 0 : diffTotalWeight / totalPrev.TotalWeight,\r\n NumberOfGroups: totalPrev.NumberOfGroups == 0 ? 0 : diffNumberOfGroups / totalPrev.NumberOfGroups\r\n }\r\n\r\n\r\n\r\n\r\n /**\r\n * 记录分值\r\n */\r\n let scores = {\r\n CMI: 4,\r\n TotalWeight: 2,\r\n NumberOfGroups: 2\r\n }\r\n\r\n /**\r\n * 递增规则\r\n */\r\n let ranges = [{\r\n range: [null, 0.15],\r\n value: 0.05\r\n },\r\n {\r\n range: [0.15, 0.30],\r\n value: 0.1\r\n },\r\n {\r\n range: [0.30, null],\r\n value: 0.1\r\n },\r\n ];\r\n\r\n for (const key of Object.keys(scores)) {\r\n if (total[key] == 0 || totalPrev[key] == 0) {\r\n scores[key] = 0;\r\n continue;\r\n }\r\n let scale = scales[key];\r\n let absScale = Math.abs(scale);\r\n for (const {\r\n range,\r\n value\r\n } of ranges) {\r\n if ((range[0] == null || absScale >= range[0])) {\r\n let rangScale = absScale;\r\n if (range[1] != null) {\r\n rangScale = Math.min(absScale, range[1]);\r\n }\r\n if (range[0] != null) {\r\n rangScale -= range[0];\r\n }\r\n if (scale > 0)\r\n scores[key] += rangScale * value * 100;\r\n else\r\n scores[key] -= rangScale * value * 100;\r\n }\r\n }\r\n }\r\n\r\n let result = {\r\n CMI: totalPrev.CMI == 0 ? 0 : this.prevItems.CMI == 0 && total.CMI > 0 ? 1 : total.CMI == 0 ? 0 : scores.CMI / this.prevItems.CMI,\r\n TotalWeight: totalPrev.TotalWeight == 0 ? 0 : this.prevItems.TotalWeight == 0 && total.TotalWeight > 0 ? 1 : total.TotalWeight == 0 ? 0 : scores.TotalWeight / this.prevItems.TotalWeight,\r\n NumberOfGroups: totalPrev.NumberOfGroups == 0 ? 0 : this.prevItems.NumberOfGroups == 0 && total.NumberOfGroups > 0 ? 1 : total.NumberOfGroups == 0 ? 0 : scores.NumberOfGroups / this.prevItems.NumberOfGroups\r\n }\r\n\r\n\r\n\r\n scores.CMI = Math.max(0, Math.min(10, result.CMI * 10));\r\n scores.TotalWeight = Math.max(0, Math.min(5, result.TotalWeight * 5));\r\n scores.NumberOfGroups = Math.max(0, Math.min(5, result.NumberOfGroups * 5));\r\n\r\n return sum(Object.values(scores))\r\n\r\n },\r\n children: {\r\n render: (h) => {\r\n const value = this.model.Items11;\r\n const months = new Array(12).fill(null).map((_, i) => i + 1).filter(v => !this.month || v <= this.month);\r\n const keys = [{\r\n Key: 'CMI',\r\n Value: 'CMI'\r\n }, {\r\n Key: 'TotalWeight',\r\n Value: '总权重'\r\n }, {\r\n Key: 'NumberOfGroups',\r\n Value: '组数'\r\n }];\r\n return h('table', {\r\n class: ['v-datatable v-table']\r\n }, [\r\n h('thead', null, [\r\n h('tr', null, [\r\n h('th', {\r\n style: {\r\n width: '150px'\r\n }\r\n }, '月份'),\r\n ...keys.map(v => h('th', null, v.Value))\r\n ])\r\n ]),\r\n h('tbody', null, months.map((month) => h('tr', null, [\r\n h('td', null, month),\r\n ...keys.map(kv => {\r\n let val = sum(value.filter(v => v.Month == month).map(r => r[kv.Key]))\r\n return h('td', null, [\r\n this.canEdit ? h('v-text-field', {\r\n attrs: {\r\n type: 'number'\r\n },\r\n props: {\r\n flat: true,\r\n 'hide-details': true,\r\n value: val\r\n },\r\n style: {\r\n 'padding-top': '0px',\r\n 'margin-top': '0px'\r\n },\r\n on: {\r\n input: v => {\r\n let item = value.find(v => v.Month == month);\r\n if (!item) {\r\n item = {\r\n Month: month,\r\n NumberOfGroups: 0,\r\n TotalWeight: 0,\r\n Id: new Date().getTime().toString(),\r\n }\r\n value.push(item)\r\n }\r\n if (v < 0) {\r\n v = 0\r\n this.$nextTick(() => {\r\n event.target.value = 0;\r\n })\r\n }\r\n item[kv.Key] = parseFloat(v) || 0;\r\n this.$emit('change')\r\n }\r\n }\r\n }) : h('span', null, val)\r\n ])\r\n })\r\n ]))),\r\n\r\n ])\r\n }\r\n },\r\n canNotAdd: true,\r\n },\r\n on: this.$listeners\r\n })\r\n }\r\n },\r\n\r\n\r\n}\r\n\r\n/**\r\n * 计算学科影响力\r\n * @param {*} model \r\n */\r\nexport function CalcItems(model) {\r\n let {\r\n Dept_Id,\r\n Year\r\n } = model;\r\n let dic = this.$store.state.ThreeProjectWriteCategoryDic;\r\n\r\n if (Dept_Id && dic['A'].includes(Dept_Id)) {\r\n for (const k of Object.keys(model)) {\r\n if (k.startsWith('Items10_')) {\r\n // model[k] = []\r\n }\r\n }\r\n }\r\n\r\n if (Dept_Id && Year && dic['A'].includes(Dept_Id)) {\r\n return this.$http.get(`/api/threeproject/CalcItems/${Dept_Id}/${Year}`).then(kvs => {\r\n for (const [k, v] of Object.entries(kvs)) {\r\n model[k] = [\r\n ...model[k].filter(r => !r.Target_Id),\r\n // ...v.filter(r => !model[k].find(p => p.Target_Id == r.Target_Id))\r\n ...v\r\n ];\r\n }\r\n })\r\n } else {\r\n return Promise.resolve();\r\n }\r\n}\r\n\r\nexport default function (opts) {\r\n let opt = opts.find(v => v.Name == 'Dept_Id')\r\n if (opt) {\r\n opt.requestUrl = '/api/dept/ThreeProjectDeptList'\r\n opt.callback = function ({\r\n model,\r\n value\r\n }) {\r\n if (value) {\r\n model.Dept = value\r\n } else {\r\n model.Dept = null\r\n }\r\n\r\n CalcItems.call(this, model)\r\n }\r\n }\r\n\r\n opt = opts.find(v => v.Name == 'Year')\r\n if (opt) {\r\n opt.callback = function ({\r\n model\r\n }) {\r\n CalcItems.call(this, model)\r\n }\r\n }\r\n\r\n opts.splice(1, 0, {\r\n Name: 'Dept.Category',\r\n Description: '三名分类',\r\n Readonly: 'All',\r\n Type: 'String',\r\n GroupNames: ['基本信息'],\r\n EnumValues: [{\r\n Key: 'A',\r\n Value: 'A类'\r\n },\r\n {\r\n Key: 'B',\r\n Value: 'B类'\r\n }\r\n ]\r\n })\r\n\r\n opts.push(Items1);\r\n\r\n opts.push(Items2);\r\n\r\n\r\n opts.push(Items5);\r\n\r\n opts.push(Items6_1);\r\n\r\n opts.push(Items6_2);\r\n\r\n opts.push(Items7);\r\n\r\n opts.push(Items8_1);\r\n\r\n opts.push(Items8_2);\r\n\r\n opts.push(Items8_3);\r\n\r\n opts.push(Items9_1);\r\n\r\n opts.push(Items9_2);\r\n\r\n opts.push(Items9_3);\r\n\r\n opts.push(Items10_1);\r\n\r\n opts.push(Items10_2);\r\n\r\n opts.push(Items10_3);\r\n\r\n opts.push(Items10_4);\r\n\r\n opts.push(Items10_5);\r\n\r\n opts.push(Items10_6);\r\n\r\n opts.push(Items10_7);\r\n\r\n opts.push(Items11);\r\n\r\n return opts;\r\n}","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('v-flex',_vm._b({},'v-flex',_vm.flex,false),[_c('v-card',[_c('v-toolbar',{attrs:{\"flat\":\"\",\"dense\":\"\",\"card\":\"\",\"color\":\"transparent\"}},[_c('v-toolbar-title',[_vm._v(\"\\n \"+_vm._s(_vm.itemTitle)+\"\\n\\n \"),(_vm.evalScoreFunc && _vm.itemName == 'TreeProjectItem5')?_c('small',{attrs:{\"title\":\"得分=12*当月总计。当月没有进度,则取上个月的进度合计\"}},[_vm._v(\"得分:\"+_vm._s((_vm.evalScoreFunc(_vm.items, _vm.DeptCategory, _vm.model) || 0).toFixed(4)))]):(_vm.evalScoreFunc)?_c('small',[_vm._v(\"得分:\"+_vm._s((_vm.evalScoreFunc(_vm.items, _vm.DeptCategory, _vm.model) || 0).toFixed(4)))]):_vm._e()]),_c('v-spacer'),(_vm.canEdit && !_vm.canNotAdd && _vm.disbled)?_c('v-btn',{on:{\"click\":_vm.add}},[_c('v-icon',[_vm._v(\"add\")]),_c('span',[_vm._v(\"添加项\")])],1):_vm._e(),(_vm.canEdit && !_vm.canNotAdd && _vm.showToolItems)?_vm._l((_vm.toolItems),function(btn){return _c('v-btn',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.evalVisible(btn)),expression:\"evalVisible(btn)\"}],key:btn.name,on:{\"click\":function($event){return _vm.evalAction(btn.action)}}},[_c('v-icon',[_vm._v(_vm._s(btn.icon))]),_c('span',[_vm._v(_vm._s(btn.title))])],1)}):_vm._e()],2),_c('v-card-title',[_c('div',[(_vm.aimsFunc && typeof _vm.aimsFunc == 'function')?_c('p',[_c('strong',[_vm._v(\"计划目标:\")]),_c('span',{domProps:{\"innerHTML\":_vm._s(_vm.frmText(_vm.aimsFunc(_vm.DeptCategory, _vm.items, _vm.model)))}})]):_vm._e(),(_vm.aimsFunc && typeof _vm.aimsFunc == 'object')?_c('p',[_c('strong',[_vm._v(\"计划目标:\")]),_c(_vm.aimsFunc,_vm._b({tag:\"component\"},'component',{\n DeptCategory: _vm.DeptCategory,\n value: _vm.items,\n model: _vm.model,\n },false))],1):_vm._e(),(_vm.evalColpleteFunc)?_c('p',[_c('strong',[_vm._v(\"实际完成:\")]),_c('span',{domProps:{\"innerHTML\":_vm._s(_vm.frmText(_vm.evalColpleteFunc(_vm.items, _vm.DeptCategory)))}})]):_vm._e()])]),_c('v-card-text',[_c('div',{staticClass:\"v-table__overflow\"},[(_vm.children)?_c(_vm.children,_vm._b({tag:\"component\",on:{\"change\":function($event){return _vm.$emit('change', _vm.items)},\"update\":_vm.handleUpdate}},'component',{\n canEdit: this.canEdit,\n value: this.items,\n model: this.model,\n month: this.month,\n },false)):_c('table',{ref:\"table\",staticClass:\"v-datatable v-table\"},[_c('thead',[_c('tr',[(!_vm.hideIndex)?_c('th',[_vm._v(\"序号\")]):_vm._e(),_vm._l((_vm.columns),function(col){return _c('th',{key:col.Name,style:(col.style)},[_vm._v(\"\\n \"+_vm._s(col.Description)+\"\\n \")])}),(_vm.canEdit && _vm.disbled)?_c('th',[_vm._v(\"操作\")]):_vm._e(),(_vm.canEdit && _vm.canDelete)?_c('th',[_vm._v(\"操作\")]):_vm._e()],2)]),_c('tbody',[_vm._l((_vm.items),function(item,index){return _c('tr',{key:item.Id},[(!_vm.hideIndex)?_c('td',[_vm._v(_vm._s(index + 1))]):_vm._e(),_vm._l((_vm.columns),function(col){return _c('td',{key:`${item.Id}_${col.Name}`,style:(col.style)},[_c(col.template || 'v-td',{tag:\"component\",attrs:{\"model\":item,\"info\":{ ...col, notEllipsis: true },\"canEdit\":_vm.canEdit},on:{\"toDetail\":function($event){return _vm.edit(index)}}})],1)}),(_vm.canEdit && _vm.disbled)?_c('td',{staticClass:\"btn-td\"},[_c('v-btn',{attrs:{\"flat\":\"\",\"icon\":\"\",\"small\":\"\",\"color\":\"info\"},on:{\"click\":function($event){return _vm.edit(index)}}},[_c('v-icon',[_vm._v(\"edit\")])],1),(!_vm.canNotAdd)?_c('v-btn',{attrs:{\"flat\":\"\",\"icon\":\"\",\"small\":\"\",\"color\":\"warning\"},on:{\"click\":function($event){return _vm.remove(index)}}},[_c('v-icon',[_vm._v(\"delete\")])],1):_vm._e()],1):_vm._e(),(_vm.canEdit && _vm.canDelete)?_c('td',{staticClass:\"btn-td\"},[(_vm.canDelete)?_c('v-btn',{attrs:{\"flat\":\"\",\"icon\":\"\",\"small\":\"\",\"color\":\"warning\"},on:{\"click\":function($event){return _vm.remove(index)}}},[_c('v-icon',[_vm._v(\"delete\")])],1):_vm._e()],1):_vm._e()],2)}),(_vm.items.length == 0)?_c('tr',[_c('td',{attrs:{\"colspan\":_vm.columns.length + 1 + (_vm.canEdit ? 1 : 0)}},[_vm._v(\"\\n 没有内容\\n \"),(_vm.canEdit && !_vm.canNotAdd && _vm.disbled)?[_vm._v(\"\\n ,点击\\n \"),_c('a',{on:{\"click\":_vm.add}},[_vm._v(\"添加\")])]:_vm._e()],2)]):_vm._e()],2)]),_c('br')],1)])],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/_thread-loader@2.1.3@thread-loader/dist/cjs.js!../../../../node_modules/_babel-loader@8.3.0@babel-loader/lib/index.js!../../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/_vue-loader@15.11.1@vue-loader/lib/index.js??vue-loader-options!./Item.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/_thread-loader@2.1.3@thread-loader/dist/cjs.js!../../../../node_modules/_babel-loader@8.3.0@babel-loader/lib/index.js!../../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/_vue-loader@15.11.1@vue-loader/lib/index.js??vue-loader-options!./Item.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Item.vue?vue&type=template&id=b4e2528c&scoped=true\"\nimport script from \"./Item.vue?vue&type=script&lang=js\"\nexport * from \"./Item.vue?vue&type=script&lang=js\"\nimport style0 from \"./Item.vue?vue&type=style&index=0&id=b4e2528c&prod&scoped=true&lang=css\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/_vue-loader@15.11.1@vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"b4e2528c\",\n null\n \n)\n\nexport default component.exports","export default function (form) {\r\n form.Items1 = form.Items1 || [];\r\n let months = new Array(12).fill(null).map((_, i) => i + 1);\r\n form.Items1 = [\r\n ...form.Items1,\r\n ...months\r\n .filter(v => !form.Items1.find(r => r.Month == v))\r\n .map(v => ({\r\n Month: v,\r\n LocalDayCount: 0,\r\n RemotelyDayCount: 0,\r\n ThreeProject_Id: form.Id || new Date().getTime().toString()\r\n }))\r\n ];\r\n\r\n form.Items1.sort((a, b) => a.Month - b.Month);\r\n\r\n form.Items2 = form.Items2 || [];\r\n form.Items5 = form.Items5 || [];\r\n form.Items6_1 = form.Items6_1 || [];\r\n form.Items6_2 = form.Items6_2 || [];\r\n form.Items7 = form.Items7 || [];\r\n form.Items8_1 = form.Items8_1 || [];\r\n form.Items8_2 = form.Items8_2 || [];\r\n form.Items8_3 = form.Items8_3 || [];\r\n form.Items9_1 = form.Items9_1 || [];\r\n form.Items9_2 = form.Items9_2 || [];\r\n form.Items9_3 = form.Items9_3 || [];\r\n\r\n form.Items10_1 = form.Items10_1 || [];\r\n form.Items10_2 = form.Items10_2 || [];\r\n form.Items10_3 = form.Items10_3 || [];\r\n form.Items10_4 = form.Items10_4 || [];\r\n form.Items10_5 = form.Items10_5 || [];\r\n form.Items10_6 = form.Items10_6 || [];\r\n form.Items10_7 = form.Items10_7 || [];\r\n form.Items11 = form.Items11 || []\r\n return form;\r\n}"],"sourceRoot":""}