Merge branch 'master' of 10.7.100.160:/job/safesite
This commit is contained in:
commit
15ff79c60a
|
@ -283,7 +283,7 @@ def drrisks(companyid,path):
|
||||||
if users.exists():
|
if users.exists():
|
||||||
obj.zrr = users[0]
|
obj.zrr = users[0]
|
||||||
obj.save()
|
obj.save()
|
||||||
obj.qrcode = makeqr3('https://safeyun.ctcshe.com/miniprogram/riskact?id='+str(obj.id))
|
obj.qrcode = makeqr_riskact('https://safeyun.ctcshe.com/miniprogram/riskact?id='+str(obj.id))
|
||||||
obj.save()
|
obj.save()
|
||||||
a = Risk()
|
a = Risk()
|
||||||
a.riskact=obj
|
a.riskact=obj
|
||||||
|
|
|
@ -19,6 +19,5 @@ class CompanyInfoForm(forms.Form):
|
||||||
legalperson_phone = forms.CharField(max_length=24, label='法人电话', widget=forms.TextInput(attrs={'size': '50'}))
|
legalperson_phone = forms.CharField(max_length=24, label='法人电话', widget=forms.TextInput(attrs={'size': '50'}))
|
||||||
liaison = forms.CharField(max_length=24, label='联系人', widget=forms.TextInput(attrs={'size': '50'}))
|
liaison = forms.CharField(max_length=24, label='联系人', widget=forms.TextInput(attrs={'size': '50'}))
|
||||||
liaison_phone = forms.CharField(max_length=24, label='联系人电话', widget=forms.TextInput(attrs={'size': '50'}))
|
liaison_phone = forms.CharField(max_length=24, label='联系人电话', widget=forms.TextInput(attrs={'size': '50'}))
|
||||||
liaison_fax = forms.CharField(max_length=13, label='联系人传真', widget=forms.TextInput(attrs={'size': '50'}))
|
|
||||||
introduce = forms.CharField(label='公司概况', widget=forms.Textarea)
|
introduce = forms.CharField(label='公司概况', widget=forms.Textarea)
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,19 @@
|
||||||
|
# Generated by Django 2.1.5 on 2019-09-17 23:14
|
||||||
|
|
||||||
|
from django.db import migrations, models
|
||||||
|
import django.db.models.deletion
|
||||||
|
|
||||||
|
|
||||||
|
class Migration(migrations.Migration):
|
||||||
|
|
||||||
|
dependencies = [
|
||||||
|
('safesite', '0265_auto_20190917_1716'),
|
||||||
|
]
|
||||||
|
|
||||||
|
operations = [
|
||||||
|
migrations.AddField(
|
||||||
|
model_name='area',
|
||||||
|
name='qrcode',
|
||||||
|
field=models.CharField(blank=True, max_length=200, null=True),
|
||||||
|
),
|
||||||
|
]
|
|
@ -0,0 +1,17 @@
|
||||||
|
# Generated by Django 2.1.5 on 2019-09-20 12:00
|
||||||
|
|
||||||
|
from django.db import migrations, models
|
||||||
|
|
||||||
|
|
||||||
|
class Migration(migrations.Migration):
|
||||||
|
|
||||||
|
dependencies = [
|
||||||
|
('safesite', '0269_auto_20190919_1423'),
|
||||||
|
]
|
||||||
|
|
||||||
|
operations = [
|
||||||
|
migrations.RemoveField(
|
||||||
|
model_name='companyinfo',
|
||||||
|
name='liaison_fax',
|
||||||
|
),
|
||||||
|
]
|
|
@ -0,0 +1,18 @@
|
||||||
|
# Generated by Django 2.1.5 on 2019-09-25 11:13
|
||||||
|
|
||||||
|
from django.db import migrations, models
|
||||||
|
|
||||||
|
|
||||||
|
class Migration(migrations.Migration):
|
||||||
|
|
||||||
|
dependencies = [
|
||||||
|
('safesite', '0270_auto_20190920_1200'),
|
||||||
|
]
|
||||||
|
|
||||||
|
operations = [
|
||||||
|
migrations.AlterField(
|
||||||
|
model_name='trouble',
|
||||||
|
name='shresult',
|
||||||
|
field=models.IntegerField(blank=True, choices=[(1, '通过'), (2, '审核未通过'), (3, '复查未通过'), (4, '已修改'), (5, '评估未通过'), (6, '未采纳')], null=True),
|
||||||
|
),
|
||||||
|
]
|
|
@ -0,0 +1,18 @@
|
||||||
|
# Generated by Django 2.1.5 on 2019-09-25 16:57
|
||||||
|
|
||||||
|
from django.db import migrations, models
|
||||||
|
|
||||||
|
|
||||||
|
class Migration(migrations.Migration):
|
||||||
|
|
||||||
|
dependencies = [
|
||||||
|
('safesite', '0271_auto_20190925_1113'),
|
||||||
|
]
|
||||||
|
|
||||||
|
operations = [
|
||||||
|
migrations.AddField(
|
||||||
|
model_name='suggest',
|
||||||
|
name='accept',
|
||||||
|
field=models.IntegerField(default=1),
|
||||||
|
),
|
||||||
|
]
|
|
@ -0,0 +1,29 @@
|
||||||
|
# Generated by Django 2.1.5 on 2019-10-08 16:04
|
||||||
|
|
||||||
|
import django.contrib.postgres.fields
|
||||||
|
from django.db import migrations, models
|
||||||
|
|
||||||
|
|
||||||
|
class Migration(migrations.Migration):
|
||||||
|
|
||||||
|
dependencies = [
|
||||||
|
('safesite', '0272_auto_20190925_1657'),
|
||||||
|
]
|
||||||
|
|
||||||
|
operations = [
|
||||||
|
# migrations.AddField(
|
||||||
|
# model_name='area',
|
||||||
|
# name='qrcode',
|
||||||
|
# field=models.CharField(blank=True, max_length=200, null=True),
|
||||||
|
# ),
|
||||||
|
migrations.AddField(
|
||||||
|
model_name='operation',
|
||||||
|
name='todousers',
|
||||||
|
field=django.contrib.postgres.fields.ArrayField(base_field=models.IntegerField(), blank=True, null=True, size=None),
|
||||||
|
),
|
||||||
|
migrations.AddField(
|
||||||
|
model_name='operationspjd',
|
||||||
|
name='sprs',
|
||||||
|
field=django.contrib.postgres.fields.ArrayField(base_field=models.IntegerField(), blank=True, null=True, size=None),
|
||||||
|
),
|
||||||
|
]
|
|
@ -1,7 +1,7 @@
|
||||||
from django.db import models
|
from django.db import models
|
||||||
import uuid
|
import uuid
|
||||||
import django.utils.timezone as timezone
|
import django.utils.timezone as timezone
|
||||||
from django.contrib.postgres.fields import JSONField
|
from django.contrib.postgres.fields import JSONField,ArrayField
|
||||||
import jwt
|
import jwt
|
||||||
import datetime
|
import datetime
|
||||||
# Create your models here.
|
# Create your models here.
|
||||||
|
@ -120,6 +120,7 @@ class Trouble(models.Model):#隐患排查
|
||||||
(3, '复查未通过'),
|
(3, '复查未通过'),
|
||||||
(4, '已修改'),
|
(4, '已修改'),
|
||||||
(5,'评估未通过'),
|
(5,'评估未通过'),
|
||||||
|
(6,'未采纳'),
|
||||||
)
|
)
|
||||||
deletemark=models.IntegerField(default='1')
|
deletemark=models.IntegerField(default='1')
|
||||||
troubleid = models.AutoField(primary_key=True)
|
troubleid = models.AutoField(primary_key=True)
|
||||||
|
@ -409,6 +410,7 @@ class Suggest(models.Model):#合理化建议
|
||||||
yjwcsj = models.DateTimeField(null=True,blank=True) #预计完成时间
|
yjwcsj = models.DateTimeField(null=True,blank=True) #预计完成时间
|
||||||
sjwcsj = models.DateTimeField(null=True,blank=True) #实际完成时间
|
sjwcsj = models.DateTimeField(null=True,blank=True) #实际完成时间
|
||||||
shyj = models.CharField(max_length=1000,null=True,blank=True) #审核意见
|
shyj = models.CharField(max_length=1000,null=True,blank=True) #审核意见
|
||||||
|
accept = models.IntegerField(default=1)
|
||||||
|
|
||||||
class Suggestflow(models.Model):#建议流程
|
class Suggestflow(models.Model):#建议流程
|
||||||
id = models.AutoField(primary_key=True)
|
id = models.AutoField(primary_key=True)
|
||||||
|
@ -464,6 +466,7 @@ class Operation(models.Model):#作业表
|
||||||
zyzt = JSONField()
|
zyzt = JSONField()
|
||||||
fxcs = models.CharField(max_length=200)
|
fxcs = models.CharField(max_length=200)
|
||||||
todouser = models.ForeignKey(User,related_name='zyclr',on_delete=models.CASCADE,null=True,blank=True)
|
todouser = models.ForeignKey(User,related_name='zyclr',on_delete=models.CASCADE,null=True,blank=True)
|
||||||
|
todousers = ArrayField(models.IntegerField(), blank=True,null=True)
|
||||||
usecomp = models.ForeignKey(Partment,on_delete=models.CASCADE,null=True,blank=True,default=1)
|
usecomp = models.ForeignKey(Partment,on_delete=models.CASCADE,null=True,blank=True,default=1)
|
||||||
|
|
||||||
class Fxcs(models.Model):#作业分析措施
|
class Fxcs(models.Model):#作业分析措施
|
||||||
|
@ -506,12 +509,13 @@ class Operzyry(models.Model):#作业确认人
|
||||||
modifytime = models.DateTimeField(auto_now = True)
|
modifytime = models.DateTimeField(auto_now = True)
|
||||||
submittime = models.DateTimeField(default = timezone.now)
|
submittime = models.DateTimeField(default = timezone.now)
|
||||||
|
|
||||||
class Operationspjd(models.Model):#作业审批节点
|
class Operationspjd(models.Model):#作业审批节点配置
|
||||||
id = models.AutoField(primary_key=True)
|
id = models.AutoField(primary_key=True)
|
||||||
zylx = models.ForeignKey(Dickey, on_delete=models.CASCADE,null=True,blank=True)
|
zylx = models.ForeignKey(Dickey, on_delete=models.CASCADE,null=True,blank=True)
|
||||||
jdmc = models.CharField(max_length=100)
|
jdmc = models.CharField(max_length=100)
|
||||||
spbm = models.ForeignKey(Partment,related_name='spbm',on_delete=models.CASCADE,null=True,blank=True)#审批部门
|
spbm = models.ForeignKey(Partment,related_name='spbm',on_delete=models.CASCADE,null=True,blank=True)#审批部门
|
||||||
spr = models.ForeignKey(User,related_name='spr',on_delete=models.CASCADE,null=True,blank=True)#审批部门
|
spr = models.ForeignKey(User,related_name='spr',on_delete=models.CASCADE,null=True,blank=True)#审批部门
|
||||||
|
sprs = ArrayField(models.IntegerField(), blank=True,null=True)
|
||||||
submittime = models.DateTimeField(u'创建时间',default = timezone.now)
|
submittime = models.DateTimeField(u'创建时间',default = timezone.now)
|
||||||
modifytime = models.DateTimeField(auto_now = True)
|
modifytime = models.DateTimeField(auto_now = True)
|
||||||
usecomp = models.ForeignKey(Partment,on_delete=models.CASCADE,null=True,blank=True)
|
usecomp = models.ForeignKey(Partment,on_delete=models.CASCADE,null=True,blank=True)
|
||||||
|
@ -830,7 +834,6 @@ class CompanyInfo(models.Model):
|
||||||
legalperson_phone = models.CharField(max_length=24, null=True, blank=True, verbose_name='法人电话')
|
legalperson_phone = models.CharField(max_length=24, null=True, blank=True, verbose_name='法人电话')
|
||||||
liaison = models.CharField(max_length=24, verbose_name='联系人')
|
liaison = models.CharField(max_length=24, verbose_name='联系人')
|
||||||
liaison_phone = models.CharField(max_length=24, verbose_name='联系人电话')
|
liaison_phone = models.CharField(max_length=24, verbose_name='联系人电话')
|
||||||
liaison_fax = models.CharField(max_length=10, null=True, blank=True, verbose_name='联系人传真')
|
|
||||||
introduce = models.TextField( null=True, blank=True, verbose_name='公司概况')
|
introduce = models.TextField( null=True, blank=True, verbose_name='公司概况')
|
||||||
createtime = models.DateTimeField(auto_now_add=True)
|
createtime = models.DateTimeField(auto_now_add=True)
|
||||||
modifytime = models.DateTimeField(auto_now=True)
|
modifytime = models.DateTimeField(auto_now=True)
|
||||||
|
|
File diff suppressed because one or more lines are too long
|
@ -32,6 +32,17 @@ function canvasDataURL(path, obj, callback) {
|
||||||
scale = w / h;
|
scale = w / h;
|
||||||
w = obj.width || w;
|
w = obj.width || w;
|
||||||
h = obj.height || (w / scale);
|
h = obj.height || (w / scale);
|
||||||
|
if(w <= h ){
|
||||||
|
if(w>640){
|
||||||
|
w = 640
|
||||||
|
h = w/scale
|
||||||
|
}
|
||||||
|
}else{
|
||||||
|
if(h>640){
|
||||||
|
h=640
|
||||||
|
w = h*scale
|
||||||
|
}
|
||||||
|
}
|
||||||
var quality = 0.7; // 默认图片质量为0.7
|
var quality = 0.7; // 默认图片质量为0.7
|
||||||
//生成canvas
|
//生成canvas
|
||||||
var canvas = document.createElement('canvas');
|
var canvas = document.createElement('canvas');
|
||||||
|
@ -45,9 +56,9 @@ function canvasDataURL(path, obj, callback) {
|
||||||
canvas.setAttributeNode(anh);
|
canvas.setAttributeNode(anh);
|
||||||
ctx.drawImage(that, 0, 0, w, h);
|
ctx.drawImage(that, 0, 0, w, h);
|
||||||
// 图像质量
|
// 图像质量
|
||||||
if (obj.quality && obj.quality <= 1 && obj.quality > 0) {
|
// if (obj.quality && obj.quality <= 1 && obj.quality > 0) {
|
||||||
quality = obj.quality;
|
// quality = obj.quality;
|
||||||
}
|
// }
|
||||||
// quality值越小,所绘制出的图像越模糊
|
// quality值越小,所绘制出的图像越模糊
|
||||||
var base64 = canvas.toDataURL('image/jpeg', quality);
|
var base64 = canvas.toDataURL('image/jpeg', quality);
|
||||||
// 回调函数返回base64的值
|
// 回调函数返回base64的值
|
||||||
|
@ -62,7 +73,6 @@ function convertBase64UrlToBlob(urlData) {
|
||||||
}
|
}
|
||||||
return new Blob([u8arr], { type: mime });
|
return new Blob([u8arr], { type: mime });
|
||||||
}
|
}
|
||||||
|
|
||||||
//取消上传
|
//取消上传
|
||||||
function cancleUploadFile() {
|
function cancleUploadFile() {
|
||||||
|
|
||||||
|
|
|
@ -301,7 +301,16 @@
|
||||||
$("#yhms").textbox('disable');
|
$("#yhms").textbox('disable');
|
||||||
$('#fcyjdiv,#file2,#zgxq,#shyjdiv,#csyj,#reject').hide(); $('#jxpg').show();
|
$('#fcyjdiv,#file2,#zgxq,#shyjdiv,#csyj,#reject').hide(); $('#jxpg').show();
|
||||||
$("#yhpg").combobox({ url: 'getdickey?dicclass=19&a=combobox', });
|
$("#yhpg").combobox({ url: 'getdickey?dicclass=19&a=combobox', });
|
||||||
$("#zgbm").combotree({ url: 'parthandle?a=tree3', onSelect: function (node) { $('#zgr').combobox({ url: 'getuser?partid=' + node.id + '&a=combobox', }); } });
|
$("#zgbm").combotree({ url: 'parthandle?a=tree3', onSelect: function (node) {
|
||||||
|
$('#zgr').combobox({
|
||||||
|
url: 'getuser?partid=' + node.id + '&a=combobox',
|
||||||
|
editable: false,
|
||||||
|
filter: function (q, row) {
|
||||||
|
var opts = $(this).combobox('options');
|
||||||
|
return row[opts.textField].indexOf(q) >= 0;//这里改成>=即可在任意地方匹配
|
||||||
|
},
|
||||||
|
});
|
||||||
|
} });
|
||||||
// if (data.yhpg__dickeyname != '' & data.yhpg__dickeyname != null) {
|
// if (data.yhpg__dickeyname != '' & data.yhpg__dickeyname != null) {
|
||||||
// $("#yhpg").combobox('setValue', data.yhpg__dickeyid).combobox('readonly');
|
// $("#yhpg").combobox('setValue', data.yhpg__dickeyid).combobox('readonly');
|
||||||
// $("#yhlx").combobox({ url: 'getdicclass?dicid=15' }).combobox('setValue', data.yhlx__dicid).combobox('readonly');
|
// $("#yhlx").combobox({ url: 'getdicclass?dicid=15' }).combobox('setValue', data.yhlx__dicid).combobox('readonly');
|
||||||
|
|
|
@ -219,9 +219,7 @@
|
||||||
var form = new FormData();
|
var form = new FormData();
|
||||||
if (fileObj.size / 1024 > 500) { //大于500k,进行压缩上传
|
if (fileObj.size / 1024 > 500) { //大于500k,进行压缩上传
|
||||||
$("#file").after('<span id="tip" style="color:blue">图片大于500k,正在压缩...</span>');
|
$("#file").after('<span id="tip" style="color:blue">图片大于500k,正在压缩...</span>');
|
||||||
photoCompress(fileObj, {
|
photoCompress(fileObj, {}, function (base64Codes) {
|
||||||
quality: 0.2
|
|
||||||
}, function (base64Codes) {
|
|
||||||
//console.log("压缩后:" + base.length / 1024 + " " + base);
|
//console.log("压缩后:" + base.length / 1024 + " " + base);
|
||||||
var bl = convertBase64UrlToBlob(base64Codes);
|
var bl = convertBase64UrlToBlob(base64Codes);
|
||||||
form.append("upfile", bl, fileObj.name); // 文件对象
|
form.append("upfile", bl, fileObj.name); // 文件对象
|
||||||
|
@ -310,9 +308,7 @@
|
||||||
var form = new FormData();
|
var form = new FormData();
|
||||||
if (fileObj.size / 1024 > 500) { //大于500k,进行压缩上传
|
if (fileObj.size / 1024 > 500) { //大于500k,进行压缩上传
|
||||||
$("#file2").after('<span id="tip" style="color:blue">图片大于500k,正在压缩...</span>');
|
$("#file2").after('<span id="tip" style="color:blue">图片大于500k,正在压缩...</span>');
|
||||||
photoCompress(fileObj, {
|
photoCompress(fileObj, {}, function (base64Codes) {//quality: 0.2
|
||||||
quality: 0.2
|
|
||||||
}, function (base64Codes) {
|
|
||||||
//console.log("压缩后:" + base.length / 1024 + " " + base);
|
//console.log("压缩后:" + base.length / 1024 + " " + base);
|
||||||
var bl = convertBase64UrlToBlob(base64Codes);
|
var bl = convertBase64UrlToBlob(base64Codes);
|
||||||
form.append("upfile", bl, fileObj.name); // 文件对象
|
form.append("upfile", bl, fileObj.name); // 文件对象
|
||||||
|
|
|
@ -1,4 +1,3 @@
|
||||||
<div class="labeldiv" style="margin:10px">公司信息</div>
|
|
||||||
<form method="post" action="/companyinfo/" id="companyform">
|
<form method="post" action="/companyinfo/" id="companyform">
|
||||||
{% csrf_token %}
|
{% csrf_token %}
|
||||||
{{ companyinfo.non_field_errors }}
|
{{ companyinfo.non_field_errors }}
|
||||||
|
|
|
@ -263,7 +263,7 @@ float: left;">
|
||||||
|
|
||||||
<div style="width:70%;float:left;height:100%;margin-top: 10px;" align=center>
|
<div style="width:70%;float:left;height:100%;margin-top: 10px;" align=center>
|
||||||
<div style="margin-left:10px;margin-right: 10px">
|
<div style="margin-left:10px;margin-right: 10px">
|
||||||
<div id="panelx" class="easyui-panel" title="各指标数量趋势" data-options="iconCls:'fa-bar-chart',closable:true,
|
<div class="easyui-panel" title="各指标数量趋势" data-options="iconCls:'fa-bar-chart',closable:true,
|
||||||
collapsible:true,"
|
collapsible:true,"
|
||||||
align=center style="height:100%">
|
align=center style="height:100%">
|
||||||
<div id='gzbqst' style="width:90%;height:500px;"></div>
|
<div id='gzbqst' style="width:90%;height:500px;"></div>
|
||||||
|
@ -326,6 +326,12 @@ float: left;">
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<div style="width:100%;height:800px">
|
||||||
|
<div id="panelx" class="easyui-panel" data-options="iconCls:'fa-bar-chart'" >
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
<script type="text/javascript">
|
<script type="text/javascript">
|
||||||
//首页总数统计
|
//首页总数统计
|
||||||
$.ajax({
|
$.ajax({
|
||||||
|
@ -372,13 +378,12 @@ float: left;">
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
var data=JSON.parse(localStorage.getItem("data"));
|
var data=JSON.parse(localStorage.getItem("data"));
|
||||||
|
bindmap9('gzbqst')
|
||||||
if(data.rights.indexOf('30')!=-1){ //有无地图功能
|
if(data.rights.indexOf('30')!=-1){ //有无地图功能
|
||||||
$('#panelx').panel({
|
$('#panelx').panel({
|
||||||
href:'html/mapshow',
|
href:'html/mapshow',
|
||||||
title:'地图展示'
|
title:'地图展示'
|
||||||
})
|
})
|
||||||
}else{
|
|
||||||
bindmap9('gzbqst')
|
|
||||||
}
|
}
|
||||||
$("#sfxbm").combotree({
|
$("#sfxbm").combotree({
|
||||||
url: 'parthandle?a=tree',
|
url: 'parthandle?a=tree',
|
||||||
|
|
|
@ -13,7 +13,7 @@
|
||||||
required=true />
|
required=true />
|
||||||
</div>
|
</div>
|
||||||
<div style="margin-bottom:5px">
|
<div style="margin-bottom:5px">
|
||||||
<input id="spr" class="easyui-combobox" name="spr" style="width:480px;" editable="false" data-options="label:'审批人'"
|
<input id="spr" class="easyui-combobox" name="spr" style="width:480px;" editable="false" data-options="label:'审批人',multiple:true"
|
||||||
required=true />
|
required=true />
|
||||||
</div>
|
</div>
|
||||||
</form>
|
</form>
|
||||||
|
@ -22,9 +22,13 @@
|
||||||
<script>
|
<script>
|
||||||
$('#spbm').combotree({ url: 'parthandle?a=tree', loadFilter: function(rows){
|
$('#spbm').combotree({ url: 'parthandle?a=tree', loadFilter: function(rows){
|
||||||
return convert(rows);
|
return convert(rows);
|
||||||
},onSelect: function (node) { $('#spr').combobox({ url: 'getuser?partid=' + node.id + '&a=combobox', }); } });
|
},onSelect: function (node) { $('#spr').combobox({
|
||||||
|
url: 'getuser?partid=' + node.id + '&a=combobox',
|
||||||
|
}); } });
|
||||||
function spjdsubmitForm() {
|
function spjdsubmitForm() {
|
||||||
var spjddata = $('#spjdff').serializeJSON();
|
var spjddata = $('#spjdff').serializeJSON();
|
||||||
|
spjddata['spr'] = $('#spr').combobox('getValues')
|
||||||
|
console.log(spjddata)
|
||||||
spjddata['zylx'] = $('#zylxlist').datalist('getSelected').value
|
spjddata['zylx'] = $('#zylxlist').datalist('getSelected').value
|
||||||
$.ajax({
|
$.ajax({
|
||||||
type: "POST",
|
type: "POST",
|
||||||
|
|
|
@ -72,6 +72,10 @@
|
||||||
<input id="B" class="easyui-textbox" name="B" style="width:480px;" data-options="label:'选项B'," value="错" editable=false/>
|
<input id="B" class="easyui-textbox" name="B" style="width:480px;" data-options="label:'选项B'," value="错" editable=false/>
|
||||||
<input name="right" type="radio" value="B" />
|
<input name="right" type="radio" value="B" />
|
||||||
</div>
|
</div>
|
||||||
|
<div style="margin-top:5px;margin-bottom:5px">
|
||||||
|
<input id="resolution" class="easyui-textbox" name="resolution" style="width:480px;height:80px"
|
||||||
|
data-options="label:'解析',multiline:true" />
|
||||||
|
</div>
|
||||||
</form>
|
</form>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -93,6 +93,7 @@
|
||||||
//$('#station').combobox('setValue',res.station__groupid)
|
//$('#station').combobox('setValue',res.station__groupid)
|
||||||
$('#label').textbox('setValue',res.label)
|
$('#label').textbox('setValue',res.label)
|
||||||
$('#title').textbox('setValue',res.title)
|
$('#title').textbox('setValue',res.title)
|
||||||
|
$('#resolution').textbox('setValue',res.resolution)
|
||||||
for(var key in res.answer){
|
for(var key in res.answer){
|
||||||
$('#'+key).textbox('setValue',res.answer[key])
|
$('#'+key).textbox('setValue',res.answer[key])
|
||||||
}
|
}
|
||||||
|
|
|
@ -106,6 +106,7 @@
|
||||||
//$('#station').combobox('setValue',res.station__groupid)
|
//$('#station').combobox('setValue',res.station__groupid)
|
||||||
$('#label').textbox('setValue',res.label)
|
$('#label').textbox('setValue',res.label)
|
||||||
$('#title').textbox('setValue',res.title)
|
$('#title').textbox('setValue',res.title)
|
||||||
|
$('#resolution').textbox('setValue',res.resolution)
|
||||||
for(var key in res.answer){
|
for(var key in res.answer){
|
||||||
$('#'+key).textbox('setValue',res.answer[key])
|
$('#'+key).textbox('setValue',res.answer[key])
|
||||||
}
|
}
|
||||||
|
|
|
@ -72,6 +72,10 @@
|
||||||
<input id="B" class="easyui-textbox" name="B" style="width:480px;" data-options="label:'选项B'," value="错" editable=false/>
|
<input id="B" class="easyui-textbox" name="B" style="width:480px;" data-options="label:'选项B'," value="错" editable=false/>
|
||||||
<input id="Bcheck" name="right" type="radio" value="B" />
|
<input id="Bcheck" name="right" type="radio" value="B" />
|
||||||
</div>
|
</div>
|
||||||
|
<div style="margin-top:5px;margin-bottom:5px">
|
||||||
|
<input id="resolution" class="easyui-textbox" name="resolution" style="width:480px;height:80px"
|
||||||
|
data-options="label:'解析',multiline:true" />
|
||||||
|
</div>
|
||||||
</form>
|
</form>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -83,6 +87,7 @@
|
||||||
// $('#station').combobox('setValue',res.station__groupid)
|
// $('#station').combobox('setValue',res.station__groupid)
|
||||||
$('#label').textbox('setValue',res.label)
|
$('#label').textbox('setValue',res.label)
|
||||||
$('#title').textbox('setValue',res.title)
|
$('#title').textbox('setValue',res.title)
|
||||||
|
$('#resolution').textbox('setValue',res.resolution)
|
||||||
for(var key in res.answer){
|
for(var key in res.answer){
|
||||||
$('#'+key).textbox('setValue',res.answer[key])
|
$('#'+key).textbox('setValue',res.answer[key])
|
||||||
}
|
}
|
||||||
|
|
|
@ -39,6 +39,10 @@
|
||||||
<input id="jtwz" class="easyui-textbox" name="place" style="width:480px" data-options="label:'具体位置'"
|
<input id="jtwz" class="easyui-textbox" name="place" style="width:480px" data-options="label:'具体位置'"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
|
<div style="margin-top:10px;margin-bottom:5px">
|
||||||
|
<input id="group" class="easyui-combobox" name="group" style="width:480px" data-options="label:'所属岗位',url:'grouphandle?a=combobox'"
|
||||||
|
required=true editable=false/>
|
||||||
|
</div>
|
||||||
<div style="margin-top:10px;margin-bottom:5px">
|
<div style="margin-top:10px;margin-bottom:5px">
|
||||||
<select id="gkcj" class="easyui-combobox" name="gkcj" style="width:480px" data-options="label:'管控层级'"
|
<select id="gkcj" class="easyui-combobox" name="gkcj" style="width:480px" data-options="label:'管控层级'"
|
||||||
required=true editable=false>
|
required=true editable=false>
|
||||||
|
@ -80,7 +84,7 @@
|
||||||
$('#fxdmc').textbox('setValue',data.name)
|
$('#fxdmc').textbox('setValue',data.name)
|
||||||
$('#jtwz').textbox('setValue',data.place)
|
$('#jtwz').textbox('setValue',data.place)
|
||||||
$('#qrcode').attr('src',data.qrcode)
|
$('#qrcode').attr('src',data.qrcode)
|
||||||
$('#group').combobox('setValue', res.group__groupid)
|
$('#group').combobox('setValue', data.group__groupid)
|
||||||
$("#zrbm").combotree({
|
$("#zrbm").combotree({
|
||||||
url: 'parthandle?a=tree',
|
url: 'parthandle?a=tree',
|
||||||
onSelect: function (node) {
|
onSelect: function (node) {
|
||||||
|
|
|
@ -94,6 +94,20 @@
|
||||||
{ field: 'dqxz', title: '当前现状', width: 200 },
|
{ field: 'dqxz', title: '当前现状', width: 200 },
|
||||||
{ field: 'jynr', title: '建议内容', width: 400 },
|
{ field: 'jynr', title: '建议内容', width: 400 },
|
||||||
{ field: 'jyfk', title: '建议反馈', width: 400 },
|
{ field: 'jyfk', title: '建议反馈', width: 400 },
|
||||||
|
{
|
||||||
|
field: 'accept', title: '建议状态', width: 80, styler: function (value, row, index) {
|
||||||
|
switch (value) {
|
||||||
|
case 1: return 'background-color:green;'; break;
|
||||||
|
case 0: return 'background-color:red;'; break;
|
||||||
|
|
||||||
|
}
|
||||||
|
}, formatter: function (value, row, index) {
|
||||||
|
switch (value) {
|
||||||
|
case 1: return '已采纳'; break;
|
||||||
|
case 0: return '未采纳'; break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
]]
|
]]
|
||||||
});
|
});
|
||||||
function addjy(){
|
function addjy(){
|
||||||
|
|
|
@ -116,12 +116,13 @@
|
||||||
{ field: 'todouser__userid', hidden: true },
|
{ field: 'todouser__userid', hidden: true },
|
||||||
{ field: 'sybzt', hidden: true },
|
{ field: 'sybzt', hidden: true },
|
||||||
{
|
{
|
||||||
field: 'shresult', title: '整改结果状态', width: 100, styler: function (value, row, index) {
|
field: 'shresult', title: '隐患状态', width: 100, styler: function (value, row, index) {
|
||||||
switch (value) {
|
switch (value) {
|
||||||
case 1: return ''; break;
|
case 1: return ''; break;
|
||||||
case 2: return 'background-color:red;'; break;
|
case 2: return 'background-color:red;'; break;
|
||||||
case 3: return 'background-color:red;'; break;
|
case 3: return 'background-color:red;'; break;
|
||||||
case 4: return 'background-color:yellow;'; break;
|
case 4: return 'background-color:yellow;'; break;
|
||||||
|
case 6: return 'background-color:yellow;'; break;
|
||||||
}
|
}
|
||||||
}, formatter: function (value, row, index) {
|
}, formatter: function (value, row, index) {
|
||||||
switch (value) {
|
switch (value) {
|
||||||
|
@ -130,6 +131,7 @@
|
||||||
case 3: return '复查未通过'; break;
|
case 3: return '复查未通过'; break;
|
||||||
case 4: return '已修改'; break;
|
case 4: return '已修改'; break;
|
||||||
case 5: return '评估未通过'; break;
|
case 5: return '评估未通过'; break;
|
||||||
|
case 6: return '未采纳'; break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
|
@ -47,7 +47,7 @@
|
||||||
{ field: 'id', title: 'ID', hidden: true },
|
{ field: 'id', title: 'ID', hidden: true },
|
||||||
{ field: 'jdmc', title: '节点名称', width: 40 },
|
{ field: 'jdmc', title: '节点名称', width: 40 },
|
||||||
{ field: 'spbm__partname', title: '审批部门', width: 120 },
|
{ field: 'spbm__partname', title: '审批部门', width: 120 },
|
||||||
{ field: 'spr__name', title: '审批人', width: 120 },
|
{ field: 'sprnames', title: '审批人', width: 120 },
|
||||||
]]
|
]]
|
||||||
});
|
});
|
||||||
$('#fxcstable').datagrid({
|
$('#fxcstable').datagrid({
|
||||||
|
|
|
@ -482,6 +482,32 @@ def getspr(ubp):
|
||||||
return User.objects.get(ubelongpart=currentpart,issuper=1)
|
return User.objects.get(ubelongpart=currentpart,issuper=1)
|
||||||
return a
|
return a
|
||||||
|
|
||||||
|
def getsprs(ubp):
|
||||||
|
currentpart=ubp
|
||||||
|
a=getsprs_ubp(currentpart)
|
||||||
|
while a==False:
|
||||||
|
currentpart=currentpart.parentid #已找不到上级部门
|
||||||
|
if currentpart:
|
||||||
|
a=getsprs_ubp(currentpart)
|
||||||
|
else:
|
||||||
|
return User.objects.get(ubelongpart=currentpart,issuper=1)
|
||||||
|
return a
|
||||||
|
|
||||||
|
def getsprs_ubp(ubp):
|
||||||
|
a=ubp
|
||||||
|
if a.aqy !=',':
|
||||||
|
aqystr = a.aqy
|
||||||
|
aqylist = aqystr.split(',')
|
||||||
|
aqylist = list(map(int, list(filter(None, aqylist))))
|
||||||
|
return aqylist
|
||||||
|
if a.bmzg !=',':
|
||||||
|
zgstr = a.bmzg
|
||||||
|
zglist = zgstr.split(',')
|
||||||
|
zglist = list(map(int, list(filter(None, zglist))))
|
||||||
|
return zglist
|
||||||
|
else:
|
||||||
|
return False
|
||||||
|
|
||||||
@check_login
|
@check_login
|
||||||
def menutree(req):
|
def menutree(req):
|
||||||
userid = req.session['userid']
|
userid = req.session['userid']
|
||||||
|
@ -947,29 +973,55 @@ def accessyh(req):
|
||||||
return JsonResponse({"code":1})
|
return JsonResponse({"code":1})
|
||||||
elif a.yhzt==1:
|
elif a.yhzt==1:
|
||||||
if yhdata['shresult'] == 'reject':
|
if yhdata['shresult'] == 'reject':
|
||||||
a.shresult = 5
|
if 'accept' in yhdata:
|
||||||
a.yhzt = 0
|
if yhdata['accept'] == 'no':
|
||||||
a.sybzt = 1
|
a.shresult = 6
|
||||||
a.todouser = a.fxr
|
a.yhzt = 6
|
||||||
a.pgyj = yhdata['pgyj']
|
a.sybzt = 1
|
||||||
a.save()
|
a.todouser = None
|
||||||
m=TroubleAccess(troubleid=a,clr=a.pgr,yhzt=0,action='请'+a.fxr.name+'重新填报',result=0)
|
a.pgyj = yhdata['pgyj']
|
||||||
m.save()
|
a.save()
|
||||||
postdict={
|
m=TroubleAccess(troubleid=a,clr=a.pgr,yhzt=6,action='未采纳',opinion=yhdata['pgyj'])
|
||||||
'touser':'oPGqkweX75QtLmgehUN-ipR4hcyc',
|
m.save()
|
||||||
'template_id':'lOuwSE67vZC3ZVFYPZvz2eb7JdFxqx7ysMFkXrYmYh0',
|
postdict={
|
||||||
"miniprogram":{"appid":"wx5c39b569f01c27db","path":"pages/trouble/accesstrouble?troubleid="+str(a.troubleid)},
|
'touser':'oPGqkweX75QtLmgehUN-ipR4hcyc',
|
||||||
'data':{
|
'template_id':'lOuwSE67vZC3ZVFYPZvz2eb7JdFxqx7ysMFkXrYmYh0',
|
||||||
'first':{'value':a.yhdj.dickeyname + '被退出需重新上报:'},
|
"miniprogram":{"appid":"wx5c39b569f01c27db","path":"pages/trouble/accesstrouble?troubleid="+str(a.troubleid)},
|
||||||
'keyword1':{'value':a.yhms},
|
'data':{
|
||||||
'keyword2':{'value':a.fxsj},
|
'first':{'value':a.yhdj.dickeyname + '未被采纳:'},
|
||||||
'keyword3':{'value':a.yhdd},
|
'keyword1':{'value':a.yhms},
|
||||||
'remark':{'value':'请查看评估意见并修改后上传。'}
|
'keyword2':{'value':a.fxsj},
|
||||||
|
'keyword3':{'value':a.yhdd},
|
||||||
|
'remark':{'value':'请查看未采纳原因'}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
postdict['touser']=a.fxr.openid
|
||||||
|
send_wechatmsg.delay(postdict)
|
||||||
|
return JsonResponse({"code":1})
|
||||||
|
else:
|
||||||
|
a.shresult = 5
|
||||||
|
a.yhzt = 0
|
||||||
|
a.sybzt = 1
|
||||||
|
a.todouser = a.fxr
|
||||||
|
a.pgyj = yhdata['pgyj']
|
||||||
|
a.save()
|
||||||
|
m=TroubleAccess(troubleid=a,clr=a.pgr,yhzt=0,action='请'+a.fxr.name+'重新填报',result=0)
|
||||||
|
m.save()
|
||||||
|
postdict={
|
||||||
|
'touser':'oPGqkweX75QtLmgehUN-ipR4hcyc',
|
||||||
|
'template_id':'lOuwSE67vZC3ZVFYPZvz2eb7JdFxqx7ysMFkXrYmYh0',
|
||||||
|
"miniprogram":{"appid":"wx5c39b569f01c27db","path":"pages/trouble/accesstrouble?troubleid="+str(a.troubleid)},
|
||||||
|
'data':{
|
||||||
|
'first':{'value':a.yhdj.dickeyname + '被退出需重新上报:'},
|
||||||
|
'keyword1':{'value':a.yhms},
|
||||||
|
'keyword2':{'value':a.fxsj},
|
||||||
|
'keyword3':{'value':a.yhdd},
|
||||||
|
'remark':{'value':'请查看评估意见并修改后上传。'}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
postdict['touser']=a.todouser.openid
|
||||||
postdict['touser']=a.todouser.openid
|
send_wechatmsg.delay(postdict)
|
||||||
send_wechatmsg.delay(postdict)
|
return JsonResponse({"code":1})
|
||||||
return JsonResponse({"code":1})
|
|
||||||
elif 'zppg' in yhdata and yhdata['zppg']=='yes':
|
elif 'zppg' in yhdata and yhdata['zppg']=='yes':
|
||||||
a.yhzt=1
|
a.yhzt=1
|
||||||
a.sybzt=1
|
a.sybzt=1
|
||||||
|
@ -1475,13 +1527,15 @@ def troublehandle(req):
|
||||||
userid = req.session['userid']
|
userid = req.session['userid']
|
||||||
if User.objects.get(userid = userid).issuper == 1:
|
if User.objects.get(userid = userid).issuper == 1:
|
||||||
a = Trouble.objects.get(troubleid = req.POST.get('troubleid'))
|
a = Trouble.objects.get(troubleid = req.POST.get('troubleid'))
|
||||||
a.delete()
|
a.deletemark=0
|
||||||
|
a.save()
|
||||||
return JsonResponse({"code":1})
|
return JsonResponse({"code":1})
|
||||||
else:
|
else:
|
||||||
a = Trouble.objects.get(troubleid = req.POST.get('troubleid'))
|
a = Trouble.objects.get(troubleid = req.POST.get('troubleid'))
|
||||||
b = TroubleAccess.objects.filter(troubleid__troubleid=req.POST.get('troubleid')).count()
|
b = TroubleAccess.objects.filter(troubleid__troubleid=req.POST.get('troubleid')).count()
|
||||||
if b == 1 and a.fxr.userid==userid:
|
if b == 1 and a.fxr.userid==userid:
|
||||||
a.delete()
|
a.deletemark=0
|
||||||
|
a.save()
|
||||||
return JsonResponse({"code":1})
|
return JsonResponse({"code":1})
|
||||||
else:
|
else:
|
||||||
return JsonResponse({"code":0})
|
return JsonResponse({"code":0})
|
||||||
|
@ -2553,9 +2607,10 @@ def gchandle(req):
|
||||||
if 'unsafe' in gcdata:
|
if 'unsafe' in gcdata:
|
||||||
olist = gcdata['unsafe']
|
olist = gcdata['unsafe']
|
||||||
for i in olist:
|
for i in olist:
|
||||||
dickey = Dickey.objects.get(dickeyid=i)
|
if i != 0:
|
||||||
m = Unsafes(observe = obj,unsafedickey=dickey,unsafedicclass=dickey.dicparent)
|
dickey = Dickey.objects.get(dickeyid=i)
|
||||||
m.save()
|
m = Unsafes(observe = obj,unsafedickey=dickey,unsafedicclass=dickey.dicparent)
|
||||||
|
m.save()
|
||||||
yjjs_gc.delay(companyid)
|
yjjs_gc.delay(companyid)
|
||||||
return JsonResponse({"code":1})
|
return JsonResponse({"code":1})
|
||||||
elif a == 'listall':
|
elif a == 'listall':
|
||||||
|
@ -3353,19 +3408,19 @@ def apipartuser(req):
|
||||||
if req.GET.get('parentid')=='company':
|
if req.GET.get('parentid')=='company':
|
||||||
lst=[]
|
lst=[]
|
||||||
company = User.objects.get(userid=userid).usecomp
|
company = User.objects.get(userid=userid).usecomp
|
||||||
partobjs = Partment.objects.filter(parentid=company)
|
partobjs = Partment.objects.filter(parentid=company,deletemark=1)
|
||||||
for i in partobjs:
|
for i in partobjs:
|
||||||
lst.append({'id':i.partid,'name':i.partname,'parentId':0,'checked':False,'isPeople':False,'children':[]})
|
lst.append({'id':i.partid,'name':i.partname,'parentId':0,'checked':False,'isPeople':False,'children':[]})
|
||||||
userobjs = User.objects.filter(ubelongpart=company).exclude(issuper=1)
|
userobjs = User.objects.filter(ubelongpart=company,deletemark=1).exclude(issuper=1)
|
||||||
for i in userobjs:
|
for i in userobjs:
|
||||||
lst.append({'id':i.userid,'name':i.name,'parentId':0,'checked':False,'isPeople':True,'children':[]})
|
lst.append({'id':i.userid,'name':i.name,'parentId':0,'checked':False,'isPeople':True,'children':[]})
|
||||||
return JsonResponse({"code":1,"data":lst})
|
return JsonResponse({"code":1,"data":lst})
|
||||||
else:
|
else:
|
||||||
lst=[]
|
lst=[]
|
||||||
partobjs = Partment.objects.filter(parentid=req.GET.get('parentid'))
|
partobjs = Partment.objects.filter(parentid=req.GET.get('parentid'),deletemark=1)
|
||||||
for i in partobjs:
|
for i in partobjs:
|
||||||
lst.append({'id':i.partid,'name':i.partname,'parentId':0,'checked':False,'isPeople':False,'children':[]})
|
lst.append({'id':i.partid,'name':i.partname,'parentId':0,'checked':False,'isPeople':False,'children':[]})
|
||||||
userobjs = User.objects.filter(ubelongpart=req.GET.get('parentid')).exclude(issuper=1)
|
userobjs = User.objects.filter(ubelongpart=req.GET.get('parentid'),deletemark=1).exclude(issuper=1)
|
||||||
for i in userobjs:
|
for i in userobjs:
|
||||||
lst.append({'id':i.userid,'name':i.name,'parentId':0,'checked':False,'isPeople':True,'children':[]})
|
lst.append({'id':i.userid,'name':i.name,'parentId':0,'checked':False,'isPeople':True,'children':[]})
|
||||||
return JsonResponse({"code":1,"data":lst})
|
return JsonResponse({"code":1,"data":lst})
|
||||||
|
@ -3471,7 +3526,7 @@ def apisuggest(req):
|
||||||
a = Suggest.objects.filter(usecomp=Partment.objects.get(partid=companyid)).order_by('-submittime')
|
a = Suggest.objects.filter(usecomp=Partment.objects.get(partid=companyid)).order_by('-submittime')
|
||||||
total = a.count()
|
total = a.count()
|
||||||
startnum,endnum=fenye(req)
|
startnum,endnum=fenye(req)
|
||||||
a = a[startnum:endnum].values('jyid','jylb__dickeyname','jyr__name','jybm__partname','dqxz','jynr','jynum','jyzt','todouser__userid','todouser__name','jyqy__name','jydd','submittime')
|
a = a[startnum:endnum].values('jyid','jylb__dickeyname','jyr__name','jybm__partname','dqxz','jynr','jynum','jyzt','todouser__userid','todouser__name','jyqy__name','jydd','submittime','accept')
|
||||||
return HttpResponse(transjson(total,a),content_type="application/json")
|
return HttpResponse(transjson(total,a),content_type="application/json")
|
||||||
elif a == 'listself':
|
elif a == 'listself':
|
||||||
userid = req.session['userid']
|
userid = req.session['userid']
|
||||||
|
@ -3479,7 +3534,7 @@ def apisuggest(req):
|
||||||
a = Suggest.objects.filter(jyr__userid=userid).order_by('-submittime')
|
a = Suggest.objects.filter(jyr__userid=userid).order_by('-submittime')
|
||||||
total = a.count()
|
total = a.count()
|
||||||
startnum,endnum=fenye(req)
|
startnum,endnum=fenye(req)
|
||||||
a = a[startnum:endnum].values('jyid','jylb__dickeyname','jyr__name','jybm__partname','dqxz','jynr','jynum','jyzt','todouser__userid','todouser__name','jyqy__name','jydd','submittime')
|
a = a[startnum:endnum].values('jyid','jylb__dickeyname','jyr__name','jybm__partname','dqxz','jynr','jynum','jyzt','todouser__userid','todouser__name','jyqy__name','jydd','submittime','accept')
|
||||||
return HttpResponse(transjson(total,a),content_type="application/json")
|
return HttpResponse(transjson(total,a),content_type="application/json")
|
||||||
elif a == 'listtodo':
|
elif a == 'listtodo':
|
||||||
userid = req.session['userid']
|
userid = req.session['userid']
|
||||||
|
@ -3487,7 +3542,7 @@ def apisuggest(req):
|
||||||
a = Suggest.objects.filter(todouser__userid=userid).order_by('-submittime')
|
a = Suggest.objects.filter(todouser__userid=userid).order_by('-submittime')
|
||||||
total = a.count()
|
total = a.count()
|
||||||
startnum,endnum=fenye(req)
|
startnum,endnum=fenye(req)
|
||||||
a = a[startnum:endnum].values('jyid','jylb__dickeyname','jyr__name','jybm__partname','dqxz','jynr','jynum','jyzt','todouser__userid','todouser__name','jyqy__name','jydd','submittime')
|
a = a[startnum:endnum].values('jyid','jylb__dickeyname','jyr__name','jybm__partname','dqxz','jynr','jynum','jyzt','todouser__userid','todouser__name','jyqy__name','jydd','submittime','accept')
|
||||||
return HttpResponse(transjson(total,a),content_type="application/json")
|
return HttpResponse(transjson(total,a),content_type="application/json")
|
||||||
elif a == 'todonum':
|
elif a == 'todonum':
|
||||||
userid = req.session['userid']
|
userid = req.session['userid']
|
||||||
|
@ -3496,7 +3551,7 @@ def apisuggest(req):
|
||||||
elif a == 'detail':
|
elif a == 'detail':
|
||||||
jyid=req.GET.get('jyid')
|
jyid=req.GET.get('jyid')
|
||||||
a = Suggest.objects.filter(jyid=jyid)
|
a = Suggest.objects.filter(jyid=jyid)
|
||||||
x = a.values('jyid','jylb__dickeyname','jynum','submittime','jyr__name','dqxz','jynr','jybm__partname','jyimg','qwxg','jyqy__name','jydd','jyzt','clr__name','jyfk','clcs','pgr__name','clms','jyimg2','sjwcsj')[0]
|
x = a.values('jyid','jylb__dickeyname','jynum','submittime','jyr__name','dqxz','jynr','jybm__partname','jyimg','qwxg','jyqy__name','jydd','jyzt','clr__name','jyfk','clcs','pgr__name','clms','jyimg2','sjwcsj','accept')[0]
|
||||||
if x['jyimg']!='':
|
if x['jyimg']!='':
|
||||||
x['jyimg'] = x['jyimg'].split('?')
|
x['jyimg'] = x['jyimg'].split('?')
|
||||||
else:
|
else:
|
||||||
|
@ -3526,7 +3581,7 @@ def apisuggest(req):
|
||||||
if req.GET.get('jssj'):
|
if req.GET.get('jssj'):
|
||||||
a = a.filter(submittime__lte=req.GET.get('jssj'))
|
a = a.filter(submittime__lte=req.GET.get('jssj'))
|
||||||
total = a.count()
|
total = a.count()
|
||||||
a = a[startnum:endnum].values('jyid','jylb__dickeyname','jyr__name','jybm__partname','dqxz','jynr','jynum','jyzt','todouser__userid','todouser__name','jyqy__name','jydd','submittime')
|
a = a[startnum:endnum].values('jyid','jylb__dickeyname','jyr__name','jybm__partname','dqxz','jynr','jynum','jyzt','todouser__userid','todouser__name','jyqy__name','jydd','submittime','accept')
|
||||||
return HttpResponse(transjson(total,a),content_type="application/json")
|
return HttpResponse(transjson(total,a),content_type="application/json")
|
||||||
elif a == 'exportexcel':
|
elif a == 'exportexcel':
|
||||||
userid = req.session['userid']
|
userid = req.session['userid']
|
||||||
|
@ -3568,6 +3623,15 @@ def apisuggest(req):
|
||||||
obj.save()
|
obj.save()
|
||||||
Suggestflow.objects.create(suggest=obj,user=User.objects.get(userid=userid),action='转交'+user.name+'评估')
|
Suggestflow.objects.create(suggest=obj,user=User.objects.get(userid=userid),action='转交'+user.name+'评估')
|
||||||
return JsonResponse({"code":1})
|
return JsonResponse({"code":1})
|
||||||
|
elif 'accept' in data:
|
||||||
|
if data['accept'] == 'no':
|
||||||
|
obj.jyzt = 4
|
||||||
|
obj.todouser = None
|
||||||
|
obj.jyfk = data['jyfk']
|
||||||
|
obj.accept = 0
|
||||||
|
obj.save()
|
||||||
|
Suggestflow.objects.create(suggest=obj,user=User.objects.get(userid=userid),action='未采纳该建议')
|
||||||
|
return JsonResponse({"code":1})
|
||||||
else:
|
else:
|
||||||
obj.jyzt = 4
|
obj.jyzt = 4
|
||||||
obj.todouser = None
|
obj.todouser = None
|
||||||
|
@ -3694,11 +3758,23 @@ def apitool(req):
|
||||||
newpart = req.GET.get('part')
|
newpart = req.GET.get('part')
|
||||||
username = req.GET.get('username')
|
username = req.GET.get('username')
|
||||||
user = User.objects.get(username=username)
|
user = User.objects.get(username=username)
|
||||||
|
oldpart = user.ubelongpart
|
||||||
|
oldpart.aqy = oldpart.aqy.replace(','+str(user.userid)+',','')
|
||||||
|
oldpart.bmzg = oldpart.bmzg.replace(','+str(user.userid)+',','')
|
||||||
|
oldpart.bsq = oldpart.bsq.replace(','+str(user.userid)+',','')
|
||||||
|
oldpart.save()
|
||||||
part = Partment.objects.get(partid=newpart)
|
part = Partment.objects.get(partid=newpart)
|
||||||
companyid = part.partlink.split(',')[1]
|
if part.iscompany==1:
|
||||||
|
usecomp = part
|
||||||
|
else:
|
||||||
|
usecomp = Partment.objects.get(partid=part.partlink.split(',')[1])
|
||||||
user.ubelongpart = part
|
user.ubelongpart = part
|
||||||
user.usecomp = Partment.objects.get(partid=companyid)
|
user.usecomp = usecomp
|
||||||
user.save()
|
user.save()
|
||||||
|
for i in Group.objects.filter(usecomp=usecomp):
|
||||||
|
i.users.remove(user)
|
||||||
|
groupobj = Group.objects.filter(usecomp=usecomp,grouptype=3).first()
|
||||||
|
groupobj.users.add(user)
|
||||||
return JsonResponse({"code":1})
|
return JsonResponse({"code":1})
|
||||||
elif a == 'correctionzs':
|
elif a == 'correctionzs':
|
||||||
objs = Socertificate.objects.all()
|
objs = Socertificate.objects.all()
|
||||||
|
@ -3941,13 +4017,14 @@ def apioperation(req):
|
||||||
obj.zyzt = {'zyzt':'确认中','index':0}
|
obj.zyzt = {'zyzt':'确认中','index':0}
|
||||||
obj.save()
|
obj.save()
|
||||||
splc = []
|
splc = []
|
||||||
splc.append({'jdmc':'作业部门审批','spr':getspr(obj.zybm)})
|
splc.append({'jdmc':'作业负责人审批','sprs':[userid]})
|
||||||
splc.append({'jdmc':'属地部门审批','spr':getspr(obj.sdbm)})
|
splc.append({'jdmc':'作业部门审批','sprs':getsprs(obj.zybm)})
|
||||||
|
splc.append({'jdmc':'属地部门审批','sprs':getsprs(obj.sdbm)})
|
||||||
for i in Operationspjd.objects.filter(zylx=obj.zylx,usecomp=Partment.objects.get(partid=getcompany(userid))).order_by('id'):
|
for i in Operationspjd.objects.filter(zylx=obj.zylx,usecomp=Partment.objects.get(partid=getcompany(userid))).order_by('id'):
|
||||||
splc.append({'jdmc':i.jdmc,'spr':i.spr.userid})
|
splc.append({'jdmc':i.jdmc,'sprs':i.sprs})
|
||||||
obj.zyzt['splc']=splc
|
obj.zyzt['splc']=splc
|
||||||
obj.save()
|
obj.save()
|
||||||
Operspxq.objects.create(oper=obj,jdmc='作业负责人审批',spr=obj.zyfzr,checked=1,spbm=obj.zyfzr.ubelongpart)
|
# Operspxq.objects.create(oper=obj,jdmc='作业负责人审批',spr=obj.zyfzr,checked=1,spbm=obj.zyfzr.ubelongpart)
|
||||||
b=[]#发送通知
|
b=[]#发送通知
|
||||||
for i in data['zyry']:
|
for i in data['zyry']:
|
||||||
x=User.objects.get(userid=i)
|
x=User.objects.get(userid=i)
|
||||||
|
@ -4002,7 +4079,7 @@ def apioperation(req):
|
||||||
for x in b:
|
for x in b:
|
||||||
i.append(x.oper.zyid)
|
i.append(x.oper.zyid)
|
||||||
a = Operation.objects.filter(usecomp=usecomp,deletemark=1,zyid__in=i)
|
a = Operation.objects.filter(usecomp=usecomp,deletemark=1,zyid__in=i)
|
||||||
a = (a|Operation.objects.filter(todouser=User.objects.get(userid=userid))).order_by('-submittime')
|
a = (a|Operation.objects.filter(todouser=User.objects.get(userid=userid))|Operation.objects.filter(todousers__contains=[userid])).order_by('-submittime')
|
||||||
total = a.count()
|
total = a.count()
|
||||||
startnum,endnum=fenye(req)
|
startnum,endnum=fenye(req)
|
||||||
a = a[startnum:endnum].values('zyid','zylx__dickeyname','zynum','zyfzr__name','zynr','zyzt','submittime')
|
a = a[startnum:endnum].values('zyid','zylx__dickeyname','zynum','zyfzr__name','zynr','zyzt','submittime')
|
||||||
|
@ -4041,7 +4118,8 @@ def apioperation(req):
|
||||||
return res
|
return res
|
||||||
elif a == 'qrzy':
|
elif a == 'qrzy':
|
||||||
userid = req.session['userid']
|
userid = req.session['userid']
|
||||||
zyid = req.POST.get('zyid')
|
data = json.loads(req.body.decode('utf-8'))
|
||||||
|
zyid = data['zyid']
|
||||||
Operzyry.objects.filter(oper__zyid=zyid,operzyry__userid=userid).update(checked=1)
|
Operzyry.objects.filter(oper__zyid=zyid,operzyry__userid=userid).update(checked=1)
|
||||||
if Operzyry.objects.filter(oper__zyid=zyid,checked=0).exists():
|
if Operzyry.objects.filter(oper__zyid=zyid,checked=0).exists():
|
||||||
pass
|
pass
|
||||||
|
@ -4052,14 +4130,57 @@ def apioperation(req):
|
||||||
obj.zyzt['index'] = 0
|
obj.zyzt['index'] = 0
|
||||||
index = obj.zyzt['index']
|
index = obj.zyzt['index']
|
||||||
obj.zyzt['jdmc'] = obj.zyzt['splc'][index]['jdmc']
|
obj.zyzt['jdmc'] = obj.zyzt['splc'][index]['jdmc']
|
||||||
obj.todouser = User.objects.get(userid=obj.zyzt['splc'][index]['spr'])
|
if 'sprs' in obj.zyzt['splc'][index]:
|
||||||
|
sprs = obj.zyzt['splc'][index]['sprs']
|
||||||
|
else:
|
||||||
|
sprs = [obj.zyzt['splc'][index]['spr']]
|
||||||
|
obj.todousers = sprs
|
||||||
obj.save()
|
obj.save()
|
||||||
|
for i in sprs:
|
||||||
|
postdict={
|
||||||
|
'touser':'',
|
||||||
|
'template_id':User.objects.get(userid=i).openid,
|
||||||
|
'data':{
|
||||||
|
'first':{
|
||||||
|
'value':obj.zylx.dickeyname + '作业审批:'
|
||||||
|
},
|
||||||
|
'keyword1':{
|
||||||
|
'value':obj.zynr
|
||||||
|
},
|
||||||
|
'keyword2':{
|
||||||
|
'value':obj.kssj
|
||||||
|
},
|
||||||
|
'keyword3':{
|
||||||
|
'value':obj.zydd
|
||||||
|
},
|
||||||
|
'remark':{
|
||||||
|
'value':'请您及时完成审批!'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
send_wechatmsg.delay(postdict)
|
||||||
|
return JsonResponse({"code":1})
|
||||||
|
elif a == 'spzy':
|
||||||
|
userid = req.session['userid']
|
||||||
|
data = json.loads(req.body.decode('utf-8'))
|
||||||
|
zyid = data['zyid']
|
||||||
|
obj = Operation.objects.get(zyid=zyid)
|
||||||
|
oldtodo = obj.todousers
|
||||||
|
oldjdmc = obj.zyzt['jdmc']
|
||||||
|
nextindex = obj.zyzt['index']+1
|
||||||
|
spruser = User.objects.get(userid=userid)
|
||||||
|
if 'zzsp' in data:
|
||||||
|
obj.zyzt['zyzt'] = '待关闭'
|
||||||
|
obj.todouser = obj.zyfzr
|
||||||
|
obj.todousers = None
|
||||||
|
obj.save()
|
||||||
|
Operspxq.objects.create(oper=Operation.objects.get(zyid=zyid),jdmc=oldjdmc,spr=spruser,checked=1,spbm=spruser.ubelongpart)
|
||||||
postdict={
|
postdict={
|
||||||
'touser':'',
|
'touser':'',
|
||||||
'template_id':obj.todouser.openid,
|
'template_id':obj.zyfzr.openid,
|
||||||
'data':{
|
'data':{
|
||||||
'first':{
|
'first':{
|
||||||
'value':obj.zylx.dickeyname + '作业审批:'
|
'value':obj.zylx.dickeyname + '作业审批通过:'
|
||||||
},
|
},
|
||||||
'keyword1':{
|
'keyword1':{
|
||||||
'value':obj.zynr
|
'value':obj.zynr
|
||||||
|
@ -4071,53 +4192,79 @@ def apioperation(req):
|
||||||
'value':obj.zydd
|
'value':obj.zydd
|
||||||
},
|
},
|
||||||
'remark':{
|
'remark':{
|
||||||
'value':'请您及时完成审批!'
|
'value':'你是作业负责人,可以开始作业,作业完成请及时关闭!'
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
send_wechatmsg.delay(postdict)
|
send_wechatmsg.delay(postdict)
|
||||||
return JsonResponse({"code":1})
|
return JsonResponse({"code":1})
|
||||||
elif a == 'spzy':
|
if 'zjsp' in data:
|
||||||
zyid = req.POST.get('zyid')
|
newsprs = data['newsprs']#新审批人
|
||||||
obj = Operation.objects.get(zyid=zyid)
|
obj.todousers = newsprs
|
||||||
oldtodo = obj.todouser
|
obj.save()
|
||||||
oldjdmc = obj.zyzt['jdmc']
|
for i in newsprs:
|
||||||
nextindex = obj.zyzt['index']+1
|
postdict={
|
||||||
|
'touser':'',
|
||||||
|
'template_id':User.objects.get(userid=i).openid,
|
||||||
|
'data':{
|
||||||
|
'first':{
|
||||||
|
'value':obj.zylx.dickeyname + '作业审批:'
|
||||||
|
},
|
||||||
|
'keyword1':{
|
||||||
|
'value':obj.zynr
|
||||||
|
},
|
||||||
|
'keyword2':{
|
||||||
|
'value':obj.kssj
|
||||||
|
},
|
||||||
|
'keyword3':{
|
||||||
|
'value':obj.zydd
|
||||||
|
},
|
||||||
|
'remark':{
|
||||||
|
'value':'请您及时完成审批!'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
send_wechatmsg.delay(postdict)
|
||||||
|
Operspxq.objects.create(oper=Operation.objects.get(zyid=zyid),jdmc=oldjdmc,spr=spruser,checked=2,spbm=spruser.ubelongpart)
|
||||||
|
return JsonResponse({"code":1})
|
||||||
try:
|
try:
|
||||||
nextsplc = obj.zyzt['splc'][nextindex]
|
nextsplc = obj.zyzt['splc'][nextindex]
|
||||||
obj.zyzt['zyzt'] = '审批中'
|
obj.zyzt['zyzt'] = '审批中'
|
||||||
obj.zyzt['index'] = nextindex
|
obj.zyzt['index'] = nextindex
|
||||||
obj.zyzt['jdmc'] = nextsplc['jdmc']
|
obj.zyzt['jdmc'] = nextsplc['jdmc']
|
||||||
obj.todouser = User.objects.get(userid=nextsplc['spr'])
|
obj.todousers = nextsplc['sprs']
|
||||||
obj.save()
|
obj.save()
|
||||||
postdict={
|
for i in nextsplc['sprs']:
|
||||||
'touser':'',
|
postdict={
|
||||||
'template_id':obj.todouser.openid,
|
'touser':'',
|
||||||
'data':{
|
'template_id':User.objects.get(userid=i).openid,
|
||||||
'first':{
|
'data':{
|
||||||
'value':obj.zylx.dickeyname + '作业审批:'
|
'first':{
|
||||||
},
|
'value':obj.zylx.dickeyname + '作业审批:'
|
||||||
'keyword1':{
|
},
|
||||||
'value':obj.zynr
|
'keyword1':{
|
||||||
},
|
'value':obj.zynr
|
||||||
'keyword2':{
|
},
|
||||||
'value':obj.kssj
|
'keyword2':{
|
||||||
},
|
'value':obj.kssj
|
||||||
'keyword3':{
|
},
|
||||||
'value':obj.zydd
|
'keyword3':{
|
||||||
},
|
'value':obj.zydd
|
||||||
'remark':{
|
},
|
||||||
'value':'请您及时完成审批!'
|
'remark':{
|
||||||
|
'value':'请您及时完成审批!'
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
send_wechatmsg.delay(postdict)
|
||||||
send_wechatmsg.delay(postdict)
|
|
||||||
Operspxq.objects.create(oper=Operation.objects.get(zyid=zyid),jdmc=oldjdmc,spr=oldtodo,checked=1,spbm=oldtodo.ubelongpart)
|
Operspxq.objects.create(oper=Operation.objects.get(zyid=zyid),jdmc=oldjdmc,spr=spruser,checked=1,spbm=spruser.ubelongpart)
|
||||||
except :
|
except :
|
||||||
obj.zyzt['zyzt'] = '待关闭'
|
obj.zyzt['zyzt'] = '待关闭'
|
||||||
obj.todouser = obj.zyfzr
|
obj.todouser = None
|
||||||
|
obj.todousers = [obj.zyfzr.userid]
|
||||||
obj.save()
|
obj.save()
|
||||||
Operspxq.objects.create(oper=Operation.objects.get(zyid=zyid),jdmc=oldjdmc,spr=oldtodo,checked=1,spbm=oldtodo.ubelongpart)
|
Operspxq.objects.create(oper=Operation.objects.get(zyid=zyid),jdmc=oldjdmc,spr=spruser,checked=1,spbm=spruser.ubelongpart)
|
||||||
postdict={
|
postdict={
|
||||||
'touser':'',
|
'touser':'',
|
||||||
'template_id':obj.zyfzr.openid,
|
'template_id':obj.zyfzr.openid,
|
||||||
|
@ -4150,13 +4297,14 @@ def apioperation(req):
|
||||||
obj.zyimg2 = '?'.join(zyimg2)
|
obj.zyimg2 = '?'.join(zyimg2)
|
||||||
obj.zyzt['zyzt']='已关闭'
|
obj.zyzt['zyzt']='已关闭'
|
||||||
obj.todouser = None
|
obj.todouser = None
|
||||||
|
obj.todousers = None
|
||||||
obj.save()
|
obj.save()
|
||||||
return JsonResponse({"code":1})
|
return JsonResponse({"code":1})
|
||||||
elif a == 'todonum':
|
elif a == 'todonum':
|
||||||
userid = req.session['userid']
|
userid = req.session['userid']
|
||||||
i = []
|
i = []
|
||||||
b = Operzyry.objects.filter(operzyry__userid=userid,checked=0)
|
b = Operzyry.objects.filter(operzyry__userid=userid,checked=0)
|
||||||
c = Operation.objects.filter(todouser=User.objects.get(userid=userid))
|
c = Operation.objects.filter(Q(todouser=User.objects.get(userid=userid))|Q(todousers__contains=[userid]))
|
||||||
for x in b:
|
for x in b:
|
||||||
i.append(x.oper.zyid)
|
i.append(x.oper.zyid)
|
||||||
for x in c:
|
for x in c:
|
||||||
|
@ -4240,8 +4388,9 @@ def apioperationspjd(req):
|
||||||
zylx = Dickey.objects.get(dickeyid=data['zylx'])
|
zylx = Dickey.objects.get(dickeyid=data['zylx'])
|
||||||
jdmc = data['jdmc']
|
jdmc = data['jdmc']
|
||||||
spbm = Partment.objects.get(partid=data['spbm'])
|
spbm = Partment.objects.get(partid=data['spbm'])
|
||||||
spr = User.objects.get(userid=data['spr'])
|
#spr = User.objects.get(userid=data['spr'])
|
||||||
Operationspjd.objects.create(jdmc=jdmc,zylx=zylx,spbm=spbm,spr=spr,usecomp=Partment.objects.get(partid=companyid))
|
sprs = data['spr']
|
||||||
|
Operationspjd.objects.create(jdmc=jdmc,zylx=zylx,spbm=spbm,sprs=sprs,usecomp=Partment.objects.get(partid=companyid))
|
||||||
return JsonResponse({"code":1})
|
return JsonResponse({"code":1})
|
||||||
elif a=='listall':
|
elif a=='listall':
|
||||||
if req.GET.get('zylx'):
|
if req.GET.get('zylx'):
|
||||||
|
@ -4250,8 +4399,9 @@ def apioperationspjd(req):
|
||||||
companyid = getcompany(userid)
|
companyid = getcompany(userid)
|
||||||
a = Operationspjd.objects.filter(zylx=Dickey.objects.get(dickeyid=zylx),usecomp=Partment.objects.get(partid=companyid)).order_by('id')
|
a = Operationspjd.objects.filter(zylx=Dickey.objects.get(dickeyid=zylx),usecomp=Partment.objects.get(partid=companyid)).order_by('id')
|
||||||
total = a.count()
|
total = a.count()
|
||||||
startnum,endnum=fenye(req)
|
a = a.values('id','jdmc','spbm__partname','sprs')
|
||||||
a = a[startnum:endnum].values('id','jdmc','spbm__partname','spr__name')
|
for i in a:
|
||||||
|
i['sprnames'] = list(User.objects.filter(userid__in=i['sprs']).values_list('name',flat=True))
|
||||||
return HttpResponse(transjson(total,a),content_type="application/json")
|
return HttpResponse(transjson(total,a),content_type="application/json")
|
||||||
elif a == 'del':
|
elif a == 'del':
|
||||||
id = req.GET.get('id')
|
id = req.GET.get('id')
|
||||||
|
@ -5092,6 +5242,13 @@ def apiriskact(req):
|
||||||
startnum,endnum=fenye(req)
|
startnum,endnum=fenye(req)
|
||||||
a = a.order_by('area')[startnum:endnum].values('id','area__name','type__dickeyname','name','level','qrcode','group__groupname','zrbm__partname','zrr__name','gkcj')
|
a = a.order_by('area')[startnum:endnum].values('id','area__name','type__dickeyname','name','level','qrcode','group__groupname','zrbm__partname','zrr__name','gkcj')
|
||||||
return HttpResponse(transjson(total,a),content_type="application/json")
|
return HttpResponse(transjson(total,a),content_type="application/json")
|
||||||
|
elif a=='listall2':
|
||||||
|
a = RiskAct.objects
|
||||||
|
if req.GET.get('area'):
|
||||||
|
a = a.filter(area__id = req.GET.get('area'))
|
||||||
|
total = a.count()
|
||||||
|
a = a.values('id','area__name','type__dickeyname','name','level','qrcode','group__groupname','zrbm__partname','zrr__name','gkcj')
|
||||||
|
return HttpResponse(transjson(total,a),content_type="application/json")
|
||||||
elif a=='listself':
|
elif a=='listself':
|
||||||
groups = Group.objects.filter(users=User.objects.get(userid=userid))
|
groups = Group.objects.filter(users=User.objects.get(userid=userid))
|
||||||
objs = RiskAct.objects.filter(group__in=groups)
|
objs = RiskAct.objects.filter(group__in=groups)
|
||||||
|
@ -5455,8 +5612,8 @@ def apiriskacttask(req):
|
||||||
startnum,endnum=fenye(req)
|
startnum,endnum=fenye(req)
|
||||||
objs = objs[startnum:endnum].values('id','riskact__group__groupname','riskact__area__name','riskact__type__dickeyname','riskact__id','riskact__group__groupid','riskact__name','riskact__level','riskact__tasktype','taskadd','taskexpire','user__userid','usable')
|
objs = objs[startnum:endnum].values('id','riskact__group__groupname','riskact__area__name','riskact__type__dickeyname','riskact__id','riskact__group__groupid','riskact__name','riskact__level','riskact__tasktype','taskadd','taskexpire','user__userid','usable')
|
||||||
return HttpResponse(transjson(total,objs),content_type="application/json")
|
return HttpResponse(transjson(total,objs),content_type="application/json")
|
||||||
elif a == 'listself':
|
elif a == 'listself':#排查记录
|
||||||
a = RiskActTask.objects.filter(user__userid=userid,istask=1)
|
a = RiskActTask.objects.filter(user__userid=userid)
|
||||||
total = a.count()
|
total = a.count()
|
||||||
startnum,endnum=fenye(req)
|
startnum,endnum=fenye(req)
|
||||||
a = a.order_by('-id')[startnum:endnum].values('id','riskact__level','riskact__name','riskact__area__name','riskact__place','taskdo','state','usable','riskact__group__groupname','taskadd','taskexpire','user__userid','riskact__id')
|
a = a.order_by('-id')[startnum:endnum].values('id','riskact__level','riskact__name','riskact__area__name','riskact__place','taskdo','state','usable','riskact__group__groupname','taskadd','taskexpire','user__userid','riskact__id')
|
||||||
|
|
Loading…
Reference in New Issue