diff --git a/client/.env.development b/client/.env.development
index db28ec5..c5200d4 100644
--- a/client/.env.development
+++ b/client/.env.development
@@ -3,10 +3,10 @@ ENV = 'development'
# base api
#VUE_APP_BASE_API = 'http://10.0.11.127:8000/api'
-#VUE_APP_BASE_API = 'http://127.0.0.1:8000/api'
+VUE_APP_BASE_API = 'http://127.0.0.1:8000/api'
#VUE_APP_BASE_API = 'https://testsearch.ctc.ac.cn/api'
-VUE_APP_BASE_API = 'http://47.95.0.242:9101/api'
+#VUE_APP_BASE_API = 'http://47.95.0.242:9101/api'
# vue-cli uses the VUE_CLI_BABEL_TRANSPILE_MODULES environment variable,
diff --git a/client_mp/components/.DS_Store b/client_mp/components/.DS_Store
new file mode 100644
index 0000000..5f98ef7
Binary files /dev/null and b/client_mp/components/.DS_Store differ
diff --git a/client_mp/components/linzq-imgUpload/.DS_Store b/client_mp/components/linzq-imgUpload/.DS_Store
new file mode 100644
index 0000000..511f62b
Binary files /dev/null and b/client_mp/components/linzq-imgUpload/.DS_Store differ
diff --git a/client_mp/components/linzq-imgUpload/linzq-imgUpload.vue b/client_mp/components/linzq-imgUpload/linzq-imgUpload.vue
new file mode 100644
index 0000000..a8604a8
--- /dev/null
+++ b/client_mp/components/linzq-imgUpload/linzq-imgUpload.vue
@@ -0,0 +1,183 @@
+
+
+
+
+
+
+ 上传图片
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/client_mp/components/linzq-imgUpload/shanchus2.png b/client_mp/components/linzq-imgUpload/shanchus2.png
new file mode 100644
index 0000000..c2cb8e3
Binary files /dev/null and b/client_mp/components/linzq-imgUpload/shanchus2.png differ
diff --git a/client_mp/components/linzq-imgUpload/tupianadd.png b/client_mp/components/linzq-imgUpload/tupianadd.png
new file mode 100644
index 0000000..3d032af
Binary files /dev/null and b/client_mp/components/linzq-imgUpload/tupianadd.png differ
diff --git a/client_mp/pages/inspectrecord/recorddo.vue b/client_mp/pages/inspectrecord/recorddo.vue
index 44ed9e0..fe5f065 100644
--- a/client_mp/pages/inspectrecord/recorddo.vue
+++ b/client_mp/pages/inspectrecord/recorddo.vue
@@ -23,7 +23,7 @@
-
+
diff --git a/client_mp/pages/vod/video.vue b/client_mp/pages/vod/video.vue
index b694ff7..8a5a0d6 100644
--- a/client_mp/pages/vod/video.vue
+++ b/client_mp/pages/vod/video.vue
@@ -151,9 +151,6 @@
// 点击导航切换swiper
taggleNav(val) {
this.swiperIndex = val;
- if (this.list[val].content.length == 0) {
- this.getVideos()
- }
},
// 滚动tabs以及移动下划线
scrollDom() {
diff --git a/client_mp/store/index.js b/client_mp/store/index.js
index 6698ed9..570fc7e 100644
--- a/client_mp/store/index.js
+++ b/client_mp/store/index.js
@@ -35,6 +35,7 @@ const store = new Vuex.Store({
vuex_token: lifeData.vuex_token ? lifeData.vuex_token : '',
// vuex_host: 'http://127.0.0.1:8000',
//vuex_api: 'http://47.95.0.242:9101/api',
+ //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',
diff --git a/server/apps/ability/migrations/0020_ability.py b/server/apps/ability/migrations/0020_ability.py
new file mode 100644
index 0000000..019c551
--- /dev/null
+++ b/server/apps/ability/migrations/0020_ability.py
@@ -0,0 +1,39 @@
+# Generated by Django 3.0.5 on 2021-07-19 02:38
+
+from django.db import migrations, models
+import django.utils.timezone
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('ability', '0019_auto_20210129_0957'),
+ ]
+
+ operations = [
+ migrations.CreateModel(
+ name='Ability',
+ fields=[
+ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
+ ('create_time', models.DateTimeField(default=django.utils.timezone.now, help_text='创建时间', verbose_name='创建时间')),
+ ('update_time', models.DateTimeField(auto_now=True, help_text='修改时间', verbose_name='修改时间')),
+ ('is_deleted', models.BooleanField(default=False, help_text='删除标记', verbose_name='删除标记')),
+ ('dlxh', models.TextField(blank=True, null=True, verbose_name='大类序号')),
+ ('dlmc', models.TextField(blank=True, null=True, verbose_name='大类')),
+ ('lbxh', models.TextField(blank=True, null=True, verbose_name='类别序号')),
+ ('lbmc', models.TextField(blank=True, null=True, verbose_name='类别名称')),
+ ('xmxh', models.TextField(blank=True, null=True, verbose_name='项目序号')),
+ ('xmmc', models.TextField(blank=True, null=True, verbose_name='项目名称')),
+ ('bzmc', models.TextField(blank=True, null=True, verbose_name='标准名称')),
+ ('bzbh', models.TextField(blank=True, null=True, verbose_name='标准编号')),
+ ('bztk', models.TextField(blank=True, null=True, verbose_name='标准条款')),
+ ('xzfw', models.TextField(blank=True, null=True, verbose_name='限制范围')),
+ ('bz', models.TextField(blank=True, null=True, verbose_name='备注')),
+ ('cma', models.TextField(blank=True, null=True, verbose_name='CMA中心')),
+ ('cna', models.TextField(blank=True, null=True, verbose_name='CNAS中心')),
+ ],
+ options={
+ 'verbose_name': '记录合并',
+ },
+ ),
+ ]
diff --git a/server/apps/ability/migrations/0021_auto_20210719_1237.py b/server/apps/ability/migrations/0021_auto_20210719_1237.py
new file mode 100644
index 0000000..86e7c99
--- /dev/null
+++ b/server/apps/ability/migrations/0021_auto_20210719_1237.py
@@ -0,0 +1,18 @@
+# Generated by Django 3.0.5 on 2021-07-19 04:37
+
+from django.db import migrations
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('ability', '0020_ability'),
+ ]
+
+ operations = [
+ migrations.RenameField(
+ model_name='ability',
+ old_name='cna',
+ new_name='cnas',
+ ),
+ ]
diff --git a/server/apps/ability/migrations/0022_auto_20210719_1411.py b/server/apps/ability/migrations/0022_auto_20210719_1411.py
new file mode 100644
index 0000000..8a51df0
--- /dev/null
+++ b/server/apps/ability/migrations/0022_auto_20210719_1411.py
@@ -0,0 +1,23 @@
+# Generated by Django 3.0.5 on 2021-07-19 06:11
+
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('ability', '0021_auto_20210719_1237'),
+ ]
+
+ operations = [
+ migrations.AddField(
+ model_name='ability',
+ name='cma_o',
+ field=models.TextField(blank=True, null=True, verbose_name='中心'),
+ ),
+ migrations.AddField(
+ model_name='ability',
+ name='cma_oplace',
+ field=models.TextField(blank=True, null=True, verbose_name='地点'),
+ ),
+ ]
diff --git a/server/apps/ability/models.py b/server/apps/ability/models.py
index d6d0058..0a67462 100644
--- a/server/apps/ability/models.py
+++ b/server/apps/ability/models.py
@@ -6,6 +6,27 @@ from apps.system.models import Organization, User
# Create your models here.
from django.contrib.postgres.fields import JSONField
+class Ability(BaseModel):
+ dlxh = models.TextField('大类序号', null=True, blank=True)
+ dlmc = models.TextField('大类', null=True, blank=True)
+ lbxh = models.TextField('类别序号', null=True,blank=True)
+ lbmc = models.TextField('类别名称', null=True,blank=True)
+ xmxh = models.TextField('项目序号', null=True,blank=True)
+ xmmc = models.TextField('项目名称', null=True,blank=True)
+ bzmc = models.TextField('标准名称', null=True,blank=True)
+ bzbh = models.TextField('标准编号', null=True,blank=True)
+ bztk = models.TextField('标准条款', null=True,blank=True)
+ xzfw = models.TextField('限制范围',null=True,blank=True)
+ bz = models.TextField('备注',null=True,blank=True)
+ cma = models.TextField('CMA中心',null=True,blank=True)
+ cnas = models.TextField('CNAS中心',null=True,blank=True)
+ cma_o = models.TextField('中心',null=True,blank=True)
+ cma_oplace = models.TextField('地点',null=True,blank=True)
+ class Meta:
+ verbose_name='记录合并'
+
+
+
class QueryRecord(BaseModel):
user = models.ForeignKey(User, related_name='record_user', on_delete=models.CASCADE)
path = models.CharField('访问地址', max_length=200)
diff --git a/server/apps/ability/urls.py b/server/apps/ability/urls.py
index 41228a7..7edb021 100644
--- a/server/apps/ability/urls.py
+++ b/server/apps/ability/urls.py
@@ -1,6 +1,6 @@
from django.urls import path, include
from rest_framework import routers
-from .views import CMAViewSet, CNASViewSet, QualificationViewSet,InspectionViewSet,QualificationotherViewSet, QueryRecordListViewSet
+from .views import CMAViewSet, CNASViewSet, QualificationViewSet,InspectionViewSet,QualificationotherViewSet, QueryRecordListViewSet, correct_ability, merge_cma, merge_cnas
router = routers.DefaultRouter()
router.register('cma', CMAViewSet, basename="cma")
@@ -10,5 +10,8 @@ router.register('qualificationother', QualificationotherViewSet, basename="quali
router.register('inspection', InspectionViewSet, basename="inspection")
router.register('queryrecord', QueryRecordListViewSet, basename="queryrecord")
urlpatterns = [
+ path('merge/cma/', merge_cma),
+ path('merge/cnas/', merge_cnas),
+ path('correct/', correct_ability),
path('', include(router.urls))
]
\ No newline at end of file
diff --git a/server/apps/ability/views.py b/server/apps/ability/views.py
index 3af95cb..35ca1e7 100644
--- a/server/apps/ability/views.py
+++ b/server/apps/ability/views.py
@@ -14,6 +14,7 @@ from apps.system.models import Organization
from openpyxl import Workbook, load_workbook
from django.db.models import Count
from utils.pagination import PageOrNot
+from rest_framework.views import APIView
# Create your views here.
import json
@@ -58,12 +59,15 @@ class CMAViewSet(RecordMixin, ModelViewSet):
"""
queryset = self.filter_queryset(self.get_queryset())
ret = []
+ ret2 = {}
if request.query_params.get('group_by', None):
group_by = request.query_params.get('group_by')
group_by_data = list(queryset.values(group_by).annotate(count=Count(group_by)).order_by(group_by))
for i in group_by_data:
if i[group_by] and i['count']:
+ ret2[i[group_by]] = "A"
ret.append({'text':i[group_by]+'('+ str(i['count']) +')','value':i[group_by]})
+ print(ret2)
return Response(ret)
@action(methods=['post'], detail=False, url_path='deletes', url_name='cma_deletes', perms_map = {'post':'cma_deletes'})
def deletes(self, request):
@@ -593,4 +597,100 @@ def import_inspection(filename, path):
data['sszx'] = sszx
datalist.append(Inspection(**data))
i = i + 1
- Inspection.objects.bulk_create(datalist)
\ No newline at end of file
+ Inspection.objects.bulk_create(datalist)
+
+from django.db.models.functions import Cast
+def merge_cnas(request):
+ for i in CNAS.objects.all():
+ objs = Ability.objects.filter(lbmc=i.lbmc,xmmc=i.xmmc, bzbh=i.bzbh, bztk=i.bztk)
+ if objs.exists():
+ obj = objs[0]
+ if obj.cnas:
+ obj.cnas = obj.cnas + ',' + i.sszx
+ obj.save()
+ else:
+ obj.cnas = i.sszx
+ obj.save()
+ print('已修改--'+obj.xmmc+ '-' + obj.cnas)
+
+def merge_cma(request):
+ for i in CMA.objects.filter(type='center'):
+ bztk = i.bzbh.split(' ')[-1]
+ bzbh = i.bzbh.rstrip(bztk).strip()
+ if len(bzbh)<8:
+ bzbh = i.bzbh
+ bztk = ''
+ objs = Ability.objects.filter(lbmc=i.lbmc, xmmc=i.xmmc, bzbh = bzbh, bztk=bztk)
+ if objs.exists():
+ obj = objs[0]
+ obj.cma = obj.cma + ',' + i.sszx
+ obj.save()
+ print('已修改--'+obj.xmmc+ '-' + obj.cma)
+ else:
+ obj = Ability()
+ obj.dlxh = i.dlxh
+ obj.dlmc = i.dlmc
+ obj.lbxh = i.lbxh
+ obj.lbmc = i.lbmc
+ obj.xmxh = i.xmxh
+ obj.xmmc = i.xmmc
+ obj.bzmc = i.bzmc
+ obj.bzbh = bzbh
+ obj.bztk = bztk
+ obj.xzfw = i.xzfw
+ obj.bz = i.bz
+ obj.cma = i.sszx
+ obj.save()
+ print('已添加--'+obj.xmmc+obj.bzmc)
+
+def correct_ability(request):
+ zxdict = {
+ "测试中心":"B",
+ "玻璃中心":"E",
+ "腐蚀中心":"P",
+ "光伏中心":"L",
+ "耐火中心":"Q",
+ "石材中心":"R",
+ "水泥中心":"D",
+ "质检中心":"C"
+ }
+ placedict = {
+ "玻璃中心-管庄": "E",
+ "玻璃中心-密云": "E",
+ "玻璃中心-永顺": "E",
+ "测试中心-管庄": "B",
+ "测试中心-光华路": "B",
+ "测试中心-国检三层": "B",
+ "测试中心-密云": "B",
+ "测试中心-顺义种植园": "B",
+ "测试中心-宋庄": "B",
+ "测试中心-通州种植园": "B",
+ "测试中心-永顺": "B",
+ "腐蚀中心": "P",
+ "光伏中心-管庄": "L",
+ "光伏中心-密云": "L",
+ "耐火中心": "Q",
+ "石材中心": "R",
+ "水泥中心": "D",
+ "质检中心-管庄": "C",
+ "质检中心-光华路": "C",
+ "质检中心-国检三层": "c",
+ "质检中心-密云": "C",
+ "质检中心-顺义种植园": "C",
+ "质检中心-宋庄": "C",
+ "质检中心-通州种植园": "C",
+ "质检中心-永顺": "C"
+ }
+
+ for i in Ability.objects.all():
+ # i.cma_o = i.cma
+ i.cma = i.cma_o
+ i.cma_oplace = i.cma_o
+ for key in zxdict:
+ if key in i.cma_o:
+ i.cma = i.cma.replace(key, zxdict[key])
+ for key in placedict:
+ if key in i.cma_o:
+ i.cma_oplace = i.cma_oplace.replace(key, placedict[key])
+ i.save()
+ print('已修改' + i.cma)
diff --git a/server/server/settings_dev.py b/server/server/settings_dev.py
index 592ebd9..dca12b6 100644
--- a/server/server/settings_dev.py
+++ b/server/server/settings_dev.py
@@ -1,12 +1,20 @@
from .settings import *
DEBUG = True
DATABASES = {
+ # 'default': {
+ # 'ENGINE': 'django.db.backends.postgresql',
+ # 'NAME': 'cma',
+ # 'USER': 'postgres',
+ # 'PASSWORD': 'zctest1234',
+ # 'HOST': '47.95.0.242',
+ # 'PORT': '5432',
+ # }
'default': {
'ENGINE': 'django.db.backends.postgresql',
'NAME': 'cma',
- 'USER': 'postgres',
- 'PASSWORD': 'zctest1234',
- 'HOST': '47.95.0.242',
+ 'USER': 'cma',
+ 'PASSWORD': 'cma123',
+ 'HOST': '172.16.80.102',
'PORT': '5432',
}
}