perfgoalsfill.html 64 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131
  1. <script id="ruleTpl" type="text/template">
  2. <div class="titles">
  3. <span style="position:relative">
  4. ${jsBizMultLan.perfweb_perfgoalsfill_26551093_i18n_19}
  5. ${rows.ruleName}</span>
  6. <span class="instructions"></span>
  7. <span style="margin-left:42px">
  8. ${jsBizMultLan.perfweb_perfgoalsfill_26551093_i18n_20}
  9. ${rows.perfModelName}</span>
  10. <span class="name_time">${rows.planName}</span>
  11. <span class="name_time">${rows.periodName}(${rows.pStartDate}-${rows.pEndDate})</span>
  12. </div>
  13. </script>
  14. <script id="wrapTpl" type="text/template">
  15. <!-- <div class="titles">
  16. <span style="position:relative">
  17. ${jsBizMultLan.perfweb_perfgoalsfill_26551093_i18n_19}
  18. ${rows.ruleName}</span>
  19. <span class="instructions"></span>
  20. <span style="margin-left:42px">
  21. ${jsBizMultLan.perfweb_perfgoalsfill_26551093_i18n_20}
  22. ${rows.perfModelName}</span>
  23. <span class="name_time">${rows.planName}(${rows.pStartDate}-${rows.pEndDate})</span>
  24. </div> -->
  25. <div class="evaluation clearfix">
  26. </div>
  27. </script>
  28. <script id="contentTpl" type="text/template">
  29. {@each rows as list,index0}
  30. <div class="areawrap" areaId="${list.areaId}" areatype="${list.areaType}">
  31. <!-- <div class="areaname">
  32. ${list.areaName}(<span class="areaweight" areaWeight="${list.areaWeight}">${list.areaWeight}</span>%)
  33. </div> -->
  34. <div class="areaname" realAreaName=${list.areaName} area-id="${list.areaId}"
  35. {@if list.weightControl=="1" && (list.sumScoreRule=="400" || list.sumScoreRule=="500")}
  36. title="${list.areaName}({@if list.scoringWay == 0}${jsBizMultLan.perfweb_perfGoalsFillNew_26551296_i18n_65}:${list.areaControlWeight}%{@else}${jsBizMultLan.perfweb_perfgoalsfill_26551093_i18n_37|formatMsg,[list.areaControlWeight]}{@/if})">
  37. <span class="areaname-text">${list.areaName}</span>
  38. {@if list.scoringWay == 0}
  39. ${jsBizMultLan.perfweb_perfgoalsfill_26551093_i18n_40|formatMsg,[list.areaControlWeight]}
  40. {@else}
  41. ${jsBizMultLan.perfweb_perfgoalsfill_26551093_i18n_37|formatMsg,[list.areaControlWeight]}
  42. {@/if}
  43. {@else if list.weightControl=="1"}
  44. title="${list.areaName}({@if list.scoringWay == 0}${jsBizMultLan.perfweb_perfgoalsfill_26551093_i18n_38|formatMsg,[list.areaControlWeight]}{@else}${jsBizMultLan.perfweb_perfgoalsfill_26551093_i18n_25|formatMsg,[list.areaControlWeight]}{@/if})">
  45. <span class="areaname-text">${list.areaName}(
  46. {@if list.scoringWay == 0}
  47. ${jsBizMultLan.perfweb_perfgoalsfill_26551093_i18n_38|formatMsg,[list.areaControlWeight]}
  48. {@else}
  49. ${jsBizMultLan.perfweb_perfgoalsfill_26551093_i18n_36|formatMsg,[list.areaControlWeight]}
  50. {@/if}
  51. )</span>
  52. {@else if list.sumScoreRule=="400" || list.sumScoreRule=="500"}
  53. title="
  54. ${jsBizMultLan.perfweb_perfgoalsfill_26551093_i18n_0|formatMsg,[list.areaName]}
  55. ">
  56. ${jsBizMultLan.perfweb_perfgoalsfill_26551093_i18n_0|formatMsg,[list.areaName]}
  57. {@else}
  58. title="${list.areaName}"><span class="areaname-text">${list.areaName}</span>
  59. {@/if}
  60. {@if list.canRate == '1' && list.subAreaType != '1'}
  61. <div class="partGrade">
  62. {@if list.scoringWay == 0}
  63. (${jsBizMultLan.perfweb_perfGoalsFillNew_26551296_i18n_65}:
  64. <span class="areaweight" sumScoreRule="${list.sumScoreRule}" areaControlWeight="${list.areaControlWeight}" weightControl="${list.weightControl}" areaweight="${list.areaWeight}"> ${list.areaWeight}%</span>)
  65. {@else}
  66. (${jsBizMultLan.perfweb_perfGoalsFillNew_26551296_i18n_41}:
  67. <span class="areaweight" sumScoreRule="${list.sumScoreRule}" areaControlWeight="${list.areaControlWeight}" weightControl="${list.weightControl}"> ${list.areaWeight}${jsBizMultLan.perfweb_perfgoalsfill_1593331244239_i18n_0}</span>)
  68. {@/if}
  69. </div>
  70. {@/if}
  71. {@if (pageType == 0 || pageType == 1 || pageType == 6) && operatestate != 'VIEW' && btnPerm}
  72. <div class="movebtn-wrap">
  73. {@if btnPerm.addTargetPerm && !list.hideadd }
  74. <span class="movebtn-up add-indicator" onclick="it.addIndicatorsNew(this,'${list.areaId}','${list.areaType}','addIndicator',${index0})">${jsBizMultLan.perfweb_evaluationdetailsJuicer_1593047101393_i18n_0}</span>
  75. {@/if}
  76. {@if btnPerm.refTargetPerm && !list.hideref }
  77. <span class="movebtn-up ref-indicator" onclick="it.addIndicatorsNew(this,'${list.areaId}','${list.areaType}','referenceIndicator',${index0})">${jsBizMultLan.perfweb_evaluationdetailsJuicer_1593047101393_i18n_1}</span>
  78. {@/if}
  79. {@if viewType == 'list' && !list.hidemovebtn }
  80. <span class="movebtn-up" onclick="it.moveUpForGrid(this,'tab${index0}','${list.areaType}')">${jsBizMultLan.perfweb_perfgoalsfillnew_20230307yw_01}</span>
  81. <span class="movebtn-down" onclick="it.moveDownForGrid(this,'tab${index0}','${list.areaType}')">${jsBizMultLan.perfweb_perfgoalsfillnew_20230307yw_02}</span>
  82. {@/if}
  83. <span class="btn-control controller_active" onclick="it.foldIndicator(this)"></span>
  84. </div>
  85. {@/if}
  86. {@if list.rema}
  87. <div class="area-rema-box" area-id="${list.areaId}">
  88. <span>${jsBizMultLan.perfweb_evaluationdetailsJuicer_1586069239184_i18n_5}</span>
  89. <pre area-id="${list.areaId}">${list.rema}</pre>
  90. <div class="area-rema-btn" onclick="showMoreRema(this,'${list.areaId}')">${jsBizMultLan.perfweb_perfGoalsFillNew_26551296_i18n_102}</div>
  91. </div>
  92. {@/if}
  93. </div>
  94. {@if viewType == 'list'}
  95. <div class="tabwrap">
  96. <table class="indictab" id="tab${index0}" areaId="${list.areaId}"></table>
  97. </div>
  98. {@else}
  99. <ul class="indicatorwrap">
  100. {@each list.targetItems as item,index1}
  101. <li indId="${item.FID}">
  102. <!--{# personalGoalStatus,0:保存,1:提交,2:下达,3:已统一下达}-->
  103. <div class="state state${item.FGOALSSTATUS.value}"><i></i>${item.FGOALSSTATUS.alias}</div>
  104. <div class="field-line first-line">
  105. <pre class="indicaname">{@if item.FNAME}${item.FNAME}{@else if item.FKEYITEM}${item.FKEYITEM} {@/if}</pre>
  106. {@if list.canRate == '1' && list.subAreaType != 1}
  107. <span class="weightorscore">
  108. {@if list.scoringWay == 1}
  109. (<span class="ind-weight">${item.FTARSCORE}</span>${jsBizMultLan.perfweb_perfgoalsfill_1593331244239_i18n_0})
  110. {@else if list.scoringWay == 0}
  111. (<span class="ind-weight">${item.FWEIGHT}</span>%)
  112. {@/if}
  113. </span>
  114. {@/if}
  115. {@if pageType != 1 && pageType != 0 && dataType == 'targetDecompose'}
  116. <!-- {# 指标分解新增字段,目标值、实际完成值} -->
  117. {@each item.fieldslist as field, index}
  118. {@if field.colName == 'FTARGETVALUE'}
  119. <span class="decfileds">${field.showName}:<em class="ptargetvalue">
  120. {@if field.fieldvalue && field.fieldvalue !='NaN' && field.fieldvalue !='null'}
  121. ${field.fieldvalue}
  122. {@/if}
  123. </em>
  124. {@if item.FUNIT && item.FUNIT !='NaN' && item.FUNIT !='null'}
  125. ${item.FUNIT}
  126. {@/if}
  127. </span>
  128. {@/if}
  129. {@if field.colName == 'FACTUALCOMPLEVALUE'}
  130. <span class="decfileds">${field.showName}:<em class="pactualvalue">${field.fieldvalue}</em>${item.FUNIT}</span>
  131. {@/if}
  132. {@/each}
  133. <span class="schedule parentschedule">
  134. <span class="schedule-name">${jsBizMultLan.perfweb_perfgoalsfill_1593331244239_i18n_1}</span>
  135. <span class="wholebar">
  136. <span class="finishbar" style="width: ${list.FTARGETVALUE | targetSchedule , list.FACTUALCOMPLEVALUE}%"></span>
  137. </span>
  138. <span class="percentnum">0</span>%
  139. </span>
  140. {@/if}
  141. </div>
  142. <div
  143. {@if showAllFields}
  144. class="field-box show-more"
  145. {@else}
  146. class="field-box"
  147. {@/if}
  148. >
  149. {@if dataType != 'targetDecompose'}
  150. <!-- {# 目标填报页面新增指标来源、指标负责人字段} -->
  151. {@if item.FSOURCE}
  152. <div class="field-line">
  153. <span class="field-name" title="${jsBizMultLan.perfweb_perfgoalsfill_26551093_i18n_66}">${jsBizMultLan.perfweb_perfgoalsfill_26551093_i18n_67}</span>
  154. <span class="field-value">
  155. ${item.FSOURCE}
  156. </span>
  157. </div>
  158. {@/if}
  159. {@if item.FRESPONSERNAME}
  160. <div class="field-line">
  161. <span class="field-name" title=${jsBizMultLan.perfweb_perfgoalsfill_26551093_i18n_27}>${jsBizMultLan.perfweb_perfgoalsfill_26551093_i18n_28}</span>
  162. <span class="field-value">
  163. ${item.FRESPONSERNAME}
  164. </span>
  165. </div>
  166. {@/if}
  167. {@/if}
  168. {@each item.fieldslist as it,index2}
  169. {# 指标维护阶段为非指标评价阶段 非是否统一下达字段 }
  170. {@if it.fieldMaintenanceStage !== '200' && it.colName !== 'FISUNITED' && it.colName !== 'FNAME' && it.colName !== 'FKEYITEM' && it.colName !== 'FWEIGHT' && it.colName !== 'FTARSCORE'}
  171. <!--{# 计划完成日期}-->
  172. {@if it.colName == 'FPSTARTDATE' || it.colName == 'FPENDDATE' || it.colName == 'FPLANEDDATE'}
  173. <div class="field-line" field-type="${it.fieldType}">
  174. <span class="field-name" title="${it.showName}">${it.showName}:</span><span class="field-value">
  175. {@if it.fieldvalue}
  176. ${it.fieldvalue.substr(0,10)}
  177. {@/if}
  178. </span>
  179. </div>
  180. {@else if it.colName == 'FREJECTION' || (it.colName.indexOf('FEXTEND') > -1 && it.fieldType === 'Boolean' && it.fieldMaintenanceStage !== '200')} {# 否决项、扩展字段布尔类型}
  181. <div class="field-line" field-type="${it.fieldType}">
  182. <span class="field-name" title="${it.showName}">${it.showName}:</span><span class="field-value">
  183. ${it.fieldvalue=='1' ? jsBizMultLan.perfweb_perfgoalsfill_26551093_i18n_52 : jsBizMultLan.perfweb_perfgoalsfill_26551093_i18n_12}</span>
  184. </div>
  185. {@else if it.colName == 'FQUALIORRATION'}
  186. <!--{# 定性/定量}-->
  187. <div class="field-line" field-type="${it.fieldType}">
  188. <span class="field-name" title="${it.showName}">${it.showName}:</span><span class="field-value">
  189. ${it.fieldvalue=="0" ? jsBizMultLan.perfweb_perfgoalsfill_26551093_i18n_11 : jsBizMultLan.perfweb_perfgoalsfill_26551093_i18n_10}</span>
  190. </div>
  191. {@else if it.colName == 'FISVISIBLE'}
  192. <!-- {# 可见性} -->
  193. <div class="field-line" field-type="${it.fieldType}">
  194. <span class="field-name" title="${it.showName}">${it.showName}:</span>
  195. <span class="field-value">${it.fieldvalue=="0" ? jsBizMultLan.perfweb_perfgoalsfill_26551093_i18n_2 : jsBizMultLan.perfweb_perfgoalsfill_26551093_i18n_14}</span>
  196. </div>
  197. {@else if it.colName == 'FISUNITED'}
  198. <!--{# 是否统一下达}-->
  199. <div class="field-line" field-type="${it.fieldType}">
  200. <span class="field-name" title="${it.showName}">${it.showName}:</span><span class="field-value">
  201. ${it.fieldvalue=="0" ? jsBizMultLan.perfweb_perfgoalsfill_26551093_i18n_12 : jsBizMultLan.perfweb_perfgoalsfill_26551093_i18n_52}</span>
  202. </div>
  203. {@else if it.colName == 'FSCORINGFORMULA' || it.colName == 'FINDECATORTYPE'}
  204. <!--{# 评分公式、指标类型}-->
  205. <div class="field-line" field-type="${it.fieldType}">
  206. <span class="field-name" title="${it.showName}">${it.showName}:</span>
  207. <span class="field-value">
  208. {@if it.fieldvalue}
  209. ${it.fieldvalue.name}
  210. {@/if}
  211. </span>
  212. </div>
  213. {@else if it.colName == 'FISVISIBLE'}
  214. <!--{# 可见性}-->
  215. <div class="field-line" field-type="${it.fieldType}">
  216. <span class="field-name" title="${it.showName}">${it.showName}:</span><span class="field-value">
  217. {@if it.fieldvalue=="0" }
  218. <!--不公開-->
  219. ${$.perfwebI18n.tableConstant.msg4}
  220. {@else}
  221. <!--公開-->
  222. ${$.perfwebI18n.tableConstant.msg3}
  223. {@/if}
  224. </span>
  225. </div>
  226. {# 如果是扩展字段匹配字段维护阶段配置 }
  227. {@else if it.colName.indexOf('FEXTEND') > -1}
  228. {@if it.fieldMaintenanceStage !== '200'}
  229. <div class="field-line" field-type="${it.fieldType}">
  230. <span class="field-name" title="${it.showName}">${it.showName}:</span>
  231. {@if it.fieldvalue }
  232. <pre class="field-value" title="${it.fieldvalue}">${it.fieldvalue}</pre>
  233. {@/if}
  234. </div>
  235. {@/if}
  236. {@else}
  237. <div class="field-line" field-type="${it.fieldType}">
  238. <span class="field-name" title="${it.showName}">${it.showName}:</span>
  239. {@if it.fieldvalue }
  240. <pre class="field-value" title="${it.fieldvalue}">${it.fieldvalue}</pre>
  241. {@/if}
  242. </div>
  243. {@/if}
  244. {@/if}
  245. {@/each}
  246. </div>
  247. {@if dataType == 'targetDecompose'} <!--{# 指标分解页面}-->
  248. <div class="field-line-show first-line">
  249. <span class="field-name" title="${jsBizMultLan.perfweb_perfgoalsfill_1593167704813_i18n_0}">
  250. ${jsBizMultLan.perfweb_perfgoalsfill_1593167704813_i18n_1}</span>
  251. <span class="field-value">
  252. {@if isOrg == '0'}
  253. <span class="puphotowrap">
  254. <img src="/shr/personSquarePhoto.do?personId=${item.FPERSON}" class="puphoto">
  255. </span>
  256. {@/if}
  257. ${item.FPERSONNAME}
  258. </span>
  259. </div>
  260. {@if parent.length > 0}
  261. <div class="field-line-show">
  262. <span class="field-name" title="${jsBizMultLan.perfweb_perfgoalsfill_26551093_i18n_66}">
  263. ${jsBizMultLan.perfweb_perfgoalsfill_26551093_i18n_67}</span>
  264. <span class="field-value">
  265. {@if parent[0].FNAME}
  266. ${parent[0].FNAME}
  267. {@else if parent[0].FKEYITEM}
  268. ${parent[0].FKEYITEM}
  269. {@/if}
  270. </span>
  271. </div>
  272. <div class="field-line-show">
  273. <span class="field-name" title="${jsBizMultLan.perfweb_perfgoalsfill_26551093_i18n_27}">
  274. ${jsBizMultLan.perfweb_perfgoalsfill_26551093_i18n_28}</span>
  275. <span class="field-value">
  276. ${parent[0].FPERSONNAME}
  277. </span>
  278. </div>
  279. {@/if}
  280. {@/if}
  281. <div class="btnwrap" indId="${item.FID}">
  282. {@if pageType != 5 && pageType != 10 && operatestate != 'VIEW'} <!--{# 考核计划执行-未发送-查看评估表,所有按钮统统没有}-->
  283. {@if (item.FISUNITED == '1' && targetCanEdit==1 ) || item.FISUNITED == '0'} <!--{# 如果指标是统一下达状态,不显示:编辑、删除 的按钮,只显示“指标分解”}-->
  284. {@if pageType != 7 && pageType != 2 && pageType != 8 && pageType != 4 && pageType != 3} <!--{# 绩效已办-我已填报的目标、我的绩效-我的目标,3绩效已办-我已下达的目标查看,4团队绩效-团队目标查看,8目标确认与打回,不能编辑 、删除}-->
  285. <span class="editbtn" onclick="it.editIndicator(${index0},${index1})">
  286. ${jsBizMultLan.perfweb_perfgoalsfill_26551093_i18n_1}</span>
  287. {@if item.FISUNITED == '0'}
  288. <span class="delbtn" onclick="it.delgoal(this)">
  289. ${jsBizMultLan.perfweb_perfgoalsfill_26551093_i18n_44}</span>
  290. {@/if}
  291. {@/if}
  292. {@/if}
  293. {@if (pageType == 2 || pageType == 4) && item.FGOALSSTATUS.value > 1 && progressUpdate && dataType != 'targetDecompose' && (hideDecompose != '1' || pageType == 4)} <!--{# 我的绩效-我的目标打开的填报页面,且指标已下达才显示进度更新按钮}-->
  294. <span class="updbtn" onclick="it.openTargetDecomposePage('${list.areaId}','${item.FID}',0)">
  295. {@if pageType == 4}
  296. <!--查看进度-->
  297. ${jsBizMultLan.perfweb_perfgoalsfillhtml_888}
  298. {@else}
  299. <!--{# 进度更新}-->
  300. ${jsBizMultLan.perfweb_perfgoalsfill_26551093_i18n_18}
  301. {@/if}
  302. </span>
  303. {@/if}
  304. {@if pageType != 3 && pageType != 7 && pageType != 8 && list.areaType != 300 && hideDecompose != '1'} <!--{# 绩效已办-我已下达的目标和我已填报的目标不显示指标分解按钮。targetDecompose为false不显示,为true显示。记录表区域不显示指标分解按钮}-->
  305. {@if targetDecompose}
  306. <span class="decbtn" onclick="it.openTargetDecomposePage('${list.areaId}','${item.FID}',1)">
  307. ${jsBizMultLan.perfweb_perfgoalsfill_26551093_i18n_65}
  308. </span>
  309. {@/if}
  310. <!--{# 补丁11 任务管理-指标填报页面显示任务按钮-yien todo 增加权限项}-->
  311. <!--{# BT1460759 指标任务按钮 只在我的目标目标状态已下达了 才显示}-->
  312. {@if item.FGOALSSTATUS.value > 1}
  313. <!-- <span class="decbtn" onclick="it.openTargetDecomposePage('${list.areaId}','${item.FID}',2)">
  314. &lt;!&ndash;{# 指标任务}&ndash;&gt;
  315. ${$.perfwebI18n.perfTask.indicatorTask}
  316. </span>-->
  317. {@/if}
  318. {@/if}
  319. {@if dataType == 'targetDecompose' && list.areaType != 300} <!--{# 指标分解页面}-->
  320. {@if parent.length > 0}
  321. <span class="relatbtn" onclick="it.cancelRelation('${item.FID}','${parent[0].FID}','${parent[0].FDECOMPOSETYPE}')">
  322. ${jsBizMultLan.perfweb_perfgoalsfill_26551093_i18n_41}</span>
  323. {@/if}
  324. {@if pageType != 4}
  325. <span class="relatbtn" onclick="it.targetRelation('up','${list.areaType}')">
  326. ${jsBizMultLan.perfweb_perfgoalsfill_26551093_i18n_58} <span class="uptips"></span></span>
  327. <span class="relatbtn" onclick="it.targetRelation('down','${list.areaType}')">
  328. ${jsBizMultLan.perfweb_perfgoalsfill_26551093_i18n_59} <span class="downtips"></span></span>
  329. {@/if}
  330. {@/if}
  331. <!--BT1423084 执行地图去掉-->
  332. {@if pageType != 1 && pageType != 0 && dataType == 'targetDecompose'}
  333. {# <span class="mapbtn" onclick="it.openPerformMapPage('${list.areaId}','${item.FID}',0)">${jsBizMultLan.perfweb_perfgoalsfill_26551093_i18n_5}</span>}
  334. {@/if}
  335. {@/if}
  336. {@if dataType != 'targetDecompose' && pageType != 2 && pageType != 4 }
  337. <span class="moveup" onclick="it.moveUp('${item.FID}','${list.areaType}')"></span>
  338. <span class="movedown" onclick="it.moveDown('${item.FID}','${list.areaType}')"></span>
  339. {@/if}
  340. {@if showAllFields}
  341. <span class="morefields onspread" onclick="it.showMoreFields(this)">
  342. ${jsBizMultLan.perfweb_perfGoalsFillNew_26551296_i18n_73}</span>
  343. {@else}
  344. <span class="morefields" onclick="it.showMoreFields(this)">
  345. ${jsBizMultLan.perfweb_perfgoalsfill_26551093_i18n_64}</span>
  346. {@/if}
  347. </div>
  348. </li>
  349. {@/each}
  350. </ul>
  351. {@/if}
  352. </div>
  353. {@/each}
  354. </script>
  355. <!--补丁10 是否必填-yien-->
  356. <script id="editBoxTpl" type="text/template">
  357. <div id="editboxDialog" indid="${rows.FID}" isUnited="${rows.FISUNITED}" areatype="${rows.areaType}">
  358. {@if rows.isToPerson == 1||rows.s2d == 'orgToOrg' || rows.s2d== 'orgToPerson'}
  359. <div class="field-line">
  360. <span class="field-name" title="${jsBizMultLan.perfweb_perfTargetDecompose_bw0812_01}">${jsBizMultLan.perfweb_perfTargetDecompose_bw0812_01}</span>
  361. <span class="field-value">
  362. <input type="text" id="toPersonArea" name="toPersonArea" value="" onblur="" >
  363. </span>
  364. </div>
  365. {@/if}
  366. {@each rows.fieldslist as it,index}
  367. {# 指标维护阶段为非指标评价阶段 非是否统一下达字段 }
  368. {@if (typeof it.fieldMaintenanceStage === 'string' && it.fieldMaintenanceStage !== '200') || (it.fieldMaintenanceStage.hasOwnProperty('value') && it.fieldMaintenanceStage.value !== '200') && it.colName !== 'FISUNITED'}
  369. <!--{# 否决项}-->
  370. {@if it.colName == 'FREJECTION'}
  371. <div class="field-line">
  372. <span class="field-name" title="${it.showName}">${it.showName}:</span>
  373. <span class="field-value">
  374. <input type="checkbox" id="${it.colName}" name="${it.colName}" fname="${it.colName}" showName="${it.showName}"
  375. {@if it.fieldvalue=='1'}
  376. checked
  377. {@/if}
  378. >
  379. </span>
  380. </div>
  381. {# 扩展字段 }
  382. {@else if it.colName.indexOf('FEXTEND') === 0}
  383. {# 匹配字段维护阶段 }
  384. {@if (typeof it.fieldMaintenanceStage === 'string' && it.fieldMaintenanceStage !== '200') || (it.fieldMaintenanceStage.hasOwnProperty('value') && it.fieldMaintenanceStage.value !== '200')}
  385. <div class="field-line
  386. {@if it.fieldType == 'LongText'}
  387. full-line
  388. {@/if}
  389. ">
  390. <span class="field-name" data-fieldType="${it.fieldType}" title="${it.showName}">${it.showName}:</span>
  391. <span class="field-value">
  392. {@if typeof it.fieldType === 'string'}
  393. {@if it.fieldType == 'LongText'}
  394. <textarea data-value_l1="${it.fieldvalue_l1}" data-value_l2="${it.fieldvalue_l2}" data-value_l3="${it.fieldvalue_l3}" id="${it.colName}" name="${it.colName}" fname="${it.colName}" showName="${it.showName}" onblur="it.judgeVal(this)" class="${it.isRequired == "1" ? "required" : ""}" data-isrequired="${it.isRequired}" data-showname="${it.showName}" field-type="${it.fieldType}">${it.fieldvalue}</textarea>
  395. {@else if it.fieldType == 'Boolean'}
  396. <input type="checkbox" id="${it.colName}" name="${it.colName}" fname="${it.colName}" showName="${it.showName}" field-type="${it.fieldType}"
  397. {@if it.fieldvalue=="1"}
  398. checked
  399. {@/if}
  400. >
  401. {@else}
  402. <input data-value_l1="${it.fieldvalue_l1}" data-value_l2="${it.fieldvalue_l2}" data-value_l3="${it.fieldvalue_l3}" type="text" id="${it.colName}" name="${it.colName}" fname="${it.colName}" value="${it.fieldvalue}" onblur="it.judgeVal(this)" showName="${it.showName}" class="${it.isRequired == "1" ? "required" : ""}" data-isrequired="${it.isRequired}" data-showname="${it.showName}" field-type="${it.fieldType}"
  403. {@if it.fieldType=="Select"}
  404. select-options="${it | dealWithOptions}"
  405. {@/if}
  406. >
  407. {@/if}
  408. {@else}
  409. {@if it.fieldType.value == '20'}
  410. <textarea data-value_l1="${it.fieldvalue_l1}" data-value_l2="${it.fieldvalue_l2}" data-value_l3="${it.fieldvalue_l3}" id="${it.colName}" name="${it.colName}" fname="${it.colName}" showName="${it.showName}" onblur="it.judgeVal(this)" class="${it.isRequired == "1" ? "required" : ""}" data-isrequired="${it.isRequired}" data-showname="${it.showName}" field-type="${it.fieldType | dealWithFieldType}">${it.fieldvalue}</textarea>
  411. {@else if it.fieldType.value == '40'}
  412. <input type="checkbox" id="${it.colName}" name="${it.colName}" fname="${it.colName}" showName="${it.showName}" field-type="${it.fieldType | dealWithFieldType}"
  413. {@if it.fieldvalue=="1"}
  414. checked
  415. {@/if}
  416. >
  417. {@else}
  418. <input data-value_l1="${it.fieldvalue_l1}" data-value_l2="${it.fieldvalue_l2}" data-value_l3="${it.fieldvalue_l3}" type="text" id="${it.colName}" name="${it.colName}" fname="${it.colName}" value="${it.fieldvalue}" onblur="it.judgeVal(this)" showName="${it.showName}" class="${it.isRequired == "1" ? "required" : ""}" data-isrequired="${it.isRequired}" data-showname="${it.showName}" field-type="${it.fieldType | dealWithFieldType}"
  419. {@if it.fieldType.value=="50"}
  420. select-options="${it | dealWithOptions}"
  421. {@/if}
  422. >
  423. {@/if}
  424. {@/if}
  425. <div class="errowmsg" for="${it.colName}"></div>
  426. </span>
  427. </div>
  428. {@/if}
  429. {# 长字段}
  430. {# 评价标准、指标描述、衡量标准、备注}
  431. {@else if it.colName == 'FEVALSTANDARD' || it.colName == 'FINDECATORDESC' || it.colName == 'FREMARK' || it.colName == 'FMEASURESTANDARD' || it.colName == 'FREMA' || it.colName == 'FNAME' || it.colName == 'FKEYITEM'
  432. } <!-- 补丁10优化-自定义扩展字段能多行显示 modified by Janeou_xie -->
  433. <div class="field-line full-line">
  434. <span class="field-name" title="${it.showName}">${it.showName}:</span>
  435. <span class="field-value">
  436. {# 补丁11 指标实例多语言字段改造}
  437. <textarea data-value_l1="${it.fieldvalue_l1}" data-value_l2="${it.fieldvalue_l2}" data-value_l3="${it.fieldvalue_l3}" id="${it.colName}" name="${it.colName}" fname="${it.colName}" showName="${it.showName}" onblur="it.judgeVal(this)" class="${it.isRequired == "1" ? "required" : ""}" data-isrequired="${it.isRequired}" data-showname="${it.showName}">${it.fieldvalue}</textarea>
  438. <div class="errowmsg" for="${it.colName}"></div>
  439. </span>
  440. </div>
  441. {# 必录字段蓝底}
  442. {@else if it.colName == 'FNUMBER' || it.colName == 'FWEIGHT' || it.colName == 'FTARSCORE' || it.colName == 'FINDECATORTYPE'}
  443. <div class="field-line">
  444. <span class="field-name" title="${it.showName}">${it.showName}{@if it.colName == 'FWEIGHT'}(%){@/if}:</span>
  445. <span class="field-value">
  446. {@if it.colName == 'FINDECATORTYPE'}
  447. {# 指标类型 F7}
  448. <input type="text" id="${it.colName}" name="${it.colName}" fname="${it.colName}" onblur="it.judgeVal(this)" readonly="readonly" showName="${it.showName}" class="${it.isRequired == "1" ? "required" : ""}" data-isrequired="${it.isRequired}" data-showname="${it.showName}"/>
  449. {@else if it.colName == 'FWEIGHT'|| it.colName == 'FTARSCORE'}<!--权重和分值设置最大长度-->
  450. <input type="text" id="${it.colName}" name="${it.colName}" fname="${it.colName}" value="${it.fieldvalue}" onblur="it.judgeVal(this)" showName="${it.showName}" maxlength="7" class="${it.isRequired == "1" ? "required" : ""}" data-isrequired="${it.isRequired}" data-showname="${it.showName}"/>
  451. {@else}
  452. <input data-value_l1="${it.fieldvalue_l1}" data-value_l2="${it.fieldvalue_l2}" data-value_l3="${it.fieldvalue_l3}" type="text" id="${it.colName}" name="${it.colName}" fname="${it.colName}" value="${it.fieldvalue}" onblur="it.judgeVal(this)" showName="${it.showName}" class="${it.isRequired == "1" ? "required" : ""}" data-isrequired="${it.isRequired}" data-showname="${it.showName}"/>
  453. {@/if}
  454. <div class="errowmsg" for="${it.colName}"></div>
  455. </span>
  456. </div>
  457. {@else}
  458. <div class="field-line">
  459. <span class="field-name" title="${it.showName}">${it.showName}:</span>
  460. <span class="field-value">
  461. {@if it.colName == 'FSCORINGFORMULA'}
  462. {# 评分公式 F7}
  463. <input type="text" id="${it.colName}" name="${it.colName}" fname="${it.colName}" readonly="readonly" showName="${it.showName}" class="${it.isRequired == "1" ? "required" : ""}" data-isrequired="${it.isRequired}" data-showname="${it.showName}">
  464. <div class="errowmsg" for="${it.colName}"></div>
  465. {@else}
  466. <input data-value_l1="${it.fieldvalue_l1}" data-value_l2="${it.fieldvalue_l2}" data-value_l3="${it.fieldvalue_l3}" type="text" id="${it.colName}" name="${it.colName}" fname="${it.colName}" value="${it.fieldvalue}" showName="${it.showName}" onblur="it.judgeVal(this)" class="${it.isRequired == "1" ? "required" : ""}" data-isrequired="${it.isRequired}" data-showname="${it.showName}">
  467. <div class="errowmsg" for="${it.colName}"></div>
  468. {@/if}
  469. </span>
  470. </div>
  471. {@/if}
  472. {@/if}
  473. {@/each}
  474. </div>
  475. </script>
  476. <script id="addNewIndicatorsTpl" type="text/template">
  477. <div id="addPerfIndicatorsDialog">
  478. <div id="addnewPIbox" class="PIbox">
  479. <p style="margin:20px 0 0">
  480. ${jsBizMultLan.perfweb_perfgoalsfill_26551093_i18n_60}</p>
  481. <ul class="partplist" id="partplist">
  482. {@each rows.evaAreaList as area,i}
  483. {@if i == 0}
  484. <li class="partlistselect"><span class="partnumber_1 textOverflow" areaId="${area.areaId}" areaType="${area.areaType}" title="${area.areaName}">${area.areaName}</span>
  485. <span class="grouplistselect_icon"></span></li>
  486. {@else}
  487. <li><span class="partnumber_1 textOverflow" areaId="${area.areaId}" areaType="${area.areaType}" title="${area.areaName}">${area.areaName}</span></li>
  488. {@/if}
  489. {@/each}
  490. </ul>
  491. </div>
  492. </div>
  493. </script>
  494. <script id="referenceIndicatorsTpl" type="text/template">
  495. <div id="addPerfIndicatorsDialog">
  496. <div style="color:#666">
  497. {@if currAreaType == '300'}
  498. <span class="radio-btn-wrap" id="referencePI" data-index="0" onclick="it.addPI(this.id)" style="display:none;">
  499. {@else}
  500. <span class="radio-btn-wrap" id="referencePI" data-index="0" onclick="it.addPI(this.id)" >
  501. {@/if}
  502. <span class="radio-btn radio-checked"></span>
  503. ${jsBizMultLan.perfweb_perfgoalsfill_26551093_i18n_15}
  504. </span>
  505. <span class="radio-btn-wrap" id="reference_existingPI" data-index="1" onclick="it.addPI(this.id)">
  506. <span class="radio-btn"></span>
  507. ${jsBizMultLan.perfweb_perfgoalsfill_26551093_i18n_62}
  508. </span>
  509. <span class="radio-btn-wrap" id="reference_existingPI_2" data-index="2" onclick="it.addPI(this.id)">
  510. <span class="radio-btn"></span>
  511. ${jsBizMultLan.perfweb_perfgoalsfill_26551093_i18n_62}
  512. </span>
  513. <span class="radio-btn-wrap" id="reference_orgPI" data-index="3" onclick="it.addPI(this.id)">
  514. <span class="radio-btn"></span>
  515. <!--组织指标-->
  516. ${$.perfwebI18n.commonMsg.orgTarget}
  517. </span>
  518. </div>
  519. {@if currAreaType == '300'}
  520. <div id="referencePIbox" class="PIbox" style="display:none;">
  521. {@else}
  522. <div id="referencePIbox" class="PIbox">
  523. {@/if}
  524. {@if !currAreaType}
  525. <ul class="partplist_1" id="partplist_1">
  526. {@each rows.evaAreaList as area,i}
  527. {@if area.areaType == 200}
  528. <li><span class="partnumber_1 textOverflow" areaId="${area.areaId}" areaType="${area.areaType}" title="${area.areaName}">${area.areaName}</span></li>
  529. {@/if}
  530. {@/each}
  531. </ul>
  532. {@/if}
  533. <div style="margin:5px 0;clear:both" class="color6">
  534. <span class="infname">${jsBizMultLan.perfweb_perfgoalsfill_26551093_i18n_68}</span>
  535. <span class="f7long" style="width:100px"><form id="indiTypeForm" action="indiTypeForm" style="width:236px;"><input type="text" id="indiType" name="indiType" /><input id="hiddenText" type="text" style="display:none" /></form></span>
  536. </div>
  537. <div class="datarecords show">
  538. <ul class="recordsmenu">
  539. <li class="selectli">
  540. ${jsBizMultLan.perfweb_perfgoalsfill_26551093_i18n_42}(<span id="PIall_num"></span>)
  541. </li>
  542. <li id="PIselectLi">
  543. ${jsBizMultLan.perfweb_perfgoalsfill_26551093_i18n_61}(<span id="PIselected_num"></span>)
  544. </li>
  545. </ul>
  546. <div id="referencePI_searcher"></div>
  547. <div class="tablewrap">
  548. <div class="recordtab show">
  549. <table id="PIall" class="tab">
  550. </table>
  551. </div>
  552. <div class="recordtab">
  553. <table id="PIselected" class="tab recordtabchecked">
  554. </table>
  555. </div>
  556. </div>
  557. </div>
  558. </div>
  559. <div id="reference_existingPIbox" class="PIbox">
  560. <div style="margin:5px 0;clear:both" class="color6"></div>
  561. <div class="datarecords show">
  562. <div class="tablewrap">
  563. <div>
  564. <table id="existingPIall">
  565. </table>
  566. </div>
  567. </div>
  568. </div>
  569. </div>
  570. <div id="reference_existingPI_2box" class="PIbox">
  571. <div style="margin:5px 0;clear:both" class="color6">
  572. <span class="infname">
  573. ${jsBizMultLan.perfweb_perfgoalsfill_26551093_i18n_21}</span>
  574. <span class="f7long"><form id="perfPlayForm" action="perfPlayForm"><input type="text" id="perfPlay" name="perfPlay"><input id="hiddenText" type="text" style="display:none" /></form></span>
  575. </div>
  576. <div class="datarecords show">
  577. <div class="useMyOwnTargetwrap"><input type="checkbox" id="useMyOwnTarget"/><label for="useMyOwnTarget">
  578. ${jsBizMultLan.perfweb_perfgoalsfill_26551093_i18n_16}</label></div>
  579. <div id="existingPIall_searcher"></div>
  580. <div class="tablewrap">
  581. <div class="recordtab show">
  582. <table id="existingPIall_2">
  583. </table>
  584. </div>
  585. </div>
  586. </div>
  587. </div>
  588. <!--组织目标-->
  589. <div id="reference_orgPIbox" class="PIbox">
  590. {@if !currAreaType}
  591. <ul class="partplist_1" id="org_partplist_1">
  592. {@each rows.evaAreaList as area,i}
  593. {@if area.areaType == 200 || area.areaType == 300}
  594. <li><span class="partnumber_1 textOverflow" areaId="${area.areaId}" areaType="${area.areaType}" title="${area.areaName}">${area.areaName}</span></li>
  595. {@/if}
  596. {@/each}
  597. </ul>
  598. {@/if}
  599. <div style="margin:5px 0;clear:both" class="color6">
  600. <!--<span class="infname">组织名称:</span>-->
  601. <span class="infname"> ${$.perfwebI18n.tableConstant.msg7}:</span>
  602. <span class="f7long" style="width:100px"><form id="refOrgUnitForm" action="refOrgUnitForm" style="width:236px;"><input type="text" id="refOrgUnit" name="refOrgUnit" /></form></span>
  603. </div>
  604. <div class="datarecords show">
  605. <div class="tablewrap">
  606. <div class="recordtab show">
  607. <table id="existingOrgPI" class="tab">
  608. </table>
  609. </div>
  610. </div>
  611. </div>
  612. </div>
  613. </script>
  614. <!-- 设置指标流程第一层弹框 -->
  615. <script id="setTargetWorkflowTpl" type="text/template">
  616. <div id="setTargetWorkflowDialog" style="display:none;">
  617. <div id="workFlows"></div>
  618. <div class="tablewrap">
  619. <div class="recordtab show">
  620. <table id="setTargetWorkflowTable" class="tab"></table>
  621. </div>
  622. </div>
  623. </div>
  624. </script>
  625. <!-- 设置指标流程第二层弹框(没有地方用到,先复制过来) -->
  626. <script id="setTargetWorkflowTpl" type="text/template">
  627. <div id="secondTargetWorkflowDialog">
  628. <div style="margin:5px 0;clear:both" class="color6">
  629. <span class="infname">${jsBizMultLan.perfweb_perfgoalsfill_26551093_i18n_33}</span>
  630. <span class="f7long" style="width:100px"><form id="nodeHandlerF7Form" action="nodeHandlerF7Form" style="width:236px;"><input type="text" id="nodeHandlerF7" name="nodeHandlerF7" /><input id="hiddenText" type="text" style="display:none" /></form></span>
  631. </div>
  632. <div class="tablewrap">
  633. <div class="recordtab show">
  634. <table id="secondTargetWorkflowTable" class="tab"></table>
  635. </div>
  636. </div>
  637. </div>
  638. </script>
  639. <script id="backReasonListTpl" type="text/template">
  640. <div id="backReasonForm">
  641. {@if list.length == 0}
  642. <div class="backReason_noRecord"><p>${jsBizMultLan.perfweb_perfgoalsfill_26551093_i18n_63}</p></div>
  643. {@else}
  644. {@each list as item,i}
  645. <div class="timeline-box">
  646. <div class="backReason_div">
  647. <p class="backReason_title">
  648. <span class="fl">
  649. <!-- ${jsBizMultLan.perfweb_perfgoalsfill_26551093_i18n_7} -->
  650. ${item.createTime}
  651. </span>
  652. <span class="fr">
  653. ${jsBizMultLan.perfweb_perfgoalsfill_26551093_i18n_6}
  654. ${item.creator}
  655. </span>
  656. </p>
  657. <pre class="backReason_reason"><!-- ${jsBizMultLan.perfweb_perfgoalsfill_26551093_i18n_8} -->${item.reason}</pre>
  658. </div>
  659. <div class="timeline">
  660. <div class="timeline-circle"></div>
  661. <div class="timeline-line"></div>
  662. </div>
  663. </div>
  664. {@/each}
  665. {@/if}
  666. </div>
  667. </script>
  668. <!-- 指标分解模板 -->
  669. <script id="targetDecomposeTpl" type="text/template">
  670. <div class="cont-box">
  671. <div class="tabbox">
  672. <div class="tabbtnwrap">
  673. <!--{# 指标填报页面不显示进度反馈页签,个人目标状态未下达的不显示进度反馈页签}-->
  674. {@if pageType != 1 && pageType != 0 && goalsstatus.value > 1 && progressUpdate}
  675. <span class="tabbtn active" onclick="it.showProgressUpdateTab(this)" tabindex="0">
  676. ${jsBizMultLan.perfweb_perfgoalsfill_26551093_i18n_17}</span>
  677. {@/if}
  678. {@if areaType == 200 && targetDecompose && pageType != 4}<!--{# 记录表不能指标分解, // 从我负责的绩效-员工目标-查看进度进入时不展示}-->
  679. <span class="tabbtn" onclick="it.showtargetdecomposeTab(this)" tabindex="1">
  680. ${jsBizMultLan.perfweb_perfgoalsfill_26551093_i18n_65}</span>
  681. {@/if}
  682. <!--{# 补丁11-任务管理-yien todo 增加权限项}-->
  683. <!--{# 补丁11-BT1465270 目标状态已下达了允许添加任务的情况下才显示}-->
  684. {@if areaType == 200 && goalsstatus.value > 1}<!--{# 记录表不能指标分解}-->
  685. <!-- <span class="tabbtn" onclick="it.showPerfTaskTab(this)" tabindex="2">
  686. &lt;!&ndash;{# 指标任务}&ndash;&gt;
  687. ${$.perfwebI18n.perfTask.indicatorTask}
  688. </span>-->
  689. {@/if}
  690. </div>
  691. </div>
  692. <!--{# 指标填报页面不显示进度反馈页签}-->
  693. {@if pageType != 1 && pageType != 0 }
  694. <div id="progressUpdateBox">
  695. {@if pageType !=4 }
  696. <div class="updateitembox">
  697. {@if isShowField.targetValue}
  698. <div>
  699. <span class="field-name">
  700. ${jsBizMultLan.perfweb_perfgoalsfill_26551093_i18n_31}</span>
  701. <span class="field-value">
  702. <input type="text" id="targetValue" name="targetValue" fname="targetValue" disabled = "disabled" showname="${jsBizMultLan.perfweb_perfgoalsfill_26551093_i18n_30}" onblur="it.judgeVal(this)">
  703. <div class="errowmsg" for="targetValue"></div>
  704. </span>
  705. </div>
  706. {@/if}
  707. {@if isShowField.actualCompleValue}
  708. <div>
  709. <span class="field-name">
  710. ${jsBizMultLan.perfweb_perfgoalsfill_26551093_i18n_51}</span>
  711. <span class="field-value">
  712. <input type="text" id="realValue" name="realValue" fname="realValue" showname="${jsBizMultLan.perfweb_perfgoalsfill_26551093_i18n_50}" onblur="it.judgeVal(this)">
  713. <div class="errowmsg" for="realValue"></div>
  714. </span>
  715. </div>
  716. {@/if}
  717. <div>
  718. <span class="field-name">
  719. ${jsBizMultLan.perfweb_perfgoalsfill_26551093_i18n_55}</span>
  720. <span class="field-value">
  721. <input type="text" id="completedProgress" name="completedProgress" fname="completedProgress" showname="${jsBizMultLan.perfweb_perfgoalsfill_26551093_i18n_54}" onblur="it.judgeVal(this)">%
  722. <div class="errowmsg" for="completedProgress"></div>
  723. </span>
  724. </div>
  725. <div>
  726. <span class="field-name">
  727. ${jsBizMultLan.perfweb_perfgoalsfill_26551093_i18n_56}</span>
  728. <span class="field-value shrselectwrap">
  729. <input type="text" id="completedStatus" name="completedStatus" class="required" readonly>
  730. </span>
  731. </div>
  732. <div class="textarealine">
  733. <span class="field-name">
  734. ${jsBizMultLan.perfweb_perfgoalsfill_26551093_i18n_49}</span>
  735. <span class="field-value">
  736. <textarea id="actualCompletion" name="actualCompletion" fname="actualCompletion" showname="${jsBizMultLan.perfweb_perfgoalsfill_26551093_i18n_48}" onblur="it.judgeVal(this)"></textarea>
  737. <div class="errowmsg" for="actualCompletion"></div>
  738. </span>
  739. </div>
  740. <div class="textarealine">
  741. <span class="field-name">${jsBizMultLan.perfweb_perfgoalsfill_202112090001}</span>
  742. <span class="field-value">
  743. <textarea id="nextPlan" name="nextPlan" fname="nextPlan" showname="${jsBizMultLan.perfweb_perfgoalsfill_202112090001}" onblur="it.judgeVal(this)"></textarea>
  744. <div class="errowmsg" for="nextPlan"></div>
  745. </span>
  746. </div>
  747. <div>
  748. <!-- <span class="field-name">附件</span>
  749. <div class="attachmentUploadArea">
  750. <p style="height:1px;margin:0 0 0"><input type="file" id="upload-file" class="attachment_style"></p>
  751. <div id="upload-file_attachList"></div>
  752. </div> -->
  753. <div>
  754. <span class="uploadbtn" onclick="it.uploadFileDialog('upload')">${jsBizMultLan.perfweb_perfgoalsfill_26551093_i18n_45}</span>
  755. </div>
  756. </div>
  757. </div>
  758. {@/if}
  759. <ul class="progressupdatelist"></ul>
  760. {@if pageType != 4}<!-- {# // 从我负责的绩效-员工目标-查看进度进入时不展示} -->
  761. <div class="updatebtn-wrap"><button class="shrbtn updatebtn" onclick="it.doProgressUpdate()">${jsBizMultLan.perfweb_perfgoalsfill_26551093_i18n_13}</button></div>
  762. {@/if}
  763. </div>
  764. {@/if}
  765. <div class="listwrap">
  766. <!--{# 组织才显示分解给个人 && 评估表的时候 并且是分解状态}-->
  767. {@if isOrg== '1' && areaType == 200 && targetDecompose}
  768. <div class="tabSub">
  769. <span class="tabbtn active" onclick="it.switchTargetdecomposeTab(this,'targetDecomposeBox')" tabSubIndex="0">${jsBizMultLan.perfweb_perfTargetDecompose_bw0415_07}</span>
  770. <span class="tabbtn " onclick="it.switchTargetdecomposeTab(this,'targetDecomposeBoxToPerson')" tabSubIndex="1">${jsBizMultLan.perfweb_perfTargetDecompose_bw0415_08}</span>
  771. </div>
  772. {@/if}
  773. {@if areaType == 200}<!--{# 记录表不能指标分解}-->
  774. <div id="targetDecomposeBox" class="targetDecomposeBoxTab">
  775. <div class="addperson" onclick="it.addTargetSuccessor()">
  776. {@if isOrg == '1'}
  777. ${jsBizMultLan.perfweb_perfgoalsfill_keymsf3_i18n_addTargetOrg}+
  778. {@else}
  779. ${jsBizMultLan.perfweb_perfgoalsfill_26551093_i18n_53}
  780. {@/if}
  781. </div>
  782. <ul id="targetSuccessorlist" class="targetSuccessorlist"></ul>
  783. </div>
  784. {@if isOrg== '1'}
  785. <div id="targetDecomposeBoxToPerson" class="targetDecomposeBoxTab hide">
  786. <div class="addperson" onclick="it.addpersonDialog()">
  787. ${jsBizMultLan.perfweb_perfTargetDecompose_bw0415_09}
  788. <!--{# 添加目标承接人+}-->
  789. </div>
  790. <ul id="targetSuccessorlistToPerson" class="targetSuccessorlist"></ul>
  791. </div>
  792. {@/if}
  793. </div>
  794. <div class="addpersonF7wrap">
  795. <input type="text" id="targetSuccessor_hide" name="targetSuccessor_hide">
  796. </div>
  797. <div class="relationF7wrap200up">
  798. <input type="text" id="relationF7wrap200up_hide" name="relationF7wrap200up_hide">
  799. </div>
  800. <div class="relationF7wrap200down">
  801. <input type="text" id="relationF7wrap200down_hide" name="relationF7wrap200down_hide">
  802. </div>
  803. <div class="relationF7wrap300up">
  804. <input type="text" id="relationF7wrap300up_hide" name="relationF7wrap300up_hide">
  805. </div>
  806. <div class="relationF7wrap300down">
  807. <input type="text" id="relationF7wrap300down_hide" name="relationF7wrap300down_hide">
  808. </div>
  809. {@/if}
  810. <!--{# 补丁11-任务管理-yien}-->
  811. {@if areaType == 200}<!--{# 记录表不能指标添加任务}-->
  812. <div id="perfTaskBox" class="perfTaskTab">
  813. {# BT1461035 暂时屏蔽指标分解页面添加任务的功能}
  814. <!--<div class="addPerfTask" onclick="it.addPerfTask()">
  815. &lt;!&ndash;{# 添加任务}&ndash;&gt;
  816. ${$.perfwebI18n.perfTask.addTask}
  817. </div>-->
  818. <div id="perfTaskListSearcher"></div>
  819. <ul id="perfTaskList" class="perftasklist"></ul>
  820. </div>
  821. {@/if}
  822. </div>
  823. </script>
  824. <!-- 进度反馈列表 -->
  825. <script id="progressUListTsp" type="text/template">
  826. {@each rows as list, index}
  827. <li listid="${list.id}">
  828. <div class="fieldsbox">
  829. <span class="decfileds">
  830. {@if list.lastUpdateTime}
  831. ${list.lastUpdateTime.substr(0,10).split('-').join('/')}
  832. {@/if}
  833. ${jsBizMultLan.perfweb_perfgoalsfill_26551093_i18n_13}
  834. </span>
  835. <span class="decfileds">
  836. <span class="puphotowrap">
  837. <img src="/shr/personSquarePhoto.do?personId=${list.lastUpdateUser.id}" class="puphoto">
  838. </span>
  839. <span class="namewrap"> ${list.lastUpdateUser.name} </span>
  840. </span>
  841. {@if isShowField.actualCompleValue}
  842. <span class="decfileds">
  843. ${jsBizMultLan.perfweb_perfgoalsfill_26551093_i18n_51}
  844. {@if list.actualCompleValue && list.actualCompleValue!='NaN' && list.actualCompleValue!='null'}
  845. ${list.actualCompleValue}
  846. {@/if}
  847. </span>
  848. {@/if}
  849. {@if isShowField.targetValue}
  850. <span class="decfileds">
  851. ${jsBizMultLan.perfweb_perfgoalsfill_26551093_i18n_31}
  852. {@if list.targetValue && list.targetValue!='NaN' && list.targetValue!='null'}
  853. ${list.targetValue}
  854. {@/if}
  855. </span>
  856. {@/if}
  857. <span class="decfileds">
  858. ${jsBizMultLan.perfweb_perfgoalsfill_26551093_i18n_55}
  859. ${list.compleProgress}%</span>
  860. {@if list.hasattachment }
  861. <span class="decfileds attachname" onclick="it.uploadFileDialog('view', '${list.id}')">
  862. ${jsBizMultLan.perfweb_perfgoalsfill_26551093_i18n_4}</span>
  863. {@/if}
  864. </div>
  865. {@if list.compleState}
  866. {@if list.compleState.value == 2}
  867. <div class="state state3">
  868. {@else}
  869. <div class="state">
  870. {@/if}
  871. <i></i>${list.compleState.alias}
  872. </div>
  873. {@/if}
  874. {@if list.actualCompleteDesc || list.nextPlan}
  875. <div class="controlbtnwrap"><span class="controlbtn" onclick="it.showMoreDecFIelds(this,'${list.id}')"></span></div>
  876. <div class="fieldsboxhide" indId="${list.id}">
  877. {@if list.actualCompleteDesc}
  878. <div style="color: #777;font-size: 12px;margin-right: 20px;" >${jsBizMultLan.perfweb_perfgoalsfill_26551093_i18n_49}</div>
  879. <pre>${list.actualCompleteDesc}</pre>
  880. {@/if}
  881. {@if list.nextPlan}
  882. <div style="color: #777;font-size: 12px;margin-right: 20px;">${jsBizMultLan.perfweb_perfgoalsfill_202112090001}</div>
  883. <pre>${list.nextPlan}</pre>
  884. </div>
  885. {@/if}
  886. {@else}
  887. <div class="controlbtnwrap height1"></div>
  888. {@/if}
  889. </li>
  890. {@/each}
  891. </script>
  892. <!-- 指标分解列表 -->
  893. <script id="targetSListTsp" type="text/template">
  894. {@each rows as list,index}
  895. <li indid="${list.FID}">
  896. <div class="leftbox">
  897. {@if isOrg == '0'}
  898. <span class="personphoto" personid="${list.FPERSON.id}">
  899. <img id="personPhoto" src="/shr/personSquarePhoto.do?personId=${list.FPERSON.id}">
  900. </span>
  901. {@/if}
  902. <span class="personname">${list.FPERSONNAME}</span>
  903. </div>
  904. <div class="rightbox">
  905. <div>
  906. <span class="indicaname"
  907. {@if list.FNAME}
  908. title="${list.FNAME}">
  909. ${list.FNAME}
  910. {@else if list.FKEYITEM}
  911. title="${list.FKEYITEM}">
  912. ${list.FKEYITEM}
  913. {@/if}
  914. {@if list.scoringWay == 0}
  915. (${list.FWEIGHT}%)
  916. {@else}
  917. (${list.FTARSCORE}${jsBizMultLan.perfweb_perfgoalsfill_1593331244239_i18n_0})
  918. {@/if}
  919. </span>
  920. {@each list.fieldslist as field, index}
  921. {@if field.colName == 'FTARGETVALUE'}
  922. <span class="decfileds">${field.showName}:${list.FTARGETVALUE}${list.FUNIT}</span>
  923. {@/if}
  924. {@if field.colName == 'FACTUALCOMPLEVALUE'}
  925. <span class="decfileds">${field.showName}:${list.FACTUALCOMPLEVALUE}${list.FUNIT}</span>
  926. {@/if}
  927. {@/each}
  928. <span class="decfileds schedule">
  929. ${jsBizMultLan.perfweb_perfgoalsfill_26551093_i18n_29}
  930. <span class="wholebar">
  931. <span class="finishbar" style="width: ${list.compleProgress}%"></span>
  932. </span>
  933. ${list.compleProgress}%
  934. </span>
  935. <!--{# 指标状态,0:保存,1:提交,2:下达,3:统一下达}-->
  936. {@if list.FGOALSSTATUS}
  937. <div class="state state${list.FGOALSSTATUS.value}"><i></i>${list.FGOALSSTATUS.alias}</div>
  938. {@/if}
  939. </div>
  940. <div class="mtop">
  941. <span class="decfileds">
  942. ${jsBizMultLan.perfweb_perfgoalsfill_26551093_i18n_32}
  943. ${list.FPERIODNAME}
  944. {@if list.FPSTARTDATE}
  945. ${list.FPSTARTDATE.substr(0,10).split('-').join('/')}
  946. {@/if}
  947. -
  948. {@if list.FPENDDATE}
  949. ${list.FPENDDATE.substr(0,10).split('-').join('/')}
  950. {@/if}
  951. </span>
  952. <span class="decfileds">
  953. ${jsBizMultLan.perfweb_perfgoalsfill_26551093_i18n_69}
  954. {@if list.FLASTUPDATETIME}
  955. ${list.FLASTUPDATETIME.substr(0,10).split('-').join('/')}
  956. {@/if}
  957. </span>
  958. <div class="btngroup">
  959. {@if list.FGOALSSTATUS.value == 0 && list.FDECOMPOSETYPE == 1}<!--{# 只有保存状态的可以编辑、删除指标}-->
  960. <button class="shrbtn" onclick="it.editDecomposeIndiator(this,'${index}','${isToPerson}','${list.FAREABASE.id}','${list.FPERFPERIOD.id}')">${jsBizMultLan.perfweb_perfgoalsfill_26551093_i18n_1}</button>
  961. {@/if}
  962. <button class="shrbtn" onclick="it.cencalDecRelation('${list.FID}','','${list.FDECOMPOSETYPE}')">${jsBizMultLan.perfweb_perfgoalsfill_26551093_i18n_41}</button>
  963. {@if list.FGOALSSTATUS.value == 0 && list.FDECOMPOSETYPE == 1} <!--{# 只有保存状态的可以编辑、删除指标}-->
  964. <button class="shrbtn" onclick="it.deleteDecRelation('${list.FID}')">${jsBizMultLan.perfweb_perfgoalsfill_26551093_i18n_44}</button>
  965. {@/if}
  966. </div>
  967. </div>
  968. </div>
  969. <div class="controlbtnwrap"><span class="controlbtn" onclick="it.showMoreDecFIelds(this,'${list.FID}')"></span></div>
  970. <div class="fieldsboxhide" indId="${list.FID}">
  971. {@each list.fieldslist as it,index2}
  972. <!--{# 计划完成日期}-->
  973. {@if it.colName == 'FPLANEDDATE' || it.colName == 'FPLANDATE'}
  974. <div class="field-line">
  975. <span class="field-name" title="${it.showName}">${it.showName}:</span><span class="field-value">
  976. {@if it.fieldvalue}
  977. ${it.fieldvalue.substr(0,10)}
  978. {@/if}
  979. </span>
  980. </div>
  981. {@else if it.colName == 'FISUNITED'|| it.colName == 'FSCORE'|| it.colName == 'FSUMSCORE'|| it.colName == 'FACTUALCOMPLETE'||it.colName == 'FCOMMENT'||it.colName == 'FUPDATEDATE'||it.colName == 'FNAME'||it.colName == 'FKEYITEM'||it.colName == 'FTARSCORE'||it.colName == 'FWEIGHT'||it.colName == 'FTARGETVALUE'||it.colName == 'FACTUALCOMPLEVALUE'}
  982. {@else if it.colName == 'FREJECTION'} <!--{# 否决项}-->
  983. <div class="field-line">
  984. <span class="field-name" title="${it.showName}">${it.showName}:</span><span class="field-value">
  985. ${it.fieldvalue=='1' ? jsBizMultLan.perfweb_perfgoalsfill_26551093_i18n_52 : jsBizMultLan.perfweb_perfgoalsfill_26551093_i18n_12}</span>
  986. </div>
  987. {@else if it.colName == 'FQUALIORRATION'}
  988. <!--{# 定性/定量}-->
  989. <div class="field-line">
  990. <span class="field-name" title="${it.showName}">${it.showName}:</span><span class="field-value">
  991. ${it.fieldvalue=="0" ? jsBizMultLan.perfweb_perfgoalsfill_26551093_i18n_11 : jsBizMultLan.perfweb_perfgoalsfill_26551093_i18n_10}</span>
  992. </div>
  993. {@else if it.colName == 'FISUNITED'}
  994. <!--{# 是否统一下达}-->
  995. <div class="field-line">
  996. <span class="field-name" title="${it.showName}">${it.showName}:</span><span class="field-value">
  997. ${it.fieldvalue=="0" ? jsBizMultLan.perfweb_perfgoalsfill_26551093_i18n_12 : jsBizMultLan.perfweb_perfgoalsfill_26551093_i18n_52}</span>
  998. </div>
  999. {@else if it.colName == 'FSCORINGFORMULA' || it.colName == 'FINDECATORTYPE'}
  1000. <!--{# 评分公式、指标类型}-->
  1001. <div class="field-line">
  1002. <span class="field-name" title="${it.showName}">${it.showName}:</span>
  1003. <span class="field-value">
  1004. {@if it.fieldvalue}
  1005. ${it.fieldvalue.name}
  1006. {@/if}
  1007. </span>
  1008. </div>
  1009. {@else if it.colName == 'FISVISIBLE'}
  1010. <!-- {# 可见性} -->
  1011. <div class="field-line">
  1012. <span class="field-name" title="${it.showName}">${it.showName}:</span>
  1013. <span class="field-value">${it.fieldvalue=="0" ? jsBizMultLan.perfweb_perfgoalsfill_26551093_i18n_2 : jsBizMultLan.perfweb_perfgoalsfill_26551093_i18n_14}</span>
  1014. </div>
  1015. {@else}
  1016. <div class="field-line">
  1017. <span class="field-name" title="${it.showName}">${it.showName}:</span><pre class="field-value" title="${it.fieldvalue}">${it.fieldvalue}</pre>
  1018. </div>
  1019. {@/if}
  1020. {@/each}
  1021. </div>
  1022. </li>
  1023. {@/each}
  1024. </script>
  1025. <script id="uploadAttachmentsTpl" type="text/template">
  1026. <div id="attachmentsDialog">
  1027. <span class="uploadfilebtn">
  1028. <span class="linkstyle">${jsBizMultLan.perfweb_perfgoalsfill_26551093_i18n_47}</span>
  1029. <span id = "uploadAttachSize" style="color:#666; padding-left:8px;">(${uploadAttachSize})</span>
  1030. <input type="file" id="uploadAttach" name="uploadAttach" multiple="multiple" title="${jsBizMultLan.perfweb_perfgoalsfill_26551093_i18n_47}">
  1031. </span>
  1032. <table class="tab">
  1033. <thead>
  1034. <tr>
  1035. <th width="294">${jsBizMultLan.perfweb_perfgoalsfill_26551093_i18n_57}</th>
  1036. <th>${jsBizMultLan.perfweb_perfgoalsfill_26551093_i18n_46}</th>
  1037. <th> ${$.perfwebI18n.tableConstant.msg10}</th>
  1038. <th>${jsBizMultLan.perfweb_perfgoalsfill_26551093_i18n_3}</th>
  1039. </tr>
  1040. </thead>
  1041. <tbody id="uploadFileBox">
  1042. </tbody>
  1043. </table>
  1044. </div>
  1045. </script>
  1046. <!-- 指标任务列表 -->
  1047. <script id="perfTaskListTsp" type="text/template">
  1048. {@each rows as item,index}
  1049. <li taskId="${item.id}">
  1050. <div class="rightbox">
  1051. <div>
  1052. <span class="perfTaskName">
  1053. ${item.name}
  1054. </span>
  1055. <span class="decfileds">
  1056. ${item.frequence}
  1057. {@if item.startDate}
  1058. ${item.startDate.substr(0,10).split('-').join('')}
  1059. {@/if}
  1060. -
  1061. {@if item.endDate}
  1062. ${item.endDate.substr(0,10).split('-').join('')}
  1063. {@/if}
  1064. </span>
  1065. <span class="decfileds schedule">
  1066. <!--进度-->
  1067. ${$.perfwebI18n.perfTask.progress}
  1068. <span class="wholebar">
  1069. <span class="finishbar" style="width: ${item.progress}%"></span>
  1070. </span>
  1071. ${item.progress}%
  1072. </span>
  1073. <span class="decfileds">
  1074. <!--优先级:-->
  1075. ${$.perfwebI18n.perfTask.priority}:
  1076. ${item.priority}
  1077. </span>
  1078. <!--<div class="state" onclick="alert(1)">反馈</div>-->
  1079. <!--<div class="state" onclick="alert(2)">删除</div>-->
  1080. <!--<div class="state" onclick="alert(3)">提交</div>-->
  1081. </div>
  1082. <div class="mtop">
  1083. <div class="btngroup">
  1084. <button class="shrbtn" onclick="it.initPerfTaskIframe(this)" data-taskid="${item.id}" data-iframe="perfTaskCommentList">
  1085. ${$.perfwebI18n.perfTask.likeAndComment}
  1086. </button>
  1087. <button class="shrbtn" onclick="it.initPerfTaskIframe(this)" data-taskid="${item.id}" data-iframe="perfTaskHisList">
  1088. <!--操作记录-->
  1089. ${$.perfwebI18n.perfTask.log}
  1090. </button>
  1091. </div>
  1092. </div>
  1093. </div>
  1094. </li>
  1095. <iframe data-iframe="perfTaskHisList${item.id}" frameborder="0" scrolling="yes" width="100%" height="80px" data-uipk="com.kingdee.shr.perfweb.app.base.perftask.PerfTaskHIS.form" style="display: none;"></iframe>
  1096. <iframe data-iframe="perfTaskCommentList${item.id}" frameborder="0" scrolling="yes" width="100%" height="220px" data-uipk="com.kingdee.shr.perfweb.app.base.perftask.PerfTaskComment.form" style="display: none;"></iframe>
  1097. {@/each}
  1098. </script>