steps3_main.vue 7.8 KB

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