reviewerEdit.vue 6.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204
  1. <template>
  2. <view class="mxpopup-container">
  3. <uni-nav-bar dark :fixed="true" shadow background-color="#007AFF" status-bar left-icon="left" left-text="返回"
  4. title="移位审核人调整" @clickLeft="handleBack" />
  5. <scroll-view class="cpck-content" scroll-y="true">
  6. <uni-list>
  7. <uni-list-item
  8. v-for="item in listData"
  9. :show-extra-icon="true"
  10. :extra-icon="setDefaultSettingsList.settingCode == item.userId ? {size: '22',type: 'star-filled'} : {size: '22',type: 'star'}"
  11. :title="item.nickName"
  12. @click="goProDetail(item)"
  13. :style="getItemStyle(item)"
  14. link
  15. ></uni-list-item>
  16. </uni-list>
  17. </scroll-view>
  18. <view class="page-bottom">
  19. <view class="p-b-btn" @click="examine">
  20. <text class="box-text" ><uni-icons type="star" size="24"></uni-icons></text>
  21. </view>
  22. <view class="p-b-btn" @click="del">
  23. <text class="box-text" ><uni-icons type="trash" size="24"></uni-icons></text>
  24. </view>
  25. <view class="p-b-btn" @click="choiceUser">
  26. <text class="box-text"><uni-icons type="plusempty" size="24"></uni-icons></text>
  27. </view>
  28. </view>
  29. <!-- 审核人 -->
  30. <shrPopup ref="shrPopup" :title="shrTitle" :idxFlag="shrFlag" :formData="formData" @sendData="getSendData"/>
  31. </view>
  32. </template>
  33. <script>
  34. import shrPopup from './popup/commonpopup.vue' // 审核人
  35. import { moveReviewerEdit, getMoveReviewerList, listUser } from '@/api/wms/stockMove.js'
  36. import storage from '@/utils/storage'
  37. export default {
  38. components: {
  39. shrPopup
  40. },
  41. data() {
  42. return {
  43. drawerWidth: 300,
  44. listData:[],
  45. formData:{},
  46. // 审核人基础资料
  47. shrTitle: "审核人",
  48. shrFlag: "shr",
  49. // 审核人设置主子表信息
  50. setDefaultSettings : { //主表信息
  51. "billCode" : "stockMove",
  52. "settingClass": "4",
  53. },
  54. setDefaultSettingsList : { //子表信息
  55. "settingFlag": "审核人",
  56. "settingCode": "",
  57. "settingName": "",
  58. "settingValues": ""
  59. },
  60. //选中数据
  61. selectedItemUserid : "",
  62. };
  63. },
  64. created(){
  65. let that = this;
  66. uni.getSystemInfo({
  67. success:(res=>{
  68. that.drawerWidth = res.windowWidth;
  69. })
  70. });
  71. this.getList();
  72. },
  73. mounted(){},
  74. methods:{
  75. examine(){ //设置选中人为显示值和实际值(默认审核人)
  76. if(this.selectedItemUserid!=undefined && this.selectedItemUserid!=null && this.selectedItemUserid!="" && this.selectedItemUserid!=this.setDefaultSettingsList.settingCode){
  77. //查询选中行的值
  78. let isSave = false
  79. for(let index in this.listData){
  80. if( this.listData[index].userId == this.selectedItemUserid ){
  81. this.setDefaultSettingsList.settingCode = this.listData[index].userId;
  82. this.setDefaultSettingsList.settingName = this.listData[index].nickName;
  83. isSave = true;
  84. break;
  85. }
  86. }
  87. //更改后查询
  88. let params = this.setDefaultSettings;
  89. params.setDefaultSettingsList = [this.setDefaultSettingsList];
  90. //添加后刷新
  91. moveReviewerEdit(params).then(res => {
  92. if(res.code === 200){
  93. this.getList();
  94. this.selectedItemUserid ="";
  95. }
  96. })
  97. }
  98. },
  99. del(){ //删除
  100. if(this.selectedItemUserid!=undefined && this.selectedItemUserid!=null && this.selectedItemUserid!="" /*&& this.selectedItemUserid!=this.setDefaultSettingsList.settingCode*/){
  101. //删除
  102. this.listData = this.listData.filter(item => item.userId !== this.selectedItemUserid);
  103. //删除后的values
  104. let userIds = this.listData.map(item => item.userId);
  105. let settingValues = userIds.join(',');
  106. this.setDefaultSettingsList.settingValues = settingValues;
  107. //更改后查询
  108. let params = this.setDefaultSettings;
  109. params.setDefaultSettingsList = [this.setDefaultSettingsList];
  110. //删除后刷新
  111. moveReviewerEdit(params).then(res => {
  112. if(res.code === 200){
  113. this.getList();
  114. this.selectedItemUserid ="";
  115. }
  116. })
  117. }
  118. },
  119. choiceUser(){ //添加按钮
  120. this.$refs.shrPopup.showPopup();
  121. },
  122. getSendData(res){ //添加人后刷新list
  123. //settingValues有值,userid拼接逗号
  124. let userId = res.selectData.userId;
  125. if( this.setDefaultSettingsList.settingValues && this.setDefaultSettingsList.settingValues.length>0 && userId!=undefined && userId!=null && userId!=""){
  126. userId = ','+userId
  127. }
  128. //userid有值,添加到settingValues
  129. if(userId){
  130. this.setDefaultSettingsList.settingValues += userId;
  131. }
  132. let params = this.setDefaultSettings;
  133. params.setDefaultSettingsList = [this.setDefaultSettingsList];
  134. //添加后刷新
  135. moveReviewerEdit(params).then(res => {
  136. if(res.code === 200){
  137. this.getList();
  138. }
  139. })
  140. },
  141. async getList(){
  142. let userids = "";
  143. await getMoveReviewerList().then(res => {
  144. if(res.code === 200){
  145. if(res && res.rows && res.rows[0] && res.rows[0].setDefaultSettings){
  146. if(res.rows[0].setDefaultSettings.settingFlag == "审核人"){
  147. this.setDefaultSettingsList = res.rows[0].setDefaultSettings;
  148. userids = res.rows[0].setDefaultSettings.settingValues;
  149. }
  150. }
  151. }
  152. });
  153. if(userids){
  154. let params = {
  155. status: '0', //(固定)
  156. params: {
  157. userids: userids,
  158. limit: 200
  159. }
  160. }
  161. await listUser(params).then(res => {
  162. if(res.code === 200){
  163. this.listData = res.rows;
  164. }
  165. })
  166. }
  167. },
  168. goProDetail(item){
  169. try{
  170. this.selectedItemUserid = item.userId;
  171. }catch{
  172. this.selectedItemUserid = "";
  173. }
  174. },
  175. handleBack(){
  176. uni.showModal({
  177. title: '提示',
  178. content: '确认返回?',
  179. success: function (res) {
  180. if (res.confirm) {
  181. uni.navigateBack();
  182. } else if (res.cancel) {
  183. }
  184. }
  185. });
  186. },
  187. getItemStyle(item) {
  188. // 根据 item.userId 是否与 selectedItemUserid 相等来返回不同的样式对象
  189. return item.userId === this.selectedItemUserid ? { backgroundColor: '#f8edb8' } : {};
  190. },
  191. }
  192. }
  193. </script>
  194. <style lang="less">
  195. @import "@/static/scss/stock.css";
  196. </style>