MarkSettingViewModel.cs 44 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158
  1. using CommunityToolkit.Mvvm.ComponentModel;
  2. using ivf_tl_Entity.Entity;
  3. using ivf_tl_Entity.Entity.Mark;
  4. using ivf_tl_Entity.Enums;
  5. using ivf_tl_Manage.Converts;
  6. using ivf_tl_Manage.Win;
  7. using ivf_tl_Service.HttpProvider;
  8. using System;
  9. using System.Collections.Generic;
  10. using System.Collections.ObjectModel;
  11. using System.Linq;
  12. using System.Text;
  13. using System.Threading.Tasks;
  14. using System.Windows;
  15. using static System.Windows.Forms.VisualStyles.VisualStyleElement.TextBox;
  16. namespace ivf_tl_Manage.ViewModels
  17. {
  18. public partial class MarkSettingViewModel : BaseViewModel
  19. {
  20. [ObservableProperty]
  21. private string currentSelectTitle;
  22. [ObservableProperty]
  23. private ObservableCollection<MarkModelTypeEntity> markModelTypeList = new ObservableCollection<MarkModelTypeEntity>();
  24. [ObservableProperty]
  25. private ObservableCollection<MarkModelTypeEntity> currentMarkModelTypeList = new ObservableCollection<MarkModelTypeEntity>();
  26. [ObservableProperty]
  27. private MarkModelTypeEntity currentMarkModelType = null;
  28. [ObservableProperty]
  29. private ObservableCollection<MarkKeyEntity> markKeyList = new ObservableCollection<MarkKeyEntity>();
  30. [ObservableProperty]
  31. private ObservableCollection<MarkKeyEntity> currentMarkKeyList = new ObservableCollection<MarkKeyEntity>();
  32. [ObservableProperty]
  33. private ObservableCollection<ButtonEntity> quickButtonList = new ObservableCollection<ButtonEntity>();
  34. [ObservableProperty]
  35. private ObservableCollection<ButtonEntity> currentQuickButtonList = new ObservableCollection<ButtonEntity>();
  36. [ObservableProperty]
  37. private ObservableCollection<MarkLevelEntity> markLevelList = new ObservableCollection<MarkLevelEntity>();
  38. [ObservableProperty]
  39. private ObservableCollection<MarkLevelEntity> currentMarkLevelList = new ObservableCollection<MarkLevelEntity>();
  40. [ObservableProperty]
  41. private ObservableCollection<MarkEntity> markEntityList = new ObservableCollection<MarkEntity>();
  42. [ObservableProperty]
  43. private ObservableCollection<MarkWeight> markWeightList = new ObservableCollection<MarkWeight>();
  44. [ObservableProperty]
  45. private int dataPageCount = -1;
  46. [ObservableProperty]
  47. private bool isVisPage = false;
  48. private int currentPage = 0;
  49. public int DataPageSize { get; set; } = 10;
  50. public string DataType { get; set; } = "1";
  51. private MarkSettingProvider markSettingProvider = null;
  52. public MarkSettingViewModel()
  53. {
  54. base.ViewModelName = nameof(MarkSettingViewModel);
  55. try
  56. {
  57. int k = 1;
  58. //CurrentSelectTitle = "KEY值维护";
  59. CurrentSelectTitle = KeyToStringConvert.GetLanguageStringByKey("0236");
  60. markSettingProvider = AppData.Instance.GetMarkSettingProvider();
  61. MarkKeyList.Clear();
  62. var newList = markSettingProvider.GetAllMarkKeyApi().OrderBy(x => x.orderNum).ToList();
  63. foreach (var item in newList)
  64. {
  65. item.num = k++;
  66. MarkKeyList.Add(item);
  67. }
  68. newList.Clear();
  69. MarkModelTypeList = new ObservableCollection<MarkModelTypeEntity>(markSettingProvider.GetAllMarkModelTypeApi());
  70. if (MarkModelTypeList.Any())
  71. {
  72. if (MarkModelTypeList.Count >= 2)
  73. {
  74. //MarkModelTypeList.Insert(0, new MarkModelTypeEntity { name = "全部", id = 0 });
  75. MarkModelTypeList.Insert(0, new MarkModelTypeEntity { name = KeyToStringConvert.GetLanguageStringByKey("0027"), id = 0 });
  76. }
  77. CurrentMarkModelType = MarkModelTypeList[0];
  78. }
  79. k = 1;
  80. MarkLevelList = new ObservableCollection<MarkLevelEntity>(markSettingProvider.GetAllMarkLevelApi());
  81. foreach (var item in MarkLevelList)
  82. {
  83. item.num = k++;
  84. }
  85. k = 1;
  86. QuickButtonList.Clear();
  87. var quickNewList = markSettingProvider.GetAllQuickButtonsApi().OrderBy(x => x.orderNum).ToList();
  88. foreach (var item in quickNewList)
  89. {
  90. item.num = k++;
  91. QuickButtonList.Add(item);
  92. }
  93. quickNewList.Clear();
  94. MarkWeightList = new ObservableCollection<MarkWeight>(markSettingProvider.GetMarkWeightList());
  95. CurrentMarkKeyList = new ObservableCollection<MarkKeyEntity>(MarkKeyList.Take(DataPageSize));
  96. DataPageCount = MarkKeyList.Count;
  97. //CurrentSelectTitle = "模型设置";
  98. //CurrentMarkModelTypeList = new ObservableCollection<MarkModelTypeEntity>(MarkModelTypeList.Take(DataPageSize));
  99. //DataPageCount = MarkModelTypeList.Count;
  100. }
  101. catch (Exception ex)
  102. {
  103. ExLog(ex, "MarkSettingViewModel");
  104. }
  105. }
  106. partial void OnCurrentMarkModelTypeChanged(MarkModelTypeEntity value)
  107. {
  108. if (value == null)
  109. {
  110. MarkEntityList.Clear();
  111. return;
  112. }
  113. MarkEntityList = new ObservableCollection<MarkEntity>(markSettingProvider.GetAllMarkEntityApi(CurrentMarkModelType.id));
  114. }
  115. /// <summary>
  116. /// 刷新页面数据
  117. /// </summary>
  118. /// <param name="newCurrentSelectTitle"></param>
  119. public void DataChange(string newCurrentSelectTitle, string dataType)
  120. {
  121. try
  122. {
  123. CurrentSelectTitle = newCurrentSelectTitle;
  124. int newCount = -1;
  125. DataType = dataType;
  126. IsVisPage = false;
  127. switch (DataType)
  128. {
  129. case "1":
  130. newCount = MarkKeyList.Count;
  131. break;
  132. case "2":
  133. newCount = MarkModelTypeList.Count;
  134. break;
  135. case "3":
  136. newCount = MarkLevelList.Count;
  137. break;
  138. case "4":
  139. newCount = QuickButtonList.Count;
  140. break;
  141. case "5":
  142. IsVisPage = true;
  143. break;
  144. case "6":
  145. IsVisPage = true;
  146. break;
  147. }
  148. //switch (CurrentSelectTitle)
  149. //{
  150. // case "KEY值维护":
  151. // newCount = MarkKeyList.Count;
  152. // break;
  153. // case "模型设置":
  154. // newCount = MarkModelTypeList.Count;
  155. // break;
  156. // case "级别设置":
  157. // newCount = MarkLevelList.Count;
  158. // break;
  159. // case "快捷定位设置":
  160. // newCount = QuickButtonList.Count;
  161. // break;
  162. // case "模型配置":
  163. // break;
  164. //}
  165. DataPageCount = -1;
  166. DataPageCount = newCount;
  167. }
  168. catch (Exception ex)
  169. {
  170. ExLog(ex, "DataChange");
  171. }
  172. }
  173. public void DataLoad(int obj)
  174. {
  175. try
  176. {
  177. currentPage = obj;
  178. switch (DataType)
  179. {
  180. case "1":
  181. ModelKeyData(obj);
  182. break;
  183. case "2":
  184. ModelTypeData(obj);
  185. break;
  186. case "3":
  187. MarkLevelData(obj);
  188. break;
  189. case "4":
  190. QuickButtonData(obj);
  191. break;
  192. case "5":
  193. break;
  194. }
  195. //switch (CurrentSelectTitle)
  196. //{
  197. // case "KEY值维护":
  198. // ModelKeyData(obj);
  199. // break;
  200. // case "模型设置":
  201. // ModelTypeData(obj);
  202. // break;
  203. // case "级别设置":
  204. // MarkLevelData(obj);
  205. // break;
  206. // case "快捷定位设置":
  207. // QuickButtonData(obj);
  208. // break;
  209. // case "模型配置":
  210. // break;
  211. //}
  212. }
  213. catch (Exception ex)
  214. {
  215. ExLog(ex, "DataLoad");
  216. }
  217. }
  218. private void ModelKeyData(int obj)
  219. {
  220. CurrentMarkKeyList.Clear();
  221. var list = MarkKeyList.Skip(DataPageSize * (obj - 1)).Take(DataPageSize);
  222. foreach (var item in list)
  223. {
  224. CurrentMarkKeyList.Add(item);
  225. }
  226. }
  227. private void ModelTypeData(int obj)
  228. {
  229. CurrentMarkModelTypeList.Clear();
  230. var list = MarkModelTypeList.Skip(DataPageSize * (obj - 1)).Take(DataPageSize);
  231. foreach (var item in list)
  232. {
  233. CurrentMarkModelTypeList.Add(item);
  234. }
  235. }
  236. private void MarkLevelData(int obj)
  237. {
  238. CurrentMarkLevelList.Clear();
  239. var list = MarkLevelList.Skip(DataPageSize * (obj - 1)).Take(DataPageSize);
  240. foreach (var item in list)
  241. {
  242. CurrentMarkLevelList.Add(item);
  243. }
  244. }
  245. private void QuickButtonData(int obj)
  246. {
  247. CurrentQuickButtonList.Clear();
  248. var list = QuickButtonList.Skip(DataPageSize * (obj - 1)).Take(DataPageSize);
  249. foreach (var item in list)
  250. {
  251. CurrentQuickButtonList.Add(item);
  252. }
  253. }
  254. /// <summary>
  255. /// 添加操作
  256. /// </summary>
  257. public void AddEntity()
  258. {
  259. try
  260. {
  261. switch (DataType)
  262. {
  263. case "1":
  264. AddMarkKey();
  265. break;
  266. case "2":
  267. AddMarkType();
  268. break;
  269. case "3":
  270. AddMarkLevel();
  271. break;
  272. case "4":
  273. AddMarkQuick();
  274. break;
  275. case "5":
  276. AddMarkModel();
  277. break;
  278. case "6":
  279. AddMarkWeight(null);
  280. break;
  281. }
  282. }
  283. catch (Exception ex)
  284. {
  285. ExLog(ex, "AddEntity");
  286. }
  287. }
  288. private void AddMarkKey()
  289. {
  290. try
  291. {
  292. int newOrderNum = 1;
  293. int newNum = 1;
  294. if (MarkKeyList.Any())
  295. {
  296. newOrderNum = MarkKeyList.Last().orderNum + 1;
  297. newNum = MarkKeyList.Last().num + 1;
  298. }
  299. MarkKeyEntity markKeyEntity = new MarkKeyEntity() { orderNum = newOrderNum, num = newNum };
  300. AppData.Instance.MainWindowViewModel.MaskVisibility = true;
  301. if (new MarkKeyWindow(markKeyEntity).ShowDialog() != true)
  302. {
  303. AppData.Instance.MainWindowViewModel.MaskVisibility = false;
  304. return;
  305. }
  306. AppData.Instance.MainWindowViewModel.MaskVisibility = false;
  307. MarkKeyList.Add(markKeyEntity);
  308. if (CurrentMarkKeyList.Count < 10)
  309. {
  310. CurrentMarkKeyList.Add(markKeyEntity);
  311. }
  312. //if (CurrentMarkKeyList.Any())
  313. //{
  314. // var num = CurrentMarkKeyList.Count;
  315. // if (num < 10)
  316. // {
  317. // CurrentMarkKeyList.Add(markKeyEntity);
  318. // }
  319. //}
  320. //else
  321. //{
  322. // markKeyEntity.num = 1;
  323. // CurrentMarkKeyList.Add(markKeyEntity);
  324. //}
  325. }
  326. catch (Exception ex)
  327. {
  328. ExLog(ex, "AddMarkKey");
  329. AppData.Instance.MainWindowViewModel.MaskVisibility = false;
  330. }
  331. }
  332. private void AddMarkType()
  333. {
  334. try
  335. {
  336. MarkModelTypeEntity markModelTypeEntity = new MarkModelTypeEntity();
  337. AppData.Instance.MainWindowViewModel.MaskVisibility = true;
  338. if (new MarkTypeWindow(markModelTypeEntity).ShowDialog() != true)
  339. {
  340. AppData.Instance.MainWindowViewModel.MaskVisibility = false;
  341. return;
  342. }
  343. AppData.Instance.MainWindowViewModel.MaskVisibility = false;
  344. MarkModelTypeList.Add(markModelTypeEntity);
  345. if (CurrentMarkModelTypeList.Count < 10)
  346. {
  347. CurrentMarkModelTypeList.Add(markModelTypeEntity);
  348. }
  349. }
  350. catch (Exception ex)
  351. {
  352. ExLog(ex, "AddMarkType");
  353. AppData.Instance.MainWindowViewModel.MaskVisibility = false;
  354. }
  355. }
  356. private void AddMarkLevel()
  357. {
  358. try
  359. {
  360. int newNum = 1;
  361. if (MarkLevelList.Any())
  362. {
  363. newNum = MarkLevelList.Last().num + 1;
  364. }
  365. MarkLevelEntity markLevel = new MarkLevelEntity() { num = newNum };
  366. AppData.Instance.MainWindowViewModel.MaskVisibility = true;
  367. if (new MarkLevelWindow(markLevel).ShowDialog() != true)
  368. {
  369. AppData.Instance.MainWindowViewModel.MaskVisibility = false;
  370. return;
  371. }
  372. AppData.Instance.MainWindowViewModel.MaskVisibility = false;
  373. MarkLevelList.Add(markLevel);
  374. if (CurrentMarkLevelList.Count < 10)
  375. {
  376. CurrentMarkLevelList.Add(markLevel);
  377. }
  378. //if (CurrentMarkLevelList.Any())
  379. //{
  380. // var num = CurrentMarkLevelList.Last().num;
  381. // if (num < 10)
  382. // {
  383. // markLevel.num = num + 1;
  384. // CurrentMarkLevelList.Add(markLevel);
  385. // }
  386. //}
  387. //else
  388. //{
  389. // markLevel.num = 1;
  390. // CurrentMarkLevelList.Add(markLevel);
  391. //}
  392. }
  393. catch (Exception ex)
  394. {
  395. ExLog(ex, "AddMarkLevel");
  396. AppData.Instance.MainWindowViewModel.MaskVisibility = false;
  397. }
  398. }
  399. private void AddMarkQuick()
  400. {
  401. try
  402. {
  403. int newOrderNum = 1;
  404. int newNum = 1;
  405. if (QuickButtonList.Any())
  406. {
  407. newOrderNum = QuickButtonList.Last().orderNum + 1;
  408. newNum = QuickButtonList.Last().num + 1;
  409. }
  410. ButtonEntity buttonEntity = new ButtonEntity() { type = "QUICK_BUTTON", num = newNum, orderNum = newOrderNum };
  411. AppData.Instance.MainWindowViewModel.MaskVisibility = true;
  412. if (new MarkQucikWindow(buttonEntity).ShowDialog() != true)
  413. {
  414. AppData.Instance.MainWindowViewModel.MaskVisibility = false;
  415. return;
  416. }
  417. AppData.Instance.MainWindowViewModel.MaskVisibility = false;
  418. QuickButtonList.Add(buttonEntity);
  419. var newList = QuickButtonList.OrderBy(x => x.orderNum).ToList();
  420. QuickButtonList.Clear();
  421. int k = 1;
  422. foreach (var item in newList)
  423. {
  424. item.num = k++;
  425. QuickButtonList.Add(item);
  426. }
  427. newList.Clear();
  428. QuickButtonData(currentPage);
  429. }
  430. catch (Exception ex)
  431. {
  432. ExLog(ex, "AddMarkQuick");
  433. AppData.Instance.MainWindowViewModel.MaskVisibility = false;
  434. }
  435. }
  436. private void AddMarkModel()
  437. {
  438. try
  439. {
  440. MarkEntity newEntity = new MarkEntity() { level = 1, parentId = -1, state = 1 };
  441. AppData.Instance.MainWindowViewModel.MaskVisibility = true;
  442. List<MarkModelTypeEntity> listType = new List<MarkModelTypeEntity>();
  443. if (CurrentMarkModelType.id == 0)
  444. {
  445. listType = MarkModelTypeList.Where(x => x.id != 0).ToList();
  446. }
  447. else
  448. {
  449. listType.Add(CurrentMarkModelType);
  450. }
  451. if (new MarkModelOneWindow(newEntity, listType, MarkKeyList).ShowDialog() != true)
  452. {
  453. AppData.Instance.MainWindowViewModel.MaskVisibility = false;
  454. return;
  455. }
  456. AppData.Instance.MainWindowViewModel.MaskVisibility = false;
  457. int k = 0;
  458. for (int i = 0; i < MarkEntityList.Count; i++)
  459. {
  460. var item = MarkEntityList[i];
  461. if (item.orderNum > newEntity.orderNum)
  462. {
  463. k = i;
  464. break;
  465. }
  466. k = i + 1;
  467. }
  468. if (k < 0) k = 0;
  469. MarkEntityList.Insert(k, newEntity);
  470. }
  471. catch (Exception ex)
  472. {
  473. ExLog(ex, "AddMarkModel");
  474. AppData.Instance.MainWindowViewModel.MaskVisibility = false;
  475. }
  476. }
  477. /// <summary>
  478. /// 编辑操作
  479. /// </summary>
  480. /// <param name="tag"></param>
  481. public void EditEntity(object tag)
  482. {
  483. try
  484. {
  485. switch (DataType)
  486. {
  487. case "1":
  488. EditMarkKey((MarkKeyEntity)tag);
  489. break;
  490. case "2":
  491. EditMarkType((MarkModelTypeEntity)tag);
  492. break;
  493. case "3":
  494. EditMarkLevel((MarkLevelEntity)tag);
  495. break;
  496. case "4":
  497. EditMarkQuick((ButtonEntity)tag);
  498. break;
  499. case "5":
  500. break;
  501. }
  502. //switch (CurrentSelectTitle)
  503. //{
  504. // case "KEY值维护":
  505. // EditMarkKey((MarkKeyEntity)tag);
  506. // break;
  507. // case "模型设置":
  508. // EditMarkType((MarkModelTypeEntity)tag);
  509. // break;
  510. // case "级别设置":
  511. // EditMarkLevel((MarkLevelEntity)tag);
  512. // break;
  513. // case "快捷定位设置":
  514. // EditMarkQuick((ButtonEntity)tag);
  515. // break;
  516. // case "模型配置":
  517. // break;
  518. //}
  519. }
  520. catch (Exception ex)
  521. {
  522. ExLog(ex, "EditEntity");
  523. }
  524. }
  525. private void EditMarkKey(MarkKeyEntity markKeyEntity)
  526. {
  527. try
  528. {
  529. AppData.Instance.MainWindowViewModel.MaskVisibility = true;
  530. new MarkKeyWindow(markKeyEntity, false).ShowDialog();
  531. AppData.Instance.MainWindowViewModel.MaskVisibility = false;
  532. }
  533. catch (Exception ex)
  534. {
  535. ExLog(ex, "EditMarkKey");
  536. AppData.Instance.MainWindowViewModel.MaskVisibility = false;
  537. }
  538. }
  539. private void EditMarkType(MarkModelTypeEntity markModelTypeEntity)
  540. {
  541. try
  542. {
  543. AppData.Instance.MainWindowViewModel.MaskVisibility = true;
  544. new MarkTypeWindow(markModelTypeEntity, false).ShowDialog();
  545. AppData.Instance.MainWindowViewModel.MaskVisibility = false;
  546. }
  547. catch (Exception ex)
  548. {
  549. ExLog(ex, "EditMarkType");
  550. AppData.Instance.MainWindowViewModel.MaskVisibility = false;
  551. }
  552. }
  553. private void EditMarkLevel(MarkLevelEntity markLevel)
  554. {
  555. try
  556. {
  557. AppData.Instance.MainWindowViewModel.MaskVisibility = true;
  558. new MarkLevelWindow(markLevel, false).ShowDialog();
  559. AppData.Instance.MainWindowViewModel.MaskVisibility = false;
  560. }
  561. catch (Exception ex)
  562. {
  563. ExLog(ex, "EditMarkLevel");
  564. AppData.Instance.MainWindowViewModel.MaskVisibility = false;
  565. }
  566. }
  567. private void EditMarkQuick(ButtonEntity buttonEntity)
  568. {
  569. try
  570. {
  571. var oldNum = buttonEntity.orderNum;
  572. AppData.Instance.MainWindowViewModel.MaskVisibility = true;
  573. var a = new MarkQucikWindow(buttonEntity, false).ShowDialog();
  574. AppData.Instance.MainWindowViewModel.MaskVisibility = false;
  575. if (a != true) return;
  576. if (oldNum == buttonEntity.orderNum) return;
  577. var newList = QuickButtonList.OrderBy(x => x.orderNum).ToList();
  578. QuickButtonList.Clear();
  579. int k = 1;
  580. foreach (var item in newList)
  581. {
  582. item.num = k++;
  583. QuickButtonList.Add(item);
  584. }
  585. newList.Clear();
  586. QuickButtonData(currentPage);
  587. }
  588. catch (Exception ex)
  589. {
  590. ExLog(ex, "EditMarkQuick");
  591. AppData.Instance.MainWindowViewModel.MaskVisibility = false;
  592. }
  593. }
  594. /// <summary>
  595. /// 删除操作
  596. /// </summary>
  597. /// <param name="tag"></param>
  598. public void DeleteEntity(object tag)
  599. {
  600. try
  601. {
  602. //switch (CurrentSelectTitle)
  603. //{
  604. // case "KEY值维护":
  605. // DeleteMarkKey((MarkKeyEntity)tag);
  606. // break;
  607. // case "模型设置":
  608. // DeleteMarkType((MarkModelTypeEntity)tag);
  609. // break;
  610. // case "级别设置":
  611. // DeleteMarkLevel((MarkLevelEntity)tag);
  612. // break;
  613. // case "快捷定位设置":
  614. // DeleteMarkQuick((ButtonEntity)tag);
  615. // break;
  616. // case "模型配置":
  617. // break;
  618. //}
  619. switch (DataType)
  620. {
  621. case "1":
  622. DeleteMarkKey((MarkKeyEntity)tag);
  623. break;
  624. case "2":
  625. DeleteMarkType((MarkModelTypeEntity)tag);
  626. break;
  627. case "3":
  628. DeleteMarkLevel((MarkLevelEntity)tag);
  629. break;
  630. case "4":
  631. DeleteMarkQuick((ButtonEntity)tag);
  632. break;
  633. case "5":
  634. break;
  635. }
  636. //DataChange(CurrentSelectTitle);
  637. }
  638. catch (Exception ex)
  639. {
  640. ExLog(ex, "DeleteEntity");
  641. }
  642. }
  643. private void DeleteMarkKey(MarkKeyEntity pro)
  644. {
  645. try
  646. {
  647. AppData.Instance.MainWindowViewModel.MaskVisibility = true;
  648. //new MessageBoxWindow("删除", $"确定删除此条名为{pro.name}的KEY值信息吗?", AppData.Instance.MainWindow).ShowDialog() != true
  649. if (new MessageBoxWindow(KeyToStringConvert.GetLanguageStringByKey("0043"), KeyToStringConvert.GetLanguageStringByKey("0537"), AppData.Instance.MainWindow).ShowDialog() != true)
  650. {
  651. AppData.Instance.MainWindowViewModel.MaskVisibility = false;
  652. return;
  653. }
  654. AppData.Instance.MainWindowViewModel.MaskVisibility = false;
  655. string error = markSettingProvider.DeleteMarkKeyApi(pro.id);
  656. if (!string.IsNullOrEmpty(error))
  657. {
  658. //ToastMessageShow($"删除失败:{error}");
  659. ToastMessageShow($"{KeyToStringConvert.GetLanguageStringByKey("0337")}:{error}");
  660. return;
  661. }
  662. MarkKeyList.Remove(pro);
  663. CurrentMarkKeyList.Remove(pro);
  664. }
  665. catch (Exception ex)
  666. {
  667. ExLog(ex, "DeleteMarkKey");
  668. AppData.Instance.MainWindowViewModel.MaskVisibility = false;
  669. }
  670. }
  671. private void DeleteMarkType(MarkModelTypeEntity pro)
  672. {
  673. try
  674. {
  675. AppData.Instance.MainWindowViewModel.MaskVisibility = true;
  676. //new MessageBoxWindow("删除", $"确定删除此条名为{pro.name}的模型设置吗?", AppData.Instance.MainWindow).ShowDialog() != true
  677. if (new MessageBoxWindow(KeyToStringConvert.GetLanguageStringByKey("0043"), KeyToStringConvert.GetLanguageStringByKey("0537"), AppData.Instance.MainWindow).ShowDialog() != true)
  678. {
  679. AppData.Instance.MainWindowViewModel.MaskVisibility = false;
  680. return;
  681. }
  682. AppData.Instance.MainWindowViewModel.MaskVisibility = false;
  683. string error = markSettingProvider.DeleteMarkModelAndTypeApi(pro.id);
  684. if (!string.IsNullOrEmpty(error))
  685. {
  686. //ToastMessageShow($"删除失败:{error}");
  687. ToastMessageShow($"{KeyToStringConvert.GetLanguageStringByKey("0337")}:{error}");
  688. return;
  689. }
  690. MarkModelTypeList.Remove(pro);
  691. CurrentMarkModelTypeList.Remove(pro);
  692. }
  693. catch (Exception ex)
  694. {
  695. ExLog(ex, "DeleteMarkType");
  696. AppData.Instance.MainWindowViewModel.MaskVisibility = false;
  697. }
  698. }
  699. private void DeleteMarkLevel(MarkLevelEntity pro)
  700. {
  701. try
  702. {
  703. AppData.Instance.MainWindowViewModel.MaskVisibility = true;
  704. //new MessageBoxWindow("删除", $"确定删除此条名为{pro.name}的级别设置吗?", AppData.Instance.MainWindow).ShowDialog() != true
  705. if (new MessageBoxWindow(KeyToStringConvert.GetLanguageStringByKey("0043"), KeyToStringConvert.GetLanguageStringByKey("0537"), AppData.Instance.MainWindow).ShowDialog() != true)
  706. {
  707. AppData.Instance.MainWindowViewModel.MaskVisibility = false;
  708. return;
  709. }
  710. AppData.Instance.MainWindowViewModel.MaskVisibility = false;
  711. string error = markSettingProvider.DeleteMarkLevelApi(pro.id);
  712. if (!string.IsNullOrEmpty(error))
  713. {
  714. //ToastMessageShow($"删除失败:{error}");
  715. ToastMessageShow($"{KeyToStringConvert.GetLanguageStringByKey("0337")}:{error}");
  716. return;
  717. }
  718. MarkLevelList.Remove(pro);
  719. CurrentMarkLevelList.Remove(pro);
  720. }
  721. catch (Exception ex)
  722. {
  723. ExLog(ex, "DeleteMarkLevel");
  724. AppData.Instance.MainWindowViewModel.MaskVisibility = false;
  725. }
  726. }
  727. private void DeleteMarkQuick(ButtonEntity pro)
  728. {
  729. try
  730. {
  731. AppData.Instance.MainWindowViewModel.MaskVisibility = true;
  732. //new MessageBoxWindow("删除", $"确定删除此条名为{pro.buttonName}的快捷定位设置吗?", AppData.Instance.MainWindow).ShowDialog() != true
  733. if (new MessageBoxWindow(KeyToStringConvert.GetLanguageStringByKey("0043"), KeyToStringConvert.GetLanguageStringByKey("0537"), AppData.Instance.MainWindow).ShowDialog() != true)
  734. {
  735. AppData.Instance.MainWindowViewModel.MaskVisibility = false;
  736. return;
  737. }
  738. AppData.Instance.MainWindowViewModel.MaskVisibility = false;
  739. string error = markSettingProvider.DeleteButtonApi(pro.id);
  740. if (!string.IsNullOrEmpty(error))
  741. {
  742. //ToastMessageShow($"删除失败:{error}");
  743. ToastMessageShow($"{KeyToStringConvert.GetLanguageStringByKey("0337")}:{error}");
  744. return;
  745. }
  746. QuickButtonList.Remove(pro);
  747. CurrentQuickButtonList.Remove(pro);
  748. }
  749. catch (Exception ex)
  750. {
  751. ExLog(ex, "DeleteMarkQuick");
  752. AppData.Instance.MainWindowViewModel.MaskVisibility = false;
  753. }
  754. }
  755. /// <summary>
  756. /// 评分配置操作
  757. /// </summary>
  758. /// <param name="arg1"></param>
  759. /// <param name="arg2"></param>
  760. public bool MarkOper(MarkEntity arg1, string arg2)
  761. {
  762. try
  763. {
  764. switch (arg2)
  765. {
  766. case "add":
  767. return AddMarkModel(arg1);
  768. case "edit":
  769. return EditMarkModel(arg1);
  770. case "del":
  771. return DelereMarkModel(arg1);
  772. }
  773. return false;
  774. }
  775. catch (Exception ex)
  776. {
  777. ExLog(ex, "MarkOper");
  778. return false;
  779. }
  780. }
  781. private bool AddMarkModel(MarkEntity parent)
  782. {
  783. try
  784. {
  785. MarkEntity newEntity = new MarkEntity()
  786. {
  787. level = (parent.level + 1),
  788. parentId = parent.id,
  789. state = 1,
  790. model = parent.model,
  791. ParentMark = parent,
  792. };
  793. AppData.Instance.MainWindowViewModel.MaskVisibility = true;
  794. if (new MarkModelWindow(newEntity, MarkModelTypeList.FirstOrDefault(x => x.id == parent.model), MarkKeyList).ShowDialog() != true)
  795. {
  796. AppData.Instance.MainWindowViewModel.MaskVisibility = false;
  797. return false;
  798. }
  799. AppData.Instance.MainWindowViewModel.MaskVisibility = false;
  800. if (parent.children == null || !parent.children.Any())
  801. {
  802. parent.children = new ObservableCollection<MarkEntity>() { newEntity };
  803. }
  804. else
  805. {
  806. parent.children.Add(newEntity);
  807. var list1 = parent.children.OrderBy(x => x.orderNum).ToList();
  808. parent.children.Clear();
  809. foreach (var item in list1)
  810. {
  811. parent.children.Add(item);
  812. }
  813. list1.Clear();
  814. }
  815. return true;
  816. }
  817. catch (Exception ex)
  818. {
  819. ExLog(ex, "AddMarkModel");
  820. return false;
  821. }
  822. }
  823. private bool EditMarkModel(MarkEntity pro)
  824. {
  825. try
  826. {
  827. if (pro.level == 1)
  828. {
  829. AppData.Instance.MainWindowViewModel.MaskVisibility = true;
  830. if (new MarkModelOneWindow(pro, MarkModelTypeList.FirstOrDefault(x => x.id == pro.model), MarkKeyList, true).ShowDialog() != true)
  831. {
  832. AppData.Instance.MainWindowViewModel.MaskVisibility = false;
  833. return false;
  834. }
  835. AppData.Instance.MainWindowViewModel.MaskVisibility = false;
  836. var list = MarkEntityList.OrderBy(x => x.orderNum).ToList();
  837. MarkEntityList.Clear();
  838. foreach (var item in list)
  839. {
  840. MarkEntityList.Add(item);
  841. }
  842. list.Clear();
  843. return true;
  844. }
  845. AppData.Instance.MainWindowViewModel.MaskVisibility = true;
  846. if (new MarkModelWindow(pro, MarkModelTypeList.FirstOrDefault(x => x.id == pro.model), MarkKeyList, false).ShowDialog() != true)
  847. {
  848. AppData.Instance.MainWindowViewModel.MaskVisibility = false;
  849. return false;
  850. }
  851. AppData.Instance.MainWindowViewModel.MaskVisibility = false;
  852. var list1 = pro.ParentMark.children.OrderBy(x => x.orderNum).ToList();
  853. pro.ParentMark.children.Clear();
  854. foreach (var item in list1)
  855. {
  856. pro.ParentMark.children.Add(item);
  857. }
  858. list1.Clear();
  859. return true;
  860. }
  861. catch (Exception ex)
  862. {
  863. ExLog(ex, "EditMarkModel");
  864. AppData.Instance.MainWindowViewModel.MaskVisibility = false;
  865. return false;
  866. }
  867. }
  868. public bool DelereMarkModel(MarkEntity pro)
  869. {
  870. try
  871. {
  872. if (pro.children != null && pro.children.Any())
  873. {
  874. //ToastMessageShow($"当前节点存在子节点,请先删除子节点再进行尝试");
  875. ToastMessageShow(KeyToStringConvert.GetLanguageStringByKey("0338"));
  876. return false;
  877. }
  878. AppData.Instance.MainWindowViewModel.MaskVisibility = true;
  879. //new MessageBoxWindow("删除", $"确定删除此条名为{pro.name}的模型配置吗?", AppData.Instance.MainWindow).ShowDialog() != true
  880. if (new MessageBoxWindow(KeyToStringConvert.GetLanguageStringByKey("0043"), KeyToStringConvert.GetLanguageStringByKey("0537"), AppData.Instance.MainWindow).ShowDialog() != true)
  881. {
  882. AppData.Instance.MainWindowViewModel.MaskVisibility = false;
  883. return false;
  884. }
  885. AppData.Instance.MainWindowViewModel.MaskVisibility = false;
  886. string error = markSettingProvider.DeleteMarkModelAndTypeApi(pro.id);
  887. if (!string.IsNullOrEmpty(error))
  888. {
  889. //ToastMessageShow($"删除失败:{error}");
  890. ToastMessageShow($"{KeyToStringConvert.GetLanguageStringByKey("0337")}:{error}");
  891. return false;
  892. }
  893. if (pro.ParentMark != null && pro.ParentMark.children != null)
  894. {
  895. pro.ParentMark.children.Remove(pro);
  896. if (!pro.ParentMark.children.Any())
  897. {
  898. pro.ParentMark.children = new ObservableCollection<MarkEntity>();
  899. }
  900. return true;
  901. }
  902. if (pro.level == 1 && MarkEntityList.Contains(pro))
  903. {
  904. MarkEntityList.Remove(pro);
  905. return true;
  906. }
  907. return true;
  908. }
  909. catch (Exception ex)
  910. {
  911. ExLog(ex, "DelereMarkModel");
  912. AppData.Instance.MainWindowViewModel.MaskVisibility = false;
  913. return false;
  914. }
  915. }
  916. public string SetMarkModelTypeEntityState(long id, int state)
  917. {
  918. try
  919. {
  920. return markSettingProvider.UpdateMarkModelTypeStateApi(id, state);
  921. }
  922. catch (Exception ex)
  923. {
  924. ExLog(ex, "SetMarkModelTypeEntityState");
  925. return ex.Message;
  926. }
  927. }
  928. public string SetButtonState(long id, int state)
  929. {
  930. try
  931. {
  932. return markSettingProvider.UpdateButtonStateApi(id, state);
  933. }
  934. catch (Exception ex)
  935. {
  936. ExLog(ex, "SetButtonState");
  937. return ex.Message;
  938. }
  939. }
  940. public bool MarkWeightOper(MarkWeight arg1, OperEnum arg2)
  941. {
  942. try
  943. {
  944. switch (arg2)
  945. {
  946. case OperEnum.Add:
  947. return AddMarkWeight(arg1);
  948. case OperEnum.Edit:
  949. return EditMarkWeight(arg1);
  950. case OperEnum.Delete:
  951. return DeleteMarkWeight(arg1);
  952. }
  953. return false;
  954. }
  955. catch (Exception ex)
  956. {
  957. ExLog(ex, "MarkOper");
  958. return false;
  959. }
  960. }
  961. public bool AddMarkWeight(MarkWeight parent)
  962. {
  963. try
  964. {
  965. MarkWeight newEntity = new MarkWeight()
  966. {
  967. ParentMarkWeight = parent,
  968. };
  969. if (parent != null)
  970. {
  971. newEntity.parentId = parent.id;
  972. }
  973. AppData.Instance.MainWindowViewModel.MaskVisibility = true;
  974. if (parent == null)
  975. {
  976. if (new MarkWeightOneWindow(newEntity).ShowDialog() != true)
  977. {
  978. AppData.Instance.MainWindowViewModel.MaskVisibility = false;
  979. return false;
  980. }
  981. }
  982. else
  983. {
  984. if (new MarkWeightWindow(newEntity, MarkEntityList).ShowDialog() != true)
  985. {
  986. AppData.Instance.MainWindowViewModel.MaskVisibility = false;
  987. return false;
  988. }
  989. }
  990. AppData.Instance.MainWindowViewModel.MaskVisibility = false;
  991. if (parent == null)
  992. {
  993. MarkWeightList.Add(newEntity);
  994. return true;
  995. }
  996. if (parent.children == null || !parent.children.Any())
  997. {
  998. parent.children = new ObservableCollection<MarkWeight>() { newEntity };
  999. //parent.children.Add(newEntity);
  1000. }
  1001. else
  1002. {
  1003. parent.children.Add(newEntity);
  1004. }
  1005. return true;
  1006. }
  1007. catch (Exception ex)
  1008. {
  1009. ExLog(ex, "AddMarkWeight");
  1010. return false;
  1011. }
  1012. }
  1013. public bool EditMarkWeight(MarkWeight current)
  1014. {
  1015. try
  1016. {
  1017. AppData.Instance.MainWindowViewModel.MaskVisibility = true;
  1018. if (current.parentId == -1)
  1019. {
  1020. if (new MarkWeightOneWindow(current, true).ShowDialog() != true)
  1021. {
  1022. AppData.Instance.MainWindowViewModel.MaskVisibility = false;
  1023. return false;
  1024. }
  1025. }
  1026. else
  1027. {
  1028. if (new MarkWeightWindow(current, MarkEntityList, true).ShowDialog() != true)
  1029. {
  1030. AppData.Instance.MainWindowViewModel.MaskVisibility = false;
  1031. return false;
  1032. }
  1033. }
  1034. AppData.Instance.MainWindowViewModel.MaskVisibility = false;
  1035. return true;
  1036. }
  1037. catch (Exception ex)
  1038. {
  1039. ExLog(ex, "EditMarkWeight");
  1040. AppData.Instance.MainWindowViewModel.MaskVisibility = false;
  1041. return false;
  1042. }
  1043. }
  1044. public bool DeleteMarkWeight(MarkWeight pro)
  1045. {
  1046. try
  1047. {
  1048. if (pro.children != null && pro.children.Any())
  1049. {
  1050. //ToastMessageShow($"当前节点存在子节点,请先删除子节点再进行尝试");
  1051. ToastMessageShow(KeyToStringConvert.GetLanguageStringByKey("0338"));
  1052. return false;
  1053. }
  1054. AppData.Instance.MainWindowViewModel.MaskVisibility = true;
  1055. //new MessageBoxWindow("删除", $"确定删除此条名为{pro.name}的权重配置吗?", AppData.Instance.MainWindow).ShowDialog()
  1056. if (new MessageBoxWindow(KeyToStringConvert.GetLanguageStringByKey("0043"), KeyToStringConvert.GetLanguageStringByKey("0537"), AppData.Instance.MainWindow).ShowDialog() != true)
  1057. {
  1058. AppData.Instance.MainWindowViewModel.MaskVisibility = false;
  1059. return false;
  1060. }
  1061. AppData.Instance.MainWindowViewModel.MaskVisibility = false;
  1062. string error = markSettingProvider.DeleteMarkWeightApi(pro.id);
  1063. if (!string.IsNullOrEmpty(error))
  1064. {
  1065. ToastMessageShow($"{KeyToStringConvert.GetLanguageStringByKey("0337")}:{error}");
  1066. return false;
  1067. }
  1068. if (pro.ParentMarkWeight != null && pro.ParentMarkWeight.children != null)
  1069. {
  1070. pro.ParentMarkWeight.children.Remove(pro);
  1071. if (!pro.ParentMarkWeight.children.Any())
  1072. {
  1073. pro.ParentMarkWeight.children = new ObservableCollection<MarkWeight>();
  1074. }
  1075. return true;
  1076. }
  1077. if (MarkWeightList.Contains(pro))
  1078. {
  1079. MarkWeightList.Remove(pro);
  1080. return true;
  1081. }
  1082. return false;
  1083. }
  1084. catch (Exception ex)
  1085. {
  1086. ExLog(ex, "DeleteMarkWeight");
  1087. AppData.Instance.MainWindowViewModel.MaskVisibility = false;
  1088. return false;
  1089. }
  1090. }
  1091. }
  1092. }