diff --git a/client/src/api/task.js b/client/src/api/task.js
index 4948c2d..c28950a 100644
--- a/client/src/api/task.js
+++ b/client/src/api/task.js
@@ -96,4 +96,11 @@ export function getmytasklist(query) {
method: 'get',
params: query
})
+}
+
+export function confirmTaskdept(id) {
+ return request({
+ url: `/supervision/taskdept/${id}/confirm/`,
+ method: 'put'
+ })
}
\ No newline at end of file
diff --git a/client/src/views/supervision/taskdo.vue b/client/src/views/supervision/taskdo.vue
index b36146c..83a8725 100644
--- a/client/src/views/supervision/taskdo.vue
+++ b/client/src/views/supervision/taskdo.vue
@@ -124,6 +124,25 @@
{{ scope.row.confirm_rate }}%
+
+
+ 确认
+
+
@@ -309,7 +328,7 @@
}
diff --git a/client_mp/pages.json b/client_mp/pages.json
index d2c52dc..7ff9890 100644
--- a/client_mp/pages.json
+++ b/client_mp/pages.json
@@ -11,6 +11,15 @@
// }]
// },
"pages": [
+ {
+ "path" : "pages/login/login",
+ "style" :
+ {
+ "navigationBarTitleText": "验证码登录",
+ "enablePullDownRefresh": false
+ }
+
+ },
{
"path" : "pages/home/home",
"style" :
@@ -28,15 +37,6 @@
"enablePullDownRefresh": false
}
- }
- ,{
- "path" : "pages/login/login",
- "style" :
- {
- "navigationBarTitleText": "验证码登录",
- "enablePullDownRefresh": false
- }
-
}
,{
"path" : "pages/login/login_password",
diff --git a/client_mp/pages/inspectrecord/recorddetail.vue b/client_mp/pages/inspectrecord/recorddetail.vue
index d752926..cead268 100644
--- a/client_mp/pages/inspectrecord/recorddetail.vue
+++ b/client_mp/pages/inspectrecord/recorddetail.vue
@@ -20,7 +20,7 @@
+ width="260rpx" height="260rpx" :src="item" v-for="(item, index) in fileList" v-bind:key="index" style="margin: 2rpx;">
diff --git a/client_mp/store/index.js b/client_mp/store/index.js
index 5860176..6ece716 100644
--- a/client_mp/store/index.js
+++ b/client_mp/store/index.js
@@ -34,12 +34,12 @@ const store = new Vuex.Store({
vuex_user: lifeData.vuex_user ? lifeData.vuex_user : {},
vuex_token: lifeData.vuex_token ? lifeData.vuex_token : '',
// vuex_host: 'http://127.0.0.1:8000',
- // vuex_api: 'http://127.0.0.1:8000/api',
- // vuex_apifile: 'http://127.0.0.1:8000/api/file/',
+ vuex_api: 'http://127.0.0.1:8000/api',
+ vuex_apifile: 'http://127.0.0.1:8000/api/file/',
vuex_host: 'https://testsearch.ctc.ac.cn',
- vuex_api: 'https://testsearch.ctc.ac.cn/api',
- vuex_apifile: 'https://testsearch.ctc.ac.cn/api/file/',
+ // vuex_api: 'https://testsearch.ctc.ac.cn/api',
+ // vuex_apifile: 'https://testsearch.ctc.ac.cn/api/file/',
// 如果vuex_version无需保存到本地永久存储,无需lifeData.vuex_version方式
// vuex_version: '1.0.1',
diff --git a/server/apps/quality/views.py b/server/apps/quality/views.py
index 5854e7b..4ac22f2 100644
--- a/server/apps/quality/views.py
+++ b/server/apps/quality/views.py
@@ -196,7 +196,7 @@ class InspectDeptViewSet(OptimizationMixin, ListModelMixin, RetrieveModelMixin,
if not InspectRecord.objects.filter(dept=obj.dept, subtask=obj.subtask).exists():
for i in InspectItem.objects.filter(is_deleted=False, template=obj.subtask.inspecttask.template):
r = {}
- r['dept'] = obj.dpet
+ r['dept'] = obj.dept
r['item'] = i
r['subtask'] = obj.subtask
r['create_by'] = request.user
diff --git a/server/apps/supervision/urls.py b/server/apps/supervision/urls.py
index 907b470..cbb8155 100644
--- a/server/apps/supervision/urls.py
+++ b/server/apps/supervision/urls.py
@@ -1,12 +1,13 @@
+from apps.supervision.serializers import TaskDeptSerializer
from django.urls import path, include
from rest_framework import routers
-from .views import ContentViewSet, TaskViewSet,RecordViewSet
+from .views import ContentViewSet, TaskViewSet,RecordViewSet, TaskDeptViewSet
router = routers.DefaultRouter()
router.register('content', ContentViewSet, basename="content")
router.register('task', TaskViewSet, basename="task")
router.register('record', RecordViewSet, basename="record")
-
+router.register('taskdept', TaskDeptViewSet, basename="taskdept")
urlpatterns = [
path('', include(router.urls))
]
\ No newline at end of file
diff --git a/server/apps/supervision/views.py b/server/apps/supervision/views.py
index 15efc2e..5f3cd1d 100644
--- a/server/apps/supervision/views.py
+++ b/server/apps/supervision/views.py
@@ -331,3 +331,26 @@ class RecordViewSet(PageOrNot, CreateUpdateCustomMixin, ModelViewSet):
return Response('记录状态错误', status=status.HTTP_400_BAD_REQUEST)
+class TaskDeptViewSet(ModelViewSet):
+ """
+ 任务关联部门 操作
+ """
+ perms_map = {'get': '*', 'post': 'task_update',
+ 'put': 'task_update', 'delete': 'task_update'}
+ queryset = TaskDept.objects.all()
+ serializer_class = TaskDeptSerializer
+ filterset_fields = ['task','dept']
+ ordering = ['dept__sort']
+
+ @action(methods=['put'], detail=True, perms_map = {'put':'record_confirm'})
+ def confirm(self, request, *args, **kwargs):
+ """
+ 批量确认
+ """
+ obj = self.get_object()
+ if obj.up_rate == 100:
+ Record.objects.filter(task=obj.task, belong_dept=obj.dept).update(state='已确认')
+ obj.confirm_rate = 100
+ obj.save()
+ return Response(status=status.HTTP_200_OK)
+ return Response('报送未完成', status=status.HTTP_400_BAD_REQUEST)
\ No newline at end of file
diff --git a/server/apps/system/migrations/0018_auto_20210430_1156.py b/server/apps/system/migrations/0018_auto_20210430_1156.py
new file mode 100644
index 0000000..218b434
--- /dev/null
+++ b/server/apps/system/migrations/0018_auto_20210430_1156.py
@@ -0,0 +1,19 @@
+# Generated by Django 3.0.5 on 2021-04-30 03:56
+
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('system', '0017_userthird'),
+ ]
+
+ operations = [
+ migrations.AlterField(
+ model_name='userthird',
+ name='openid',
+ field=models.CharField(default='xx', max_length=200, unique=True, verbose_name='第三方账号'),
+ preserve_default=False,
+ ),
+ ]
diff --git a/server/apps/system/models.py b/server/apps/system/models.py
index 0afae87..5713fe8 100644
--- a/server/apps/system/models.py
+++ b/server/apps/system/models.py
@@ -229,4 +229,4 @@ class UserThird(models.Model):
user = models.ForeignKey(User, on_delete=models.CASCADE, verbose_name='关联账户', related_name='third_user')
type = models.CharField('类型', max_length=50, choices=type_choices, default='wx_mp')
- openid = models.CharField('第三方账号', null=True, blank=True, max_length=200)
+ openid = models.CharField('第三方账号', max_length=200, unique=True)
diff --git a/server/apps/system/views.py b/server/apps/system/views.py
index 4c2d3a7..85f2e5c 100644
--- a/server/apps/system/views.py
+++ b/server/apps/system/views.py
@@ -315,8 +315,8 @@ class UserViewSet(PageOrNot, ModelViewSet):
'perms': perms,
}
try:
- user = UserThird.objects.get(user=user,type='wx_mp').user
- data['wxmp_openid'] = user.openid
+ usert = UserThird.objects.get(user=user,type='wx_mp')
+ data['wxmp_openid'] = usert.openid
except:
pass
return Response(data)
@@ -343,7 +343,13 @@ class UserViewSet(PageOrNot, ModelViewSet):
code+'&grant_type=authorization_code').content.decode('utf-8')
info = json.loads(info)
openid = info['openid']
- UserThird.objects.get_or_create(openid=openid, type='wx_mp', user=request.user, defaults={'openid':openid, 'user':request.user, 'type':'wx_mp'})
+ instances = UserThird.objects.filter(openid=openid)
+ if instances.exists():
+ instance = instances[0]
+ instance.user = request.user
+ instance.save()
+ else:
+ UserThird.objects.get_or_create(openid=openid, type='wx_mp', user=request.user, defaults={'openid':openid, 'user':request.user, 'type':'wx_mp'})
return Response({'wxmp_openid':openid},status=status.HTTP_200_OK)