@zscreate/zhxy-app-component 1.0.215 → 1.0.216

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,128 +1,128 @@
1
- <script>
2
- import FullModal from "../../fullModal/fullModal.vue";
3
-
4
- export default {
5
- name: "responsibility",
6
- props: {
7
- value: {
8
- type: String,
9
- default: ''
10
- },
11
- widget: {
12
- type: Object,
13
- default: () => ({})
14
- },
15
- },
16
- components: {FullModal},
17
- data() {
18
- return {
19
- countDown: 0,
20
- force: false,
21
- clearTimeout: null,
22
- dataModel: false,
23
- isShow: false,
24
- }
25
- },
26
- watch: {
27
- value: {
28
- handler(val) {
29
- if (!val) return this.dataModel = false
30
- this.dataModel = true
31
- },
32
- immediate: true
33
- },
34
- dataModel(val) {
35
- this.$emit('input', val ? true : '')
36
- this.$emit('change', val ? true: '')
37
- },
38
- },
39
- methods: {
40
- handleClick() {
41
- if (this.widget.options.disabled) {
42
- this.isShow = true
43
- return
44
- }
45
- this.isShow = true
46
- this.countDown = 0
47
- clearInterval(this.clearTimeout)
48
- if (this.widget.options.force) {
49
- this.countDown = this.widget.options.countDown
50
- this.clearTimeout = setInterval(() => {
51
- if (this.countDown < 0) {
52
- clearInterval(this.clearTimeout)
53
- }
54
- this.countDown -= 1
55
- }, 1000)
56
- }
57
- },
58
- confirm() {
59
- if (this.countDown <= 0) {
60
- this.dataModel = true
61
- this.isShow = false
62
- }
63
- },
64
- cancel() {
65
- this.isShow = false
66
- this.dataModel = false
67
- clearInterval(this.clearTimeout)
68
- },
69
- handleCheck() {
70
- const { disabled, force} = this.widget.options
71
- if (disabled) return
72
- if (force && !disabled) {
73
- if (this.dataModel) return this.dataModel = false
74
- return this.handleClick()
75
- }
76
- this.dataModel = !this.dataModel
77
- },
78
- change(e) {
79
- console.log(e)
80
- },
81
- disabledScroll() {
82
- return
83
- }
84
- }
85
- }
86
- </script>
87
-
88
- <template>
89
- <view>
90
- <full-modal v-model="isShow">
91
- <view style="height: 100%; background-color: #fff" @touchmove.stop.prevent="disabledScroll">
92
- <scroll-view scroll-y="true" style="height: calc(100% - 100rpx); " >
93
- <view style="padding: 20rpx 40rpx;">
94
- <rich-text :nodes="widget.options.content" style="text-align: left"></rich-text>
95
- </view>
96
- <view v-if="!widget.options.disabled" style="display: flex; padding: 20rpx; margin-bottom: 20rpx; justify-content: center">
97
- <button @click="confirm" type="primary" style="margin-right: 10px; border-radius: 10rpx; padding: 0 20px; height: 60rpx; line-height: 60rpx; font-size: 26rpx" :disabled="widget.options.force && countDown > 0">我同意 <text v-if="widget.options.force && countDown > 0">({{ countDown }}s)</text></button>
98
- <button style="height: 60rpx; line-height: 60rpx; font-size: 26rpx; border-radius: 10rpx; color: #333" @click="cancel">不同意</button>
99
- </view>
100
- <view v-else style="display: flex; justify-content: center; align-items: center">
101
- <button @click="isShow = false" type="primary" style="margin-bottom: 20px; border-radius: 10rpx; padding: 0 20px; height: 60rpx; line-height: 60rpx; font-size: 26rpx; " >关闭</button>
102
- </view>
103
- </scroll-view>
104
- </view>
105
- </full-modal>
106
- <view class="responsibility_check" >
107
- <view @click.stop="handleCheck">
108
- <label>
109
- <checkbox :disabled="widget.options.disabled" :readonly="widget.options.disabled" v-if="!isShow" :checked="dataModel" color="#007AFF" style="transform: scale(0.8,0.8);"/>
110
- </label>
111
- </view>
112
- <view class="option-font-size" @click.stop="handleClick">{{ widget.options.title }}</view>
113
-
114
- </view>
115
- </view>
116
-
117
- </template>
118
-
119
- <style lang="less">
120
- .responsibility_check {
121
- display: flex;
122
- align-items: center;
123
- /deep/ .uni-checkbox-input {
124
- width: 18px;
125
- height: 18px;
126
- }
127
- }
1
+ <script>
2
+ import FullModal from "../../fullModal/fullModal.vue";
3
+
4
+ export default {
5
+ name: "responsibility",
6
+ props: {
7
+ value: {
8
+ type: String,
9
+ default: ''
10
+ },
11
+ widget: {
12
+ type: Object,
13
+ default: () => ({})
14
+ },
15
+ },
16
+ components: {FullModal},
17
+ data() {
18
+ return {
19
+ countDown: 0,
20
+ force: false,
21
+ clearTimeout: null,
22
+ dataModel: false,
23
+ isShow: false,
24
+ }
25
+ },
26
+ watch: {
27
+ value: {
28
+ handler(val) {
29
+ if (!val) return this.dataModel = false
30
+ this.dataModel = true
31
+ },
32
+ immediate: true
33
+ },
34
+ dataModel(val) {
35
+ this.$emit('input', val ? true : '')
36
+ this.$emit('change', val ? true: '')
37
+ },
38
+ },
39
+ methods: {
40
+ handleClick() {
41
+ if (this.widget.options.disabled) {
42
+ this.isShow = true
43
+ return
44
+ }
45
+ this.isShow = true
46
+ this.countDown = 0
47
+ clearInterval(this.clearTimeout)
48
+ if (this.widget.options.force) {
49
+ this.countDown = this.widget.options.countDown
50
+ this.clearTimeout = setInterval(() => {
51
+ if (this.countDown < 0) {
52
+ clearInterval(this.clearTimeout)
53
+ }
54
+ this.countDown -= 1
55
+ }, 1000)
56
+ }
57
+ },
58
+ confirm() {
59
+ if (this.countDown <= 0) {
60
+ this.dataModel = true
61
+ this.isShow = false
62
+ }
63
+ },
64
+ cancel() {
65
+ this.isShow = false
66
+ this.dataModel = false
67
+ clearInterval(this.clearTimeout)
68
+ },
69
+ handleCheck() {
70
+ const { disabled, force} = this.widget.options
71
+ if (disabled) return
72
+ if (force && !disabled) {
73
+ if (this.dataModel) return this.dataModel = false
74
+ return this.handleClick()
75
+ }
76
+ this.dataModel = !this.dataModel
77
+ },
78
+ change(e) {
79
+ console.log(e)
80
+ },
81
+ disabledScroll() {
82
+ return
83
+ }
84
+ }
85
+ }
86
+ </script>
87
+
88
+ <template>
89
+ <view>
90
+ <full-modal v-model="isShow">
91
+ <view style="height: 100%; background-color: #fff" @touchmove.stop.prevent="disabledScroll">
92
+ <scroll-view scroll-y="true" style="height: calc(100% - 100rpx); " >
93
+ <view style="padding: 20rpx 40rpx;">
94
+ <rich-text :nodes="widget.options.content" style="text-align: left"></rich-text>
95
+ </view>
96
+ <view v-if="!widget.options.disabled" style="display: flex; padding: 20rpx; margin-bottom: 20rpx; justify-content: center">
97
+ <button @click="confirm" type="primary" style="margin-right: 10px; border-radius: 10rpx; padding: 0 20px; height: 60rpx; line-height: 60rpx; font-size: 26rpx" :disabled="widget.options.force && countDown > 0">我同意 <text v-if="widget.options.force && countDown > 0">({{ countDown }}s)</text></button>
98
+ <button style="height: 60rpx; line-height: 60rpx; font-size: 26rpx; border-radius: 10rpx; color: #333" @click="cancel">不同意</button>
99
+ </view>
100
+ <view v-else style="display: flex; justify-content: center; align-items: center">
101
+ <button @click="isShow = false" type="primary" style="margin-bottom: 20px; border-radius: 10rpx; padding: 0 20px; height: 60rpx; line-height: 60rpx; font-size: 26rpx; " >关闭</button>
102
+ </view>
103
+ </scroll-view>
104
+ </view>
105
+ </full-modal>
106
+ <view class="responsibility_check" >
107
+ <view @click.stop="handleCheck">
108
+ <label>
109
+ <checkbox :disabled="widget.options.disabled" :readonly="widget.options.disabled" v-if="!isShow" :checked="dataModel" color="#007AFF" style="transform: scale(0.8,0.8);"/>
110
+ </label>
111
+ </view>
112
+ <view class="option-font-size" @click.stop="handleClick">{{ widget.options.title }}</view>
113
+
114
+ </view>
115
+ </view>
116
+
117
+ </template>
118
+
119
+ <style lang="less">
120
+ .responsibility_check {
121
+ display: flex;
122
+ align-items: center;
123
+ /deep/ .uni-checkbox-input {
124
+ width: 18px;
125
+ height: 18px;
126
+ }
127
+ }
128
128
  </style>
@@ -31,8 +31,11 @@
31
31
  <u-tr v-for="user in roleUserList" :key="user.id">
32
32
  <u-td width="50px" >
33
33
  <view style="min-width: 33px;">
34
- <u-checkbox v-model="user.checked" @change="handleCheck" :name="user.id" >
34
+ <u-checkbox v-model="user.checked" @change="handleCheck" :name="user.id" v-if="multiple">
35
35
  </u-checkbox>
36
+ <u-radio-group v-model="radioItem" v-else>
37
+ <u-radio @change="handleCheckRadio" :name="user.id" class="table-radio"></u-radio>
38
+ </u-radio-group>
36
39
  </view>
37
40
  </u-td>
38
41
  <u-td style="flex: 1"><view>{{ user.realname }}</view></u-td>
@@ -60,6 +63,7 @@ export default {
60
63
  data() {
61
64
  return {
62
65
  roleSelectShow: false,
66
+ radioItem: '',
63
67
  rolesList: [],
64
68
  roleUserList: [],
65
69
  currValue: [],
@@ -102,6 +106,7 @@ export default {
102
106
  this.role = widget.options.role
103
107
  this.multiple = widget.options.multiple
104
108
  this.currValue = cloneObj(value || [])
109
+ if(!this.multiple) this.radioItem = this.currValue[0].id
105
110
  this.$u.get('/sys/role/list', {
106
111
  pageNo: 1,
107
112
  pageSize: 100000,
@@ -122,6 +127,17 @@ export default {
122
127
  return item.checked
123
128
  }).length === len
124
129
  },
130
+ handleCheckRadio(e) {
131
+ this.radioItem = e
132
+ console.log(e,this.radioItem)
133
+ this.roleUserList.forEach(item => item.checked = false)
134
+ this.roleUserList.forEach(item => {
135
+ if(item.id === e) {
136
+ item.checked = true
137
+ this.currValue = [item]
138
+ }
139
+ })
140
+ },
125
141
  handleCheck({value , name}) {
126
142
  console.log(value, name)
127
143
  if (!this.multiple) {
@@ -215,6 +231,9 @@ export default {
215
231
  /deep/ .u-checkbox__label {
216
232
  display: none !important;
217
233
  }
234
+ /deep/ .table-radio .u-radio__label {
235
+ display: none !important;
236
+ }
218
237
  .role-select-body {
219
238
  display: flex;
220
239
  flex-direction: column;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zscreate/zhxy-app-component",
3
- "version": "1.0.215",
3
+ "version": "1.0.216",
4
4
  "private": false,
5
5
  "description": "zhxy-app-component",
6
6
  "main": "index.js",
@@ -1,15 +0,0 @@
1
- import {toAwait} from "../../../utils/util";
2
- import Vue from 'vue'
3
- export default {
4
- methods: {
5
- async getOpenId() {
6
- let openId = Vue.prototype._openId
7
- if (openId) return Promise.resolve(openId)
8
-
9
- const [ err , res ] = await toAwait(this.$u.get('/sys/user/getUserPublicOpenId'))
10
- openId = await this.$async_encryption(res.result)
11
- Vue.prototype._openId = openId
12
- return openId
13
- },
14
- }
15
- }