steps3_main.vue 7.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194
  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. "datasourceId",
  42. "protocolType"
  43. ]),
  44. projectId () {
  45. return this.$store.getters['layout/projectId']
  46. }
  47. },
  48. created() {
  49. this.getData()
  50. },
  51. mounted() {},
  52. methods: {
  53. getData() {
  54. groupRelated({
  55. data: {
  56. DataSourceId: this.datasourceId
  57. },
  58. type: this.protocolType
  59. }, res => {
  60. this.typeArr = res.Content
  61. })
  62. },
  63. typeCheck(item) {
  64. console.log(item, "item")
  65. this.getParamList(item)
  66. },
  67. //删除设备参数
  68. deleteItem(item) {
  69. console.log(item, 'item')
  70. this.$confirm(`<p style='text-align:center;'>确定删除设备参数与数字字典的对应关系</p><p style='text-align:center;'>删除需重新配置</p>`, '提示', {
  71. dangerouslyUseHTMLString: true
  72. }).then(_ => {
  73. deleteRelationList({
  74. DataSourceId: this.datasourceId,
  75. EquipmentParameter: item.EquipmentParameter,
  76. EquipmentType: item.EquipmentType
  77. }, res => {
  78. this.$message.success("删除成功")
  79. this.changed()
  80. })
  81. }).catch(_ => {
  82. this.$message("取消删除")
  83. })
  84. },
  85. //改变后重新获取两个选择的状态
  86. changed() {
  87. groupParamRelated({
  88. data: {
  89. DataSourceId: this.datasourceId,
  90. KeyEquipmentType: this.KeyEquipmentType
  91. },
  92. type: this.protocolType
  93. }, res => {
  94. this.identifyArr = res.Content.map(item => {
  95. item.ownMess = item.EquipmentParameter
  96. return item
  97. })
  98. })
  99. groupRelated({
  100. data: {
  101. DataSourceId: this.datasourceId
  102. },
  103. type: this.protocolType
  104. }, res => {
  105. this.typeArr = res.Content
  106. })
  107. },
  108. paramCheck(param) {
  109. console.log(param,'param')
  110. if(!!param &&!!param.PhysicalRelated){
  111. this.$message("已完成设置,您可以重新设置")
  112. }
  113. if (!!param && !!param.EquipmentMark && param.EquipmentMark == "空") {
  114. //空查询分组信息
  115. getNullofParam({
  116. data: {
  117. DataSourceId: this.datasourceId,
  118. KeyEquipmentType: this.KeyEquipmentType
  119. },
  120. type: this.protocolType
  121. }, res => {
  122. this.identDataArr = res.Content
  123. this.$refs.ident.getMain(param)
  124. })
  125. } else {
  126. //不是空的情况查询点位列表
  127. console.log(param)
  128. // if (param && param.EquipmentMark) {
  129. if (param) {// 临时修改
  130. queryPoint({
  131. data: {
  132. Filters: {
  133. KeyEquipmentParameter: param.EquipmentParameter,
  134. KeyEquipmentType: param.EquipmentType,
  135. DataSourceId: this.datasourceId,
  136. Used: true
  137. // KeyEquipmentParameter: '温度',
  138. // KeyEquipmentType: '冷机'
  139. },
  140. PageNumber: 1,
  141. PageSize: 100
  142. },
  143. type: this.protocolType
  144. }, res => {
  145. console.log(res, "reslist")
  146. this.identDataArr = res.Content
  147. this.$refs.ident.getMain(param)
  148. })
  149. }
  150. }
  151. },
  152. //通过type获取param的list
  153. getParamList(item) {
  154. if (item && item.EquipmentType) {
  155. this.KeyEquipmentType = item.EquipmentType
  156. groupParamRelated({
  157. data: {
  158. DataSourceId: this.datasourceId,
  159. KeyEquipmentType: item.EquipmentType
  160. },
  161. type: this.protocolType
  162. }, res => {
  163. this.identifyArr = res.Content.map(item => {
  164. item.ownMess = item.EquipmentParameter
  165. return item
  166. })
  167. })
  168. }
  169. }
  170. },
  171. components: {
  172. selectOne,
  173. handsontableComponent,
  174. tempCollape,
  175. identCollape
  176. }
  177. }
  178. </script>
  179. <style lang="scss" scoped>
  180. .steps3-dialog-main {
  181. height: 460px;
  182. .own-collape {
  183. border: 1px solid #ccc;
  184. float: right;
  185. width: calc(100% - 520px);
  186. box-sizing: border-box;
  187. height: 460px;
  188. position: relative;
  189. }
  190. .select-own-one{
  191. height: 460px;
  192. }
  193. }
  194. </style>