You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
124 lines
8.5 KiB
Plaintext
124 lines
8.5 KiB
Plaintext
<!--pages/detail/detail.wxml-->
|
|
<view class="container">
|
|
<view class="content">
|
|
<view class="top">
|
|
<text class="title">任务内容</text>
|
|
<text class="tips">管理员 发布于 {{task.createDateTime}}</text>
|
|
</view>
|
|
<t-cell title="任务名称" description="{{task.jtTaskName}}" />
|
|
<t-cell title="任务说明" description="{{task.jtTaskIntroduction}}" />
|
|
<t-cell title="要求完成时间" description="{{task.jtTaskDeadline}}" />
|
|
<t-cell title="上传方式" description="{{task.completionMethod == 1 ? '语音' : task.completionMethod == 2 ? '图片' : '不限'}}" />
|
|
<t-cell title="图片">
|
|
<view slot="description">
|
|
<t-image wx:for="{{imageList}}" t-class="image" src="{{item}}" data-images="{{imageList}}" data-index="{{index}}" mode="aspectFill" width="72" height="72" bindtap="clickHandle" />
|
|
</view>
|
|
</t-cell>
|
|
</view>
|
|
<view class="content" wx:if="{{user.jtRoleCode == 'admin'}}">
|
|
<view class="top">
|
|
<text class="title">完成情况</text>
|
|
</view>
|
|
<view class="table">
|
|
<view class="table-header">
|
|
<text class="table-cell">班组</text>
|
|
<text class="table-cell-large">总人数/完成数/未完成数</text>
|
|
<text class="table-cell">完成率</text>
|
|
</view>
|
|
<view class="table-row" wx:for="{{completionRate}}" data-id="{{item.teamId}}" bindtap="goDetail">
|
|
<view class="table-cell" style="color: {{item.feedback >= 1 ? 'red' : '#000'}};">{{item.teamName}}</view>
|
|
<view class="table-cell-large">{{item.totalCount}} / <text class="green">{{item.finishCount}}</text> / <text class="red">{{item.incomplete}}</text></view>
|
|
<view class="table-cell">{{item.completionRate}}%</view>
|
|
<t-icon t-class="row-icon" name="chevron-right" size="40rpx" />
|
|
</view>
|
|
<view class="table-row-calc">
|
|
<text class="table-cell">合计</text>
|
|
<text class="table-cell-large">{{calcTotal}} / <text class="green">{{calcFinish}}</text> / <text class="red">{{calcTotal - calcFinish}}</text></text>
|
|
<text class="table-cell">{{calcFinishRate}}%</text>
|
|
</view>
|
|
</view>
|
|
</view>
|
|
|
|
<view class="content" wx:if="{{user.jtRoleCode != 'admin' && isSubmit}}">
|
|
<view class="top">
|
|
<text class="title">执行</text>
|
|
</view>
|
|
<text style="font-size: 32rpx;margin-left: 20rpx;" wx:if="{{isSubmit}}">{{task.completionMethod == 1 ? '上传录音': task.completionMethod == 2 ? '上传图片' : '上传图片或录音,二选其一'}}</text>
|
|
<t-tabs value="{{tab2}}" bind:change="onTabs2Change" wx:if="{{isSubmit}}">
|
|
<t-tab-panel wx:for="{{tabs2}}" label="{{item.label}}" value="{{item.value}}" />
|
|
</t-tabs>
|
|
|
|
<view style="padding: 30rpx;" wx:if="{{isSubmit}}">
|
|
<t-upload wx:if="{{tab2 == 1}}" mediaType="{{['image']}}" max="{{6}}" files="{{fileList}}" bind:add="handleAdd" bind:remove="handleRemove">
|
|
</t-upload>
|
|
<view class="recorder" wx:if="{{tab2 == 0}}">
|
|
<view class="progress" wx:if="{{recorderState == 2}}">
|
|
<t-icon wx:if="{{!isPlay}}" color="#0052d9" style="margin-right: 10rpx;" name="play-circle-filled" size="60rpx" bind:click="innerAudioStart" />
|
|
<t-icon wx:if="{{isPlay}}" color="#0052d9" style="margin-right: 10rpx;" name="pause-circle-filled" size="60rpx" bind:click="innerAudioPause" />
|
|
<text style="margin-right: 10rpx;">{{time}}</text>
|
|
<t-slider style="flex: 1;" value="{{percentage}}" step="{{0.1}}" bind:change="handleSliderChange" />
|
|
<text>{{durationTxt}}</text>
|
|
<!-- <t-progress style="flex: 1;" percentage="{{percentage}}" label="{{durationTxt}}" /> -->
|
|
</view>
|
|
<view class="recorder-btn" bindtap="{{recorderState != 1 ? 'recorderStart' : 'recorderStop'}}">
|
|
<view style="width: 100%;margin-bottom: 20rpx;" wx:if="{{recorderState == 1}}">{{time}}/10:00</view>
|
|
<t-image src="/assets/microphone.png" wx:if="{{recorderState != 1}}" data-index="{{index}}" mode="aspectFill" width="40" height="40" />
|
|
<t-icon name="pause-circle-filled" wx:if="{{recorderState == 1}}" size="40" color="#0052d9" />
|
|
<view wx:if="{{recorderState != 1}}" style="width: 100%;margin-top: 20rpx;font-size: 34rpx;">{{recorderState == 2 ? '重新录制' : '点击开始录制'}}</view>
|
|
<view wx:if="{{recorderState == 1}}" style="width: 100%;margin-top: 20rpx;font-size: 34rpx;">结束录音</view>
|
|
</view>
|
|
</view>
|
|
<view style="display: flex;padding-left: 32rpx;align-items: center; background-color: #fff;">
|
|
<text class="my-label">结果反馈</text>
|
|
<t-radio-group value="{{feedback}}" bind:change="onChange" borderless t-class="box">
|
|
<t-radio block="{{false}}" label="是" value="{{1}}" />
|
|
<t-radio block="{{false}}" label="否" value="{{2}}" />
|
|
</t-radio-group>
|
|
</view>
|
|
<t-textarea name="tips" value="{{remark}}" bind:change="handleChange" disableDefaultPadding="{{true}}" autosize>
|
|
<text class="my-label" slot="label">备注</text>
|
|
</t-textarea>
|
|
</view>
|
|
<view class="bottom" wx:if="{{isSubmit}}">
|
|
<t-button theme="primary" shape="round" bindtap="submit" block>提交</t-button>
|
|
</view>
|
|
<view style="text-align: center;padding: 30rpx;" wx:if="{{!isSubmit}}">
|
|
<view class="progress" wx:if="{{taskDone.jtType == 1}}">
|
|
<t-icon wx:if="{{!isPlay}}" color="#0052d9" style="margin-right: 10rpx;" name="play-circle-filled" size="60rpx" bind:click="innerAudioStart" />
|
|
<t-icon wx:if="{{isPlay}}" color="#0052d9" style="margin-right: 10rpx;" name="pause-circle-filled" size="60rpx" bind:click="innerAudioPause" />
|
|
<text style="margin-right: 10rpx;">{{time}}</text>
|
|
<t-progress style="flex: 1;" percentage="{{percentage}}" label="{{durationTxt}}" />
|
|
</view>
|
|
<view wx:if="{{taskDone.jtType == 2}}">
|
|
<t-image wx:for="{{taskDone.imageUrls}}" t-class="image" src="{{item}}" data-images="{{taskDone.imageUrls}}" data-index="{{index}}" mode="aspectFill" width="72" height="72" bindtap="clickHandle" />
|
|
</view>
|
|
</view>
|
|
</view>
|
|
|
|
<view class="content" wx:if="{{user.jtRoleCode == 'leader'}}">
|
|
<view class="top">
|
|
<text class="title">完成情况</text>
|
|
</view>
|
|
<t-tabs value="{{tab}}" bind:change="onTabsChange">
|
|
<t-tab-panel wx:for="{{tabs}}" label="{{item}}" value="{{index}}" />
|
|
</t-tabs>
|
|
<view style="padding-bottom: 100rpx;">
|
|
<view class="list" wx:for="{{sendList}}">
|
|
<t-cell note="{{tab == 0 ? '提交时间:' + item.updateDateTime : item.jtTeamName}}" bordered="{{false}}">
|
|
<text style="color: {{item.feedback === 1 ? 'red' : '#000'}};" slot="title">{{item.jtUserName}}</text>
|
|
</t-cell>
|
|
<view class="progress" wx:if="{{item.jtType == 1 && tab == 0}}">
|
|
<t-icon wx:if="{{!item.isPlay}}" color="#0052d9" style="margin-right: 10rpx;" name="play-circle-filled" size="60rpx" data-index="{{index}}" bind:click="innerAudioRowStart" />
|
|
<t-icon wx:if="{{item.isPlay}}" color="#0052d9" style="margin-right: 10rpx;" name="stop-circle-filled" size="60rpx" data-index="{{index}}" bind:click="innerAudioRowStop" />
|
|
<text style="margin-right: 10rpx;">{{item.time}}</text>
|
|
<t-slider style="flex: 1;" value="{{item.percentage}}" step="{{0.1}}" data-index="{{index}}" bind:change="handleSliderRowChange" />
|
|
<text>{{item.durationTxt}}</text>
|
|
</view>
|
|
<view style="width: 100%;" wx:if="{{item.jtType != 1 && tab == 0}}">
|
|
<t-image wx:for="{{item.imageUrls}}" wx:for-item="subItem" wx:for-index="subIndex" style="float: left;margin-left: 20rpx;margin-bottom: 30rpx;" src="{{subItem}}" data-images="{{item.imageUrls}}" data-index="{{subIndex}}" mode="aspectFill" width="72" height="72" bindtap="clickHandle" />
|
|
</view>
|
|
</view>
|
|
</view>
|
|
|
|
</view>
|
|
</view> |