浏览代码

Merge remote-tracking branch 'origin/dev-security' into dev-security

liuwenxun 4 年之前
父节点
当前提交
0ef80dba26

+ 62 - 59
security-protection-platform/src/modules/attendance/components/AttendanceDialog/index.vue

28
        </div>
28
        </div>
29
      </div>
29
      </div>
30
    </div>
30
    </div>
31
    <div slot="footer" class="modal-foot">
32
      <t-button @click="_visibled=false">关闭</t-button>
33
    </div>
31
    <attrndance-calendar :range="data.range" :data="data.detail" />
34
    <attrndance-calendar :range="data.range" :data="data.detail" />
32
  </t-modal>
35
  </t-modal>
33
</template>
36
</template>
44
    },
47
    },
45
    data: {
48
    data: {
46
      type: Object,
49
      type: Object,
47
      default() {
50
      default () {
48
        return {}
51
        return {}
49
      }
52
      }
50
    },
53
    },
53
      default: true
56
      default: true
54
    }
57
    }
55
  },
58
  },
56
  data() {
59
  data () {
57
    return {
60
    return {
58
61
59
    }
62
    }
60
  },
63
  },
61
  computed: {
64
  computed: {
62
    _visibled: {
65
    _visibled: {
63
      get() {
66
      get () {
64
        return this.visibled
67
        return this.visibled
65
      },
68
      },
66
      set(val) {
69
      set (val) {
67
        this.$emit('update:visibled', val)
70
        this.$emit('update:visibled', val)
68
      }
71
      }
69
    },
72
    },
70
    attendanceTime() {
73
    attendanceTime () {
71
      const dateStart = this.data.range ? this.data.range[0] : Date.now()
74
      const dateStart = this.data.range ? this.data.range[0] : Date.now()
72
      const dateEnd = this.data.range ? this.data.range[1] : Date.now()
75
      const dateEnd = this.data.range ? this.data.range[1] : Date.now()
73
      return `${formatDateTime(new Date(dateStart), 'yyyy-MM-dd')} ~ ${formatDateTime(new Date(dateEnd), 'yyyy-MM-dd')}`
76
      return `${formatDateTime(new Date(dateStart), 'yyyy-MM-dd')} ~ ${formatDateTime(new Date(dateEnd), 'yyyy-MM-dd')}`
77
</script>
80
</script>
78
81
79
<style lang="scss">
82
<style lang="scss">
80
.modal-state{
83
.modal-state {
81
  margin-top: 22px;
84
  margin-top: 22px;
82
  display: flex;
85
  display: flex;
83
  margin-left: auto;
86
  margin-left: auto;
84
  align-items: center;
87
  align-items: center;
85
  .square-differ{
88
  .square-differ {
86
    margin-left: 20px;
89
    margin-left: 20px;
87
    width: 12px;
90
    width: 12px;
88
    height: 12px;
91
    height: 12px;
89
    background-color: rgba(237, 163, 15, 0.1);
92
    background-color: rgba(237, 163, 15, 0.1);
90
  }
93
  }
91
  .square{
94
  .square {
92
    width: 12px;
95
    width: 12px;
93
    height: 12px;
96
    height: 12px;
94
    background-color: #ffffff;
97
    background-color: #ffffff;
95
    border: 1px solid rgba(232, 232, 232, 1);
98
    border: 1px solid rgba(232, 232, 232, 1);
96
  }
99
  }
97
}
100
}
98
.modal-head{
101
.modal-head {
99
  display: flex;
102
  display: flex;
100
  margin-bottom: 24px;
103
  margin-bottom: 24px;
101
  .modal-head-left{
104
  .modal-head-left {
102
    width: 256px;
105
    width: 256px;
103
    margin-left: 4px;
106
    margin-left: 4px;
104
    height: 114px;
107
    height: 114px;
105
    display: flex;
108
    display: flex;
106
    align-items: center;
109
    align-items: center;
107
    .modal-img{
108
      width:72px;
109
      height:72px;
110
    .modal-img {
111
      width: 72px;
112
      height: 72px;
110
    }
113
    }
111
    .modal-detail{
114
    .modal-detail {
112
      margin-left: 16px;
115
      margin-left: 16px;
113
      display: flex;
116
      display: flex;
114
      flex-direction: column;
117
      flex-direction: column;
115
      .modal-head-txt{
116
        .head-name-txt
117
        {
118
        margin-bottom: 12px;
119
        font-size: 14px;
118
      .modal-head-txt {
119
        .head-name-txt {
120
          margin-bottom: 12px;
121
          font-size: 14px;
120
        }
122
        }
121
        width: 120px;
123
        width: 120px;
122
        font-size: 14px;
124
        font-size: 14px;
123
        color: rgba(0, 0, 0, 0.45);
125
        color: rgba(0, 0, 0, 0.45);
124
      }
126
      }
125
      .head-name-txt{
127
      .head-name-txt {
126
        font-weight: 600;
128
        font-weight: 600;
127
        margin-bottom: 12px;
129
        margin-bottom: 12px;
128
        font-size: 14px;
130
        font-size: 14px;
129
        color: rgba(0, 0, 0, 0.65);
131
        color: rgba(0, 0, 0, 0.65);
130
      }
132
      }
131
    }
133
    }
132
    .divice-line{
134
    .divice-line {
133
      width: 1px;
135
      width: 1px;
134
      margin-left: 24px;
136
      margin-left: 24px;
135
      background-color: #E8E8E8;
137
      background-color: #e8e8e8;
136
      height: 114px;
138
      height: 114px;
137
    }
139
    }
138
  }
140
  }
139
}
141
}
140
141
.modal-head-right{
142
.modal-foot {
143
  padding-right: 10px;
144
}
145
.modal-head-right {
142
  display: flex;
146
  display: flex;
143
  width: 100%;
147
  width: 100%;
144
  .leaveTime{
148
  .leaveTime {
145
    display: flex;
149
    display: flex;
146
    flex-direction: column;
150
    flex-direction: column;
147
    margin-top: 46px;
151
    margin-top: 46px;
148
    .modal-head-txt{
149
      .head-name-txt{
150
      margin-bottom: 12px;
151
      font-size: 14px;
152
      color: rgba(0, 0, 0, 0.65);
152
    .modal-head-txt {
153
      .head-name-txt {
154
        margin-bottom: 12px;
155
        font-size: 14px;
156
        color: rgba(0, 0, 0, 0.65);
153
      }
157
      }
154
      font-size: 14px;
158
      font-size: 14px;
155
      color: rgba(0, 0, 0, 0.45);
159
      color: rgba(0, 0, 0, 0.45);
156
      margin-top: 24px;
160
      margin-top: 24px;
157
    }
161
    }
158
    .modal-head-top{
159
      .head-name-txt
160
      {
161
      margin-bottom: 12px;
162
      font-size: 14px;
163
      color: rgba(0, 0, 0, 0.65);
162
    .modal-head-top {
163
      .head-name-txt {
164
        margin-bottom: 12px;
165
        font-size: 14px;
166
        color: rgba(0, 0, 0, 0.65);
164
      }
167
      }
165
      font-size: 14px;
168
      font-size: 14px;
166
      color: rgba(0, 0, 0, 0.45);
169
      color: rgba(0, 0, 0, 0.45);
167
    }
170
    }
168
  }
171
  }
169
  .absenteeism{
172
  .absenteeism {
170
    display: flex;
173
    display: flex;
171
    flex-direction: column;
174
    flex-direction: column;
172
    margin-left: auto;
175
    margin-left: auto;
173
    .modal-head-txt{
174
      .head-name-txt{
175
      margin-bottom: 12px;
176
      font-size: 14px;
177
      color: rgba(0, 0, 0, 0.65);
176
    .modal-head-txt {
177
      .head-name-txt {
178
        margin-bottom: 12px;
179
        font-size: 14px;
180
        color: rgba(0, 0, 0, 0.65);
178
      }
181
      }
179
      font-size: 14px;
182
      font-size: 14px;
180
      color: rgba(0, 0, 0, 0.45);
183
      color: rgba(0, 0, 0, 0.45);
181
      margin-top: 24px;
184
      margin-top: 24px;
182
    }
185
    }
183
    .modal-head-top{
184
      .head-name-txt{
185
      margin-bottom: 12px;
186
      font-size: 14px;
187
      color: rgba(0, 0, 0, 0.65);
188
    }
186
    .modal-head-top {
187
      .head-name-txt {
188
        margin-bottom: 12px;
189
        font-size: 14px;
190
        color: rgba(0, 0, 0, 0.65);
191
      }
189
      font-size: 14px;
192
      font-size: 14px;
190
      color: rgba(0, 0, 0, 0.45);
193
      color: rgba(0, 0, 0, 0.45);
191
    }
194
    }
192
  }
195
  }
193
  .keep-column{
196
  .keep-column {
194
    display: flex;
197
    display: flex;
195
    flex-direction: column;
198
    flex-direction: column;
196
    margin-left: 24px;
199
    margin-left: 24px;
197
    .modal-head-txt{
198
      .head-name-txt{
199
      margin-bottom: 12px;
200
      font-size: 14px;
201
      color: rgba(0, 0, 0, 0.65);
200
    .modal-head-txt {
201
      .head-name-txt {
202
        margin-bottom: 12px;
203
        font-size: 14px;
204
        color: rgba(0, 0, 0, 0.65);
202
      }
205
      }
203
      font-size: 14px;
206
      font-size: 14px;
204
      color: rgba(0, 0, 0, 0.45);
207
      color: rgba(0, 0, 0, 0.45);
205
      margin-top: 24px;
208
      margin-top: 24px;
206
    }
209
    }
207
    .modal-head-top{
208
      .head-name-txt{
209
      margin-bottom: 12px;
210
      font-size: 14px;
211
      color: rgba(0, 0, 0, 0.65);
210
    .modal-head-top {
211
      .head-name-txt {
212
        margin-bottom: 12px;
213
        font-size: 14px;
214
        color: rgba(0, 0, 0, 0.65);
212
      }
215
      }
213
      font-size: 14px;
216
      font-size: 14px;
214
      color: rgba(0, 0, 0, 0.45);
217
      color: rgba(0, 0, 0, 0.45);

+ 1 - 1
security-protection-platform/src/modules/system/attendance/components/SchedulePanel/ShiftDialog.vue

31
31
32
    <div slot="footer">
32
    <div slot="footer">
33
      <t-button @click="visibled=false">取消</t-button>
33
      <t-button @click="visibled=false">取消</t-button>
34
      <t-button :loading="loadingSubmit" type="primary" @click="handleSubmit">保存</t-button>
34
      <t-button :loading="loadingSubmit" color="primary" @click="handleSubmit">保存</t-button>
35
    </div>
35
    </div>
36
  </t-modal>
36
  </t-modal>
37
</template>
37
</template>

+ 3 - 1
security-protection-platform/src/modules/system/attendance/components/SchedulePanel/index.vue

1
<template>
1
<template>
2
  <div>
2
  <div>
3
    <t-loading v-model="loading" />
3
    <t-loading v-model="loading" />
4
    <t-button color="primary" style="margin-bottom:30px;" @click="handleCreate">新增</t-button>
4
    <t-button color="primary" style="margin-bottom:30px;" @click="handleCreate">
5
      <t-icon icon="plus-circle-outline" size="16"></t-icon> 新增
6
    </t-button>
5
    <div class="schedule-card-block">
7
    <div class="schedule-card-block">
6
      <schedule-card v-for="item in schedules" :key="item.scheduleId" :data="item" @edit="handleEdit" @deleted="flushPage()" />
8
      <schedule-card v-for="item in schedules" :key="item.scheduleId" :data="item" @edit="handleEdit" @deleted="flushPage()" />
7
      <div v-if="!loading && schedules.length === 0" class="schedule-card-block__empty">点击 “新增” 按钮增加班次</div>
9
      <div v-if="!loading && schedules.length === 0" class="schedule-card-block__empty">点击 “新增” 按钮增加班次</div>

+ 1 - 1
security-protection-platform/src/modules/workorder/components/modal/workorderinfomodal.vue

15
    </div>
15
    </div>
16
    <div v-if="status" class="approval-info row">
16
    <div v-if="status" class="approval-info row">
17
      <div class="col-6">审批人:<span>{{ data.approver }}</span></div>
17
      <div class="col-6">审批人:<span>{{ data.approver }}</span></div>
18
      <div class="col-6">审批结果:<span>{{ data.result==='0'?'失败':'成功' }}</span></div>
18
      <div class="col-6">审批结果:<span>{{ data.result==='0'?'拒绝':'同意' }}</span></div>
19
      <div class="col-12">审批时间:<span>{{ data.approveTime }}</span></div>
19
      <div class="col-12">审批时间:<span>{{ data.approveTime }}</span></div>
20
      <div class="col-12">审批意见:<span>{{ data.comments }}</span></div>
20
      <div class="col-12">审批意见:<span>{{ data.comments }}</span></div>
21
    </div>
21
    </div>