MenuPhysics.vue 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300
  1. <template>
  2. <div class=" bou tablebk">
  3. <div class="common-layout" style="margin: 0">
  4. <el-aside
  5. width="357px"
  6. class="L_aside L_aside1 asideg asidegbg leftbgimg1"
  7. v-show="sendialogVisible"
  8. >
  9. <div class="demo-collapse">
  10. <el-collapse v-model="coolactiveName1" accordion>
  11. <el-collapse-item name="1" class="imgneon">
  12. <template #title>
  13. <el-icon class="iconimg Frame3" fit="contain"></el-icon>
  14. 物理属性<el-icon class="header-icon"> </el-icon>
  15. </template>
  16. <div class="l_Dialog">
  17. <div class="classtab">
  18. <div class="asides_content">
  19. <div class="jc_content tablecolor jc_content">
  20. <div class="font12 my_content1">
  21. <div class="btncolor tablefocus bmar">
  22. <el-table :data="tableData" style="width:480px" :max-height="tableHeight"
  23. :highlight-current-row="currentrow" :row-class-name="tableRowClassName"
  24. @row-click="handleDelete($event)"
  25. :header-cell-style="{ 'background': 'rgba(13, 22, 57, 0) ' }">
  26. <template v-slot:empty>
  27. <p>暂无数据</p>
  28. </template>
  29. <el-table-column prop="name" label="名称" />
  30. <el-table-column prop="density">
  31. <template v-slot:header>
  32. <span >密度</span><br>
  33. <span >(kg/m3)</span>
  34. </template>
  35. </el-table-column>
  36. <!-- <el-table-column prop="diffcoe" label="扩散系数" /> -->
  37. <el-table-column prop="diffcoe">
  38. <template v-slot:header>
  39. <span >扩散系数</span><br>
  40. <span >(m2/s)</span>
  41. </template>
  42. </el-table-column>
  43. <el-table-column prop="speheat" label="比热" >
  44. <template v-slot:header>
  45. <span >比热</span><br>
  46. <span >J/(kg*K)</span>
  47. </template>
  48. </el-table-column>
  49. </el-table>
  50. </div>
  51. </div>
  52. <div class="dialog-footer footer_div l_btn">
  53. <div class="footerbtn flex1">
  54. <div class="borderimg"><el-button @click="addsg();">添加</el-button></div>
  55. </div>
  56. <div class="footerbtn flex1">
  57. <div class="borderimg"><el-button @click="shanchu()">
  58. 删除
  59. </el-button></div>
  60. </div>
  61. <div class="footerbtn flex1">
  62. <div class="borderimg"><el-button @click="amend()">
  63. 修改
  64. </el-button></div>
  65. </div>
  66. </div>
  67. </div>
  68. </div>
  69. </div>
  70. </div>
  71. </el-collapse-item>
  72. </el-collapse>
  73. <!-- 添加 -->
  74. <el-dialog v-model="addVisible" width="400" align-center :append-to-body="true" class="dialog_class bgcolor tianjia foter_l tianjia">
  75. <template #header="{ titleId, titleClass }">
  76. <div class="my-header ">
  77. <el-image :src="icon" fit="contain"></el-image>
  78. <h4 :id="titleId" :class="titleClass">{{ add }}</h4>
  79. </div>
  80. </template>
  81. <el-form class="demo-form-inline inputnuber" :inline="true" :model="wuliobj">
  82. <el-form-item label="编号" :label-width="formLabelWidth6" width="70">
  83. <el-input v-model="wuliobj.code" maxlength="10" oninput ="value=value.replace(/[^\w\\/]/ig,'')" class="w-50 m-2" placeholder="请输入" />
  84. </el-form-item>
  85. <el-form-item label="名称" :label-width="formLabelWidth6">
  86. <el-input v-model="wuliobj.name" maxlength="18" class="w-50 m-2" placeholder="请输入" />
  87. </el-form-item>
  88. <el-form-item label="密度(kg/m3) " :label-width="formLabelWidth6">
  89. <el-input-number v-model.number="wuliobj.density " maxlength="15" oninput ="value=value.replace(/[^0-9.]/g,'')" class="w-50 m-2" placeholder="请输入" />
  90. </el-form-item>
  91. <el-form-item label="扩散系数(m2/s)" :label-width="formLabelWidth6">
  92. <el-input-number v-model.number="wuliobj.diffcoe" maxlength="15" @input="formatInput" class="w-50 m-2" placeholder="请输入" />
  93. </el-form-item>
  94. <el-form-item label="比热J/(kg*K)" :label-width="formLabelWidth6">
  95. <el-input-number v-model.number="wuliobj.speheat" maxlength="15" oninput ="value=value.replace(/[^0-9.]/g,'')" class="w-50 m-2" placeholder="请输入" />
  96. </el-form-item>
  97. </el-form>
  98. <div class="dialog-footer footer_div l_btn">
  99. <div class="footerbtn flex1">
  100. <div class="borderimg"><el-button @click="addVisible = false">取消</el-button></div>
  101. </div>
  102. <div class="footerbtn flex1">
  103. <div class="borderimg"><el-button @click="addEied();">
  104. 确定
  105. </el-button></div>
  106. </div>
  107. </div>
  108. </el-dialog>
  109. <!-- 删除 -->
  110. <el-dialog v-model="dialogsgdelect" align-center :append-to-body="true" width="400" class="dialog_class bgcolor tianjia">
  111. <template #header="{ titleId, titleClass }">
  112. <div class="my-header ">
  113. <el-image :src="icon" fit="contain"></el-image>
  114. <h4 :id="titleId" :class="titleClass">删除框</h4>
  115. </div>
  116. </template>
  117. <h4 class="delecttitle"> 是否确认删除名称 <span class="spanclad">{{ zqname }}</span></h4>
  118. <div class="dialog-footer footer_div l_btn">
  119. <div class="footerbtn flex1">
  120. <div class="borderimg"><el-button @click="dialogsgdelect = false">取消</el-button></div>
  121. </div>
  122. <div class="footerbtn flex1">
  123. <div class="borderimg"><el-button @click="fundeledata(); dialogsgdelect = false">
  124. 确定
  125. </el-button></div>
  126. </div>
  127. </div>
  128. </el-dialog>
  129. </div>
  130. <!-- 选择管道 -->
  131. </el-aside>
  132. </div>
  133. </div>
  134. </template>
  135. <script setup>
  136. import { computed, ref, onMounted, reactive, toRef } from "vue";
  137. import { request, uploadFile } from "@/utils/request";
  138. import { ElMessage, ElButton, ElDialog, ElSelect } from 'element-plus'
  139. import icon from "@/assets/img/icon.png";
  140. import { timestampToTime } from '@/js/lindex.js'
  141. let pipeline = ref();
  142. let sendialogVisible = ref(false);
  143. let currentrow=ref(true);
  144. let addVisible = ref(false);
  145. let dialogsgdelect = ref(false)
  146. let classradio1 = ref('Fire');
  147. const formLabelWidth6 = ref(100);
  148. let add = ref("")
  149. const resultactiveName = ref("first");
  150. let coolactiveName1 = ref(["1", "2"]);
  151. let tableHeight = ref(200);
  152. let tableData = ref([]);
  153. let tableobj = ref({});
  154. let zqname = ref();
  155. let tishi=ref();
  156. let wuliobj = ref({
  157. coid:'',
  158. code: '',
  159. name:'',
  160. density: "",
  161. diffcoe: '',
  162. speheat: '',
  163. })
  164. let source = ref({
  165. selectstr: '',
  166. site: ''
  167. })
  168. let firepid = ref("")
  169. const tableRowClassName = ({ row, rowIndex }) => {
  170. if (rowIndex % 2 != 0) {
  171. return 'evenRow';
  172. }
  173. return 'oddRow';
  174. }
  175. // function formatInput(){
  176. // console.log(wuliobj.value.diffcoe)
  177. // }
  178. // 选中一行
  179. const handleDelete = (val) => {
  180. currentrow.value=true;
  181. tableobj.value = val;
  182. console.log(tableobj.value)
  183. }
  184. // 删除
  185. const shanchu = () => {
  186. if (JSON.stringify(tableobj.value) == '{}') {
  187. ElMessage.error("你还没有选中删除的项目")
  188. } else {
  189. dialogsgdelect.value = true
  190. zqname.value = tableobj.value.name;
  191. }
  192. }
  193. const fundeledata = () => {
  194. console.log(zqname.value);
  195. const params = {
  196. transCode: 'D10015',
  197. coid: tableobj.value.coid
  198. }
  199. request(params)
  200. .then((res) => {
  201. getsensor();
  202. ElMessage({
  203. message: '删除物理属性成功',
  204. type: 'success',
  205. })
  206. })
  207. .catch((err) => {
  208. ElMessage.error(err.returnMsg)
  209. })
  210. }
  211. onMounted(() => {
  212. getsensor();
  213. });
  214. // 查询
  215. const getsensor = () => {
  216. const params = {
  217. transCode: 'D10013',
  218. }
  219. request(params)
  220. .then((res) => {
  221. tableData.value = res.rows;
  222. tableobj.value={};
  223. })
  224. .catch((err) => {
  225. ElMessage.error(err.returnMsg)
  226. })
  227. }
  228. //添加
  229. const addsg = () => {
  230. add.value = "添加";
  231. tishi.value= add.value;
  232. currentrow.value=false;
  233. addVisible.value = true;
  234. wuliobj.value.coid = '';
  235. wuliobj.value.code = '';
  236. wuliobj.value.name = '';
  237. wuliobj.value.density = '';
  238. wuliobj.value.diffcoe = '';
  239. wuliobj.value.speheat = '';
  240. tableobj.value={};
  241. }
  242. // 添加修改的接口
  243. const addEied = () => {
  244. const params = {
  245. transCode: 'D10014',
  246. coid: wuliobj.value.coid,
  247. code: wuliobj.value.code,
  248. name: wuliobj.value.name ,
  249. density: wuliobj.value.density,
  250. diffcoe:wuliobj.value.diffcoe,
  251. speheat:wuliobj.value.speheat,
  252. }
  253. request(params)
  254. .then((res) => {
  255. tableData.value = res.rows;
  256. getsensor();
  257. ElMessage({
  258. message: tishi.value+'物理属性成功',
  259. type: 'success',
  260. })
  261. addVisible.value = false
  262. })
  263. .catch((err) => {
  264. ElMessage.error(err.returnMsg)
  265. })
  266. }
  267. //修改
  268. const amend = () => {
  269. add.value = "修改";
  270. tishi.value= add.value;
  271. if (JSON.stringify(tableobj.value) == '{}') {
  272. ElMessage.error("你还没有选中修改的项目")
  273. } else {
  274. addVisible.value = true;
  275. wuliobj.value.coid = tableobj.value.coid;
  276. wuliobj.value.code =tableobj.value.code;
  277. wuliobj.value.name = tableobj.value.name;
  278. wuliobj.value.density = tableobj.value.density;
  279. wuliobj.value.diffcoe =tableobj.value.diffcoe;
  280. wuliobj.value.speheat =tableobj.value.speheat;
  281. }
  282. }
  283. defineExpose({ sendialogVisible, });
  284. </script>