2d033c7f82b056d6a096fa0c386a8f5565e7f5fc.svn-base 7.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211
  1. <template>
  2. <el-dialog
  3. width="50%"
  4. title="添加新问题标准"
  5. class="add_new_problem_dialog"
  6. @close="closeInnerDialog"
  7. :visible.sync="innerVisible"
  8. :close-on-click-modal="false"
  9. append-to-body>
  10. <el-form :model="newForm" label-width="140px">
  11. <el-form-item label="问题序号">
  12. <el-input v-model="newForm.sn" type="text" autocomplete="off"></el-input>
  13. </el-form-item>
  14. <el-form-item label="存在问题">
  15. <el-input v-model="newForm.pblmsDesc" type="textarea" rows="5" autocomplete="off"></el-input>
  16. </el-form-item>
  17. <el-form-item label="法规条款">
  18. <el-input v-model="newForm.relativeLaw" type="textarea" rows="5" autocomplete="off"></el-input>
  19. </el-form-item>
  20. <el-form-item label="法规内容">
  21. <el-input v-model="newForm.lawContent" type="textarea" rows="5" autocomplete="off"></el-input>
  22. </el-form-item>
  23. <el-form-item label="备注">
  24. <el-input v-model="newForm.note" type="textarea" rows="3" autocomplete="off"></el-input>
  25. </el-form-item>
  26. <el-form-item label="问题严重性">
  27. <div>
  28. <el-checkbox v-model="newForm.cate0" true-label="1" false-label="0">一般</el-checkbox>
  29. <span class="add_desc" @click="appearDes0cInput = !appearDes0cInput">添加描述</span>
  30. <div class="demo-input-suffix" v-if="appearDes0cInput">
  31. 描述信息:<el-input v-model="newForm.cate0Desc" autocomplete="off"></el-input>
  32. </div>
  33. </div>
  34. <div>
  35. <el-checkbox v-model="newForm.cate1" true-label="1" false-label="0">较重</el-checkbox>
  36. <span class="add_desc" @click="appearDes1cInput = !appearDes1cInput">添加描述</span>
  37. <div class="demo-input-suffix" v-if="appearDes1cInput">
  38. 描述信息:<el-input v-model="newForm.cate1Desc" autocomplete="off"></el-input>
  39. </div>
  40. </div>
  41. <div>
  42. <el-checkbox v-model="newForm.cate2" true-label="1" false-label="0">严重</el-checkbox>
  43. <span class="add_desc" @click="appearDes2cInput = !appearDes2cInput">添加描述</span>
  44. <div class="demo-input-suffix" v-if="appearDes2cInput">
  45. 描述信息:<el-input v-model="newForm.cate2Desc" autocomplete="off"></el-input>
  46. </div>
  47. </div>
  48. </el-form-item>
  49. <el-form-item label="单位性质">
  50. <el-select multiple v-model="newForm.subjectIds" popper-class="nature_select" filterable @change="natureChange" placeholder="请选择">
  51. <p slot="empty" class="no_data_tips">
  52. <span>无匹配数据</span>
  53. <span class="add_new_problem" @click="addNewNature">添加单位性质</span>
  54. </p>
  55. <el-option
  56. v-for="item in natureList"
  57. :key="item.id"
  58. :label="item.subName"
  59. :value="item.id">
  60. </el-option>
  61. </el-select>
  62. </el-form-item>
  63. </el-form>
  64. <add-new-nature-com v-if="innerNatureVisible" @closeNatureDialog="closeNatureDialog"></add-new-nature-com>
  65. <div slot="footer" class="dialog-footer">
  66. <el-button @click="closeInnerDialog">取 消</el-button>
  67. <el-button type="primary" @click="submitNewProblem">保 存</el-button>
  68. </div>
  69. </el-dialog>
  70. </template>
  71. <script>
  72. import {getNatureListApi,submitNewProblemApi} from '@api/InspectionReport.js'
  73. import addNewNatureCom from './addNewNatureCom.vue'
  74. export default {
  75. props:['listType'],
  76. data(){
  77. return {
  78. newForm: {
  79. sn: '',
  80. pblmsDesc: '',
  81. relativeLaw: '',
  82. lawContent: '',
  83. note: '',
  84. cate0: '',
  85. cate1: '',
  86. cate2: '',
  87. cate0Desc: '',
  88. cate1Desc: '',
  89. cate2Desc: '',
  90. subjectIds: '',
  91. spfsnlType: '',
  92. pblmType: ''
  93. },
  94. seriousLevelList:[
  95. {desc: '一般',cate: '0'},
  96. {desc: '较重',cate: '1'},
  97. {desc: '严重',cate: '2'}
  98. ],
  99. natureList: [],
  100. innerVisible: true,
  101. appearDes0cInput: false,
  102. appearDes1cInput: false,
  103. appearDes2cInput: false,
  104. innerNatureVisible: false
  105. }
  106. },
  107. components:{
  108. addNewNatureCom
  109. },
  110. mounted(){
  111. this.getNatureList()
  112. },
  113. methods:{
  114. getNatureList(){
  115. let _this = this
  116. getNatureListApi({}).then(res=>{
  117. if(res.success){
  118. let natureListFilter = []
  119. this.natureList = []
  120. natureListFilter = res.data
  121. natureListFilter.forEach(ele=>{
  122. if(ele.note.indexOf(_this.listType) > -1){
  123. _this.natureList.push(ele)
  124. }
  125. })
  126. }else{
  127. this.$message.error(res.message)
  128. }
  129. }).catch(err=>{
  130. this.$message.error(err)
  131. })
  132. },
  133. cateChange(){
  134. },
  135. natureChange(){
  136. },
  137. submitNewProblem(){
  138. this.newForm.pblmType = this.listType
  139. if(this.listType == '6'){
  140. this.newForm.spfsnlType = '安全管理'
  141. }else if(this.listType == '5'){
  142. this.newForm.spfsnlType = '工程质量管理-工程实体质量'
  143. }else if(this.listType == '4'){
  144. this.newForm.spfsnlType = '资金使用与管理'
  145. }else if(this.listType == '3'){
  146. this.newForm.spfsnlType = '计划下达与执行'
  147. }else if(this.listType == '2'){
  148. this.newForm.spfsnlType = '建设管理'
  149. }else if(this.listType == '1'){
  150. this.newForm.spfsnlType = '前期与设计'
  151. }
  152. this.newForm.subjectIds = this.newForm.subjectIds.join(',')
  153. submitNewProblemApi(this.newForm).then(res=>{
  154. if(res.success){
  155. this.$message.success('添加成功')
  156. this.closeInnerDialog()
  157. }else{
  158. this.$message.error(res.message)
  159. }
  160. }).catch(err=>{
  161. this.$message.error(err)
  162. })
  163. },
  164. closeInnerDialog(){
  165. this.$emit('closeInnerDialog')
  166. },
  167. addNewNature(){
  168. this.innerNatureVisible = true
  169. },
  170. closeNatureDialog(){
  171. this.innerNatureVisible = false
  172. this.getNatureList()
  173. }
  174. },
  175. watch:{
  176. cateObjList(val){
  177. console.log(val)
  178. }
  179. }
  180. }
  181. </script>
  182. <style lang="scss">
  183. .add_new_problem_dialog{
  184. .el-dialog__body{
  185. font-size: 16px;
  186. color: #333;
  187. }
  188. .add_desc{
  189. font-size: 12px;
  190. color: #0078d7;
  191. cursor: pointer;
  192. }
  193. }
  194. .nature_select .no_data_tips{
  195. display: flex;
  196. justify-content: space-between;
  197. line-height: 30px;
  198. font-size: 14px;
  199. color: #666;
  200. padding: 5px;
  201. .add_new_problem{
  202. color: #009fff;
  203. cursor: pointer;
  204. }
  205. }
  206. </style>