steps3_main.vue 7.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191
  1. <!--steps3的左侧-->
  2. <template>
  3. <div class="steps3-dialog-main">
  4. <select-one @check="typeCheck" :renderData="typeArr" :isSelected="true" isCheckInfo="PhysicalRelated" infosKey="EquipmentType" :name="'原始点位描述中识别的设备类型'"></select-one>
  5. <select-one @check="paramCheck" :isDel="true" @deleteItem="deleteItem" :renderData="identifyArr" :isSelected="true" isCheckInfo="PhysicalRelated" infosKey="ownMess" :name="'原始点位描述中识别的设备参数'"></select-one>
  6. <div class="own-collape">
  7. <temp-collape ref="ident" :renderData="identDataArr" @changed="changed"></temp-collape>
  8. </div>
  9. </div>
  10. </template>
  11. <script>
  12. import selectOne from "@/components/config_point/select_one"
  13. import {
  14. groupRelated,
  15. queryPoint,
  16. updatePoint,
  17. groupParamRelated,
  18. getNullofParam,
  19. deleteRelationList
  20. } from "@/fetch/point_http"
  21. import tempCollape from "./3_temps"
  22. import identCollape from "./3_identify"
  23. import {
  24. mapGetters,
  25. mapActions
  26. } from "vuex";
  27. import handsontableComponent from "@/components/common/handsontable"
  28. export default {
  29. name: "updateParam",
  30. data() {
  31. return {
  32. activeName: '1',
  33. typeArr: [],
  34. identifyArr: [],
  35. KeyEquipmentType: "",
  36. identDataArr: []
  37. }
  38. },
  39. computed: {
  40. ...mapGetters("project", [
  41. "projectId",
  42. "datasourceId",
  43. "protocolType"
  44. ])
  45. },
  46. created() {
  47. this.getData()
  48. },
  49. mounted() {},
  50. methods: {
  51. getData() {
  52. groupRelated({
  53. data: {
  54. DataSourceId: this.datasourceId
  55. },
  56. type: this.protocolType
  57. }, res => {
  58. this.typeArr = res.Content
  59. })
  60. },
  61. typeCheck(item) {
  62. console.log(item, "item")
  63. this.getParamList(item)
  64. },
  65. //删除设备参数
  66. deleteItem(item) {
  67. console.log(item, 'item')
  68. this.$confirm(`<p style='text-align:center;'>确定删除设备参数与数字字典的对应关系</p><p style='text-align:center;'>删除需重新配置</p>`, '提示', {
  69. dangerouslyUseHTMLString: true
  70. }).then(_ => {
  71. deleteRelationList({
  72. DataSourceId: this.datasourceId,
  73. EquipmentParameter: item.EquipmentParameter,
  74. EquipmentType: item.EquipmentType
  75. }, res => {
  76. this.$message.success("删除成功")
  77. this.changed()
  78. })
  79. }).catch(_ => {
  80. this.$message("取消删除")
  81. })
  82. },
  83. //改变后重新获取两个选择的状态
  84. changed() {
  85. groupParamRelated({
  86. data: {
  87. DataSourceId: this.datasourceId,
  88. KeyEquipmentType: this.KeyEquipmentType
  89. },
  90. type: this.protocolType
  91. }, res => {
  92. this.identifyArr = res.Content.map(item => {
  93. item.ownMess = item.EquipmentParameter
  94. return item
  95. })
  96. })
  97. groupRelated({
  98. data: {
  99. DataSourceId: this.datasourceId
  100. },
  101. type: this.protocolType
  102. }, res => {
  103. this.typeArr = res.Content
  104. })
  105. },
  106. paramCheck(param) {
  107. console.log(param,'param')
  108. if(!!param &&!!param.PhysicalRelated){
  109. this.$message("已完成设置,您可以重新设置")
  110. }
  111. if (!!param && !!param.EquipmentMark && param.EquipmentMark == "空") {
  112. //空查询分组信息
  113. getNullofParam({
  114. data: {
  115. DataSourceId: this.datasourceId,
  116. KeyEquipmentType: this.KeyEquipmentType
  117. },
  118. type: this.protocolType
  119. }, res => {
  120. this.identDataArr = res.Content
  121. this.$refs.ident.getMain(param)
  122. })
  123. } else {
  124. //不是空的情况查询点位列表
  125. console.log(param)
  126. if (param && param.EquipmentMark) {
  127. queryPoint({
  128. data: {
  129. Filters: {
  130. KeyEquipmentParameter: param.EquipmentParameter,
  131. KeyEquipmentType: param.EquipmentType,
  132. DataSourceId: this.datasourceId,
  133. Used: true
  134. // KeyEquipmentParameter: '温度',
  135. // KeyEquipmentType: '冷机'
  136. },
  137. PageNumber: 1,
  138. PageSize: 100
  139. },
  140. type: this.protocolType
  141. }, res => {
  142. console.log(res, "reslist")
  143. this.identDataArr = res.Content
  144. this.$refs.ident.getMain(param)
  145. })
  146. }
  147. }
  148. },
  149. //通过type获取param的list
  150. getParamList(item) {
  151. if (item && item.EquipmentType) {
  152. this.KeyEquipmentType = item.EquipmentType
  153. groupParamRelated({
  154. data: {
  155. DataSourceId: this.datasourceId,
  156. KeyEquipmentType: item.EquipmentType
  157. },
  158. type: this.protocolType
  159. }, res => {
  160. this.identifyArr = res.Content.map(item => {
  161. item.ownMess = item.EquipmentParameter
  162. return item
  163. })
  164. })
  165. }
  166. }
  167. },
  168. components: {
  169. selectOne,
  170. handsontableComponent,
  171. tempCollape,
  172. identCollape
  173. }
  174. }
  175. </script>
  176. <style lang="scss" scoped>
  177. .steps3-dialog-main {
  178. height: 460px;
  179. .own-collape {
  180. border: 1px solid #ccc;
  181. float: right;
  182. width: calc(100% - 520px);
  183. box-sizing: border-box;
  184. height: 460px;
  185. position: relative;
  186. }
  187. .select-own-one{
  188. height: 460px;
  189. }
  190. }
  191. </style>